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

#include <IIndexTopicList.h>

Inheritance diagram for IIndexTopicList:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_IINDEXTOPICLIST }
 

Public Member Functions

virtual bool16 IsModifiedWithoutAvailableHSHandler () const =0
 
virtual void SetModifiedWithoutAvailableHSHandler (bool16 modified)=0
 
virtual const int32 GetNumTopicSections () const =0
 
virtual const int32 GetNumTopics () const =0
 
virtual void AddTopicSection (UID indexUID)=0
 
virtual void RemoveTopicSection (UID indexUID)=0
 
virtual void ClearTopicSectionList ()=0
 
virtual const UID GetNthTopicSectionUID (int32 id) const =0
 
virtual const int32 GetTopicSectionId (UID sectionUID) const =0
 
virtual const IndexSectionHeaderGetNthTopicSectionHeader (int32 id) const =0
 
virtual void AddIndexInstance (const UID indexUID)=0
 
virtual void RemoveIndexInstance (const UID indexUID)=0
 
virtual const int32 GetNumOfIndexInstances () const =0
 
virtual const UID GetNthIndexInstance (int32 id) const =0
 
virtual const UID FindIndexInstanceByName (const PMString &name) const =0
 
virtual const int32 GetParentNodeId (int32 sectionId, int32 childNodeId) const =0
 
virtual const int32 GetNumChildrenOfNode (int32 sectionId, int32 parentNodeId, bool16 excludeUnused=kFalse) const =0
 
virtual const int32 GetNthChildNodeId (int32 sectionId, int32 parentNodeId, int32 nth, bool16 excludeUnused=kFalse) const =0
 
virtual const int32 GetChildRank (int32 sectionId, int32 parentNodeId, int32 childNodeId, bool16 excludeUnused=kFalse) const =0
 
virtual void GetDisplayString (int32 sectionId, int32 nodeId, WideString &string) const =0
 
virtual const int32 GetNumPageEntriesOfNode (int32 sectionId, int32 nodeId) const =0
 
virtual const int32 GetPageEntryRankInNode (int32 sectionId, int32 nodeId, UIDRef entryUIDRef) const =0
 
virtual void GetNthPageEntryUIDRef (int32 sectionId, int32 nodeId, int32 nth, UIDRef &entryUIDRef) const =0
 
virtual const int32 GetNumXRefEntriesOfNode (int32 sectionId, int32 nodeId) const =0
 
virtual const UID GetNthXRefEntryUID (int32 sectionId, int32 nodeId, int32 nth) const =0
 
virtual const UID GetXRefLinksUID (int32 sectionId, int32 nodeId) const =0
 
virtual void GetRefedTopicNodeId (const UID xRefLinksUID, UID &sectionUID, int32 &nodeId) const =0
 
virtual void GetTopicEntry (int32 sectionId, int32 nodeId, IndexTopicEntry &topicEntry) const =0
 
virtual bool16 TopicEntryIsUsed (int32 sectionId, int32 nodeId, bool16 includeChildren=kTrue) const =0
 
virtual bool16 FindTopicEntryByDisplay (IndexTopicEntry &topicEntry, int32 startSectionId=0, int32 startNodeId=0, int32 *foundSectionId=NULL, int32 *foundNodeId=NULL, bool16 caseSensitive=kTrue, bool16 wholeWord=kTrue, bool16 searchDir=kTrue) const =0
 
virtual bool16 FindStringByDisplay (const WideString &str, int32 startSectionId=0, int32 startNodeId=0, int32 startXRefId=0, int32 *foundSectionId=NULL, int32 *foundNodeId=NULL, int32 *foundXRefId=NULL, bool16 caseSensitive=kTrue, bool16 wholeWord=kTrue, bool16 searchDir=kTrue, int32 *currentSearchNum=NULL) const =0
 
virtual bool16 FindPageEntrySectionUIDandNodeId (const UIDRef &pageEntryUIDRef, UID &sectionUID, int32 &nodeId) const =0
 
virtual bool16 FindTopicEntry (const IndexTopicEntry &topicEntry, UID *sectionUID, int32 *nodeId) const =0
 
virtual void GetIndexPageRangeDataMap (IDXPageRangeDataMap &dataMap) const =0
 
virtual void UpdateIndexPageRangeDataMap (const IDXPageRangeKey &pageRangeKey, const IDXPageRangeData &pageRangeData)=0
 
virtual void SetIndexPageRangeData (const IDXPageRangeKey &pageRangeKey, const IDXPageRangeData &pageRangeData)=0
 
virtual void ClearIndexPageRangeData ()=0
 
virtual int32 FindNumberOfStringMatchesByDisplay (const WideString &str, int32 startSectionId=0, int32 startNodeId=0, int32 startXRefId=0, int32 *foundSectionId=NULL, int32 *foundNodeId=NULL, int32 *foundXRefId=NULL, bool16 caseSensitive=kTrue, bool16 wholeWord=kTrue, bool16 searchDir=kTrue) 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

Data interface that models a list of index topics. This list is aggregated by the session/document workspace and contains the topic section UIDs. Each section contains a list of topics.

Member Function Documentation

virtual void IIndexTopicList::AddIndexInstance (const UID indexUID)
pure virtual

Adds an index instance. This method was initially intended to be used for the case when we have multiple instances of an index of the same topic list. This method is not currently used.

See Also
IIndexInstanceList
virtual void IIndexTopicList::AddTopicSection (UID indexUID)
pure virtual

Adds a topic section to the list.

Parameters
indexUID[IN] - the UID of the topic section to be added to the list.
virtual void IIndexTopicList::ClearIndexPageRangeData ()
pure virtual

Clear the cached map.

virtual void IIndexTopicList::ClearTopicSectionList ()
pure virtual

Removes all topic sections from the list.

virtual const UID IIndexTopicList::FindIndexInstanceByName (const PMStringname) const
pure virtual

Finds an index instance by name. This method was initially intended to be used for the case when we have multiple instances of an index of the same topic list. This method is not currently used.

See Also
IIndexInstanceList
virtual int32 IIndexTopicList::FindNumberOfStringMatchesByDisplay (const WideStringstr,
int32 startSectionId = 0,
int32 startNodeId = 0,
int32 startXRefId = 0,
int32 * foundSectionId = NULL,
int32 * foundNodeId = NULL,
int32 * foundXRefId = NULL,
bool16 caseSensitive = kTrue,
bool16 wholeWord = kTrue,
bool16 searchDir = kTrue 
) const
pure virtual
Finds total number of topics that matches the specified string.

Parameters
startSectionId[IN] - section where the search should start.
startNodeId[IN]- the topic node id with which the search should start.
startXRefId[IN] - the start index for the search.
foundSectionId[OUT] - on return will contain the section id where the topic is located.
foundNodeId[OUT] - on return will contain the node id of the located topic.
foundXRefId[OUT] - the result index of the found entry.
caseSensitive[IN] - flag that specifies if the match is case sensitive
wholeWord[IN] - flag that specifies if the match is partial or whole word.
searchDir[IN] - flag that specifies the search direction. kTrue means forward/down.
Returns
kTrue if the string was found.
virtual bool16 IIndexTopicList::FindPageEntrySectionUIDandNodeId (const UIDRefpageEntryUIDRef,
UIDsectionUID,
int32 & nodeId 
) const
pure virtual

Finds the section UID and node id of the topic referenced by the specified page entry.

Parameters
pageEntryUIDRef[IN] - UIDRef of the page entry.
sectionUID[OUT] - the section UID of the topic
nodeId[OUT] - the node id of the topic.
Returns
kTrue if the topic referenced by the specified page entry was found.
virtual bool16 IIndexTopicList::FindStringByDisplay (const WideStringstr,
int32 startSectionId = 0,
int32 startNodeId = 0,
int32 startXRefId = 0,
int32 * foundSectionId = NULL,
int32 * foundNodeId = NULL,
int32 * foundXRefId = NULL,
bool16 caseSensitive = kTrue,
bool16 wholeWord = kTrue,
bool16 searchDir = kTrue,
int32 * currentSearchNum = NULL 
) const
pure virtual

Finds a topic that matches the specified string.

Parameters
startSectionId[IN] - section where the search should start.
startNodeId[IN]- the topic node id with which the search should start.
startXRefId[IN] - the start index for the search.
foundSectionId[OUT] - on return will contain the section id where the topic is located.
foundNodeId[OUT] - on return will contain the node id of the located topic.
foundXRefId[OUT] - the result index of the found entry.
caseSensitive[IN] - flag that specifies if the match is case sensitive
wholeWord[IN] - flag that specifies if the match is partial or whole word.
searchDir[IN] - flag that specifies the search direction. kTrue means forward/down.
Returns
kTrue if the string was found.
virtual bool16 IIndexTopicList::FindTopicEntry (const IndexTopicEntrytopicEntry,
UIDsectionUID,
int32 * nodeId 
) const
pure virtual

Finds the topic referenced by the last node in the topic entry. This function is the reverse of GetTopicEntry.

Parameters
topicEntry[IN] - topic entry that contains the topic node we are looking for.
sectionUID[OUT] - on return will contain the section UID of the topic.
nodeId[OUT] - on return will contain the node id of the topic.
Returns
kTrue if the topic was found.
virtual bool16 IIndexTopicList::FindTopicEntryByDisplay (IndexTopicEntrytopicEntry,
int32 startSectionId = 0,
int32 startNodeId = 0,
int32 * foundSectionId = NULL,
int32 * foundNodeId = NULL,
bool16 caseSensitive = kTrue,
bool16 wholeWord = kTrue,
bool16 searchDir = kTrue 
) const
pure virtual

Finds a topic entry by matching the display name.

Parameters
topicEntry[IN/OUT] - topic entry used as a reference entry to find out the entry above or below topicEntry.
startSectionId[IN] - section where the search should start.
startNodeId[IN]- the topic node id with which the search should start.
foundSectionId[OUT] - on return will contain the section id where the topic is located.
foundNodeId[OUT] - on return will contain the node id of the located topic.
caseSensitive[IN] - flag that specifies if the match is case sensitive
wholeWord[IN] - flag that specifies if the match is partial or whole word.
searchDir[IN] - flag that specifies the search direction. kTrue means forward/down.
Returns
kTrue if the entry was found.
virtual const int32 IIndexTopicList::GetChildRank (int32 sectionId,
int32 parentNodeId,
int32 childNodeId,
bool16 excludeUnused = kFalse 
) const
pure virtual

Retrieves the index of the specified child node within it's parent node. This method is mostly used by the UI.

Parameters
sectionId[IN] - the section id where the specified topic resides.
parentNodeId[IN] - id of the topic whithin the section.
childNodeId[IN] - the node id of the specified child
excludeUnused[IN] - flag that specifies is the unused topics should be excluded.
Returns
the index of the child within it's parent node.
virtual void IIndexTopicList::GetDisplayString (int32 sectionId,
int32 nodeId,
WideStringstring 
) const
pure virtual

Retrieves the display string for the specified topic. This method is mostly used by the UI. The display string can be different from the sort string.

Parameters
sectionId[IN] - the section id where the specified topic resides.
nodeId[IN] - id of the topic whithin the section.
string[OUT] - on return will contain the display string of the specified topic.
virtual void IIndexTopicList::GetIndexPageRangeDataMap (IDXPageRangeDataMapdataMap) const
pure virtual

Get the cached map related to page range entries data.

Parameters
dataMap[OUT] — on return will contain the cached map.
virtual const int32 IIndexTopicList::GetNthChildNodeId (int32 sectionId,
int32 parentNodeId,
int32 nth,
bool16 excludeUnused = kFalse 
) const
pure virtual

Retrieves the specified child node id. This method is mostly used by the UI.

Parameters
sectionId[IN] - the section id where the specified topic resides.
parentNodeId[IN] - id of the topic whithin the section.
nth[IN] - index of the child node within it's parent node.
excludeUnused[IN] - flag that specifies is the unused topics should be excluded.
Returns
the node id of the specified child.
virtual const UID IIndexTopicList::GetNthIndexInstance (int32 id) const
pure virtual

Retrieves the index instance at the specified index. This method was initially intended to be used for the case when we have multiple instances of an index of the same topic list. This method is not currently used.

See Also
IIndexInstanceList
virtual void IIndexTopicList::GetNthPageEntryUIDRef (int32 sectionId,
int32 nodeId,
int32 nth,
UIDRefentryUIDRef 
) const
pure virtual

Retrieves the UIDRef of the specified page entry. This method is mostly used by the UI.

Parameters
sectionId[IN] - the section id where the specified topic resides.
nodeId[IN] - id of the topic whithin the section.
nth[IN] - index of the page entry within the topic (see GetPageEntryRankInNode)
entryUIDRef[OUT] - the UIDRef of the specified page entry.
virtual const IndexSectionHeader& IIndexTopicList::GetNthTopicSectionHeader (int32 id) const
pure virtual

Retrieves the topic section header at the specified index.

Parameters
id[IN] - index of the section header in the list.
Returns
the desired section header.
See Also
IndexSectionHeader
virtual const UID IIndexTopicList::GetNthTopicSectionUID (int32 id) const
pure virtual

Retrieves the UID of the topic section at the specified index.

Parameters
id[IN] - index of the desired topic section.
Returns
the UID of the specified topic section.
virtual const UID IIndexTopicList::GetNthXRefEntryUID (int32 sectionId,
int32 nodeId,
int32 nth 
) const
pure virtual

Retrieves the specified cross-reference. This method is mostly used by the UI.

Parameters
sectionId[IN] - the section id where the specified topic resides.
nodeId[IN] - id of the topic whithin the section.
nth[IN] - index (0-based) of the cross-reference.
Returns
UID of the cross-reference.
virtual const int32 IIndexTopicList::GetNumChildrenOfNode (int32 sectionId,
int32 parentNodeId,
bool16 excludeUnused = kFalse 
) const
pure virtual

Retrieves the number of children nodes of the specified topic node. This method is mostly used by the UI.

Parameters
sectionId[IN] - the section id where the specified topic resides.
parentNodeId[IN] - id of the topic within the section.
excludeUnused[IN] - flag that specifies is the unused topics should be excluded.
Returns
the number of children topic nodes that the specidfied topic has.
virtual const int32 IIndexTopicList::GetNumOfIndexInstances () const
pure virtual

Retrieves the number of index instances. This method was initially intended to be used for the case when we have multiple instances of an index of the same topic list. This method is not currently used.

See Also
IIndexInstanceList
virtual const int32 IIndexTopicList::GetNumPageEntriesOfNode (int32 sectionId,
int32 nodeId 
) const
pure virtual

Retrieves the number of page entries associated with the specified topic. This method is mostly used by the UI.

Parameters
sectionId[IN] - the section id where the specified topic resides.
nodeId[IN] - id of the topic whithin the section.
Returns
the number of associated page entries.
virtual const int32 IIndexTopicList::GetNumTopics () const
pure virtual

Retrieves the total number of topics contained in this list.

Returns
number of topics.
virtual const int32 IIndexTopicList::GetNumTopicSections () const
pure virtual

Retrieves the total number of topic sections within this list.

Returns
number of topic sections.
virtual const int32 IIndexTopicList::GetNumXRefEntriesOfNode (int32 sectionId,
int32 nodeId 
) const
pure virtual

Retrieves the number of cross-references that refer to the specified node. This method is mostly used by the UI.

Parameters
sectionId[IN] - the section id where the specified topic resides.
nodeId[IN] - id of the topic whithin the section.
Returns
number of cross-references to the specified topic.
virtual const int32 IIndexTopicList::GetPageEntryRankInNode (int32 sectionId,
int32 nodeId,
UIDRef entryUIDRef 
) const
pure virtual

Retrieves the index of the specified page entry within that topic. This method is mostly used by the UI.

Parameters
sectionId[IN] - the section id where the specified topic resides.
nodeId[IN] - id of the topic whithin the section.
entryUIDRef[IN] - UID of the page entry we are looking for.
Returns
the index of the specified page entry.
virtual const int32 IIndexTopicList::GetParentNodeId (int32 sectionId,
int32 childNodeId 
) const
pure virtual

Gets the parent node id of the specified topic node. This method is mostly used by the UI.

See Also
IndexTopicEntryNode
Parameters
sectionId[IN] - section id where the topic resides.
childNodeId[IN] - id of the topic node within the section.
Returns
the id of the parent topic node. If no parent is found or if the child is the top most node the function returns -1.
virtual void IIndexTopicList::GetRefedTopicNodeId (const UID xRefLinksUID,
UIDsectionUID,
int32 & nodeId 
) const
pure virtual

Retrieves the section and node id of the topic referenced by the specified cross-reference. This method is mostly used by the UI.

Parameters
xRefLinksUID[IN] - the UID of the cross-reference.
sectionUID[OUT] - on return will contain the section UID of the referenced topic or kInvalidUID if the function fails.
nodeId[OUT] - on return will contain the node id of the referenced topic or -1 if the function fails.
virtual void IIndexTopicList::GetTopicEntry (int32 sectionId,
int32 nodeId,
IndexTopicEntrytopicEntry 
) const
pure virtual

Retrieves the complete topic entry that contains the topic specified by the section and node id. If there are any parent topic nodes, they will be filled in the result topic entry. Example: if we have a topic hierarchy like [Fruit | Apple | Jonathan], and we call this method passing the section and node id of topic "Jonathan", we will get back a topic entry that contains [Fruit | Apple | Jonathan] - all three topics. If we call it with the section and node id of the topic "Apple" we will get back [Fruit | Apple].

See Also
IndexTopicEntry.
Parameters
sectionId[IN] - the section id where the specified topic resides.
nodeId[IN] - id of the topic whithin the section.
topicEntry[OUT] - complete topic entry that will contain the specified topic node and it's parents.
virtual const int32 IIndexTopicList::GetTopicSectionId (UID sectionUID) const
pure virtual

Retrieves the index of the specified topic section UID.

Parameters
sectionUID[IN] - the UID of the topic section.
Returns
the index within the list of the specified topic section.
virtual const UID IIndexTopicList::GetXRefLinksUID (int32 sectionId,
int32 nodeId 
) const
pure virtual

Retrieves the UID of the kIndexXRefLinksBoss that manages the cross-references for the specified topic. This method is mostly used by the UI.

Parameters
sectionId[IN] - the section id where the specified topic resides.
nodeId[IN] - id of the topic whithin the section.
Returns
UID of the kIndexXRefLinksBoss.
virtual bool16 IIndexTopicList::IsModifiedWithoutAvailableHSHandler () const
pure virtual

This method is not used and it will be deprecated

virtual void IIndexTopicList::RemoveIndexInstance (const UID indexUID)
pure virtual

Removes an index instance. This method was initially intended to be used for the case when we have multiple instances of an index of the same topic list. This method is not currently used.

See Also
IIndexInstanceList
virtual void IIndexTopicList::RemoveTopicSection (UID indexUID)
pure virtual

Removes a topic section from the list.

Parameters
indexUID[IN] - the UID of the topic section to be removed.
virtual void IIndexTopicList::SetIndexPageRangeData (const IDXPageRangeKeypageRangeKey,
const IDXPageRangeDatapageRangeData 
)
pure virtual

Set the entry in the cached map with the given key and value. The key might be changed when the entry is added into the map.

Parameters
pageRangeKey[IN] - the key of the single entry to be inserted in the map.
pageRangeData[IN] - the value of the single entry to be inserted in the map.
virtual void IIndexTopicList::SetModifiedWithoutAvailableHSHandler (bool16 modified)
pure virtual

This method is not used and it will be deprecated

virtual bool16 IIndexTopicList::TopicEntryIsUsed (int32 sectionId,
int32 nodeId,
bool16 includeChildren = kTrue 
) const
pure virtual

Checks if the specified topic has at least one index reference (page reference, cross-reference or pointed by a cross-reference).

Parameters
sectionId[IN] - the section id where the specified topic resides.
nodeId[IN] - id of the topic whithin the section.
includeChildren[IN] - flag that specifies if the children of the specified topic should be included in the search.
Returns
kTrue if the specified topic is used in at least one index reference.
virtual void IIndexTopicList::UpdateIndexPageRangeDataMap (const IDXPageRangeKeypageRangeKey,
const IDXPageRangeDatapageRangeData 
)
pure virtual

Update the single entry in the cached map with the given key and value.

Parameters
pageRangeKey[IN] - the key of the single entry to look for in the map.
pageRangeData[IN] - the value of the single entry to update.