InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IDialogUtils.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: rkamicar
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 __IDialogUtils__
25 #define __IDialogUtils__
26 
27 //#include "IPMUnknown.h"
28 #include "OMTypes.h"
29 #include "BaseType.h"
30 #include "ICompositionStyle.h"
31 #include "StringUtils.h"
32 
33 class ModelRange;
34 class IPanelControlData;
36 class IStyleGroupListControlData;
37 class IDialogController;
38 class IDialogUtils;
39 class IDFile;
40 
41 
42 // UIDFillerFunc's
44 typedef int32 (*UIDFillerFunc)(IActiveContext* dlgContext, IPanelControlData*, IStringListControlData*, UID);
46 typedef int32 (*UIDFillerStyleGroupFunc)(IActiveContext* dlgContext, IPanelControlData*, IStyleGroupListControlData*, UID);
48 typedef UID (*UIDExtractorFunc)(IWorkspace*, const IStringListControlData*, int32);
49 
51 typedef int32 (IDialogUtils:: *UIDFillerFunc2)(IActiveContext* dlgContext, IPanelControlData*, IStringListControlData*, UID);
53 typedef UID (IDialogUtils:: *UIDExtractorFunc2)(IWorkspace*, const IStringListControlData*, int32);
55 typedef int32 (IDialogUtils:: *UIDFillerStyleGroupFunc2 )(IActiveContext* dlgContext, IPanelControlData*, IStyleGroupListControlData*, UID);
56 
57 // CLSFillerFunc's
59 typedef int32 (*CLSFillerFunc)(IPanelControlData*, IStringListControlData*, ServiceID, ClassID);
61 typedef ClassID (*CLSExtractorFunc)(const IStringListControlData*, int32, ServiceID);
63 typedef int32 (IDialogUtils:: *CLSFillerFunc2)(IPanelControlData*, IStringListControlData*, ServiceID, ClassID);
65 typedef ClassID (IDialogUtils:: *CLSExtractorFunc2)(const IStringListControlData*, int32, ServiceID);
66 
71 class IDialogUtils : public IPMUnknown
72 {
73 public:
74  enum { kDefaultIID = IID_IDIALOGUTILS };
75 
76  static const bool16 kDontInvalidate = kFalse;
77  static const bool16 kDontNotify = kFalse;
78  static const bool16 kDoInvalidate = kTrue;
79  static const bool16 kDoNotify = kTrue;
80  static const bool16 kShow = kTrue;
81  static const bool16 kHide = kFalse;
82  static const bool16 kEnable = kTrue;
83  static const bool16 kDisable = kFalse;
84 
85 // =====================================================================================================================
86  // helpers for IK2ServiceProvider's
87 
88  template <class I>
89  int32 ServiceDropDownFiller(IPanelControlData*, IStringListControlData* offsetData, ServiceID sid, ClassID cid);
90 
91  template<class I>
92  ClassID Index2ServiceStyle(const IStringListControlData* offsetData, int32 which, ServiceID sid);
93 
97  virtual void InitDropDownFromUID(IDialogController* controller, IActiveContext* dlgContext, IPanelControlData* panelData, WidgetID wid, UID uid, UIDFillerFunc dropDownFiller) = 0;
98  virtual void InitDropDownFromUID(IDialogController* controller, IActiveContext* dlgContext, IPanelControlData* panelData, WidgetID wid, UID uid, UIDFillerFunc2 dropDownFiller) = 0;
99 
103  virtual void InitStyleGroupDropDownFromUID(IDialogController* controller, IActiveContext* dlgContext, IPanelControlData* panelData, WidgetID wid, UID uid, UIDFillerStyleGroupFunc dropDownFiller) = 0;
104  virtual void InitStyleGroupDropDownFromUID(IDialogController* controller, IActiveContext* dlgContext, IPanelControlData* panelData, WidgetID wid, UID uid, UIDFillerStyleGroupFunc2 dropDownFiller) = 0;
105 
109  virtual UID UIDFromDropDown(IWorkspace* ws, const IDialogController* controller, WidgetID wid, UIDExtractorFunc dropDownExtractor) = 0;
110  virtual UID UIDFromDropDown(IWorkspace* ws, const IDialogController* controller, WidgetID wid, UIDExtractorFunc2 dropDownExtractor) = 0;
111 
112  virtual int32 CharStyleDropDownFiller(IActiveContext* dlgContext, IPanelControlData* panelData, IStyleGroupListControlData* offsetData, UID uid) = 0;
113  virtual int32 ParaStyleDropDownFiller(IActiveContext* dlgContext, IPanelControlData* panelData, IStyleGroupListControlData* offsetData, UID uid) = 0;
114  virtual int32 TextStyleDropDownFiller(IActiveContext* dlgContext, IPanelControlData*, IStyleGroupListControlData* offsetData, UID uid, PMIID styleType) = 0;
115 
116  //virtual UID Index2ParaStyle(IWorkspace* ws, IStringListControlData* offsetData, int32 which) = 0;
117  //virtual UID Index2CharStyle(IWorkspace* ws, IStringListControlData* offsetData, int32 which) = 0;
118 
122  virtual void InitDropDownFromService(IDialogController* controller, WidgetID wid, ServiceID sid, ClassID cid, CLSFillerFunc dropDownFiller, bool16 enable = kTrue, bool16 hide = kFalse) = 0;
123  virtual void InitDropDownFromService(IDialogController* controller, WidgetID wid, ServiceID sid, ClassID cid, CLSFillerFunc2 dropDownFiller, bool16 enable = kTrue, bool16 hide = kFalse) = 0;
124 
125  virtual ClassID ServiceFromDropDown(IWorkspace* ws, const IDialogController* controller, WidgetID wid, ServiceID sid, CLSExtractorFunc dropDownExtractor) = 0;
126  virtual ClassID ServiceFromDropDown(IWorkspace* ws, const IDialogController* controller, WidgetID wid, ServiceID sid, CLSExtractorFunc2 dropDownExtractor) = 0;
127 
128  virtual int32 DateServiceDropDownFiller(IPanelControlData*, IStringListControlData* offsetData, ServiceID sid, ClassID cid) = 0;
129  virtual int32 NumberingServiceDropDownFiller(IPanelControlData*, IStringListControlData* offsetData, ServiceID sid, ClassID cid) = 0;
130  virtual int32 StringServiceDropDownFiller(IPanelControlData*, IStringListControlData* offsetData, ServiceID sid, ClassID cid) = 0;
131 
132  virtual ClassID Index2DateStyle(const IStringListControlData* offsetData, int32 which, ServiceID sid) = 0;
133  virtual ClassID Index2NumberingStyle(const IStringListControlData* offsetData, int32 which, ServiceID sid) = 0;
134  virtual ClassID Index2StringStyle(const IStringListControlData* offsetData, int32 which, ServiceID sid) = 0;
135 
136  virtual Text::FirstLineOffsetMetric Index2FLO(const IStringListControlData* offsetData, int32 index) = 0;
137  virtual bool16 FLO2Index(IStringListControlData* offsetData, Text::FirstLineOffsetMetric flo, bool16 JFeatureSet, int32 *index) = 0;
138 
139  virtual void InitColorDropDown(const IActiveContext* dlgContext, IPanelControlData* panelData, WidgetID wid, UID uid) = 0;
140  virtual UID GetColorUID(IPanelControlData* panelData, WidgetID& widgetID) = 0;
141  virtual UID GetColorUID(IControlView *view) = 0;
142  virtual void SetColorUID(IPanelControlData* panelData, WidgetID& widgetID, UID& newUID) = 0;
143  virtual void SetColorUID(IControlView *view, UID& newUID) = 0;
144 
145  virtual void InitStrokeStyleDropDown(const IActiveContext* dlgContext, IPanelControlData* panelData, WidgetID wid, ICompositionStyle::StrokeType strokeType) = 0;
146  virtual void GetStrokeType(IPanelControlData* panelData, WidgetID& widgetID, ICompositionStyle::StrokeType& newStroke) = 0;
147  virtual void GetStrokeType(IControlView *view, ICompositionStyle::StrokeType& newStroke) = 0;
148  virtual void SetStrokeType(IPanelControlData* panelData, WidgetID& widgetID, ICompositionStyle::StrokeType& newStroke) = 0;
149  virtual void SetStrokeType(IControlView *view, ICompositionStyle::StrokeType& newStroke) = 0;
150  virtual void StrokeTypeControlHack(IPanelControlData* panelData, WidgetID wid) = 0;
151 
152  virtual bool16 EnableOverprint(const IDialogController* fController, int32 colorWID, UIDRef colorUIDRef, PMReal tint) = 0;
153  virtual bool16 EnableGap(ICompositionStyle::StrokeType strokeType) = 0;
154 
155  virtual void EnableControl(IDialogController* controller, WidgetID nWidgetID, bool16 bEnable) = 0;
156  virtual void EnableShowControl(IDialogController* controller, WidgetID nWidgetID, bool16 bEnableShow) = 0;
157 
158  virtual bool16 GetSourceFileViaDialog(IDFile& sourceFile) = 0;
159  virtual IDocument* OpenFile(IDFile systemFile,bool32& docWasAlreadyOpen) = 0;
160  virtual void CloseFile(IDocument *openedDoc, bool32 docWasAlreadyOpen) = 0;
161 };
162 #endif // __IDialogUtils__
163