InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ITableLayout Class Referenceabstract
Inheritance diagram for ITableLayout:
IPMUnknown

Classes

class  Frame
 
class  frame_iterator
 
class  frame_iterator_helper
 Implementation must supply a helper to assist the common iterator code above. Note that this method returns a class from the heap that must be deleted by the caller. More...
 
class  Parcel
 
class  Row
 
class  row_iterator
 
class  row_iterator_helper
 Implementation must supply a helper to assist the common iterator code above. Note that this method returns a class from the heap that must be deleted by the caller. More...
 

Public Types

enum  { kDefaultIID = IID_ITABLELAYOUT }
 
typedef row_iterator const_row_iterator
 
typedef frame_iterator const_frame_iterator
 

Public Member Functions

virtual row_iterator begin_row_iterator (GridCoord row, bool16 skipSubHeaders=kTrue) const =0
 These iterators iterate over Rows in Model Row order. More...
 
virtual row_iterator begin_row_iterator (const row_iterator &iter) const =0
 
virtual row_iterator end_row_iterator (GridCoord row, bool16 skipSubHeaders=kTrue) const =0
 
virtual row_iterator begin_row_iterator (UID tableFrameUID) const =0
 
virtual row_iterator begin_row_iterator (UID tableFrameUID, GridCoord row) const =0
 
virtual row_iterator end_row_iterator (UID tableFrameUID) const =0
 
virtual row_iterator end_row_iterator (UID tableFrameUID, GridCoord row) const =0
 
virtual frame_iterator begin_frame_iterator () const =0
 
virtual frame_iterator begin_frame_iterator (UID tableFrameUID) const =0
 
virtual frame_iterator end_frame_iterator () const =0
 
virtual frame_iterator end_frame_iterator (UID tableFrameUID) const =0
 
virtual void RecomposeThruModelRow (const GridCoord modelRow)=0
 Recompose all Rows upto and including all the layout rows for the the specified mode row. If the row specified is a Header or Footer row then all Frames will be composed.
 
virtual PMReal GetRowHeight (GridCoord modelRow) const =0
 
virtual GridCoord GetRowVMergeStart (GridCoord modelRow) const =0
 
virtual GridCoord GetRowVMergeLast (GridCoord modelRow) const =0
 
virtual GridCoord GetRowKeepsStart (GridCoord modelRow) const =0
 
virtual GridCoord GetRowKeepsLast (GridCoord modelRow) const =0
 
virtual ParcelKey GetCellParcelKey (const GridAddress &ga, UID tableFrameUID) const =0
 
virtual PMRect GetCellParcelOuterStrokeBounds (const GridAddress &ga, ParcelKey key) const =0
 
virtual PMRect GetCellParcelPathBounds (const GridAddress &ga, ParcelKey key) const =0
 
virtual PMRect GetCellParcelInnerStrokeBounds (const GridAddress &ga, ParcelKey key) const =0
 
virtual UID GetParcelFrameUID (GridAddress ga, ParcelKey key) const =0
 
virtual PMMatrix GetParcelToFrameMatrix (GridAddress ga, ParcelKey key) const =0
 
virtual UID GetParcelTextFrameUID (GridAddress ga, ParcelKey key) const =0
 These methods are provided as hooks for the Cells to get the information they need to place themselves relative to the containing TextFrame and to notify the implementation that their content has become damaged. More...
 
virtual PMMatrix GetParcelToTextFrameMatrix (GridAddress ga, ParcelKey key) const =0
 
virtual bool16 GetParcelAcceptingInvals (GridAddress ga, ParcelKey key) const =0
 
virtual void AddParcelPendingInval (GridAddress ga, ParcelKey key, const PMRect &invalRect)=0
 
virtual void NotifyParcelContentDamageChanged (GridAddress ga, ParcelKey key, bool16 isDamaged)=0
 
virtual void NotifyParcelPositionDependentContentSet (GridAddress ga, ParcelKey key)=0
 
virtual void NotifyParcelInkBoundsChanged (GridAddress ga, ParcelKey key)=0
 
virtual void PreNotifyCellTypeChanged (const GridArea &cells)=0
 
virtual void NotifyCellTypeChanged (const GridArea &cells)=0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Member Function Documentation

virtual void ITableLayout::AddParcelPendingInval (GridAddress ga,
ParcelKey key,
const PMRectinvalRect 
)
pure virtual

The Parcel-relative inval rect is forwarded to the containing Parcel and will eventually end up at the IPendingInvals interface of the TextFrame the Parcel is mapped to.

virtual row_iterator ITableLayout::begin_row_iterator (GridCoord row,
bool16 skipSubHeaders = kTrue 
) const
pure virtual

These iterators iterate over Rows in Model Row order.

Returns an iterator of Rows which will increment in model order.

Parameters
rowgrid coordinate of Model Row to start the iteration at. Must e within the range defined by ITableModel::GetTotalRows().
skipSubHeadersIf kTrue, only the first Row will be returned for those which have an non-zero effective subheader level.
virtual row_iterator ITableLayout::begin_row_iterator (const row_iteratoriter) const
pure virtual

Returns an copy of the specified iterator.

virtual row_iterator ITableLayout::begin_row_iterator (UID tableFrameUID) const
pure virtual

These iterators iterate over Rows mapped to the specified Frame.

virtual row_iterator ITableLayout::end_row_iterator (GridCoord row,
bool16 skipSubHeaders = kTrue 
) const
pure virtual

Returns an iterator of Rows which will increment in model order.

Parameters
rowgrid coordinate of Model Row to start the iteration at. Must e within the range defined by ITableModel::GetTotalRows().
skipSubHeadersIf kTrue, only the first Row will be returned for those which have an non-zero effective subheader level.
virtual PMRect ITableLayout::GetCellParcelOuterStrokeBounds (const GridAddressga,
ParcelKey key 
) const
pure virtual

Returns geometry in Parcel coordinates which has the left top corner of the Parcel Bounds set at (0,0). The Frame, Row and Parcel must not be damaged. To convert from Parcel coordinates to Frame coordinates use the GetParcelToFrameMatrix() method below.

virtual bool16 ITableLayout::GetParcelAcceptingInvals (GridAddress ga,
ParcelKey key 
) const
pure virtual

Returns kTrue if the content of the may generate view invalidations for the TextFrame.

virtual UID ITableLayout::GetParcelFrameUID (GridAddress ga,
ParcelKey key 
) const
pure virtual

Returns the UID of the ITableLayout::Frame that the Parcel is mapped to.

Parameters
ga
key
virtual UID ITableLayout::GetParcelTextFrameUID (GridAddress ga,
ParcelKey key 
) const
pure virtual

These methods are provided as hooks for the Cells to get the information they need to place themselves relative to the containing TextFrame and to notify the implementation that their content has become damaged.

Returns the UID of the TextFrame the Parcel is mapped to. If the Row is damaged, returns kInvalidUID.

virtual PMMatrix ITableLayout::GetParcelToFrameMatrix (GridAddress ga,
ParcelKey key 
) const
pure virtual

Returns the PMMatrix required to map coordinates relative to the Parcel to coordinates relative to the ITableLayout::Frame the Parcel is mapped to. If the Row is damaged, returns the identity matrix.

Parameters
ga
key
virtual PMMatrix ITableLayout::GetParcelToTextFrameMatrix (GridAddress ga,
ParcelKey key 
) const
pure virtual

Returns the PMMatrix required to map coordinates relative to the Parcel to coordinates relative to the TextFrame the Parcel is mapped to. If the Row is damaged, returns the identity matrix.

Parameters
ga
key
virtual PMReal ITableLayout::GetRowHeight (GridCoord modelRow) const
pure virtual

Returns the height of the model row. If this is a Body Row then it is the sum of all the Rows mapped to the Model Row. Otherwise it is the greatest of all of the Row heights for this Model Row.

virtual GridCoord ITableLayout::GetRowVMergeStart (GridCoord modelRow) const
pure virtual

These methods provide efficient ways to determine the starting or last Row of a vertically merged "group". Due to merging in this way, these Rows must be composed in one Frame.

virtual void ITableLayout::NotifyCellTypeChanged (const GridAreacells)
pure virtual
Called after the type of cells have changed

Parameters
cells The cells whose type have changed
virtual void ITableLayout::NotifyParcelContentDamageChanged (GridAddress ga,
ParcelKey key,
bool16 isDamaged 
)
pure virtual

Hook for ICellContent implementations to notify the TableLayout implementation that their content damage state has changed.

virtual void ITableLayout::NotifyParcelInkBoundsChanged (GridAddress ga,
ParcelKey key 
)
pure virtual

Hook for ICellContent implementation to notify the TableLayout implementation that the inkBounds of the Parcel have been changed outside of composition.

virtual void ITableLayout::NotifyParcelPositionDependentContentSet (GridAddress ga,
ParcelKey key 
)
pure virtual

Hook for ICellContent implementations to notify the TableLayout implementation that their Parcel now contains position dependent content.

virtual void ITableLayout::PreNotifyCellTypeChanged (const GridAreacells)
pure virtual
Called before the type of cell is going to be modify

Parameters
cells The cells whose type is going to be modified