Public Member Functions | Private Attributes

fp_Container Class Reference

#include <fp_ContainerObject.h>

Inheritance diagram for fp_Container:
fp_ContainerObject fp_Line fp_VerticalContainer fp_AnnotationContainer fp_CellContainer fp_Column fp_EndnoteContainer fp_FootnoteContainer fp_FrameContainer fp_HdrFtrContainer fp_ShadowContainer fp_TableContainer fp_TOCContainer

List of all members.

Public Member Functions

 fp_Container (FP_ContainerType iType, fl_SectionLayout *pSectionLayout)
virtual ~fp_Container ()
virtual void setContainer (fp_Container *pContainer)
fp_ContainergetContainer (void) const
fp_ContainergetColumn (void) const
fp_PagegetPage (void) const
virtual UT_sint32 getMarginBefore (void) const =0
virtual UT_sint32 getMarginAfter (void) const =0
virtual fp_ContainerObjectgetNext (void) const
virtual fp_ContainerObjectgetPrev (void) const
virtual void setNext (fp_ContainerObject *pNext)
virtual void setPrev (fp_ContainerObject *pPrev)
void clearCons (void)
fp_ContainerObjectgetNthCon (UT_sint32 i) const
void addCon (fp_ContainerObject *pCon)
UT_sint32 countCons (void) const
UT_sint32 findCon (fp_ContainerObject *pCon) const
void justRemoveNthCon (UT_sint32 i)
void deleteNthCon (UT_sint32 i)
void insertConAt (fp_ContainerObject *pCon, UT_sint32 i)
bool isEmpty (void) const
virtual UT_uint32 distanceFromPoint (UT_sint32 x, UT_sint32 y)=0
virtual void recalcMaxWidth (bool bDontClearIfNeeded=false)=0
virtual void setAssignedScreenHeight (UT_sint32 iY)=0
bool getPageRelativeOffsets (UT_Rect &r) const
bool isOnScreen () const
fp_ContainergetMyBrokenContainer (void) const
void setMyBrokenContainer (fp_Container *pMyBroken)
void clearBrokenContainers (void)
UT_uint32 binarysearchCons (const void *key, int(*compar)(const void *, const void *)) const
UT_uint32 getBrokenCount (void)
void incBrokenCount (void)
void decBrokenCount (void)
fg_FillTypegetFillType (void)
const fg_FillTypegetFillType (void) const
void drawLine (const PP_PropertyMap::Line &style, UT_sint32 left, UT_sint32 top, UT_sint32 right, UT_sint32 bot, GR_Graphics *pGr)

Private Attributes

fp_Containerm_pContainer
fp_ContainerObjectm_pNext
fp_ContainerObjectm_pPrev
UT_GenericVector
< fp_ContainerObject * > 
m_vecContainers
fp_Containerm_pMyBrokenContainer
UT_uint32 m_cBrokenContainers
fg_FillType m_FillType

Constructor & Destructor Documentation

fp_Container::fp_Container ( FP_ContainerType  iType,
fl_SectionLayout pSectionLayout 
)

Create container

Parameters:
iType Container type
pSectionLayout Section layout type used for this container

References UT_GenericVector< T >::clear(), fl_SectionLayout::getDocLayout(), m_FillType, m_vecContainers, and fg_FillType::setDocLayout().

fp_Container::~fp_Container (  )  [virtual]

Destruct container


Member Function Documentation

UT_uint32 fp_Container::binarysearchCons ( const void *  key,
int(*)(const void *, const void *)  compar 
) const
void fp_Container::clearCons ( void   )  [inline]
UT_sint32 fp_Container::countCons ( void   )  const

References UT_GenericVector< T >::getItemCount(), and m_vecContainers.

Referenced by fb_ColumnBreaker::_breakSection(), fl_TOCLayout::_insertTOCContainer(), addCon(), fp_VerticalContainer::bumpContainers(), clearBrokenContainers(), fp_TOCContainer::clearScreen(), fp_CellContainer::clearScreen(), fp_FrameContainer::clearScreen(), fp_EndnoteContainer::clearScreen(), fp_AnnotationContainer::clearScreen(), fp_FootnoteContainer::clearScreen(), fp_ShadowContainer::clearScreen(), fp_VerticalContainer::clearScreen(), fp_Column::collapseEndnotes(), fp_VerticalContainer::countWrapped(), fp_CellContainer::deleteBrokenAfter(), deleteNthCon(), fp_TOCContainer::draw(), fp_CellContainer::draw(), fp_FrameContainer::draw(), fp_EndnoteContainer::draw(), fp_AnnotationContainer::draw(), fp_FootnoteContainer::draw(), fp_ShadowContainer::draw(), fp_VerticalContainer::draw(), fp_CellContainer::drawBroken(), fp_TOCContainer::forceClearScreen(), fp_Page::getAllLayouts(), fp_FrameContainer::getBlocksAroundFrame(), fp_TableContainer::getCellAtRowColumnLinear(), fp_Page::getContainingTable(), fp_VerticalContainer::getFirstContainer(), fp_CellContainer::getFirstContainerInBrokenTable(), fp_VerticalContainer::getLastContainer(), fp_TableContainer::getLastLineInColumn(), getNthCon(), insertConAt(), fp_VerticalContainer::insertContainerAfter(), fl_TableLayout::insertTableContainer(), fp_TOCContainer::layout(), fp_CellContainer::layout(), fp_FrameContainer::layout(), fp_EndnoteContainer::layout(), fp_AnnotationContainer::layout(), fp_FootnoteContainer::layout(), fp_HdrFtrContainer::layout(), fp_ShadowContainer::layout(), fp_Column::layout(), fp_TableContainer::mapXYToPosition(), fp_VerticalContainer::mapXYToPosition(), fp_VerticalContainer::markDirtyOverlappingRuns(), fp_VerticalContainer::removeAll(), fp_VerticalContainer::removeContainer(), fp_CellContainer::setWidth(), fp_CellContainer::sizeRequest(), fp_TableContainer::tableAttach(), fp_Page::updatePageForWrapping(), fp_VerticalContainer::validate(), fp_TOCContainer::VBreakAt(), fp_TableContainer::VBreakAt(), fp_CellContainer::VBreakAt(), fp_CellContainer::wantCellVBreakAt(), fp_TOCContainer::wantVBreakAt(), and fp_Column::~fp_Column().

void fp_Container::decBrokenCount ( void   )  [inline]

Referenced by clearBrokenContainers().

virtual UT_uint32 fp_Container::distanceFromPoint ( UT_sint32  x,
UT_sint32  y 
) [pure virtual]

Implemented in fp_VerticalContainer, and fp_Line.

UT_uint32 fp_Container::getBrokenCount ( void   )  [inline]

Referenced by clearBrokenContainers().

fp_Container * fp_Container::getContainer ( void   )  const

Return the container that encloses this container.

References m_pContainer.

Referenced by fl_BlockLayout::_breakLineAfterRun(), fb_ColumnBreaker::_breakSection(), fp_Line::_calculateWidthOfRun(), FV_View::_charInsert(), fp_CellContainer::_clear(), fp_Line::_doClearScreenFromRunToEnd(), fp_ImageRun::_draw(), AP_LeftRuler::_drawCellProperties(), FV_View::_drawOrClearBetweenPositions(), AP_UnixDialog_Lists::_gatherData(), AP_CocoaDialog_Lists::_gatherData, fp_CellContainer::_getBrokenRect(), AP_LeftRuler::_getCellMarkerRects(), FV_View::_getMouseContext(), AP_TopRuler::_getParagraphMarkerXCenters(), fl_AnnotationLayout::_insertAnnotationContainer(), fl_FootnoteLayout::_insertFootnoteContainer(), fl_TOCLayout::_insertTOCContainer(), FV_View::_moveInsPtNextPrevLine(), FV_View::_moveInsPtNextPrevScreen(), fl_BlockLayout::_removeLine(), fl_BlockLayout::_stuffAllRunsOnALine(), fp_VerticalContainer::addContainer(), fp_TOCContainer::adjustBrokenTOCs(), fp_FieldPageCountRun::calculateValue(), fp_FieldPageReferenceRun::calculateValue(), fp_FieldPageNumberRun::calculateValue(), fp_Line::canDrawBotBorder(), fp_Line::canDrawTopBorder(), clearBrokenContainers(), fp_TOCContainer::clearScreen(), fp_TableContainer::clearScreen(), fp_CellContainer::clearScreen(), fp_Line::clearScreen(), FV_View::cmdDeleteCol(), fl_TOCLayout::collapse(), fl_CellLayout::collapse(), fl_TableLayout::collapse(), FV_View::convertPositionedToInLine(), FV_View::countWords(), fp_TOCContainer::deleteBrokenAfter(), fp_TableContainer::deleteBrokenAfter(), fp_TableContainer::deleteBrokenTables(), fp_TOCContainer::deleteBrokenTOCs(), deleteNthCon(), fp_CellContainer::draw(), fp_Line::draw(), fp_Line::drawBorders(), fp_CellContainer::drawBroken(), fp_CellContainer::drawLines(), fp_CellContainer::drawLinesAdjacent(), fp_CellContainer::drawSelectedCell(), fl_BlockLayout::formatWrappedFromHere(), fp_Line::genOverlapRects(), fp_Line::getAbsLeftRight(), fp_TOCContainer::getBrokenColumn(), fp_TableContainer::getBrokenColumn(), fp_CellContainer::getBrokenTable(), FV_View::getCellAtPos(), fp_CellContainer::getColumn(), fp_Line::getColumn(), getColumn(), fp_Page::getContainingTable(), fp_VerticalContainer::getCorrectBrokenTable(), fp_VerticalContainer::getCorrectBrokenTOC(), FV_View::getCurrentPageNumber(), fp_Run::getFGColor(), fp_Page::getFilledHeight(), fp_Line::getFirstInContainer(), FV_FrameEdit::getFrameStrings(), FV_VisualDragText::getImageFromSelection(), fp_Line::getLastInContainer(), FV_View::getLeftRulerInfo(), fp_CellContainer::getLeftTopOffsets(), fl_DocSectionLayout::getNewContainer(), fl_BlockLayout::getNewContainer(), fl_BlockLayout::getNextWrappedLine(), fp_Line::getOffsets(), fp_VerticalContainer::getOffsets(), fp_TableContainer::getPage(), fp_Line::getRightEdge(), fp_Line::getScreenOffsets(), fp_VerticalContainer::getScreenOffsets(), fp_CellContainer::getScreenPositions(), fp_CellContainer::getSpannedHeight(), fp_CellContainer::getTopmostTable(), FV_View::getTopRulerInfo(), FL_DocLayout::insertEndnoteContainer(), fl_TableLayout::insertTableContainer(), fp_CellContainer::isInNestedTable(), FV_View::isInTable(), fp_VerticalContainer::mapXYToPosition(), AP_LeftRuler::mouseRelease(), fp_TableContainer::queueResize(), fp_Line::recalcMaxWidth(), fp_Line::remove(), FL_DocLayout::removeEndnoteContainer(), AP_Dialog_SplitCells::setAllSensitivities(), AP_Dialog_MergeCells::setAllSensitivities(), fp_TOCContainer::setContainer(), fp_TableContainer::setContainer(), fp_CellContainer::setContainer(), fp_Line::setContainer(), fp_EndnoteContainer::setContainer(), fp_AnnotationContainer::setContainer(), fp_FootnoteContainer::setContainer(), fl_BlockLayout::setFramesOnPage(), fp_CellContainer::setHeight(), fp_CellContainer::setLineMarkers(), setMyBrokenContainer(), fp_Line::setNeedsRedraw(), fp_TOCContainer::VBreakAt(), fp_TableContainer::VBreakAt(), fp_CellContainer::VBreakAt(), and fp_CellContainer::wantCellVBreakAt().

const fg_FillType & fp_Container::getFillType ( void   )  const

References m_FillType.

virtual UT_sint32 fp_Container::getMarginBefore ( void   )  const [pure virtual]
fp_Container * fp_Container::getMyBrokenContainer ( void   )  const

This returns a pointer to a container broken across a page that contains this container. This is used (in the first instance) by the Table pagination code which breaks tables across pages. This returns the pointer to the broken table this container is within.

References m_pMyBrokenContainer.

Referenced by fp_TOCContainer::isInBrokenTOC().

virtual fp_ContainerObject* fp_Container::getNext ( void   )  const [inline, virtual]

Implements fp_ContainerObject.

Referenced by fl_BlockLayout::_breakLineAfterRun(), fb_ColumnBreaker::_breakSection(), fb_LineBreaker::_breakTheLineAtLastRunToKeep(), fp_TableContainer::_brokenDraw(), fb_ColumnBreaker::_checkVBreakableContainer(), AP_LeftRuler::_getCellMarkerRects(), FV_View::_getMouseContext(), fb_ColumnBreaker::_getNext(), FV_View::_getNextLineInDoc(), fl_BlockLayout::_removeAllEmptyLines(), fp_TableContainer::_size_allocate_init(), fp_TableContainer::_size_allocate_pass2(), fp_TableContainer::_size_request_init(), fp_TableContainer::_size_request_pass1(), fp_TableContainer::_size_request_pass3(), fl_BlockLayout::_truncateLayout(), fl_HdrFtrSectionLayout::addValidPages(), fp_TOCContainer::adjustBrokenTOCs(), fp_TableContainer::breakCellsAt(), fp_Page::breakPage(), fb_LineBreaker::breakParagraph(), fp_VerticalContainer::bumpContainers(), fp_Line::calcBorderThickness(), fp_Line::calcRightBorderThick(), fp_FieldTOCNumRun::calculateValue(), fp_TableContainer::clearScreen(), fp_CellContainer::clearScreen(), fl_BlockLayout::clearScreen(), FV_View::cmdInsertRow(), fl_BlockLayout::coalesceRuns(), fl_TOCLayout::collapse(), fl_CellLayout::collapse(), fl_DocSectionLayout::collapse(), fl_FrameLayout::collapse(), fl_EndnoteLayout::collapse(), fl_AnnotationLayout::collapse(), fl_FootnoteLayout::collapse(), fp_TableContainer::containsAnnotations(), fp_CellContainer::containsAnnotations(), fp_TableContainer::containsFootnoteReference(), fp_CellContainer::containsFootnoteReference(), FV_View::convertPositionedToInLine(), FV_View::countWords(), fp_TOCContainer::deleteBrokenAfter(), fp_TableContainer::deleteBrokenAfter(), fp_CellContainer::deleteBrokenAfter(), fp_TableContainer::deleteBrokenTables(), fp_TOCContainer::deleteBrokenTOCs(), fl_DocSectionLayout::deleteEmptyColumns(), fl_BlockLayout::doclistener_changeStrux(), fl_TableLayout::doSimpleChange(), fp_TableContainer::draw(), fp_CellContainer::draw(), fp_TableContainer::drawLines(), fp_CellContainer::drawLines(), fp_CellContainer::drawLinesAdjacent(), fp_CellContainer::drawSelectedCell(), fl_BlockLayout::findLineInBlock(), fl_BlockLayout::findLineWithFootnotePID(), fl_BlockLayout::findNextLineInDocument(), fl_BlockLayout::format(), fl_BlockLayout::formatWrappedFromHere(), fp_Line::fp_Line(), fp_Line::genOverlapRects(), fp_TableContainer::getAnnotationContainers(), fp_CellContainer::getAnnotationContainers(), fp_TOCContainer::getBrokenNumber(), fp_TableContainer::getBrokenNumber(), fp_CellContainer::getBrokenTable(), fp_Column::getColumnIndex(), fp_Page::getFilledHeight(), fp_TableContainer::getFirstLineInColumn(), fp_TableContainer::getFootnoteContainers(), fp_CellContainer::getFootnoteContainers(), fl_BlockLayout::getHeightOfBlock(), FV_VisualDragText::getImageFromSelection(), fp_Line::getLastInContainer(), fp_TableContainer::getLastLineInColumn(), fp_TableContainer::getMarginAfter(), fp_Line::getMarginAfter(), fl_DocSectionLayout::getNewContainer(), fp_TOCContainer::getNextContainerInSection(), fp_TableContainer::getNextContainerInSection(), fp_Line::getNextContainerInSection(), fp_EndnoteContainer::getNextContainerInSection(), fp_Page::getNthColumn(), fp_TableContainer::getPrevContainerInSection(), fp_Line::getPrevContainerInSection(), fp_CellContainer::getSpannedHeight(), fl_BlockLayout::getXYOffsetToLine(), fp_VerticalContainer::getYoffsetFromTable(), FV_View::gotoTarget(), FL_DocLayout::insertEndnoteContainer(), fl_TableLayout::insertTableContainer(), fl_ContainerLayout::isOnScreen(), fp_VerticalContainer::mapXYToPosition(), fl_BlockLayout::markAllRunsDirty(), fl_BlockLayout::redrawUpdate(), fp_Line::remove(), FL_DocLayout::removeEndnoteContainer(), fl_BlockLayout::setFramesOnPage(), fp_CellContainer::setHeight(), fl_BlockLayout::setLineHeightBlockWithBorders(), fp_TableContainer::setToAllocation(), fp_Page::updatePageForWrapping(), fp_CellContainer::wantCellVBreakAt(), fp_TableContainer::wantVBreakAtNoFootnotes(), fl_AnnotationLayout::~fl_AnnotationLayout(), fl_CellLayout::~fl_CellLayout(), fl_DocSectionLayout::~fl_DocSectionLayout(), fl_EndnoteLayout::~fl_EndnoteLayout(), fl_FootnoteLayout::~fl_FootnoteLayout(), fl_FrameLayout::~fl_FrameLayout(), and fl_TOCLayout::~fl_TOCLayout().

fp_ContainerObject * fp_Container::getNthCon ( UT_sint32  i  )  const

References countCons(), UT_GenericVector< T >::getNthItem(), and m_vecContainers.

Referenced by fp_TableContainer::_size_allocate_init(), fp_TableContainer::_size_allocate_pass2(), fp_TableContainer::_size_request_init(), fp_TableContainer::_size_request_pass1(), fp_TableContainer::_size_request_pass3(), fp_TableContainer::breakCellsAt(), fp_VerticalContainer::bumpContainers(), fp_Line::canDrawTopBorder(), clearBrokenContainers(), fp_TOCContainer::clearScreen(), fp_TableContainer::clearScreen(), fp_CellContainer::clearScreen(), fp_FrameContainer::clearScreen(), fp_EndnoteContainer::clearScreen(), fp_AnnotationContainer::clearScreen(), fp_FootnoteContainer::clearScreen(), fp_ShadowContainer::clearScreen(), fp_VerticalContainer::clearScreen(), fp_Column::collapseEndnotes(), fp_VerticalContainer::countWrapped(), fp_CellContainer::deleteBrokenAfter(), deleteNthCon(), fp_TOCContainer::draw(), fp_TableContainer::draw(), fp_CellContainer::draw(), fp_FrameContainer::draw(), fp_EndnoteContainer::draw(), fp_AnnotationContainer::draw(), fp_FootnoteContainer::draw(), fp_ShadowContainer::draw(), fp_VerticalContainer::draw(), fp_CellContainer::drawBroken(), fp_TableContainer::drawLines(), fp_CellContainer::drawSelectedCell(), fp_TOCContainer::forceClearScreen(), fp_Page::getAllLayouts(), fp_FrameContainer::getBlocksAroundFrame(), fp_TableContainer::getCellAtRowColumn(), fp_TableContainer::getCellAtRowColumnLinear(), fp_Page::getContainingTable(), fp_TableContainer::getFirstBrokenCell(), fp_VerticalContainer::getFirstContainer(), fp_CellContainer::getFirstContainerInBrokenTable(), fp_Page::getFirstLastPos(), fp_TableContainer::getFirstLineInColumn(), fp_VerticalContainer::getLastContainer(), fp_TableContainer::getLastLineInColumn(), fp_VerticalContainer::getScreenOffsets(), fp_VerticalContainer::getScreenRect(), justRemoveNthCon(), fp_TOCContainer::layout(), fp_CellContainer::layout(), fp_FrameContainer::layout(), fp_EndnoteContainer::layout(), fp_AnnotationContainer::layout(), fp_FootnoteContainer::layout(), fp_HdrFtrContainer::layout(), fp_ShadowContainer::layout(), fp_Column::layout(), fp_VerticalContainer::mapXYToPosition(), fp_VerticalContainer::markDirtyOverlappingRuns(), fp_TableContainer::setToAllocation(), fp_CellContainer::setWidth(), fp_CellContainer::sizeRequest(), fp_TableContainer::tableAttach(), fp_Page::updatePageForWrapping(), fp_VerticalContainer::validate(), fp_CellContainer::VBreakAt(), fp_CellContainer::wantCellVBreakAt(), and fp_TOCContainer::wantVBreakAt().

fp_Page * fp_Container::getPage ( void   )  const

Get the page containing this container.

Reimplemented in fp_Column, fp_ShadowContainer, fp_FootnoteContainer, fp_AnnotationContainer, fp_EndnoteContainer, fp_FrameContainer, fp_Line, and fp_TableContainer.

References getColumn(), fp_ContainerObject::getContainerType(), UT_ASSERT, and UT_SHOULD_NOT_HAPPEN.

Referenced by fb_ColumnBreaker::_breakSection(), fp_CellContainer::_clear(), fl_TOCLayout::_createAndFillTOCEntry(), fl_AnnotationLayout::_createAnnotationContainer(), fl_FootnoteLayout::_createFootnoteContainer(), fl_BlockLayout::_delete(), fp_CellContainer::_drawBoundaries(), fp_VerticalContainer::_drawBoundaries(), FV_View::_drawOrClearBetweenPositions(), fp_CellContainer::_getBrokenRect(), FV_View::_getDocPosFromPoint(), fl_AnnotationLayout::_insertAnnotationContainer(), fl_FootnoteLayout::_insertFootnoteContainer(), fp_MathRun::_lookupProperties(), fp_EmbedRun::_lookupProperties(), AP_Dialog_FormatFrame::applyChanges(), fp_FieldPageCountRun::calculateValue(), fp_FieldPageReferenceRun::calculateValue(), fp_FieldPageNumberRun::calculateValue(), fp_TOCContainer::clearScreen(), fp_CellContainer::clearScreen(), fp_VerticalContainer::clearScreen(), Defun1(), fl_TOCLayout::doclistener_changeStrux(), fl_BlockLayout::doclistener_changeStrux(), fl_TOCLayout::doclistener_deleteStrux(), fl_BlockLayout::doclistener_deleteStrux(), fl_BlockLayout::doclistener_insertSpan(), fp_TOCContainer::draw(), fp_CellContainer::draw(), fp_CellContainer::drawBroken(), fp_CellContainer::drawLines(), fp_CellContainer::drawSelectedCell(), fp_TOCContainer::forceClearScreen(), fl_CellLayout::format(), fl_TableLayout::format(), fl_EndnoteLayout::format(), fl_BlockLayout::format(), fp_VerticalContainer::getColumnGap(), FV_View::getCurrentPageNumber(), FL_DocLayout::getFootnoteVal(), FV_FrameEdit::getFrameStrings(), fl_BlockLayout::getLeftRightForWrapping(), fl_HdrFtrSectionLayout::getNewContainer(), fp_VerticalContainer::getOffsets(), fp_TableContainer::getPage(), fp_Line::getPage(), fp_EndnoteContainer::getPage(), fp_VerticalContainer::getScreenOffsets(), fp_CellContainer::getScreenPositions(), fp_VerticalContainer::getScreenRect(), FV_View::getTopRulerInfo(), fp_VerticalContainer::getView(), fl_TableLayout::insertTableContainer(), fl_DocSectionLayout::isFirstPageValid(), isOnScreen(), fl_ContainerLayout::isOnScreen(), fp_VerticalContainer::mapXYToPosition(), and fp_Page::updatePageForWrapping().

void fp_Container::incBrokenCount ( void   )  [inline]

Referenced by setMyBrokenContainer().

bool fp_Container::isEmpty ( void   )  const
void fp_Container::justRemoveNthCon ( UT_sint32  i  ) 
virtual void fp_Container::recalcMaxWidth ( bool  bDontClearIfNeeded = false  )  [pure virtual]
void fp_Container::setMyBrokenContainer ( fp_Container pMyBroken  ) 

Sets the pointer to the broken table which contains this container.

References getContainer(), incBrokenCount(), and m_pMyBrokenContainer.


Member Data Documentation

Reimplemented in fp_Line.

Referenced by getContainer(), and setContainer().


The documentation for this class was generated from the following files: