Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends

fl_CellLayout Class Reference

#include <fl_TableLayout.h>

Inheritance diagram for fl_CellLayout:
fl_SectionLayout fl_ContainerLayout fl_Layout

List of all members.

Public Member Functions

 fl_CellLayout (FL_DocLayout *pLayout, pf_Frag_Strux *sdh, PT_AttrPropIndex ap, fl_ContainerLayout *pMyContainerLayout)
virtual ~fl_CellLayout ()
bool isCellSelected (void)
void checkAndAdjustCellSize (void)
virtual bool doclistener_changeStrux (const PX_ChangeRecord_StruxChange *pcrxc)
virtual bool doclistener_deleteStrux (const PX_ChangeRecord_Strux *pcrx)
virtual bool bl_doclistener_insertCell (fl_ContainerLayout *pCell, const PX_ChangeRecord_Strux *pcrx, pf_Frag_Strux *sdh, PL_ListenerId lid, void(*pfnBindHandles)(pf_Frag_Strux *sdhNew, PL_ListenerId lid, fl_ContainerLayout *sfhNew))
virtual bool bl_doclistener_insertEndCell (fl_ContainerLayout *, const PX_ChangeRecord_Strux *pcrx, pf_Frag_Strux *sdh, PL_ListenerId lid, void(*pfnBindHandles)(pf_Frag_Strux *sdhNew, PL_ListenerId lid, fl_ContainerLayout *sfhNew))
void setCellContainerProperties (fp_CellContainer *pCell)
void createCellContainer (void)
virtual void format (void)
virtual void updateLayout (bool bDoFull)
virtual void collapse (void)
bool isLayedOut (void) const
bool isDoingFormat (void) const
virtual bool needsReformat (void) const
virtual void markAllRunsDirty (void)
virtual fl_SectionLayoutgetSectionLayout (void) const
bool recalculateFields (UT_uint32 iUpdateCount)
virtual void redrawUpdate (void)
virtual fp_ContainergetNewContainer (fp_Container *pFirstContainer=NULL)
UT_uint32 getLength (void)
UT_sint32 getLeftOffset (void) const
UT_sint32 getRightOffset (void) const
UT_sint32 getTopOffset (void) const
UT_sint32 getBottomOffset (void) const
UT_sint32 getNumNestedTables (void) const
void incNumNestedTables (void)
void decNumNestedTables (void)
UT_sint32 getLeftAttach (void) const
UT_sint32 getRightAttach (void) const
UT_sint32 getTopAttach (void) const
UT_sint32 getBottomAttach (void) const
UT_sint32 getCellHeight (void) const
UT_sint32 getCellWidth (void) const

Protected Member Functions

virtual void _lookupProperties (const PP_AttrProp *pAP)
virtual void _purgeLayout (void)

Private Member Functions

void _updateCell (void)
void _localCollapse ()

Private Attributes

bool m_bNeedsRebuild
UT_sint32 m_iLeftOffset
double m_dLeftOffsetUserUnits
UT_sint32 m_iRightOffset
double m_dRightOffsetUserUnits
UT_sint32 m_iTopOffset
double m_dTopOffsetUserUnits
UT_sint32 m_iBottomOffset
double m_dBottomOffsetUserUnits
UT_sint32 m_iLeftAttach
UT_sint32 m_iRightAttach
UT_sint32 m_iTopAttach
UT_sint32 m_iBottomAttach
bool m_bCellPositionedOnPage
UT_sint32 m_iCellHeight
UT_sint32 m_iCellWidth
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
UT_sint32 m_iNumNestedTables
bool m_bDoingFormat
UT_sint32 m_iVertAlign


class fl_DocListener
class fp_TableContainer
class fp_CellContainer

Constructor & Destructor Documentation

fl_CellLayout::fl_CellLayout ( FL_DocLayout pLayout,
pf_Frag_Strux sdh,
PT_AttrPropIndex  ap,
fl_ContainerLayout pMyContainerLayout 

References createCellContainer().

Member Function Documentation

void fl_CellLayout::_purgeLayout ( void   )  [protected, virtual]

This method removes all layout structures contained by this layout structure.

Reimplemented from fl_SectionLayout.

References fl_ContainerLayout::getFirstLayout(), and fl_ContainerLayout::getNext().

Referenced by ~fl_CellLayout().

void fl_CellLayout::checkAndAdjustCellSize ( void   ) 

This method measures the cell height and compares it to the previously measured height. If they disagree update the layout of the table.

Reimplemented from fl_SectionLayout.

References fl_ContainerLayout::format(), fl_ContainerLayout::getFirstContainer(), _fp_Requisition::height, m_iCellHeight, m_iCellWidth, fl_ContainerLayout::myContainingLayout(), fp_CellContainer::setHeight(), fp_CellContainer::sizeRequest(), _fp_Requisition::width, and xxx_UT_DEBUGMSG.

Referenced by fl_SectionLayout::checkAndAdjustCellSize(), and format().

void fl_CellLayout::decNumNestedTables ( void   ) 
UT_sint32 fl_CellLayout::getBottomAttach ( void   )  const [inline]
UT_sint32 fl_CellLayout::getBottomOffset ( void   )  const

References m_iBottomOffset.

UT_sint32 fl_CellLayout::getCellHeight ( void   )  const [inline]
UT_sint32 fl_CellLayout::getCellWidth ( void   )  const [inline]
UT_sint32 fl_CellLayout::getLeftOffset ( void   )  const

References m_iLeftOffset.

UT_uint32 fl_CellLayout::getLength ( void   ) 

Return the total length of the cell including nested tables. This length includes the cell and endcell struxs so if you add it to the position of the cell strux you will get the first position past the endcell strux

References PD_Document::getBounds(), PD_Document::getEndCellStruxFromCellSDH(), fl_Layout::getStruxDocHandle(), PD_Document::getStruxPosition(), and fl_Layout::m_pDoc.

Referenced by FV_VisualDragText::getImageFromSelection().

fp_Container * fl_CellLayout::getNewContainer ( fp_Container pPrev = NULL  )  [virtual]

Create a new Cell containers and plug it into the linked list of Cell containers.

If pPrevCell is non-null place the new cell after this in the linked list, otherwise just append it to the end.
The newly created Cell container

Implements fl_SectionLayout.

References createCellContainer(), fl_ContainerLayout::getFirstContainer(), fl_ContainerLayout::getLastContainer(), setCellContainerProperties(), UT_ASSERT, and UT_UNUSED.

Referenced by format().

UT_sint32 fl_CellLayout::getNumNestedTables ( void   )  const
UT_sint32 fl_CellLayout::getRightAttach ( void   )  const [inline]
UT_sint32 fl_CellLayout::getRightOffset ( void   )  const

References m_iRightOffset.

fl_SectionLayout * fl_CellLayout::getSectionLayout ( void   )  const [virtual]
UT_sint32 fl_CellLayout::getTopOffset ( void   )  const

References m_iTopOffset.

void fl_CellLayout::incNumNestedTables ( void   ) 
bool fl_CellLayout::isDoingFormat ( void   )  const

References m_bDoingFormat.

Referenced by fl_BlockLayout::format().

void fl_CellLayout::markAllRunsDirty ( void   )  [virtual]
bool fl_CellLayout::needsReformat ( void   )  const [virtual]
bool fl_CellLayout::recalculateFields ( UT_uint32  iUpdateCount  )  [virtual]

Friends And Related Function Documentation

friend class fl_DocListener [friend]

Reimplemented from fl_SectionLayout.

friend class fp_CellContainer [friend]

Referenced by createCellContainer().

friend class fp_TableContainer [friend]

Member Data Documentation

Referenced by format(), and isDoingFormat().

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