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

#include <ITabRulerData.h>

Inheritance diagram for ITabRulerData:
IPMUnknown

Public Types

enum  TabState {
  kOff, kOn, kMulti, kDragged,
  kSelected
}
 

Public Member Functions

virtual void SetTabStopTable (const TabStopTable &rTable)=0
 
virtual bool16 GetTabStopTable (TabStopTable *pTable) const =0
 
virtual void SelectItem (const TabRulerItem *pItem)=0
 
virtual const TabRulerItem * GetSelectedItem () const =0
 
virtual const TabRulerItem * GetSelectedTabStop () const =0
 
virtual const TabRulerItem * GetTabRulerItem (const PMPoint &rPoint) const =0
 
virtual bool16 SetNewTabStop (const TabRulerItem &rNewTabStop, bool16 bSelect=kTrue, TabStopTable *pDeleted=nil)=0
 
virtual const TabRulerItem * GetTabStopAt (PMReal nPosition) const =0
 
virtual bool16 MoveTabRulerItem (const TabRulerItem &rItem, PMReal nNewPosition, bool16 bDraw=kTrue, TabStopTable *pDeleted=0, bool16 bConstrainLeftIndent=kTrue)=0
 
virtual bool16 RemoveTabStop (const TabRulerItem &rStop)=0
 
virtual void SetDefaultTabAlignment (TabStop::TabAlignment nAlignment)=0
 
virtual TabStop::TabAlignment GetDefaultTabAlignment () const =0
 
virtual void SetDefaultTabAlignChar (textchar c)=0
 
virtual textchar GetDefaultTabAlignChar () const =0
 
virtual void SetDefaultTabLeader (PMString string)=0
 
virtual PMString GetDefaultTabLeader () const =0
 
virtual bool16 IsNewTabPosition (PMReal nPosition) const =0
 
virtual bool16 SetFirstIndent (PMReal nNewFirst, bool16 bConstrainedByLeftIndent=kTrue)=0
 
virtual PMReal GetFirstIndent () const =0
 
virtual bool16 SetLeftIndent (PMReal nNew, bool16 bConstrainLeftIndent=kTrue)=0
 
virtual PMReal GetLeftIndent () const =0
 
virtual bool16 SetRightIndent (PMReal nNew)=0
 
virtual PMReal GetRightIndent () const =0
 
virtual bool16 SetLeftMargin (PMReal nNew)=0
 
virtual PMReal GetLeftMargin () const =0
 
virtual bool16 SetRightMargin (PMReal nNew)=0
 
virtual PMReal GetRightMargin () const =0
 
virtual void SetScale (PMReal nScale)=0
 
virtual PMReal GetScale () const =0
 
virtual const PMMatrixGetTabRulerItemMatrix (PMMatrix *pMatrix) const =0
 
virtual bool16 RepeatTab ()=0
 
virtual void SetDragItem (const TabRulerItem *pItem)=0
 
virtual const TabRulerItem * GetDragItem () const =0
 
virtual void SetTabRulerItemTable (const TabRulerItemTable &rTable)=0
 
virtual const TabRulerItemTable & GetTabRulerItemTable () const =0
 
virtual const TabRulerItem * GetTabStopAfter (PMReal nPosition) const =0
 
virtual void SetParagraphDirection (ICompositionStyle::ParagraphDirection nVal)=0
 
virtual
ICompositionStyle::ParagraphDirection 
GetParagraphDirection () const =0
 
virtual void SetDiffFrames (PMReal diff)=0
 
virtual PMReal GetDiffFrames () const =0
 
virtual void SetFrameBoxWidth (PMReal width)=0
 
virtual PMReal GetFrameBoxWidth () const =0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

Interface for working with the Tab Ruler. Provides access to the TabStopTable, individual tab stops, margins and various other tab properties.

See Also
TabStopTable

Member Enumeration Documentation

the tabstate is used for displaying the tabstops. kMulti is for ambiguous selections.

Member Function Documentation

virtual textchar ITabRulerData::GetDefaultTabAlignChar () const
pure virtual
Note
this only applies if the TabAlignment is kTabAlignChar
virtual ICompositionStyle::ParagraphDirection ITabRulerData::GetParagraphDirection () const
pure virtual

for right-to-left versus left-to-right paragraphs – tab locations are relative to the primary writing direction.

virtual const TabRulerItem* ITabRulerData::GetSelectedItem () const
pure virtual

get the currently selected item (previously set by SelectItem)

virtual const TabRulerItem* ITabRulerData::GetSelectedTabStop () const
pure virtual

returns the selected item corresponding to the selected tabstop ##rk:

virtual const TabRulerItem* ITabRulerData::GetTabRulerItem (const PMPointrPoint) const
pure virtual

get the tabstop at a position

virtual const PMMatrix& ITabRulerData::GetTabRulerItemMatrix (PMMatrixpMatrix) const
pure virtual

sets and returns pMatrix, the matrix is used for hit testing and drawing of the TabRulerItem.

virtual const TabRulerItemTable& ITabRulerData::GetTabRulerItemTable () const
pure virtual

returns the TabRulerItem table.

virtual const TabRulerItem* ITabRulerData::GetTabStopAfter (PMReal nPosition) const
pure virtual
See Also
TabStop::GetTabStopAfter()
virtual const TabRulerItem* ITabRulerData::GetTabStopAt (PMReal nPosition) const
pure virtual

returns a tabstop for a position.

virtual bool16 ITabRulerData::IsNewTabPosition (PMReal nPosition) const
pure virtual

returns kTrue if you can place a new tab at that position. ##rk: as opposed to a default position? only kFalse if an existing tab is there?

virtual bool16 ITabRulerData::MoveTabRulerItem (const TabRulerItem & rItem,
PMReal nNewPosition,
bool16 bDraw = kTrue,
TabStopTablepDeleted = 0,
bool16 bConstrainLeftIndent = kTrue 
)
pure virtual

moves an item to a new position. It only redraws if bDraw. It also returns the deleted tabstop.

virtual bool16 ITabRulerData::RepeatTab ()
pure virtual

returns kFalse if no item is selected.

virtual void ITabRulerData::SelectItem (const TabRulerItem * pItem)
pure virtual

selects the nth tabstop of the TabStopTable.

virtual void ITabRulerData::SetDefaultTabAlignChar (textchar c)
pure virtual
Note
this only applies if the TabAlignment is kTabAlignChar
virtual void ITabRulerData::SetDefaultTabLeader (PMString string)
pure virtual
See Also
TabStop::SetLeader for details on leaders
virtual void ITabRulerData::SetDragItem (const TabRulerItem * pItem)
pure virtual

show the original position

virtual void ITabRulerData::SetParagraphDirection (ICompositionStyle::ParagraphDirection nVal)
pure virtual

for right-to-left versus left-to-right paragraphs – tab locations are relative to the primary writing direction.

virtual void ITabRulerData::SetScale (PMReal nScale)
pure virtual
 the scaling has to be set independently because we have to draw in pixel device and the TextRuler cannot use a IPanorama

See Also
TextRulerObserver.cpp .
virtual void ITabRulerData::SetTabRulerItemTable (const TabRulerItemTable & rTable)
pure virtual

sets the TabRulerItem table.