InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IWalkerScopeFactoryUtils.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Habib Khalfallah
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 
24 #ifndef __IWalkerScopeFactoryUtils__
25 #define __IWalkerScopeFactoryUtils__
26 #include "TextWalkerServiceProviderID.h"
27 #include "PMTextUtils.h"
28 #include "WalkerScopeOptions.h"
29 class ITextWalkerScope;
30 class ITextWalker;
31 class IDocument;
32 class UIDList;
33 class ITextModel;
34 class ITextFocusList;
35 class ISelectionManager;
36 class RangeData;
37 class XMLReference;
38 
47 {
48 public:
49  enum { kDefaultIID = IID_IWALKERSCOPEFACTORYUTILS};
50 
52  {
82  };
83 
92 
101 
109  virtual ITextWalkerScope *QueryDocumentWalkerScope(const UIDRef& doc,WalkerScopeOptions options = WalkerScopeOptions()) const = 0;
110 
118  virtual ITextWalkerScope *QueryStoryListWalkerScope(const UIDList& storyList,WalkerScopeOptions options = WalkerScopeOptions()) const = 0;
119 
128  virtual ITextWalkerScope *QueryFocusListWalkerScope(const ITextFocusList* focusList,WalkerScopeOptions options = WalkerScopeOptions(),bool16 collectStoryRanges=kFalse) const = 0;
129 
137  virtual ITextWalkerScope *QueryStoryWalkerScope(const UIDRef& story,WalkerScopeOptions options = WalkerScopeOptions()) const = 0;
138 
148  virtual ITextWalkerScope *QueryRangeWalkerScope(ITextModel *pModel, TextIndex start, int32 length,WalkerScopeOptions options = WalkerScopeOptions()) const = 0;
149 
158  virtual ITextWalkerScope *QueryRangeWalkerScope(ITextModel *pModel, const RangeData& r,WalkerScopeOptions options = WalkerScopeOptions()) const = 0;
159 
167 
168 
169  // The range list argument in the following set of functions is used to get a scope that contains ordered
170  // foci that start after the range list (inclusive) till the end, and loop back to the beginning up to start
171  // of range list.
181  virtual ITextWalkerScope *QueryToEndOfStoryWalkerScope(const UIDRef& story, const Text::StoryRangeList& rangeList,WalkerScopeOptions options = WalkerScopeOptions()) const = 0;
182 
192  virtual ITextWalkerScope *QueryAllOpenDocsWalkerScope(const UIDRef& storyRef,
193  const Text::StoryRangeList& rangeList,
194  WalkerScopeOptions options = WalkerScopeOptions()) const = 0;
195 
206  virtual ITextWalkerScope *QueryDocumentWalkerScope(const UIDRef& doc,
207  const UIDRef& storyRef,
208  const Text::StoryRangeList& rangeList,
209  WalkerScopeOptions options = WalkerScopeOptions()) const = 0;
210 
220  virtual ITextWalkerScope *QueryStoryWalkerScope(const UIDRef& story,
221  const Text::StoryRangeList& rangeList,
222  WalkerScopeOptions options = WalkerScopeOptions()) const = 0;
223 
231  virtual ITextWalkerScope *QueryXMLElementWalkerScope(const XMLReference& xmlElement,
232  WalkerScopeOptions options = WalkerScopeOptions()) const = 0;
233 
242  virtual void CarryoutAnyExclusions(const UIDRef& textStory,
243  const Text::StoryRangeList& inRangeList,
244  Text::StoryRangeList& outRangeList,
245  const WalkerScopeOptions& options) const = 0;
246 
251  virtual WalkScopeType GetActiveSelectionScope() const = 0;
252 
262  virtual WalkScopeType SetWalkScope(ITextWalker* pWalker, WalkScopeType type) = 0;
263 
270  virtual WalkScopeType GetWalkScope(ITextWalkerScope* pScope) const = 0;
271 };
272 
273 #endif