InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IPathStrokerUtils.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Greg St. Pierre
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 // ADOBE CONFIDENTIAL
24 //
25 //========================================================================================
26 
27 #ifndef __IPathStrokerUtils__
28 #define __IPathStrokerUtils__
29 
30 #include "InstStrokeFillID.h"
31 #include "RequestContext.h"
32 #include "Utils.h"
33 
34 class IDataBase;
35 class IDocument;
36 class IPathStroker;
37 class IPathStrokerList;
41 class ICommand;
43 class IDialog;
44 class IScript;
45 class IScriptRequestData;
46 class SortedUIDList;
47 
49 {
50 public:
51  enum { kDefaultIID = IID_IPATHSTROKERUTILS };
52 
59  virtual uint32 GetPathStrokerCount(IDocument const *document) const = 0;
60 
68  virtual IPathStroker *QueryNthPathStroker(IDocument const *document, uint32 index) const = 0;
69 
76  virtual IPathStrokerList *QueryPathStrokerList(IDataBase *db) const = 0;
77 
84  virtual IPathStrokerList *QueryPathStrokerList(IDocument const *document) const = 0;
85 
91  virtual IPathStrokerList *_QueryActivePathStrokerList() const = 0;
92 
102  virtual bool16 FindNamedPathStroker(
103  IPathStrokerList const *strokerList,
104  PMString const &name,
105  uint32 &index,
106  bool16 useTranslatedNames = kTrue
107  ) const = 0;
108 
118  virtual bool16 FindPathStroker(
119  IPathStrokerList const *strokerList,
120  ClassID const &classId,
121  UID const &uid,
122  uint32 &index
123  ) const = 0;
124 
134  IPathStrokerList const *strokerList,
135  ClassID const &classId,
136  UID const &uid
137  ) const = 0;
138 
147  IPathStrokerList const *strokerList,
149  ) const = 0;
150 
157  virtual bool16 IsCustomStroker(IPathStroker const *stroker) const = 0;
158 
166  virtual bool16 IsCustomStroker(ClassID const &classId, UID const &uid) const = 0;
167 
177  virtual PMString GetPathStrokerName(IPathStroker const *stroker, bool16 translateName = kTrue) const = 0;
178 
189  IPathStrokerList const *list,
190  PMString const &basename
191  ) const = 0;
192 
200  virtual IPathStrokerMetadata *QueryPathStrokerMetadata(IPathStroker const *stroker) const = 0;
201 
212  IPathStrokerList const *strokerList,
213  ClassID const &classId,
214  UID const &uid
215  ) const = 0;
216 
224  virtual uint32 GetMetadataCount() const = 0;
225 
232  virtual IPathStrokerMetadata *QueryNthMetadata(uint32 index) const = 0;
233 
240  virtual IPathStrokerMetadata *QueryPathStrokerMetadataByClass(ClassID const &metadataClass) const = 0;
241 
248  virtual IPathStrokerMetadata *QueryPathStrokerMetadataByName(PMString const &name) const = 0;
249 
258  virtual bool16 CanStrokerBeDuplicated(
259  IPathStrokerList const *strokerList,
260  ClassID const &classId,
261  UID const &uid
262  ) const = 0;
263 
275  IPathStrokerList const *strokerList,
276  ClassID const &classId,
277  UID const &uid,
278  IDataBase *db,
279  bool16 addToList
280  ) const = 0;
281 
292  IPathStroker const *source,
293  IDataBase *db,
294  bool16 addToList
295  ) const = 0;
296 
305  virtual IPathStroker *NewPathStroker(
306  IPathStrokerMetadata const *metadata,
307  IDataBase *db,
308  bool16 addToList
309  ) const = 0;
310 
318  virtual ErrorCode GetLineStyleUID(UID &uid, IGraphicStyleDescriptor *styleDesc) const = 0;
319 
327  virtual IGraphicAttrClassID *CreateLineStyleAttribute(UID const &styleUID) const = 0;
328 
337  virtual ErrorCode AddLineStyleAttribute(
338  UID const &styleUID,
339  IGraphicStyleAttributeBossList *attributeList
340  ) const = 0;
341 
353  UID const &styleUID,
354  const UIDList *targetItemList,
355  bool16 doPrePost,
356  bool16 enableDoNotify
357  ) const = 0;
358 
367  virtual ErrorCode ReplacePathStrokers(
368  UIDList const &strokerList,
369  ClassID const &replaceClass,
370  UID const &replaceUID
371  ) const = 0;
372 
379  virtual void GetReferencedPathStrokers(
380  IPathStrokerList const *strokerList,
381  SortedUIDList &refdStrokers
382  ) const = 0;
383 
391  virtual ErrorCode SetPathStrokerName(IPathStroker *pathStroker, PMString const &name) const = 0;
392 
400  virtual ErrorCode DeleteAndReplacePathStroker(
401  UIDList const &deleteList,
402  ClassID const &replaceClass,
403  UID const &replaceUID
404  ) const = 0;
405 
406  enum StrokeStyleImportError
407  {
408  kErrorSuccess,
409  kErrorFileDamaged,
410  kFailedToCopyStroke,
411  kErrorUnknown
412  };
413 
420  virtual IPathStrokerUtils::StrokeStyleImportError ImportStyles(
421  IDFile const &file,
422  IDataBase *destination
423  ) const = 0;
424 
434  virtual IPathStrokerUtils::StrokeStyleImportError ExportStyles(
435  IDFile const &file,
436  IDataBase *source,
437  UIDList const &styles,
438  SysOSType const &creator,
439  SysOSType const &fileType
440  ) const = 0;
441 
448  virtual IScript* CreateStrokeStyleScriptObject( const ScriptInfo::RequestContext& context, IScript* parent, const ClassID& clsID ) const = 0 ;
449 
458  virtual ErrorCode GetStrokeStyleForGetProperty( IScriptRequestData* data, IScript* script, const ScriptID& propID, IDataBase* db, const ClassID& classID, const UID& uid, bool16 returnName = kFalse ) const = 0 ;
459 
469  virtual ErrorCode GetStrokeStyleForSetProperty( const IScriptRequestData* data, const ScriptID& propID, IDataBase*& db, ClassID& classID, UID& uid, bool16 allowNone = kFalse ) const = 0 ;
470 };
471 
472 #endif