InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IAppearanceList.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Tim Wright
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 __IAppearanceList_h__
25 #define __IAppearanceList_h__
26 
27 #include "IPMUnknown.h"
28 #include "FormFieldTypes.h"
29 #include "FormFieldID.h"
30 #include "BravoForwardDecl.h"
31 
32 //=============================================================================
33 
47 {
48 public:
49  enum { kDefaultIID = IID_IAPPEARANCELIST };
50  enum
51  {
52  kInvalidate = kTrue,
53  kDontInvalidate = kFalse,
54  kInvalidStateID = -1,
55  kLastInOrder = -1
56  };
57 
58  typedef int32 StateID;
59 
60 
64  virtual Form::AppearanceState GetActiveState() const = 0;
65 
70  virtual StateID GetStateID(Form::AppearanceState inState) const = 0;
71 
73  virtual StateID GetActiveStateID() const = 0;
74 
76  virtual Form::AppearanceState GetIDState(IAppearanceList::StateID inStateID) const = 0;
77 
81  virtual void SetActiveState( Form::AppearanceState inState ) = 0;
82 
87  virtual Form::AppearanceState GetChildState( const UID& inChildUID ) const = 0;
88 
92  virtual Form::AppearanceState GetActiveStateTemp() const = 0;
93 
96  virtual Form::AppearanceState GetStateFromName(const PMString& name) const = 0;
97 
102  virtual Form::AppearanceState GetNextAvailableState() const = 0;
103 
110  virtual void SetActiveStateTemp( Form::AppearanceState inState, bool16 inInvalCaches=IAppearanceList::kInvalidate ) = 0;
111 
113  virtual int32 NumStates() const = 0;
114 
116  virtual bool16 HasAppearance( Form::AppearanceState inState ) const = 0;
117 
124  virtual void AddAppearance( Form::AppearanceState inState, const Form::Appearance& inAppearance, int32 position = kLastInOrder ) = 0;
125 
133  virtual void RemoveAppearance( Form::AppearanceState inState, Form::Appearance* outRemovedAppearance ) = 0;
134 
139  virtual void ChangeState( Form::AppearanceState inState, Form::AppearanceState inNewState) = 0;
140 
145  virtual void Move( Form::AppearanceState inState, int32 inPosition) = 0;
146 
150  virtual bool16 CanAddState( Form::AppearanceState inState ) const = 0;
151 
156  virtual bool16 GetAppearance( Form::AppearanceState inState, Form::Appearance* outAppearance ) const = 0;
157 
161  virtual void SetAppearance( Form::AppearanceState inState, const Form::Appearance& inAppearance ) = 0;
162 
167  virtual Form::AppearanceState GetNthState( int32 inStateIndex ) const = 0;
168 
172  virtual int32 GetStatePosition ( Form::AppearanceState inState ) const = 0;
173 
181  virtual void Clear() = 0;
182 
192  virtual ErrorCode GetThumbnail( Form::AppearanceState inState, int32 inMaxWidth, int32 inMaxHeight, AGMImageRecord* outAGMRecord ) = 0;
193 
197  virtual void InvalidateThumbnail( Form::AppearanceState inState ) = 0;
198 
201  virtual void DisposeThumbnail( Form::AppearanceState inState ) = 0;
202 
214  virtual void ForceRemoveAppearance( Form::AppearanceState inState, Form::Appearance* outRemovedAppearance ) = 0;
215 };
216 
217 //=============================================================================
218 
226 {
227 
228 public:
237  StSetStateTemp(IAppearanceList* inAppList, Form::AppearanceState inState, bool16 inInvalCaches=IAppearanceList::kInvalidate )
238  :
239  fAppList(inAppList), fInvalCaches(inInvalCaches), fOrigState(Form::kStateInvalid)
240  {
241  if ( fAppList ) {
242  fOrigState = inAppList->GetActiveStateTemp();
243  fAppList->SetActiveStateTemp(inState,fInvalCaches);
244  fAppList->AddRef();
245  }
246  }
247 
251  {
252  if ( fAppList ) {
253  fAppList->SetActiveStateTemp(fOrigState,fInvalCaches);
254  fAppList->Release();
255  }
256  }
257 
258 private:
259  IAppearanceList* fAppList;
260  Form::AppearanceState fOrigState;
261  bool16 fInvalCaches;
262 };
263 
264 //=============================================================================
265 
266 #endif // __IAppearanceList_h__
267 
268 // IAppearanceList.h.