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

#include <IFrameList.h>

Inheritance diagram for IFrameList:
IPMUnknown

Classes

class  InViewCacheFreezer
 

Public Types

enum  { kDefaultIID = IID_IFRAMELIST }
 
enum  { kAtTheEnd = -1 }
 

Public Member Functions

virtual void SetTextModelUID (UID modelUID)=0
 
virtual UID GetTextModelUID () const =0
 
virtual ITextModelQueryTextModel () const =0
 
virtual int32 GetFrameIndex (UID frameUID) const =0
 
virtual int32 GetFrameIndex (const ITextFrameColumn *frame) const =0
 
virtual int32 GetFrameCount () const =0
 
virtual UID GetNthFrameUID (int32 n) const =0
 
virtual ITextFrameColumnQueryNthFrame (int32 n) const =0
 
virtual TextIndex GetFrameStart (UID frameUID) const =0
 
virtual int32 GetFrameSpan (UID frameUID) const =0
 
virtual ITextFrameColumnQueryFrameContaining (TextIndex textIndex, int32 *frameIndex) const =0
 
virtual int32 GetFrameIndexContaining (TextIndex at) const =0
 
virtual void GetFramesContaining (const RangeData &range, int32 *firstIndex, int32 *lastIndex) const =0
 
virtual bool16 GetWasOversetValid () const =0
 
virtual bool16 GetWasOverset () const =0
 
virtual void SetWasOverset (bool16 ov)=0
 
virtual void AddFrame (UID frameUID)=0
 
virtual void AddFrameAt (UID frameUID, int32 at)=0
 
virtual void ProcessAddFrameAt (UID frameUID, int32 at)=0
 
virtual void RemoveFrame (UID frameUID)=0
 
virtual void ClearFrameList ()=0
 
virtual int32 GetFirstDamagedFrameIndex () const =0
 
virtual void ClearInViewCache ()=0
 
virtual bool16 IsInView (UID frameUID) const =0
 
virtual void AddToInViewCache (UID frameUID)=0
 
virtual void FreezeInViewCache (bool16 freezeIt)=0
 
virtual uint32 GetChangeCounter () const =0
 
virtual void SetNotInViewList (const UIDList &frameList)=0
 
virtual void RemoveNotInViewList (const UIDList &frameList)=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

The IFrameList contains a list of the frames of a ITextModel, it maintains information about what text index ranges are contained in what frames, and it maintains information about which frames are, and are not, fully composed. The order of the frames in the IFrameList is the order in which text flows through the frames. IFrameList interface is aggregated on the Frame List boss.

Member Function Documentation

virtual void IFrameList::AddFrame (UID frameUID)
pure virtual

Adds an ITextFrameColumn to the IFrameList at the end.

Parameters
frameUIDUID of new ITextFrameColumn to add to the IFrameList.
virtual void IFrameList::AddFrameAt (UID frameUID,
int32 at 
)
pure virtual

Adds an ITextFrameColumn to the IFrameList at a specified index.

Parameters
frameUIDUID of new ITextFrameColumn to add to the IFrameList.
atindex within the IFrameList to add the new ITextFrameColumn
virtual void IFrameList::AddToInViewCache (UID frameUID)
pure virtual

Internal Use Only, do not use. Adds an ITextFrameColumn to the in view cache.

Parameters
frameUIDUID of ITextFrameColumn that is to be added to the cache.
virtual void IFrameList::ClearFrameList ()
pure virtual

Clears all ITextFrames from the IFrameList.

virtual void IFrameList::ClearInViewCache ()
pure virtual

The "In View" cache is used to eliminate unnecessary recording of pending invals during damage recording and recomposition. (If a ITextFrameColumn is not in any view, pending invals are unnecessary.) These calls are designed for use only during damage recording and recomposition. If you need to determine if an ITextFrameColumn is in view, you can call ClearInViewCache() followed by IsInView().

virtual uint32 IFrameList::GetChangeCounter () const
pure virtual

The change counter is persisted value which is incremented (and eventually rollover) each time any ITextFrameColumn in the IFrameList goes from undamaged to damaged. It is thus a useful indication of when some Text in the IFrameList has been damaged and will be re-composed.

Returns
The current value of the change counter.
virtual int32 IFrameList::GetFirstDamagedFrameIndex () const
pure virtual

This method is used by the composition engine to determine where to start composing from. This method can also be used to determine whether the entire IFrameList is fully composed.

Returns
-1 if the entire IFrameList is undamaged.
virtual int32 IFrameList::GetFrameCount () const
pure virtual

Returns the count of ITextFrames known to the IFrameList.

Returns
Count of ITextFrames know to the IFrameList.
virtual int32 IFrameList::GetFrameIndex (UID frameUID) const
pure virtual

Gets the index within the known set of ITextFrames known to the IFrameList of a ITextFrameColumn specified by its UID.

Parameters
frameUIDUID of ITextFrameColumn within the IFrameList.
Returns
index of ITextFrameColumn within the IFrameList, -1 if not found.
virtual int32 IFrameList::GetFrameIndex (const ITextFrameColumnframe) const
pure virtual

Gets the index within the known set of ITextFrames known to the IFrameList of a specific ITextFrameColumn.

Parameters
framePointer to ITextFrameColumn within the IFrameList.
Returns
index of ITextFrameColumn within the IFrameList, -1 if not found.
virtual int32 IFrameList::GetFrameIndexContaining (TextIndex at) const
pure virtual

Accesses the index of the ITextFrameColumn specified by the TextIndex of a character composed in it. NOTE: This call will NOT cause the text to compose.

Parameters
atTextIndex within any ITextStoryThread, not just the primary story thread, in the ITextModel.
Returns
The index of the ITextFrameColumn within the IFrameList containing the specified TextIndex.
virtual void IFrameList::GetFramesContaining (const RangeDatarange,
int32 * firstIndex,
int32 * lastIndex 
) const
pure virtual

Accesses the indexes of the ITextFrames specified by a text range of characters that are composed in them. NOTE: This call will NOT cause the text to compose.

Parameters
rangeRangeData within any single ITextStoryThread, not just the primary story thread, in the ITextModel. Lean is ignored.
firstIndexSet to the index of the ITextFrameColumn containing the first character of the specified range, or -1 if the text specified is not in any ITextFrameColumn.
lastIndexSet to the index of the ITextFrameColumn containing the last character (or the last composed character) of the specified range, or -1 if the text specified is not in any ITextFrameColumn.
virtual int32 IFrameList::GetFrameSpan (UID frameUID) const
pure virtual

Provides information about what ranges of text are held in what ITextFrames.

Parameters
frameUIDUID of the ITextFrameColumn within the IFrameList.
Returns
Number of characters within the primary story thread composed into the specified ITextFrameColumn.
virtual TextIndex IFrameList::GetFrameStart (UID frameUID) const
pure virtual

Provides information about what ranges of text are held in what ITextFrames.

Parameters
frameUIDUID of the ITextFrameColumn within the IFrameList.
Returns
TextIndex within the primary story thread of the first character composed into the specified ITextFrameColumn.
virtual UID IFrameList::GetNthFrameUID (int32 n) const
pure virtual

Accesses a specific ITextFrameColumn within the list held by the IFrameList.

Parameters
nIndex within the IFrameList of the ITextFrameColumn to be returned.
Returns
UID of the desired ITextFrameColumn.
virtual UID IFrameList::GetTextModelUID () const
pure virtual

Gets the UID of the ITextModel that we are associated with.

Returns
UID of ITextModel.
virtual bool16 IFrameList::GetWasOverset () const
pure virtual

Returns the last overset state set by the last composition.

Returns
The last overset state.
virtual bool16 IFrameList::GetWasOversetValid () const
pure virtual

The IFrameList is considered overset when, the last time it was composed, some of the composable content did not fit in any of the ITextFrames. This state is persisted by the IFrameList and is updated every time it is recomposed.

Returns
kTrue if the persisted overset state is valid.
virtual bool16 IFrameList::IsInView (UID frameUID) const
pure virtual

Determines if an ITextFrameColumn within the IFrameList is in view.

Parameters
frameUIDUID of ITextFrameColumn within the IFrameList
Returns
kTrue if the specied ITextFrameColumn is in view.
virtual void IFrameList::ProcessAddFrameAt (UID frameUID,
int32 at 
)
pure virtual

AddFrameAt using ProcessCommand.

Parameters
frameUIDUID of new ITextFrameColumn to add to the IFrameList.
atindex within the IFrameList to add the new ITextFrameColumn
virtual ITextFrameColumn* IFrameList::QueryFrameContaining (TextIndex textIndex,
int32 * frameIndex 
) const
pure virtual

Accesses an ITextFrameColumn specified by the TextIndex of a character composed in it. NOTE: This call will cause the text to compose up to at least the specified TextIndex, if it wasn't already composed.

Parameters
textIndexTextIndex within any ITextStoryThread, not just the primary story thread, in the ITextModel.
frameIndexIf non-nil, set to the index of the retunred ITextFrameColumn, or -1 if nil is returned.
Returns
The ITextFrameColumn within the IFrameList containing the specified TextIndex.
virtual ITextFrameColumn* IFrameList::QueryNthFrame (int32 n) const
pure virtual

Accesses a specific ITextFrameColumn within the list held by the IFrameList.

Parameters
nIndex within the IFrameList of the ITextFrameColumn to be returned.
Returns
A pointer to the desired ITextFrameColumn.
virtual ITextModel* IFrameList::QueryTextModel () const
pure virtual

Get the ITextModel that we are associated with.

Returns
A pointer to a ITextModel.
virtual void IFrameList::RemoveFrame (UID frameUID)
pure virtual

Removes an ITextFrameColumn from the IFrameList.

Parameters
frameUIDUID of the ITextFrameColumn to remove from the IFrameList.
virtual void IFrameList::RemoveNotInViewList (const UIDListframeList)
pure virtual

Internal Use Only, do not use. Removes the specified list of ITextFrames from the in view list.

Parameters
frameListUIDList of ITextFrames within the IFrameList that should be removed.
virtual void IFrameList::SetNotInViewList (const UIDListframeList)
pure virtual

Internal Use Only, do not use. Adds the specified list of ITextFrames to the in view list as not in view.

Parameters
frameListUIDList of ITextFrames within the IFrameList that should be marked as no in view.
virtual void IFrameList::SetTextModelUID (UID modelUID)
pure virtual

This method is used to associate a IFrameList with a specific ITextModel. Generally, this is only called when creating a new ITextModel and IFrameList. The CreateMultiColumnItemCmd handles all the nuiances of creating a new frame (and optionally a new IFrameList and/or new ITextModel).

Parameters
modelUIDUID of ITextModel.
virtual void IFrameList::SetWasOverset (bool16 ov)
pure virtual

Sets the new overset state and marks it valid.

Parameters
ovThe new overset state.