InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IZOrderSelectionSuite.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Michael Martz
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 // Note:
24 //
25 //========================================================================================
26 
27 #ifndef _IZORDERSELECTIONSUITE_
28 #define _IZORDERSELECTIONSUITE_
29 //________________________________________________________________________________________________
30 // INCLUDES
31 //________________________________________________________________________________________________
32  #include "ShuksanID.h"
33  #include "IPMUnknown.h"
34  #include "PMRect.h"
35  #include "PMTypes.h"
36  #include "ISelectionMessages.h"
37  #include "IActionManager.h" // For kInvalidMousePoint
38 
39 class IControlView;
40 
42 typedef enum {
44  kLeftDirection = 0,
46  kRightDirection = 1,
48  kLeftDirectionx5 = 2,
50  kRightDirectionx5 = 3,
52  kExtremeLeftDirection = 4,
54  kExtremeRightDirection = 5 }
55  SelectDirection;
56 
57 //________________________________________________________________________________________________
58 // CLASS DECLARATION
59 //________________________________________________________________________________________________
60 
65  {
66  //____________________________________________________________________________________________
67  // Data Types
68  //____________________________________________________________________________________________
69  public:
70  enum { kDefaultIID = IID_IZORDERSELECTIONSUITE };
71 
79  virtual bool16 CanSelectForward(IControlView* view, Selection::Action replaceOrAdd, const PMPoint& point, const PMRect& rect = kEmptyRect) const = 0;
80 
88  virtual bool16 CanSelectBackward(IControlView* view, Selection::Action replaceOrAdd, const PMPoint& point, const PMRect& rect = kEmptyRect) const = 0;
89 
97  virtual bool16 CanSelectFront(IControlView* view, Selection::Action replaceOrAdd, const PMPoint& point, const PMRect& rect = kEmptyRect) const = 0;
98 
106  virtual bool16 CanSelectBack(IControlView* view, Selection::Action replaceOrAdd, const PMPoint& point, const PMRect& rect = kEmptyRect) const = 0;
107 
112  virtual bool16 CanSelectParent(IControlView* view) const = 0;
113 
118  virtual bool16 CanSelectChild(IControlView* view) const = 0;
119 
125  virtual bool16 CanSelectSibling(IControlView* view, SelectDirection direction) const = 0;
126 
135  virtual ErrorCode SelectForward(IControlView* view, Selection::Action replaceOrAdd, const PMPoint& point, const PMRect& rect = kEmptyRect) const = 0;
136 
145  virtual ErrorCode SelectBackward(IControlView* view, Selection::Action replaceOrAdd, const PMPoint& point, const PMRect& rect = kEmptyRect) const = 0;
146 
155  virtual ErrorCode SelectFront(IControlView* view, Selection::Action replaceOrAdd, const PMPoint& point, const PMRect& rect = kEmptyRect) const = 0;
156 
165  virtual ErrorCode SelectBack(IControlView* view, Selection::Action replaceOrAdd, const PMPoint& point, const PMRect& rect = kEmptyRect) const = 0;
166 
171  virtual ErrorCode SelectParent(IControlView* view) const = 0;
172 
177  virtual ErrorCode SelectChild(IControlView* view) const = 0;
178 
185  virtual ErrorCode SelectSibling(IControlView* view, SelectDirection direction) const = 0;
186  };
187 
188 #endif // _IZORDERSELECTIONSUITE_