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

#include <ITextScriptUtils.h>

Inheritance diagram for ITextScriptUtils:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_ITEXTSCRIPTUTILS }
 

Public Member Functions

virtual ScriptID GetTextType (IScript *script)=0
 
virtual IScriptQueryTextObject (const RequestContext &context, ITextModel *model, const RangeData &range, const ScriptID &type=kInvalidScriptID)=0
 
virtual ICommandCreateEditFindChangePrefCmd (const ScriptID &propID, IDataBase *targetDB, const IPMUnknown *addAttribute=nil, ClassID removeAttribute=kInvalidClass)=0
 
virtual ICommandCreateEditFindChangePrefCmd (const ScriptID &propID, IDataBase *targetDB, const AddAttributeList &addAttrList, const RemoveAttributeList &removeAttrList)=0
 
virtual ICommandCreateEditFindChangePrefCmd (const ScriptID &propID, const ScriptID &objectType, IDataBase *targetDB, const UID &styleUID)=0
 
virtual ITextModelQueryTextModel (IScript *script)=0
 
virtual bool16 IsTextFrame (const IScript *script, const RequestContext &context)=0
 
virtual IPMUnknownQueryFirstTextFrame (const IPMUnknown *gframe, PMIID iid=IID_IUNKNOWN) const =0
 
virtual IPMUnknownQueryLastTextFrame (const IPMUnknown *gframe, PMIID iid=IID_IUNKNOWN) const =0
 
virtual IPMUnknownQueryGraphicFrame (const IPMUnknown *tframe, PMIID iid=IID_IUNKNOWN) const =0
 
virtual IPMUnknownQueryChildMultiColFrame (const IPMUnknown *gframe, PMIID iid=IID_IUNKNOWN) const =0
 
virtual IPMUnknownQueryFirstChildTextFrame (const IPMUnknown *mcframe, PMIID iid=IID_IUNKNOWN) const =0
 
virtual IPMUnknownQueryLastChildTextFrame (const IPMUnknown *mcframe, PMIID iid=IID_IUNKNOWN) const =0
 
virtual IPMUnknownQueryParentMultiColFrame (const IPMUnknown *tframe, PMIID iid=IID_IUNKNOWN) const =0
 
virtual IPMUnknownQueryParentGraphicFrame (const IPMUnknown *mcframe, PMIID iid=IID_IUNKNOWN) const =0
 
virtual ITextFrameColumnQueryTextFrameColumnContaining (ITextModel *textModel, TextIndex index, bool16 ifNoneReturnLastFrame=kFalse)=0
 
virtual ErrorCode GetParentTextFrames (IScript *script, ScriptList &parentList)=0
 
virtual IScriptQueryParentTextFrame (IScript *textTarget)=0
 
virtual IPMUnknownQueryParentTextFrame (const ITextModel *textModel, TextIndex index, PMIID iid=IID_IUNKNOWN)=0
 
virtual ErrorCode Recompose (IScript *script)=0
 
virtual bool16 DefaultIsWordChar (const UTF32TextChar &aStart, const UTF32TextChar &aEnd)=0
 
virtual bool16 TestIsSpace (const UTF32TextChar &aStart, const UTF32TextChar &aEnd)=0
 
virtual bool16 TestIsPunctuation (const UTF32TextChar &aStart, const UTF32TextChar &aEnd)=0
 
virtual bool16 AreTextRunAttributesEqual (ITextModel *model1, TextIndex start1, ITextModel *model2, TextIndex start2)=0
 
virtual const IAttrReportQueryChildTextAttribute (const RequestContext &context, IScript *script, const ScriptID &childType, const ClassID &attrID, AttributeBossList *attrList)=0
 
virtual ICommandQueryChildTextCommand (IScriptRequestData *data, IScript *script, const ScriptID &childType, const IAttrReport *attrReport)=0
 
virtual ErrorCode GetFrameStartEnd (const IHierarchy *hierarchy, UIDRef &textModel, TextIndex &frameStart, TextIndex &frameEnd)=0
 
virtual ErrorCode GetCellStartEnd (const InterfacePtr< ITableModel > &table, GridAddress cellAddress, InterfacePtr< ITextModel > &textModel, TextIndex &cellStart, TextIndex &cellEnd, bool16 includeOverset=kTrue) const =0
 
virtual ErrorCode ConvertEnumToWideString (const RequestContext &context, const ScriptData &scriptData, WideString &outString)=0
 
virtual ErrorCode ConvertWideStringToEnum (const RequestContext &context, const WideString &inString, ScriptData &scriptData)=0
 
virtual ErrorCode GetSpecialChar (IScriptRequestData *data, ScriptData &scriptData, IScript *script, ITextModel *model, TextIndex start, int32 length)=0
 
virtual ErrorCode SetSpecialChar (IScriptRequestData *data, const ScriptData &scriptData, ITextModel *model, TextIndex start, int32 &length)=0
 
virtual void ExcludeNUACharacters (ITextModel *model, int32 &start, int32 &length, const RequestContext &context) const =0
 
virtual void IncludeNUACharacters (ITextModel *model, int32 &start, int32 &length, const RequestContext &context) const =0
 
virtual int32 StripNUACharacters (PMString &string, const RequestContext &context) const =0
 
virtual IPMFontQueryFont (const RequestContext &context, IScript *script)=0
 
virtual IScriptQueryFontObject (const RequestContext &context, const PMString &familyName, const PMString &styleName, IScript *parent, PMString *psName=nil, IPMFont::FontType fontType=IPMFont::kUnknownFontType)=0
 
virtual ErrorCode DeleteText (IScriptRequestData *data, IScript *script)=0
 
virtual ErrorCode AccessOverset (IScriptRequestData *data, IScript *script, const ScriptID &propID)=0
 
virtual RangeData GetScriptTextRange (IScript *script)=0
 
virtual ErrorCode AccessTextContents (IScriptRequestData *data, IScript *script, const ScriptID &propID)=0
 
virtual ErrorCode AccessFrameTextContents (IScriptRequestData *data, IScript *script, const ScriptID &propID)=0
 
virtual ErrorCode ReleaseAnchoredObjects (const UIDList &anchors)=0
 
virtual ErrorCode ConvertCharacterToEnum (const RequestContext &context, const UTF32TextChar inChar, ScriptData &scriptData, ITextModel *model, TextIndex start)=0
 
virtual ITextVariableTableQueryTextVariableTableFromScript (const IScript *script, const RequestContext &context) const =0
 
virtual ITextVariableQueryTextVariableFromScript (const IScript *script, const RequestContext &context) const =0
 
virtual PMString GetTextVariableNameFromScript (const IScript *script, const RequestContext &context) const =0
 
virtual ErrorCode GetModelRangeFromParent (const IScriptRequestData *data, const IScript *parent, const ScriptID &insertionLocation, ModelRange &modelRange) const =0
 
virtual ErrorCode AccessLinkedTextFrame (IScriptRequestData *data, const IScript *script, const ScriptID propID)=0
 
virtual ErrorCode ConvertToAnchoredObject (UIDRef objectToAnchorUIDRef, UIDRef destStoryUIDRef, const RangeData &textRange, IAnchoredObjectData::AnchoredPosition anchorPosition) const =0
 
virtual bool16 IsValidAnchorDestination (UIDRef objectToAnchorUIDRef, UIDRef destStoryUIDRef, TextIndex destTextIndex, IAnchoredObjectData::AnchoredPosition anchorPosition) 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

Utilities related to text scripting, also contains general text and text frame utilities. e.g.

Utils&;t;ITextScriptUtils>()->SpellingIsWordChar( ... ) ;

Member Function Documentation

virtual ErrorCode ITextScriptUtils::AccessOverset (IScriptRequestDatadata,
IScriptscript,
const ScriptIDpropID 
)
pure virtual

Access overset property on a text frame, cell, or story object

virtual ErrorCode ITextScriptUtils::AccessTextContents (IScriptRequestDatadata,
IScriptscript,
const ScriptIDpropID 
)
pure virtual

Handle the get/set of the p_Contents property

virtual bool16 ITextScriptUtils::AreTextRunAttributesEqual (ITextModelmodel1,
TextIndex start1,
ITextModelmodel2,
TextIndex start2 
)
pure virtual

Returns kTrue if the attributes of the two text runs are identical

virtual ErrorCode ITextScriptUtils::ConvertCharacterToEnum (const RequestContextcontext,
const UTF32TextChar inChar,
ScriptDatascriptData,
ITextModelmodel,
TextIndex start 
)
pure virtual

Convert a character to text script data containing a special characters enum or a string

Parameters
content- the scripting request context
inChar- the character to convert
scriptData- the script data to contain the converted enum or string
model- the text model that contains the character
start- the location of the character
virtual ErrorCode ITextScriptUtils::ConvertEnumToWideString (const RequestContextcontext,
const ScriptDatascriptData,
WideStringoutString 
)
pure virtual

Convert text script data containing a special characters enum or a string to a wide string

virtual ErrorCode ITextScriptUtils::ConvertWideStringToEnum (const RequestContextcontext,
const WideStringinString,
ScriptDatascriptData 
)
pure virtual

Convert a wide string to text script data containing a special characters enum or a string

virtual ErrorCode ITextScriptUtils::DeleteText (IScriptRequestDatadata,
IScriptscript 
)
pure virtual

Given an IScript on an story or text object, delete the text

virtual void ITextScriptUtils::ExcludeNUACharacters (ITextModelmodel,
int32 & start,
int32 & length,
const RequestContextcontext 
) const
pure virtual

Convert text offset and length to exclude non-user accessible (e.g., table anchor) characters

virtual ErrorCode ITextScriptUtils::GetParentTextFrames (IScriptscript,
ScriptList & parentList 
)
pure virtual

Given a text target, get the text frames the text resides in.

Parameters
textTarget- the text script object to use
parentList- the list of parent text frames [out]
virtual RangeData ITextScriptUtils::GetScriptTextRange (IScriptscript)
pure virtual

Retrieve the range from a text script object

virtual ErrorCode ITextScriptUtils::GetSpecialChar (IScriptRequestDatadata,
ScriptDatascriptData,
IScriptscript,
ITextModelmodel,
TextIndex start,
int32 length 
)
pure virtual

Get the text from a particular text location into a ScriptData accounting for any special characters

virtual void ITextScriptUtils::IncludeNUACharacters (ITextModelmodel,
int32 & start,
int32 & length,
const RequestContextcontext 
) const
pure virtual

Convert text offset and length to include related non-user accessible (e.g., table anchor) characters

virtual bool16 ITextScriptUtils::IsTextFrame (const IScriptscript,
const RequestContextcontext 
)
pure virtual

Notes:'Text frames' are comprised of a number of levels. The top level is a GraphicFrame. The GraphicFrame contains a MultiColumnTextFrame. The MultiColumnTextFrame contains 1 or more TextFrames (1 frame for each column). The TextFrames contain the story text. Each level has its own UIDRef. These functions are used for getting from level to another. (Adapted from utilities in QATextObject class by Stan Somers) Return kTrue if this script object is a c_TextFrame or a c_TOP. Use: ITextScriptUtils::IsTextFrame( script, context ) - if your query is in the context of a scripting DOM IPageItemTypeUtils::IsTextFrame( pageitem ) - if your query is in the context of the InDesign object model

virtual IPMUnknown* ITextScriptUtils::QueryChildMultiColFrame (const IPMUnknowngframe,
PMIID iid = IID_IUNKNOWN 
) const
pure virtual

Get a graphic frame's multi-column frame (child)

virtual const IAttrReport* ITextScriptUtils::QueryChildTextAttribute (const RequestContextcontext,
IScriptscript,
const ScriptIDchildType,
const ClassIDattrID,
AttributeBossListattrList 
)
pure virtual

Used to query attribute information about a Text property that is implemented as an object (e.g., TabStop, RunInStyle)

virtual ICommand* ITextScriptUtils::QueryChildTextCommand (IScriptRequestDatadata,
IScriptscript,
const ScriptIDchildType,
const IAttrReportattrReport 
)
pure virtual

Used to to query a command to set a Text property that is implemented as an object (e.g., TabStop, RunInStyle)

virtual IPMUnknown* ITextScriptUtils::QueryFirstChildTextFrame (const IPMUnknownmcframe,
PMIID iid = IID_IUNKNOWN 
) const
pure virtual

Get a multi-column frame's first text frame (child)

virtual IPMUnknown* ITextScriptUtils::QueryFirstTextFrame (const IPMUnknowngframe,
PMIID iid = IID_IUNKNOWN 
) const
pure virtual

Get a graphic frame's first text frame (grandchild)

virtual IPMFont* ITextScriptUtils::QueryFont (const RequestContextcontext,
IScriptscript 
)
pure virtual

Given the IScript on a scripting font object get the IPMFont*

virtual IScript* ITextScriptUtils::QueryFontObject (const RequestContextcontext,
const PMStringfamilyName,
const PMStringstyleName,
IScriptparent,
PMStringpsName = nil,
IPMFont::FontType fontType = IPMFont::kUnknownFontType 
)
pure virtual

Given a family name, a style name and a parent, create a font proxy script object

Parameters
familyName- family name of font
styleName- style name of font
parent- parent
psName- if non nil and string is not empty this is used to find font instead of family and style.
virtual IPMUnknown* ITextScriptUtils::QueryGraphicFrame (const IPMUnknowntframe,
PMIID iid = IID_IUNKNOWN 
) const
pure virtual

Get a text frame's graphic frame (grandparent)

virtual IPMUnknown* ITextScriptUtils::QueryLastChildTextFrame (const IPMUnknownmcframe,
PMIID iid = IID_IUNKNOWN 
) const
pure virtual

Get a multi-column frame's last text frame (child)

virtual IPMUnknown* ITextScriptUtils::QueryLastTextFrame (const IPMUnknowngframe,
PMIID iid = IID_IUNKNOWN 
) const
pure virtual

Get a graphic frame's last text frame (grandchild)

virtual IPMUnknown* ITextScriptUtils::QueryParentGraphicFrame (const IPMUnknownmcframe,
PMIID iid = IID_IUNKNOWN 
) const
pure virtual

Get a multi-column frame's graphic frame (parent)

virtual IPMUnknown* ITextScriptUtils::QueryParentMultiColFrame (const IPMUnknowntframe,
PMIID iid = IID_IUNKNOWN 
) const
pure virtual

Get a text frame's multi-column frame (parent)

virtual IScript* ITextScriptUtils::QueryParentTextFrame (IScripttextTarget)
pure virtual

Given a text target, get the text frame the text resides in. If the text is not in a frame or if it extends across frames, nil is returned

Parameters
textTarget- the text target to use
virtual IPMUnknown* ITextScriptUtils::QueryParentTextFrame (const ITextModeltextModel,
TextIndex index,
PMIID iid = IID_IUNKNOWN 
)
pure virtual

Given a text model and a character index, get the text frame the text resides in. If the text is not in a frame, nil is returned

Parameters
textModel- the text model to use
index- the text index to use
iid- the iid of the interface to query on the text frame
virtual ITextFrameColumn* ITextScriptUtils::QueryTextFrameColumnContaining (ITextModeltextModel,
TextIndex index,
bool16 ifNoneReturnLastFrame = kFalse 
)
pure virtual

Given a text model and index, get the text frame the text resides in, or the last frame in the story's frame list. This api causes composition to the index specified. This means it will compose from intermediate states to completion.

Parameters
textModel- the story
index- the text location
ifNoneReturnLastFrame- if kTrue and the text is overset, returns the last frame in the story's frame list (instead of nil)
virtual IScript* ITextScriptUtils::QueryTextObject (const RequestContextcontext,
ITextModelmodel,
const RangeDatarange,
const ScriptIDtype = kInvalidScriptID 
)
pure virtual

Create a new text script object

Parameters
textModelis the parent story
rangeis the text target range
typeis the object type, if known
virtual ErrorCode ITextScriptUtils::Recompose (IScriptscript)
pure virtual

Recompose the text in/upto the object

virtual ErrorCode ITextScriptUtils::ReleaseAnchoredObjects (const UIDListanchors)
pure virtual

Release the anchored objects. This means to detach them from the text and make them stand alone page items.

virtual ErrorCode ITextScriptUtils::SetSpecialChar (IScriptRequestDatadata,
const ScriptDatascriptData,
ITextModelmodel,
TextIndex start,
int32 & length 
)
pure virtual

Insert some text at a particular location accounting for any special characters

Parameters
scriptData- the character data to be set (string or special characters enum)
model- the text model in which to insert the text
start- the location at which to insert the text
length- the length of existing text to replace; will be modified to the length of the inserted text
virtual int32 ITextScriptUtils::StripNUACharacters (PMStringstring,
const RequestContextcontext 
) const
pure virtual

Strip out non-user accessible (e.g., table anchor) characters