InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IIndexHeaderSet.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Michel Hutinel
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //
23 // Comments: This interface saves the information about an Index instance (generated index).
24 //
25 //========================================================================================
26 
27 #ifndef __IIndexHeaderSet__
28 #define __IIndexHeaderSet__
29 
30 #include "IPMUnknown.h"
31 #include "IndexingID.h"
32 #include "IndexSectionHeader.h"
33 #include "IndexHeaderGroup.h"
34 
35 class PMString;
36 class WideString;
37 class IndexTopicEntry;
38 
43 {
44 public:
45  enum { kDefaultIID = IID_IINDEXHEADERSET };
46 
47  virtual void Set(const IIndexHeaderSet* newHeaderSet) = 0;
48  virtual bool16 SetHeaderSetHandlerClassID(const ClassID handlerClassID, int32 groupingValue = -1, int32 groupingOptionValue = -1, bool16 rebuildSet = kTrue) = 0;
49  virtual const ClassID& GetHeaderSetHandlerClassID(int32* groupingValue = nil, int32* groupingOptionValue = nil) const = 0;
50  virtual void Clear(bool16 onlyGroups = kFalse) = 0;
51 
52  virtual bool16 Equal(const IIndexHeaderSet* otherSet) const = 0;
53 
54  virtual void SetName(const PMString& name) = 0;
55  virtual const PMString& GetName() const = 0;
56 
57  virtual void SetLanguageID(const LanguageID language) = 0;
58  virtual LanguageID GetLanguageID() const = 0;
59 
60  virtual void AppendGroup(const IndexHeaderGroup& topicHeaderGroup) = 0;
61  virtual const int32 GetNumSectionHeader(const int32 groupId = -1) const = 0;
62  virtual const IndexSectionHeader& GetNthSectionHeader(int32 nth, const int32 groupId = -1) const = 0;
63  virtual const int32 GetNumGroup() const = 0;
64  virtual const IndexHeaderGroup& GetNthGroup(int32 nth) const = 0;
65  virtual const bool16 GetGroup(PMString UIGroupName, IndexHeaderGroup& groupFound) const = 0;
66  virtual const int32 GetNumVisibleGroup() const = 0;
67  virtual const int32 GetNumSectionOfAllInvisibleGroup() const = 0;
68  virtual const int32 GetGroupIdOfSection(int32 sectionId) const = 0;
69  virtual const int32 GetSectionIdInWholeList(int32 groupId, int32 sectionIdInGroup) const = 0;
70  virtual const int32 GetSectionIdInWholeList(const IndexSectionHeader& sectionHeader) const = 0;
71  virtual const int32 GetSectionIdInGroup(int32 sectionIdInWholeList) const = 0;
72  virtual const bool16 IsNthGroupVisible(int32 nth) const = 0;
73 
74  virtual bool16 FindTopicSectionUIDRef(const IndexTopicEntry& topicEntry, UIDRef& sectionRef, bool16 stripQuotes = kTrue) const = 0;
75  virtual bool16 FindTopicSectionId(const IndexTopicEntry& topicEntry, int32& sectionId, bool16 stripQuotes = kTrue) const = 0;
76 };
77 
78 #endif // __IIndexHeaderSet__