#include <fp_TableContainer.h>
fp_CellContainer::fp_CellContainer | ( | fl_SectionLayout * | pSectionLayout | ) |
Create Cell container
iType | Container type | |
pSectionLayout | Section layout type used for this container |
fp_CellContainer::~fp_CellContainer | ( | ) | [virtual] |
Destruct container
References fp_Container::setNext(), fp_Container::setPrev(), and xxx_UT_DEBUGMSG.
void fp_CellContainer::_clear | ( | fp_TableContainer * | pBroke | ) | [private] |
References _getBrokenRect(), fp_Container::drawLine(), fp_Page::expandDamageRect(), fg_FillType::Fill(), getBackground(), getBottomStyle(), fp_TableContainer::getBrokenBottom(), fp_TableContainer::getBrokenColumn(), fp_TableContainer::getBrokenTop(), fg_FillType::getColor(), fp_Container::getContainer(), fl_ContainerLayout::getContainerType(), fp_Container::getFillType(), fp_Page::getFillType(), fp_ContainerObject::getGraphics(), fp_VerticalContainer::getHeight(), getLeftStyle(), getLeftTopOffsets(), fp_Container::getPage(), fp_TableContainer::getPage(), fg_FillType::getParent(), getRightStyle(), fp_Page::getScreenOffsets(), fp_ContainerObject::getSectionLayout(), getTopStyle(), fp_VerticalContainer::getX(), fp_VerticalContainer::getY(), UT_Rect::height, fp_ContainerObject::isColumnType(), fp_Page::isOnScreen(), UT_Rect::left, m_bBgDirty, m_bDirty, m_bLinesDrawn, PP_PropertyMap::Line::m_color, m_iLeftAttach, m_iTopAttach, PP_PropertyMap::Line::m_t_linestyle, PP_PropertyMap::Line::m_thickness, markAsDirty(), fl_ContainerLayout::myContainingLayout(), GR_Graphics::setLineWidth(), fg_FillType::setWidthHeight(), GR_Graphics::tlu(), UT_Rect::top, UT_ASSERT, UT_return_if_fail, UT_Rect::width, and xxx_UT_DEBUGMSG.
Referenced by clearScreen().
void fp_CellContainer::_drawBoundaries | ( | dg_DrawArgs * | pDA, | |
fp_TableContainer * | pBroke | |||
) |
Draw container outline
pDA | Draw arguments | |
pBroke | fp_TableContainer pointer to broken table |
References GR_Graphics::DGP_SCREEN, GR_Painter::drawLine(), fp_Page::getDocLayout(), fp_ContainerObject::getGraphics(), fp_VerticalContainer::getHeight(), fp_TableContainer::getPage(), fp_Container::getPage(), FV_View::getShowPara(), FL_DocLayout::getView(), fp_VerticalContainer::getView(), fp_VerticalContainer::getWidth(), fp_VerticalContainer::getX(), fp_VerticalContainer::getY(), fp_TableContainer::getYBreak(), fp_Page::isOnScreen(), dg_DrawArgs::pG, GR_Graphics::queryProperties(), GR_Graphics::setColor(), GR_Graphics::tlu(), UT_return_if_fail, dg_DrawArgs::xoff, xxx_UT_DEBUGMSG, and dg_DrawArgs::yoff.
Referenced by draw(), and drawBroken().
void fp_CellContainer::_getBrokenRect | ( | fp_TableContainer * | pBroke, | |
fp_Page *& | pPage, | |||
UT_Rect & | bRec, | |||
GR_Graphics * | pG | |||
) | const [private] |
Return the screen rectangle that is the intersection of the cell and the broken table. If the height or width is negative, the cell is not in the broken table.
References GR_Graphics::DGP_PAPER, FL_CONTAINER_TABLE, fp_TableContainer::getBrokenColumn(), fp_Container::getColumn(), fp_Container::getContainer(), fp_ContainerObject::getContainerType(), fp_VerticalContainer::getCorrectBrokenTable(), fp_Page::getDocLayout(), fl_ContainerLayout::getDocSectionLayout(), fp_TableContainer::getFirstBrokenTable(), fp_TableContainer::getMasterTable(), fp_Container::getPage(), fp_TableContainer::getPage(), FV_View::getPageScreenOffsets(), fp_Page::getScreenOffsets(), fp_ContainerObject::getSectionLayout(), FL_DocLayout::getView(), fp_VerticalContainer::getView(), FV_View::getViewMode(), fp_ContainerObject::getX(), fp_VerticalContainer::getX(), fp_FrameContainer::getX(), fp_ContainerObject::getY(), fp_VerticalContainer::getY(), fp_FrameContainer::getY(), fp_TableContainer::getYBottom(), fp_TableContainer::getYBreak(), fp_ContainerObject::isColumnType(), fp_TableContainer::isThisBroken(), m_iBotY, m_iLeft, m_iRight, m_iTopY, GR_Graphics::queryProperties(), UT_ASSERT, UT_SHOULD_NOT_HAPPEN, and xxx_UT_DEBUGMSG.
Referenced by _clear(), doesIntersectClip(), draw(), drawBroken(), and drawSelectedCell().
void fp_CellContainer::clearScreen | ( | bool | bNoRecursive | ) |
References _clear(), fp_ContainerObject::clearScreen(), fp_Container::countCons(), fp_Container::getContainer(), fp_TableContainer::getFirstBrokenTable(), fp_Container::getNext(), fp_Container::getNthCon(), fp_Container::getPage(), getSpannedHeight(), fp_VerticalContainer::getY(), fp_ContainerObject::getY(), fp_TableContainer::getYBottom(), fp_TableContainer::getYBreak(), m_bDirty, m_bLinesDrawn, markAsDirty(), and xxx_UT_DEBUGMSG.
void fp_CellContainer::clearScreen | ( | void | ) | [virtual] |
Reimplemented from fp_VerticalContainer.
Referenced by FV_View::_clearBetweenPositions(), FV_View::_drawOrClearBetweenPositions(), fl_CellLayout::_localCollapse(), fp_TableContainer::clearScreen(), setContainer(), setHeight(), and setWidth().
void fp_CellContainer::clearSelection | ( | void | ) | [inline] |
Referenced by FV_View::_clearBetweenPositions(), and FV_View::_drawOrClearBetweenPositions().
bool fp_CellContainer::containsAnnotations | ( | const fp_TableContainer * | pBroke = NULL |
) | const |
Return true if the segment of the cell within a broken table pBroke contains an annotation
References fl_ContainerLayout::containsAnnotationLayouts(), fp_TableContainer::containsAnnotations(), fp_Line::containsAnnotations(), fp_ContainerObject::getContainerType(), fp_VerticalContainer::getFirstContainer(), fp_VerticalContainer::getHeight(), fp_Container::getNext(), fp_ContainerObject::getSectionLayout(), fp_VerticalContainer::getY(), fp_TableContainer::getYBottom(), fp_TableContainer::getYBreak(), and fp_TableContainer::isInBrokenTable().
Referenced by fp_TableContainer::containsAnnotations(), and fp_TableContainer::getAnnotationContainers().
bool fp_CellContainer::containsFootnoteReference | ( | const fp_TableContainer * | pBroke = NULL |
) | const |
Return true if the segment of the cell within a broken table pBroke contains a footnote references
References fl_ContainerLayout::containsFootnoteLayouts(), fp_TableContainer::containsFootnoteReference(), fp_Line::containsFootnoteReference(), fp_ContainerObject::getContainerType(), fp_VerticalContainer::getFirstContainer(), fp_VerticalContainer::getHeight(), fp_Container::getNext(), fp_ContainerObject::getSectionLayout(), fp_VerticalContainer::getY(), fp_TableContainer::getYBottom(), fp_TableContainer::getYBreak(), and fp_TableContainer::isInBrokenTable().
Referenced by fp_TableContainer::containsFootnoteReference(), and fp_TableContainer::getFootnoteContainers().
bool fp_CellContainer::containsNestedTables | ( | void | ) | const |
References fl_CellLayout::getNumNestedTables(), and fp_ContainerObject::getSectionLayout().
Referenced by deleteBrokenAfter(), deleteBrokenTables(), and VBreakAt().
void fp_CellContainer::deleteBrokenAfter | ( | bool | bClearFirst, | |
UT_sint32 | iOldBottom | |||
) |
References containsNestedTables(), fp_Container::countCons(), fp_TableContainer::deleteBrokenAfter(), fp_ContainerObject::getContainerType(), fp_TableContainer::getMasterTable(), fp_Container::getNext(), fp_Container::getNthCon(), fp_Container::getPrev(), fp_TableContainer::getTotalTableHeight(), fp_VerticalContainer::getY(), fp_TableContainer::getYBreak(), and UT_ASSERT.
Referenced by fp_TableContainer::deleteBrokenAfter(), and wantCellVBreakAt().
void fp_CellContainer::deleteBrokenTables | ( | bool | bClearFirst = true |
) |
Deletes any broken tables in this cell.
References containsNestedTables(), fp_TableContainer::deleteBrokenTables(), fl_ContainerLayout::getContainerType(), fl_ContainerLayout::getFirstContainer(), fl_ContainerLayout::getFirstLayout(), fl_ContainerLayout::getNext(), fp_ContainerObject::getSectionLayout(), and xxx_UT_DEBUGMSG.
Referenced by fp_TableContainer::deleteBrokenTables().
bool fp_CellContainer::doesIntersectClip | ( | fp_TableContainer * | pBroke, | |
const UT_Rect * | rClip | |||
) | const |
Returns true if the cell in a broken table overlaps the supplied clip Rect
References _getBrokenRect(), fp_ContainerObject::getGraphics(), and UT_Rect::intersectsRect().
Referenced by fp_TableContainer::_brokenDraw().
bool fp_CellContainer::doesOverlapBrokenTable | ( | const fp_TableContainer * | pBroke | ) | const |
This method returns true if the cell overlaps the supplied broken table.
References fp_TableContainer::getHeight(), fp_TableContainer::getMasterTable(), fp_VerticalContainer::getY(), fp_TableContainer::getYBottom(), fp_TableContainer::getYBreak(), fp_TableContainer::getYOfRow(), and m_iBottomAttach.
Referenced by drawSelectedCell(), fp_TableContainer::getFirstLineInColumn(), and fp_TableContainer::getLastLineInColumn().
void fp_CellContainer::doVertAlign | ( | void | ) |
void fp_CellContainer::draw | ( | dg_DrawArgs * | pDA | ) | [virtual] |
Draw container content
pDA | Draw arguments |
Reimplemented from fp_VerticalContainer.
References _drawBoundaries(), fp_VerticalContainer::_getMaxContainerHeight(), fp_Container::countCons(), GR_Graphics::DGP_SCREEN, fp_ContainerObject::draw(), drawLines(), getBottomAttach(), GR_Graphics::getClipRect(), fp_Container::getContainer(), fp_ContainerObject::getHeight(), fp_VerticalContainer::getHeight(), fp_Container::getNthCon(), fp_TableContainer::getNumRows(), fp_VerticalContainer::getWidth(), fp_ContainerObject::getX(), fp_VerticalContainer::getX(), fp_ContainerObject::getY(), fp_VerticalContainer::getY(), UT_Rect::height, m_bDirty, m_bDrawBot, m_bDrawLeft, m_bDrawTop, dg_DrawArgs::pG, GR_Graphics::queryProperties(), fp_TableContainer::setRedrawLines(), UT_Rect::top, UT_MAX, dg_DrawArgs::xoff, xxx_UT_DEBUGMSG, and dg_DrawArgs::yoff.
virtual void fp_CellContainer::draw | ( | GR_Graphics * | ) | [inline, virtual] |
Reimplemented from fp_VerticalContainer.
void fp_CellContainer::draw | ( | fp_Line * | pLine | ) |
Draw the whole cell with the selection colour background. pLine pointer to the line contained within the cell the cell.
References _getBrokenRect(), dg_DrawArgs::bDirtyRunsOnly, drawBroken(), fp_Container::getContainer(), fp_ContainerObject::getContainerType(), fp_TableContainer::getFirstBrokenTable(), FV_View::getGraphics(), fp_ContainerObject::getGraphics(), fp_Container::getNext(), fp_Container::getPage(), FV_View::getPageScreenOffsets(), fp_VerticalContainer::getView(), fp_ContainerObject::getX(), fp_VerticalContainer::getY(), fp_ContainerObject::getY(), fp_ContainerObject::isColumnType(), m_bDirty, dg_DrawArgs::pG, UT_ASSERT, UT_return_if_fail, dg_DrawArgs::xoff, and dg_DrawArgs::yoff.
Referenced by FV_View::_drawOrClearBetweenPositions().
void fp_CellContainer::drawBroken | ( | dg_DrawArgs * | pDA, | |
fp_TableContainer * | pBroke | |||
) |
Draw container content visible within the supplied broken table
pDA | Draw arguments | |
pBroke | broken table that cell is part of |
References _drawBoundaries(), _getBrokenRect(), fp_VerticalContainer::_getMaxContainerHeight(), dg_DrawArgs::bDirtyRunsOnly, fl_SectionLayout::clearNeedsRedraw(), fp_Container::countCons(), GR_Graphics::DGP_SCREEN, fp_ContainerObject::draw(), fp_TableContainer::draw(), drawLines(), fp_Page::expandDamageRect(), FG_FILL_IMAGE, fg_FillType::Fill(), GR_Painter::fillRect(), fl_DocSectionLayout::getActualColumnHeight(), getBottomAttach(), fp_ContainerObject::getBreakTick(), fp_TableContainer::getCellAtRowColumn(), GR_Graphics::getClipRect(), FV_View::getColorSelBackground(), fp_Container::getContainer(), fp_ContainerObject::getContainerType(), fp_Page::getDocLayout(), fl_ContainerLayout::getDocSectionLayout(), fp_Container::getFillType(), fp_TableContainer::getFirstBrokenTable(), fp_TableContainer::getHeight(), fp_ContainerObject::getHeight(), fp_VerticalContainer::getHeight(), getLeftAttach(), getLeftTopOffsets(), fp_TableContainer::getMasterTable(), fp_Container::getNthCon(), fp_Container::getPage(), fp_Page::getPageNumber(), FV_View::getPageViewLeftMargin(), getRightAttach(), fp_ContainerObject::getSectionLayout(), getTopAttach(), FL_DocLayout::getView(), fp_VerticalContainer::getWidth(), FV_View::getWidthPagesInRow(), fp_ContainerObject::getX(), fp_VerticalContainer::getX(), fp_ContainerObject::getY(), fp_VerticalContainer::getY(), fp_TableContainer::getYBreak(), UT_Rect::height, fp_TableContainer::isInBrokenTable(), fp_TableContainer::isThisBroken(), UT_Rect::left, m_bBgDirty, m_bDirty, m_bDrawBot, m_bDrawLeft, m_bDrawRight, m_bDrawTop, m_bIsSelected, dg_DrawArgs::pG, GR_Graphics::queryProperties(), fp_ContainerObject::setBreakTick(), fl_SectionLayout::setImageHeight(), fl_SectionLayout::setImageWidth(), fp_TableContainer::setRedrawLines(), fg_FillType::setWidthHeight(), fp_TableContainer::setY(), GR_Graphics::tlu(), UT_Rect::top, UT_ASSERT, UT_DEBUGMSG, UT_MAX, fp_TableContainer::VBreakAt(), UT_Rect::width, dg_DrawArgs::xoff, xxx_UT_DEBUGMSG, and dg_DrawArgs::yoff.
Referenced by fp_TableContainer::_brokenDraw(), draw(), and drawSelectedCell().
bool fp_CellContainer::drawLines | ( | fp_TableContainer * | pBroke, | |
GR_Graphics * | pG, | |||
bool | bDoClear | |||
) |
Draw background and lines around a cell in a broken table. Return true if lines were drawn, false otherwise.
References GR_Graphics::DGP_SCREEN, fp_Container::drawLine(), fp_TableContainer::getAdditionalBottomSpace(), getBottomAttach(), getBottomStyle(), fp_Container::getContainer(), fl_ContainerLayout::getContainerType(), fp_VerticalContainer::getHeight(), getLeftStyle(), fp_Container::getNext(), fp_TableContainer::getPage(), fp_Container::getPage(), getRightStyle(), getScreenPositions(), fp_ContainerObject::getSectionLayout(), getTopAttach(), getTopStyle(), fp_TableContainer::getYBottom(), fp_TableContainer::getYBreak(), fp_TableContainer::getYOfRow(), fp_Page::isOnScreen(), m_bDrawBot, m_bDrawLeft, m_bDrawRight, m_bDrawTop, m_bLinesDrawn, PP_PropertyMap::Line::m_color, m_iBotY, m_iLeftAttach, m_iTopAttach, m_iTopY, PP_PropertyMap::Line::m_thickness, fl_ContainerLayout::myContainingLayout(), GR_Graphics::queryProperties(), fp_TableContainer::setBrokenBottom(), fp_TableContainer::setBrokenTop(), GR_Graphics::tlu(), UT_return_val_if_fail, and xxx_UT_DEBUGMSG.
Referenced by FV_View::_drawOrClearBetweenPositions(), draw(), drawBroken(), fp_TableContainer::drawLines(), and drawLinesAdjacent().
void fp_CellContainer::drawLinesAdjacent | ( | void | ) |
| |_
Extend the cell line at the left top corner if needed
Draw lines around neighbouring cells. Use to fix artifacts of editting.
References drawLines(), fp_TableContainer::getCellAtRowColumn(), fp_Container::getContainer(), fp_TableContainer::getFirstBrokenTable(), fp_ContainerObject::getGraphics(), getLeftAttach(), fp_Container::getNext(), getRightAttach(), and getTopAttach().
Referenced by FV_View::_drawOrClearBetweenPositions(), and fp_Line::draw().
fp_Container * fp_CellContainer::drawSelectedCell | ( | fp_Line * | pLine | ) |
Draw the whole cell with the selection colour background. returns the last drawn cell in the container or NULL pLine pointer to the line contained within the cell the cell.
References _getBrokenRect(), dg_DrawArgs::bDirtyRunsOnly, doesOverlapBrokenTable(), drawBroken(), fp_Container::getContainer(), fp_ContainerObject::getContainerType(), fp_Page::getDocLayout(), fp_TableContainer::getFirstBrokenTable(), fl_ContainerLayout::getFirstContainer(), FV_View::getGraphics(), fp_ContainerObject::getGraphics(), fl_ContainerLayout::getNext(), fp_Container::getNext(), fp_Container::getNthCon(), fp_Container::getPage(), FV_View::getPageScreenOffsets(), fp_ContainerObject::getSectionLayout(), FL_DocLayout::getView(), fp_ContainerObject::getX(), fp_ContainerObject::getY(), fp_ContainerObject::isColumnType(), m_bBgDirty, m_bIsSelected, dg_DrawArgs::pG, UT_ASSERT, UT_return_val_if_fail, dg_DrawArgs::xoff, and dg_DrawArgs::yoff.
Referenced by FV_View::_drawOrClearBetweenPositions().
void fp_CellContainer::extendBotLeft | ( | PP_PropertyMap::Line & | line, | |
GR_Graphics * | pG, | |||
UT_sint32 & | iextLeft | |||
) |
void fp_CellContainer::extendBotRight | ( | PP_PropertyMap::Line & | line, | |
GR_Graphics * | pG, | |||
UT_sint32 & | iextRight | |||
) |
void fp_CellContainer::extendLeftBot | ( | PP_PropertyMap::Line & | line, | |
GR_Graphics * | pG, | |||
UT_sint32 & | iextBot | |||
) |
void fp_CellContainer::extendLeftTop | ( | PP_PropertyMap::Line & | line, | |
GR_Graphics * | pG, | |||
UT_sint32 & | iextTop | |||
) |
void fp_CellContainer::extendRightBot | ( | PP_PropertyMap::Line & | line, | |
GR_Graphics * | pG, | |||
UT_sint32 & | iextBot | |||
) |
void fp_CellContainer::extendRightTop | ( | PP_PropertyMap::Line & | line, | |
GR_Graphics * | pG, | |||
UT_sint32 & | iextTop | |||
) |
void fp_CellContainer::extendTopLeft | ( | PP_PropertyMap::Line & | line, | |
GR_Graphics * | pG, | |||
UT_sint32 & | iextLeft | |||
) |
void fp_CellContainer::extendTopRight | ( | PP_PropertyMap::Line & | line, | |
GR_Graphics * | pG, | |||
UT_sint32 & | iextRight | |||
) |
bool fp_CellContainer::getAnnotationContainers | ( | UT_GenericVector< fp_AnnotationContainer * > * | pVecAnns, | |
const fp_TableContainer * | pBroke = NULL | |||
) | const |
This method returns a vector of all the annotation layouts in the segment of the cell within a broke table pBroke
References UT_GenericVector< T >::addItem(), fp_TableContainer::containsAnnotations(), fp_TableContainer::getAnnotationContainers(), fp_Line::getAnnotationContainers(), fp_ContainerObject::getContainerType(), fp_VerticalContainer::getFirstContainer(), fp_VerticalContainer::getHeight(), UT_GenericVector< T >::getItemCount(), fp_Container::getNext(), UT_GenericVector< T >::getNthItem(), fp_VerticalContainer::getY(), fp_TableContainer::getYBottom(), fp_TableContainer::getYBreak(), and fp_TableContainer::isInBrokenTable().
Referenced by fp_TableContainer::getAnnotationContainers().
PP_PropertyMap::Background fp_CellContainer::getBackground | ( | ) | const |
References PP_PropertyMap::background__unset, PP_PropertyMap::background_inherit, PP_PropertyMap::background_solid, fl_ContainerLayout::getContainerType(), fp_ContainerObject::getSectionLayout(), m_background, PP_PropertyMap::Background::m_color, PP_PropertyMap::Background::m_t_background, fl_ContainerLayout::myContainingLayout(), and UT_return_val_if_fail.
Referenced by _clear(), and setBackground().
UT_sint32 fp_CellContainer::getBotPad | ( | void | ) | const [inline] |
UT_sint32 fp_CellContainer::getBottomAttach | ( | void | ) | const [inline] |
Referenced by fp_TableContainer::_brokenDraw(), FV_View::_moveInsPtNextPrevLine(), fp_TableContainer::_size_allocate_init(), fp_TableContainer::_size_allocate_pass2(), fp_TableContainer::_size_request_pass1(), fp_TableContainer::_size_request_pass3(), compareCellPosBinary(), fl_TableLayout::doSimpleChange(), draw(), drawBroken(), drawLines(), fp_TableContainer::getCellAtRowColumn(), fp_TableContainer::getCellAtRowColumnLinear(), getSpannedHeight(), AP_LeftRuler::mouseRelease(), setHeight(), setLineMarkers(), fp_TableContainer::tableAttach(), and fp_TableContainer::wantVBreakAtNoFootnotes().
PP_PropertyMap::Line fp_CellContainer::getBottomStyle | ( | const fl_TableLayout * | table | ) | const |
References fl_TableLayout::getBottomStyle(), line(), m_lineBottom, and s_cell_border_style().
Referenced by _clear(), and drawLines().
fp_TableContainer * fp_CellContainer::getBrokenTable | ( | const fp_Container * | pCon | ) | const |
Return the broken table that contains this cell and the given Container
References fp_Container::getContainer(), fp_TableContainer::getFirstBrokenTable(), fp_Container::getNext(), fp_ContainerObject::getY(), fp_VerticalContainer::getY(), and fp_TableContainer::getYBottom().
Referenced by FV_View::_drawOrClearBetweenPositions(), fp_TableContainer::getBrokenColumn(), getColumn(), and fp_VerticalContainer::mapXYToPosition().
Return the x coordinate offset of this cell. We need to know the line for situations where the cell is broken over different pages.
Return the y coordinate offset of this cell. We need to know the line for situations where the cell is broken over different pages.
References getTopmostTable(), and fp_VerticalContainer::getY().
fp_VerticalContainer * fp_CellContainer::getColumn | ( | const fp_Container * | _pCon | ) | const |
This Method returns the column or shadow that embeds the container given.
References getBrokenTable(), fp_Container::getColumn(), fp_Container::getContainer(), fp_ContainerObject::getContainerType(), fp_ContainerObject::isColumnType(), fp_TableContainer::isThisBroken(), and UT_ASSERT.
Referenced by FV_View::_getMouseContext(), fp_Line::getColumn(), fp_TableContainer::getFirstLineInColumn(), fp_TableContainer::getLastLineInColumn(), fp_TableContainer::getPage(), and FV_View::getTopRulerInfo().
fp_Container * fp_CellContainer::getFirstContainerInBrokenTable | ( | const fp_TableContainer * | pBroke | ) | const |
bool fp_CellContainer::getFootnoteContainers | ( | UT_GenericVector< fp_FootnoteContainer * > * | pVecFoots, | |
const fp_TableContainer * | pBroke = NULL | |||
) | const |
This method returns a vector of all the footnote layouts in the segment of the cell within a broke table pBroke
References UT_GenericVector< T >::addItem(), fp_TableContainer::containsFootnoteReference(), fp_ContainerObject::getContainerType(), fp_VerticalContainer::getFirstContainer(), fp_TableContainer::getFootnoteContainers(), fp_Line::getFootnoteContainers(), fp_VerticalContainer::getHeight(), UT_GenericVector< T >::getItemCount(), fp_Container::getNext(), UT_GenericVector< T >::getNthItem(), fp_VerticalContainer::getY(), fp_TableContainer::getYBottom(), fp_TableContainer::getYBreak(), and fp_TableContainer::isInBrokenTable().
Referenced by fp_TableContainer::getFootnoteContainers().
UT_sint32 fp_CellContainer::getLeftAttach | ( | void | ) | const [inline] |
Referenced by FV_View::_moveInsPtNextPrevLine(), fp_TableContainer::_size_allocate_init(), fp_TableContainer::_size_allocate_pass2(), fp_TableContainer::_size_request_pass1(), fp_TableContainer::_size_request_pass3(), FV_View::cmdInsertRow(), compareCellPosBinary(), fl_TableLayout::doSimpleChange(), drawBroken(), drawLinesAdjacent(), fp_TableContainer::getCellAtRowColumn(), fp_TableContainer::getCellAtRowColumnLinear(), FV_VisualDragText::getImageFromSelection(), FV_View::getLeftRulerInfo(), getLeftTopOffsets(), FV_View::getNumColumnsInSelection(), getSpannedHeight(), fp_VerticalContainer::mapXYToPosition(), FV_View::setCellFormat(), and setLineMarkers().
UT_sint32 fp_CellContainer::getLeftPad | ( | void | ) | const [inline] |
UT_sint32 fp_CellContainer::getLeftPos | ( | void | ) | const [inline] |
Referenced by FV_View::_getMouseContext(), and FV_View::getTopRulerInfo().
PP_PropertyMap::Line fp_CellContainer::getLeftStyle | ( | const fl_TableLayout * | table | ) | const |
References fl_TableLayout::getLeftStyle(), line(), m_lineLeft, and s_cell_border_style().
Referenced by _clear(), and drawLines().
References fp_Container::getContainer(), getLeftAttach(), fp_TableContainer::getNthCol(), fp_VerticalContainer::getY(), m_iTopY, fp_TableRowColumn::spacing, and UT_return_if_fail.
Referenced by _clear(), drawBroken(), and fg_FillType::Fill().
fp_Container * fp_CellContainer::getNextContainerInSection | ( | void | ) | const [virtual] |
fp_Container * fp_CellContainer::getPrevContainerInSection | ( | void | ) | const [virtual] |
UT_sint32 fp_CellContainer::getRightAttach | ( | void | ) | const [inline] |
Referenced by fp_TableContainer::_size_allocate_init(), fp_TableContainer::_size_allocate_pass2(), fp_TableContainer::_size_request_pass1(), fp_TableContainer::_size_request_pass3(), FV_View::cmdInsertRow(), compareCellPosBinary(), fl_TableLayout::doSimpleChange(), drawBroken(), drawLinesAdjacent(), fp_TableContainer::getCellAtRowColumn(), fp_TableContainer::getCellAtRowColumnLinear(), FV_VisualDragText::getImageFromSelection(), FV_View::getTopRulerInfo(), setLineMarkers(), and fp_TableContainer::tableAttach().
UT_sint32 fp_CellContainer::getRightPad | ( | void | ) | const [inline] |
UT_sint32 fp_CellContainer::getRightPos | ( | void | ) | const [inline] |
Referenced by FV_View::_getMouseContext(), and FV_View::getTopRulerInfo().
PP_PropertyMap::Line fp_CellContainer::getRightStyle | ( | const fl_TableLayout * | table | ) | const |
References fl_TableLayout::getRightStyle(), line(), m_lineRight, and s_cell_border_style().
Referenced by _clear(), and drawLines().
void fp_CellContainer::getScreenPositions | ( | fp_TableContainer * | pBroke, | |
GR_Graphics * | pG, | |||
UT_sint32 & | iLeft, | |||
UT_sint32 & | iRight, | |||
UT_sint32 & | iTop, | |||
UT_sint32 & | iBot, | |||
UT_sint32 & | col_y, | |||
fp_Column *& | pCol, | |||
fp_ShadowContainer *& | pShadow, | |||
bool & | bDoClear | |||
) | const |
Given the broken table that contains this cell, calculate the positions of the left,right,top and bottom edges of the cell.
References GR_Graphics::DGP_PAPER, GR_Graphics::DGP_SCREEN, FP_CONTAINER_FRAME, fp_TableContainer::getBrokenColumn(), fp_Container::getColumn(), fp_Container::getContainer(), fp_ContainerObject::getContainerType(), fp_VerticalContainer::getCorrectBrokenTable(), fp_Page::getDocLayout(), fl_ContainerLayout::getDocSectionLayout(), fp_TableContainer::getFirstBrokenTable(), fp_TableContainer::getMasterTable(), fp_Column::getPage(), fp_ShadowContainer::getPage(), fp_TableContainer::getPage(), fp_Container::getPage(), FV_View::getPageScreenOffsets(), fp_Page::getScreenOffsets(), fp_ContainerObject::getSectionLayout(), FL_DocLayout::getView(), fp_VerticalContainer::getView(), FV_View::getViewMode(), fp_ContainerObject::getX(), fp_VerticalContainer::getX(), fp_FrameContainer::getX(), fp_ContainerObject::getY(), fp_VerticalContainer::getY(), fp_FrameContainer::getY(), fp_TableContainer::getYBreak(), fp_ContainerObject::isColumnType(), isInNestedTable(), fp_Page::isOnScreen(), fp_TableContainer::isThisBroken(), m_iBotY, m_iLeft, m_iRight, m_iTopY, GR_Graphics::queryProperties(), and UT_return_if_fail.
Referenced by FV_View::_fixInsertionPointCoords(), and drawLines().
UT_sint32 fp_CellContainer::getSpannedHeight | ( | void | ) | const |
References getBottomAttach(), fp_TableContainer::getCellAtRowColumn(), fp_Container::getContainer(), fp_VerticalContainer::getHeight(), getLeftAttach(), fp_Container::getNext(), fp_TableContainer::getNumRows(), fp_VerticalContainer::getY(), and fp_TableContainer::getYOfRow().
Referenced by clearScreen().
UT_sint32 fp_CellContainer::getStartY | ( | void | ) | const [inline] |
Referenced by FV_View::_getMouseContext(), and fl_CellLayout::isLayedOut().
UT_sint32 fp_CellContainer::getStopY | ( | void | ) | const [inline] |
Referenced by FV_View::_getMouseContext().
UT_sint32 fp_CellContainer::getTopAttach | ( | void | ) | const [inline] |
Referenced by fp_TableContainer::_brokenDraw(), FV_View::_getMouseContext(), FV_View::_moveInsPtNextPrevLine(), fp_TableContainer::_size_allocate_init(), fp_TableContainer::_size_allocate_pass2(), fp_TableContainer::_size_request_pass1(), fp_TableContainer::_size_request_pass3(), FV_View::cmdInsertRow(), compareCellPosBinary(), fp_TableContainer::containsAnnotations(), fp_TableContainer::containsFootnoteReference(), fl_TableLayout::doSimpleChange(), drawBroken(), drawLines(), drawLinesAdjacent(), fp_TableContainer::getAnnotationContainers(), fp_TableContainer::getCellAtRowColumn(), fp_TableContainer::getCellAtRowColumnLinear(), fp_TableContainer::getFootnoteContainers(), FV_VisualDragText::getImageFromSelection(), FV_View::getNumRowsInSelection(), FV_View::getTopRulerInfo(), AP_LeftRuler::mouseRelease(), FV_View::setCellFormat(), setLineMarkers(), and fp_TableContainer::wantVBreakAtNoFootnotes().
fp_TableContainer * fp_CellContainer::getTopmostTable | ( | void | ) | const |
Return the topmost table in this structure. The one embedded in the column.
References fp_Container::getContainer(), fp_ContainerObject::getContainerType(), UT_ASSERT, and UT_SHOULD_NOT_HAPPEN.
Referenced by getCellY().
UT_sint32 fp_CellContainer::getTopPad | ( | void | ) | const [inline] |
PP_PropertyMap::Line fp_CellContainer::getTopStyle | ( | const fl_TableLayout * | table | ) | const |
References fl_TableLayout::getTopStyle(), line(), m_lineTop, and s_cell_border_style().
Referenced by _clear(), and drawLines().
bool fp_CellContainer::getXexpand | ( | void | ) | const [inline] |
Referenced by fp_TableContainer::_size_allocate_init().
bool fp_CellContainer::getXfill | ( | void | ) | const [inline] |
Referenced by fp_TableContainer::_size_allocate_pass2().
bool fp_CellContainer::getXshrink | ( | void | ) | const [inline] |
Referenced by fp_TableContainer::_size_allocate_init().
bool fp_CellContainer::getYexpand | ( | void | ) | const [inline] |
Referenced by fp_TableContainer::_size_allocate_init().
bool fp_CellContainer::getYfill | ( | void | ) | const [inline] |
Referenced by fp_TableContainer::_size_allocate_pass2().
bool fp_CellContainer::getYshrink | ( | void | ) | const [inline] |
Referenced by fp_TableContainer::_size_allocate_init().
virtual fp_ContainerObject* fp_CellContainer::HBreakAt | ( | UT_sint32 | ) | [inline, virtual] |
Reimplemented from fp_VerticalContainer.
bool fp_CellContainer::isDirty | ( | void | ) | const [inline] |
virtual bool fp_CellContainer::isHBreakable | ( | void | ) | [inline, virtual] |
Reimplemented from fp_VerticalContainer.
bool fp_CellContainer::isInNestedTable | ( | void | ) | const |
References fp_Container::getContainer(), and fp_ContainerObject::isColumnType().
Referenced by getScreenPositions().
bool fp_CellContainer::isRepeated | ( | void | ) | const |
References m_bIsRepeated.
Referenced by Defun_EV_GetMenuItemState_Fn().
bool fp_CellContainer::isSelected | ( | void | ) | const [inline] |
Referenced by FV_View::_clearBetweenPositions(), and FV_View::_drawOrClearBetweenPositions().
bool fp_CellContainer::isVBreakable | ( | void | ) | [virtual] |
Returns true since cells can be broken vertically.
Reimplemented from fp_VerticalContainer.
void fp_CellContainer::layout | ( | void | ) |
References fp_VerticalContainer::_getMaxContainerHeight(), fp_VerticalContainer::_setMaxContainerHeight(), fp_ContainerObject::clearScreen(), fp_Container::countCons(), fp_TableContainer::deleteBrokenTables(), fp_ContainerObject::getContainerType(), fp_TableContainer::getFirstBrokenTable(), fp_VerticalContainer::getHeight(), fp_TableContainer::getHeight(), fp_ContainerObject::getHeight(), fp_Container::getMarginAfter(), fp_Container::getNthCon(), fp_VerticalContainer::getY(), fp_ContainerObject::getY(), fp_TableContainer::getYBottom(), fp_TableContainer::isThisBroken(), fp_Container::setAssignedScreenHeight(), setHeight(), fp_TableContainer::setY(), fp_VerticalContainer::setY(), fp_ContainerObject::setY(), fp_TableContainer::VBreakAt(), and xxx_UT_DEBUGMSG.
Referenced by fl_TOCLayout::format(), setToAllocation(), and setWidth().
void fp_CellContainer::markAsDirty | ( | void | ) | [inline] |
Referenced by _clear(), clearScreen(), and fp_Line::setNeedsRedraw().
void fp_CellContainer::recalcMaxWidth | ( | bool | bDontClearIfNeeded = false |
) | [inline, virtual] |
Reimplemented from fp_VerticalContainer.
References UT_UNUSED.
virtual void fp_CellContainer::setAssignedScreenHeight | ( | UT_sint32 | ) | [inline, virtual] |
Reimplemented from fp_VerticalContainer.
void fp_CellContainer::setBackground | ( | const PP_PropertyMap::Background & | style | ) |
void fp_CellContainer::setBotPad | ( | UT_sint32 | i | ) | [inline] |
Referenced by fl_CellLayout::setCellContainerProperties().
void fp_CellContainer::setBottomAttach | ( | UT_sint32 | i | ) | [inline] |
Referenced by fl_CellLayout::setCellContainerProperties().
void fp_CellContainer::setBottomStyle | ( | const PP_PropertyMap::Line & | style | ) | [inline] |
Referenced by fl_CellLayout::setCellContainerProperties().
void fp_CellContainer::setContainer | ( | fp_Container * | pContainer | ) | [virtual] |
Reimplemented from fp_Container.
References clearScreen(), fp_Container::getContainer(), fp_ContainerObject::getContainerType(), setWidth(), and UT_ASSERT.
Referenced by fp_TableContainer::tableAttach().
void fp_CellContainer::setHeight | ( | UT_sint32 | iHeight | ) | [virtual] |
Reimplemented from fp_VerticalContainer.
References clearScreen(), getBottomAttach(), fp_TableContainer::getCellAtRowColumn(), fp_Container::getContainer(), fl_ContainerLayout::getContainerType(), fp_VerticalContainer::getHeight(), fp_Container::getNext(), fp_TableContainer::getNumRows(), fp_ContainerObject::getSectionLayout(), fl_SectionLayout::markAllRunsDirty(), fl_ContainerLayout::myContainingLayout(), fl_SectionLayout::setNeedsRedraw(), UT_ASSERT, and xxx_UT_DEBUGMSG.
Referenced by fl_CellLayout::checkAndAdjustCellSize(), layout(), and setToAllocation().
void fp_CellContainer::setLeftAttach | ( | UT_sint32 | i | ) | [inline] |
Referenced by fl_CellLayout::setCellContainerProperties().
void fp_CellContainer::setLeftPad | ( | UT_sint32 | i | ) | [inline] |
Referenced by fl_CellLayout::setCellContainerProperties().
void fp_CellContainer::setLeftStyle | ( | const PP_PropertyMap::Line & | style | ) | [inline] |
Referenced by fl_CellLayout::setCellContainerProperties().
void fp_CellContainer::setLineMarkers | ( | void | ) |
This method sets the line markers between the rows and columns. It must be called after the setToAllocation() for all cells.
References getBottomAttach(), fp_Container::getContainer(), getLeftAttach(), getRightAttach(), getTopAttach(), fp_TableContainer::getXOfColumn(), fp_TableContainer::getYOfRow(), m_iBotY, m_iLeft, m_iRight, m_iTopY, and UT_return_if_fail.
Referenced by fl_TableLayout::doSimpleChange(), and fp_TableContainer::setToAllocation().
void fp_CellContainer::setRightAttach | ( | UT_sint32 | i | ) | [inline] |
Referenced by fl_CellLayout::setCellContainerProperties().
void fp_CellContainer::setRightPad | ( | UT_sint32 | i | ) | [inline] |
Referenced by fl_CellLayout::setCellContainerProperties().
void fp_CellContainer::setRightStyle | ( | const PP_PropertyMap::Line & | style | ) | [inline] |
Referenced by fl_CellLayout::setCellContainerProperties().
void fp_CellContainer::setToAllocation | ( | void | ) |
void fp_CellContainer::setTopAttach | ( | UT_sint32 | i | ) | [inline] |
Referenced by fl_CellLayout::setCellContainerProperties().
void fp_CellContainer::setTopPad | ( | UT_sint32 | i | ) | [inline] |
Referenced by fl_CellLayout::setCellContainerProperties().
void fp_CellContainer::setTopStyle | ( | const PP_PropertyMap::Line & | style | ) | [inline] |
Referenced by fl_CellLayout::setCellContainerProperties().
void fp_CellContainer::setVertAlign | ( | UT_sint32 | i | ) | [inline] |
Referenced by fl_CellLayout::setCellContainerProperties().
void fp_CellContainer::setWidth | ( | UT_sint32 | iWidth | ) | [virtual] |
Set width
iWidth | Width of container |
Reimplemented from fp_VerticalContainer.
References fl_CellLayout::_localCollapse(), clearScreen(), fp_Container::countCons(), fl_CellLayout::format(), fp_ContainerObject::getContainerType(), fl_ContainerLayout::getContainerType(), fp_Container::getNthCon(), fp_ContainerObject::getSectionLayout(), fp_VerticalContainer::getWidth(), layout(), fl_ContainerLayout::myContainingLayout(), fl_SectionLayout::setNeedsReformat(), UT_ASSERT, UT_SHOULD_NOT_HAPPEN, and xxx_UT_DEBUGMSG.
Referenced by fl_CellLayout::createCellContainer(), setContainer(), and setToAllocation().
void fp_CellContainer::setXexpand | ( | bool | b | ) | [inline] |
void fp_CellContainer::setXfill | ( | bool | b | ) | [inline] |
void fp_CellContainer::setXshrink | ( | bool | b | ) | [inline] |
void fp_CellContainer::setYexpand | ( | bool | b | ) | [inline] |
void fp_CellContainer::setYfill | ( | bool | b | ) | [inline] |
void fp_CellContainer::setYshrink | ( | bool | b | ) | [inline] |
void fp_CellContainer::sizeAllocate | ( | fp_Allocation * | pAllocate | ) |
References _fp_Allocation::height, m_MyAllocation, _fp_Allocation::width, _fp_Allocation::x, and _fp_Allocation::y.
Referenced by fp_TableContainer::_size_allocate_pass2().
void fp_CellContainer::sizeRequest | ( | fp_Requisition * | pRequest | ) |
References fp_Container::countCons(), fp_Container::getColumn(), fl_ContainerLayout::getContainerType(), fp_ContainerObject::getContainerType(), fl_ContainerLayout::getFirstLayout(), fp_ContainerObject::getHeight(), fp_Container::getMarginAfter(), fl_BlockLayout::getMaxNonBreakableRun(), fl_ContainerLayout::getNext(), fp_Container::getNthCon(), fp_ContainerObject::getSectionLayout(), fp_ContainerObject::getWidth(), fp_VerticalContainer::getWidth(), _fp_Requisition::height, fl_TableLayout::isInitialLayoutCompleted(), m_MyRequest, fp_TableContainer::sizeRequest(), UT_ASSERT, UT_SHOULD_NOT_HAPPEN, _fp_Requisition::width, and xxx_UT_DEBUGMSG.
Referenced by fp_TableContainer::_size_allocate_pass2(), fp_TableContainer::_size_request_init(), fp_TableContainer::_size_request_pass1(), fp_TableContainer::_size_request_pass3(), fl_CellLayout::checkAndAdjustCellSize(), and fl_TableLayout::doSimpleChange().
fp_ContainerObject * fp_CellContainer::VBreakAt | ( | UT_sint32 | vpos | ) | [virtual] |
Break the cell at the specified location. This is mostly to handle the case of tables embedded in the cell. vpos is relative to the start of the cell.
Reimplemented from fp_VerticalContainer.
References containsNestedTables(), fp_Container::countCons(), fp_ContainerObject::getBreakTick(), fp_Container::getContainer(), fp_ContainerObject::getContainerType(), fp_TableContainer::getFirstBrokenTable(), fp_TableContainer::getHeight(), fp_VerticalContainer::getHeight(), fp_ContainerObject::getHeight(), fp_Container::getMarginAfter(), fp_TableContainer::getMasterTable(), fp_Container::getNthCon(), fp_ContainerObject::getY(), fp_VerticalContainer::getY(), fp_TableContainer::getYBreak(), fp_TableContainer::isThisBroken(), fp_ContainerObject::isVBreakable(), fp_ContainerObject::setBreakTick(), fp_VerticalContainer::setY(), fp_TableContainer::setY(), UT_ASSERT, UT_DEBUGMSG, fp_TableContainer::VBreakAt(), and xxx_UT_DEBUGMSG.
Referenced by fp_TableContainer::breakCellsAt().
This routine requests that the cell be broken at the specfied height. the return value of the method is the actual height it can be broken which is less than or equal to the requested height.
References fp_Container::countCons(), deleteBrokenAfter(), fp_TableContainer::deleteBrokenAfter(), fp_Container::getContainer(), fp_ContainerObject::getContainerType(), fp_TableContainer::getFirstBrokenTable(), fp_ContainerObject::getHeight(), fp_Container::getNext(), fp_Container::getNthCon(), fp_VerticalContainer::getY(), fp_ContainerObject::getY(), fp_TableContainer::getYBottom(), fp_TableContainer::isThisBroken(), fp_ContainerObject::isVBreakable(), UT_return_val_if_fail, and fp_ContainerObject::wantVBreakAt().
Referenced by fp_TableContainer::wantVBreakAtNoFootnotes().
Reimplemented from fp_VerticalContainer.
Referenced by getBackground(), and setBackground().
bool fp_CellContainer::m_bBgDirty [private] |
Referenced by _clear(), drawBroken(), drawSelectedCell(), and setToAllocation().
bool fp_CellContainer::m_bDirty [private] |
Referenced by _clear(), clearScreen(), draw(), and drawBroken().
bool fp_CellContainer::m_bDrawBot [private] |
Referenced by draw(), drawBroken(), and drawLines().
bool fp_CellContainer::m_bDrawLeft [private] |
Referenced by draw(), drawBroken(), and drawLines().
bool fp_CellContainer::m_bDrawRight [private] |
Referenced by drawBroken(), and drawLines().
bool fp_CellContainer::m_bDrawTop [private] |
Referenced by draw(), drawBroken(), and drawLines().
bool fp_CellContainer::m_bIsRepeated [private] |
Referenced by isRepeated().
bool fp_CellContainer::m_bIsSelected [private] |
Referenced by drawBroken(), and drawSelectedCell().
bool fp_CellContainer::m_bLinesDrawn [private] |
Referenced by _clear(), clearScreen(), and drawLines().
bool fp_CellContainer::m_bXexpand [private] |
bool fp_CellContainer::m_bXfill [private] |
bool fp_CellContainer::m_bXshrink [private] |
bool fp_CellContainer::m_bYexpand [private] |
bool fp_CellContainer::m_bYfill [private] |
bool fp_CellContainer::m_bYshrink [private] |
UT_sint32 fp_CellContainer::m_iBotPad [private] |
UT_sint32 fp_CellContainer::m_iBottomAttach [private] |
Referenced by doesOverlapBrokenTable(), and fl_CellLayout::getBottomAttach().
UT_sint32 fp_CellContainer::m_iBotY [private] |
Referenced by _getBrokenRect(), doVertAlign(), drawLines(), getScreenPositions(), and setLineMarkers().
UT_sint32 fp_CellContainer::m_iLeft [private] |
Referenced by _getBrokenRect(), getScreenPositions(), and setLineMarkers().
UT_sint32 fp_CellContainer::m_iLeftAttach [private] |
Referenced by _clear(), drawLines(), and fl_CellLayout::getLeftAttach().
UT_sint32 fp_CellContainer::m_iLeftPad [private] |
UT_sint32 fp_CellContainer::m_iRight [private] |
Referenced by _getBrokenRect(), getScreenPositions(), and setLineMarkers().
UT_sint32 fp_CellContainer::m_iRightAttach [private] |
Referenced by fl_CellLayout::getRightAttach().
UT_sint32 fp_CellContainer::m_iRightPad [private] |
UT_sint32 fp_CellContainer::m_iTopAttach [private] |
Referenced by _clear(), drawLines(), and fl_CellLayout::getTopAttach().
UT_sint32 fp_CellContainer::m_iTopPad [private] |
UT_sint32 fp_CellContainer::m_iTopY [private] |
Referenced by _getBrokenRect(), doVertAlign(), drawLines(), getLeftTopOffsets(), getScreenPositions(), and setLineMarkers().
UT_sint32 fp_CellContainer::m_iVertAlign [private] |
Referenced by doVertAlign().
Referenced by getBottomStyle().
Referenced by getLeftStyle().
Referenced by getRightStyle().
Referenced by getTopStyle().
Referenced by doVertAlign(), setToAllocation(), and sizeAllocate().
fp_Requisition fp_CellContainer::m_MyRequest [private] |
Referenced by sizeRequest().
fp_CellContainer* fp_CellContainer::m_pNextInTable [private] |
fp_CellContainer* fp_CellContainer::m_pPrevInTable [private] |