fp_CellContainer Class Reference

#include <fp_TableContainer.h>

Inheritance diagram for fp_CellContainer:

fp_VerticalContainer fp_Container fp_ContainerObject

List of all members.

Public Member Functions

 fp_CellContainer (fl_SectionLayout *pSectionLayout)
virtual ~fp_CellContainer ()
void sizeRequest (fp_Requisition *pRequest)
void sizeAllocate (fp_Allocation *pAllocate)
void layout (void)
fp_ContainerdrawSelectedCell (fp_Line *pLine)
bool isSelected (void) const
void clearSelection (void)
bool doesOverlapBrokenTable (fp_TableContainer *pBroke)
void drawBroken (dg_DrawArgs *pDa, fp_TableContainer *pTab)
virtual void clearScreen (void)
void clearScreen (bool bNoRecursive)
void 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)
void drawLines (fp_TableContainer *pBroke, GR_Graphics *pG)
void drawLinesAdjacent (void)
void draw (fp_Line *pLine)
fp_TableContainergetBrokenTable (fp_Container *pCon)
fp_VerticalContainergetColumn (fp_Container *pCon)
UT_sint32 tweakBrokenTable (fp_TableContainer *pBroke)
virtual void draw (dg_DrawArgs *)
virtual void draw (GR_Graphics *)
virtual void setContainer (fp_Container *pContainer)
virtual void setWidth (UT_sint32 iWidth)
virtual void setHeight (UT_sint32 iHeight)
void _drawBoundaries (dg_DrawArgs *pDA, fp_TableContainer *pBroke)
virtual bool isVBreakable (void)
virtual bool isHBreakable (void)
virtual UT_sint32 wantVBreakAt (UT_sint32)
virtual UT_sint32 wantHBreakAt (UT_sint32)
virtual fp_ContainerObjectVBreakAt (UT_sint32)
virtual fp_ContainerObjectHBreakAt (UT_sint32)
void recalcMaxWidth (bool bDontClearIfNeeded=false)
virtual void setAssignedScreenHeight (UT_sint32)
virtual fp_ContainergetNextContainerInSection (void) const
virtual fp_ContainergetPrevContainerInSection (void) const
fp_TableContainergetTopmostTable (void) const
UT_sint32 getCellX (fp_Line *pLine) const
UT_sint32 getCellY (fp_Line *pLine) const
UT_sint32 getSpannedHeight (void)
void setLineMarkers (void)
void deleteBrokenTables (bool bClearFirst=true)
bool containsFootnoteReference (void)
bool getFootnoteContainers (UT_GenericVector< fp_FootnoteContainer * > *pvecFoots)
bool containsAnnotations (void)
bool getAnnotationContainers (UT_GenericVector< fp_AnnotationContainer * > *pvecAnns)
void getLeftTopOffsets (UT_sint32 &xoff, UT_sint32 &yoff)
UT_sint32 getLeftAttach (void) const
UT_sint32 getRightAttach (void) const
UT_sint32 getTopAttach (void) const
UT_sint32 getBottomAttach (void) const
void setLeftAttach (UT_sint32 i)
void setRightAttach (UT_sint32 i)
void setTopAttach (UT_sint32 i)
void setBottomAttach (UT_sint32 i)
void setToAllocation (void)
UT_sint32 getLeftPad (void) const
UT_sint32 getRightPad (void) const
UT_sint32 getTopPad (void) const
UT_sint32 getBotPad (void) const
void setLeftPad (UT_sint32 i)
void setRightPad (UT_sint32 i)
void setTopPad (UT_sint32 i)
void setBotPad (UT_sint32 i)
PP_PropertyMap::Background getBackground () const
void setBackground (const PP_PropertyMap::Background &style)
PP_PropertyMap::Line getBottomStyle (const fl_TableLayout *table) const
PP_PropertyMap::Line getLeftStyle (const fl_TableLayout *table) const
PP_PropertyMap::Line getRightStyle (const fl_TableLayout *table) const
PP_PropertyMap::Line getTopStyle (const fl_TableLayout *table) const
void setBottomStyle (const PP_PropertyMap::Line &style)
void setLeftStyle (const PP_PropertyMap::Line &style)
void setRightStyle (const PP_PropertyMap::Line &style)
void setTopStyle (const PP_PropertyMap::Line &style)
bool getXexpand (void) const
bool getYexpand (void) const
bool getXshrink (void) const
bool getYshrink (void) const
void setXexpand (bool b)
void setYexpand (bool b)
void setXshrink (bool b)
void setYshrink (bool b)
bool getXfill (void) const
bool getYfill (void) const
void setXfill (bool b)
void setYfill (bool b)
UT_sint32 getStartY (void) const
UT_sint32 getStopY (void) const
UT_sint32 getLeftPos (void) const
UT_sint32 getRightPos (void) const
void markAsDirty (void)
bool isDirty (void) const
bool doesIntersectClip (fp_TableContainer *pBroke, const UT_Rect *rClip)
bool isInNestedTable (void)
bool containsNestedTables (void)
bool isRepeated (void) const

Private Member Functions

void _clear (fp_TableContainer *pBroke)
void _drawLine (const PP_PropertyMap::Line &style, UT_sint32 left, UT_sint32 top, UT_sint32 right, UT_sint32 bot, GR_Graphics *pG)
void _getBrokenRect (fp_TableContainer *pBroke, fp_Page *&pPage, UT_Rect &bRec, GR_Graphics *pG)

Private Attributes

UT_sint32 m_iLeftAttach
UT_sint32 m_iRightAttach
UT_sint32 m_iTopAttach
UT_sint32 m_iBottomAttach
UT_RGBColor m_borderColorNone
UT_sint32 m_iLeftPad
UT_sint32 m_iRightPad
UT_sint32 m_iTopPad
UT_sint32 m_iBotPad
fp_CellContainerm_pNextInTable
fp_CellContainerm_pPrevInTable
bool m_bXexpand
bool m_bYexpand
bool m_bXshrink
bool m_bYshrink
bool m_bXfill
bool m_bYfill
fp_Allocation m_MyAllocation
fp_Requisition m_MyRequest
UT_sint32 m_iLeft
UT_sint32 m_iRight
UT_sint32 m_iTopY
UT_sint32 m_iBotY
bool m_bDrawLeft
bool m_bDrawTop
bool m_bDrawBot
bool m_bDrawRight
bool m_bLinesDrawn
bool m_bBgDirty
PP_PropertyMap::Background m_background
PP_PropertyMap::Line m_lineBottom
PP_PropertyMap::Line m_lineLeft
PP_PropertyMap::Line m_lineRight
PP_PropertyMap::Line m_lineTop
bool m_bIsSelected
bool m_bDirty
bool m_bIsRepeated


Constructor & Destructor Documentation

fp_CellContainer::fp_CellContainer ( fl_SectionLayout pSectionLayout  ) 

Create Cell container

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

fp_CellContainer::~fp_CellContainer (  )  [virtual]

Destruct container

Note:
The Containers in vector of the container are not destructed. They are owned by the logical hierarchy (i.e., the fl_Container classes like fl_BlockLayout), not the physical hierarchy.

References fp_Container::setNext(), fp_Container::setPrev(), and xxx_UT_DEBUGMSG.


Member Function Documentation

void fp_CellContainer::sizeRequest ( fp_Requisition pRequest  ) 

void fp_CellContainer::sizeAllocate ( fp_Allocation pAllocate  ) 

void fp_CellContainer::layout ( void   ) 

fp_Container * fp_CellContainer::drawSelectedCell ( fp_Line pLine  ) 

bool fp_CellContainer::isSelected ( void   )  const [inline]

void fp_CellContainer::clearSelection ( void   )  [inline]

bool fp_CellContainer::doesOverlapBrokenTable ( fp_TableContainer pBroke  ) 

void fp_CellContainer::drawBroken ( dg_DrawArgs pDA,
fp_TableContainer pBroke 
)

Draw container content visible within the supplied broken table

Parameters:
pDA Draw arguments
pBroke broken table that cell is part of

References _drawBoundaries(), _getBrokenRect(), fp_VerticalContainer::_getMaxContainerHeight(), dg_DrawArgs::bDirtyRunsOnly, fl_SectionLayout::clearNeedsRedraw(), containsNestedTables(), 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(), FP_CONTAINER_TABLE, 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_ContainerObject::getHeight(), fp_VerticalContainer::getHeight(), getLeftAttach(), getLeftTopOffsets(), fp_TableContainer::getMasterTable(), fp_Container::getMyBrokenContainer(), fp_Container::getNthCon(), fp_Container::getPage(), getRightAttach(), fp_ContainerObject::getSectionLayout(), getTopAttach(), FL_DocLayout::getView(), fp_VerticalContainer::getWidth(), fp_ContainerObject::getX(), fp_VerticalContainer::getX(), fp_ContainerObject::getY(), fp_VerticalContainer::getY(), fp_TableContainer::getYBreak(), UT_Rect::height, fp_TableContainer::isInBrokenTable(), isInNestedTable(), 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_Container::setMyBrokenContainer(), 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().

void fp_CellContainer::clearScreen ( void   )  [virtual]

void fp_CellContainer::clearScreen ( bool  bNoRecursive  ) 

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 
)

void fp_CellContainer::drawLines ( fp_TableContainer pBroke,
GR_Graphics pG 
)

void fp_CellContainer::drawLinesAdjacent ( void   ) 

void fp_CellContainer::draw ( fp_Line pLine  ) 

fp_TableContainer * fp_CellContainer::getBrokenTable ( fp_Container pCon  ) 

fp_VerticalContainer * fp_CellContainer::getColumn ( fp_Container pCon  ) 

UT_sint32 fp_CellContainer::tweakBrokenTable ( fp_TableContainer pBroke  ) 

void fp_CellContainer::draw ( dg_DrawArgs pDA  )  [virtual]

virtual void fp_CellContainer::draw ( GR_Graphics  )  [inline, virtual]

Reimplemented from fp_VerticalContainer.

void fp_CellContainer::setContainer ( fp_Container pContainer  )  [virtual]

void fp_CellContainer::setWidth ( UT_sint32  iWidth  )  [virtual]

void fp_CellContainer::setHeight ( UT_sint32  iHeight  )  [virtual]

void fp_CellContainer::_drawBoundaries ( dg_DrawArgs pDA,
fp_TableContainer pBroke 
)

bool fp_CellContainer::isVBreakable ( void   )  [virtual]

Returns true since cells can be broken vertically.

Reimplemented from fp_VerticalContainer.

virtual bool fp_CellContainer::isHBreakable ( void   )  [inline, virtual]

Reimplemented from fp_VerticalContainer.

UT_sint32 fp_CellContainer::wantVBreakAt ( UT_sint32  vpos  )  [virtual]

virtual UT_sint32 fp_CellContainer::wantHBreakAt ( UT_sint32   )  [inline, virtual]

Reimplemented from fp_VerticalContainer.

fp_ContainerObject * fp_CellContainer::VBreakAt ( UT_sint32  vpos  )  [virtual]

virtual fp_ContainerObject* fp_CellContainer::HBreakAt ( UT_sint32   )  [inline, virtual]

Reimplemented from fp_VerticalContainer.

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.

fp_Container * fp_CellContainer::getNextContainerInSection ( void   )  const [virtual]

fp_Container * fp_CellContainer::getPrevContainerInSection ( void