InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ITableLayout::Row Class Referenceabstract

#include <ITableLayout.h>

Public Types

enum  Damage { rdt_none = 0, rdt_inval = 1, rdt_geometry_noinval = 2, rdt_geometry = 3 }
 

Public Member Functions

virtual bool16 operator== (const Row &other) const =0
 
virtual bool16 operator!= (const Row &other) const =0
 
virtual GridCoord GetModelRowNum () const =0
 Returns the underlying Model Row this Layout Row maps to and an indication in regards to whether it is the first and/or last Layout Row for the Model Row. Do not assume that all Parcels on this Row are also part of this Model Row.
 
virtual bool16 GetIsBodyRow () const =0
 
virtual bool16 GetIsFirstForRow () const =0
 
virtual bool16 GetIsLastForRow () const =0
 
virtual UID GetTableFrameUID () const =0
 
virtual Damage GetDamage () const =0
 
virtual bool16 GetIsKeepsDamaged () const =0
 
virtual PMPoint GetPathXYOffset () const =0
 
virtual PMReal GetPathHeight () const =0
 
virtual PMRect GetInkBounds () const =0
 
virtual int32 GetParcelCount () const =0
 
virtual ParcelGetNthParcel (int32 n) const =0
 
virtual int32 GetParcelColIndex (GridCoord col) const =0
 
virtual bool16 GetAreAnyParcelsDamaged () const =0
 
virtual uint32 GetEffectiveSubHeaderLevel () const =0
 

Detailed Description

Layout Rows represent the composed state of Model rows. There is one or more for each Model row. Each Row is mapped to one and only one Frame regardless of the damage state. However, when damaged the the location of the Row relative to the containing Frame becomes unknown.

Each Row contains information for each Parcels that is owned by a TableCell which is anchored (or vertically merged through) the ModelRow. The implementation will take responsibility for ensuring that only those Parcels that map to column containing anchored Cells appear in the Row.

Member Enumeration Documentation

Enumerator
rdt_none 

no damage

rdt_inval 

the row needs to compute new ink bounds.

rdt_geometry_noinval 

The YPosition of the Row is in doubt. The not Row has NOT been inval()ed.

rdt_geometry 

The YPosition of the Row is in doubt. The row was inval()ed.

Member Function Documentation

virtual bool16 ITableLayout::Row::GetAreAnyParcelsDamaged () const
pure virtual

Returns kTrue if any Parcels on this Row are damaged in any way.

virtual Damage ITableLayout::Row::GetDamage () const
pure virtual

Rows are damaged when the location specified by the TableFrameUID or PathXYOffset is no longer valid. This might occur when a Row above has been moved down which requires that the Row below it must be reposition. In this regard this behavior is analogous to the geometry damage of a WaxLine. Note that this damage state is independent of the damage state of the Parcels on the Row.

Returns
Damage
virtual uint32 ITableLayout::Row::GetEffectiveSubHeaderLevel () const
pure virtual

Returns the Effective SubHeadLevel (0-3) for the ModelRow, 0 equals none (which will be the value also returned for header and footer Rows).

virtual PMRect ITableLayout::Row::GetInkBounds () const
pure virtual

Ink Bounds are relative to the Row Path bounds.

virtual bool16 ITableLayout::Row::GetIsBodyRow () const
pure virtual

Return kTrue if the Row is not a Header, Footer, or SubHeader. Note that SubHeaders are really Body Rows as the Table Model sees them, but we describe the Row in terms with how the Frame sees it.

virtual bool16 ITableLayout::Row::GetIsKeepsDamaged () const
pure virtual

If this Row is a Body Row, and GetDamage() returns rdt_geometry_noinval or rdt_geometry and GetIsFirstForRow() returns kTrue then this method will return kTrue if the Row is Keeps damaged, kFalse otherwise.

virtual int32 ITableLayout::Row::GetParcelCount () const
pure virtual

At a minimum the Row contains one Parcel for each Cell which is anchored on the ModelRow that this Row is associated with. In addition, it may optionally contain Parcels for vertically merged Cells that are anchored on previous ModelRows.

virtual PMPoint ITableLayout::Row::GetPathXYOffset () const
pure virtual

The PathXYOffset places the Top Left Path corner of the Row relative to the Top Left Stroke corner of the containing Frame.

virtual UID ITableLayout::Row::GetTableFrameUID () const
pure virtual

Rows are mapped to a single Frame.

Returns
UID of the TableFrame
virtual bool16 ITableLayout::Row::operator== (const Rowother) const
pure virtual

comparison operators