InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IUserDictService.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Bernd Paradies
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 __IUserDictService__
25 #define __IUserDictService__
26 
27 #include "IPMUnknown.h"
28 #include "K2Vector.h"
29 #include "KeyValuePair.h"
30 #include "LinguisticID.h"
31 //----------------------------------------------------------------------------------------
32 // Interface IUserDictService
33 //----------------------------------------------------------------------------------------
34 class WideString;
35 class IHyphenatedWord;
36 class UserDictWordList;
37 
38 // key: index in word, value: kNoHyphenPoint to kHardHyphenPoint (see LinguisticID.h).
40 
41 class IUserDict : public IPMUnknown
42 {
43 public:
44  enum {kDefaultIID = IID_IUSERDICT};
45 
46  virtual void SetFilePathName(const PMString& filePath) = 0;
47  virtual const PMString& GetFilePathName(void) const = 0;
48 
49  virtual void SetDataFile(void* dataFile) = 0;
50  virtual void* GetDataFile(void) const = 0;
51 
52  virtual void Flush(void) = 0;
53 
59  virtual PMString GetDisplayName() = 0;
60 };
61 
66 {
67 public:
68  enum {kDefaultIID = IID_IUSERDICTSERVICE};
69 
70  enum WordType{ kIsAWord, kNotAWord };
71  enum UserDictType{ kNone, kIsDict, kNotDict };
72 
87  virtual bool16 AddToUserDict(IUserDict* userDict, const UserDictWordList &constWordList, bool16 caseSensitive, bool16 addToNotList = kFalse) = 0;
88 
103  virtual bool16 AddToUserDict( IUserDict* userDict, const WideString &rWord, const HyphenPoints *pPoints = nil, bool16 caseSensitive = kFalse ) = 0;
104 
113  virtual bool16 RemoveFromUserDict( IUserDict* userDict, const WideString &rWord ) = 0;
114 
121  virtual bool16 ClearUserDict(IUserDict* userDict) = 0;
122 
134  virtual UserDictType GetCorrectedWord( IUserDict* userDict, const WideString &rWord, WideString *pCorrectedWord ) = 0;
135 
139  virtual bool16 GetHyphenatedWord( IUserDict* userDict, const WideString &rWord, WideString *pHyphenatedWord ) = 0;
140 
141  //--------- SEARCH PATH ROUTINES-----------------
142 
155  virtual bool16 AddUserDictToSearchPath(IUserDict* userDict, int32 index, bool16 addToVendorList = kTrue, bool16 initializing = kFalse) = 0;
156 
165  virtual bool16 MoveUserDictInSearchPath(int32 oldIndex, int32 newIndex) = 0;
166 
174  virtual bool16 RemoveUserDictFromSearchPath(IUserDict* userDict) = 0;
175 
184  virtual bool16 ReplaceUserDictInSearchPath(IUserDict* originalUserDict, IUserDict* newUserDict) = 0;
185 
198  virtual int32 QueryAllUserDictsInSearchPath(K2Vector<IUserDict*>& userDictList, bool16 bOpenFiles) = 0;
199 
205  virtual int32 RemoveAllUserDictsFromSearchPath(void) = 0;
206 
207 
208  //--------- MISC ROUTINES-----------------
209 
215  virtual IUserDict* QueryNotUserDict(void) = 0;
216 
222  virtual IUserDict* QueryMainUserDict(void) = 0;
223 
227  virtual bool16 SetMainUserDict(IUserDict* userDict) = 0;
228 
234  enum CreateType {
238 
242 
246 
257  };
258 
269  virtual IUserDict* CreateNewUserDict(const PMString& filePathName, int16 createFlags) = 0;
270 
282  virtual bool16 MigrateUserDict(const IDFile& existingDictFile, const IDFile& newDictFile) = 0;
283 
289  virtual bool16 InitializePaths(void) = 0;
290 
298  virtual bool16 IsReadOnly(IUserDict* userDict) = 0;
299 
305  virtual bool16 Flush() = 0;
306 
310  virtual void FlushUserDicts(void) = 0;
311 
317  virtual const PMString& GetDefaultFilePathName(void) const = 0;
318 
322  virtual const PMString& GetNotFilePathName(void) const = 0;
323 
324 
335  virtual bool16 RemoveFromMainDict( const WideString &rWord ) = 0;
336 
346  virtual bool16 UndoRemoveFromMainDict( const WideString &rWord ) = 0;
347 
355  virtual bool16 ClearRemovedFromMainDict(IUserDict* userDict) = 0;
356 
360  virtual bool16 CloseNotClamFile() = 0;
364  virtual bool16 IsWordInMainDict( const WideString &rWord, const HyphenPoints *pPoints = nil ) = 0;
365 
369  virtual bool16 Bind( IUserDict* userDict, const WideString &rChangeFrom, const WideString &rChangeTo ) = 0;
373  virtual bool16 Unbind( IUserDict* userDict, const WideString &rChangeFrom, const WideString &rChangeTo ) = 0;
374 };
375 
376 #endif