GME
13
|
00001 import "oaidl.idl"; 00002 import "ocidl.idl"; 00003 00004 #include "InterfaceColl.h" 00005 #include "InterfaceVersion.h" 00006 00007 00008 import "Meta.idl"; 00009 import "Mga.idl"; 00010 00011 interface IGMEOLEColl; 00012 00013 typedef enum msgtype_enum { 00014 MSG_NORMAL = 0, 00015 MSG_INFO = 1, 00016 MSG_WARNING = 2, 00017 MSG_ERROR =3 00018 } msgtype_enum; 00019 00020 typedef enum editmode_enum { 00021 MODE_EDIT = 0, 00022 MODE_CONNECT = 1, 00023 MODE_DISCONNECT = 2, 00024 MODE_SET =3, 00025 MODE_ZOOM =4, 00026 MODE_VISUALIZE =5 00027 } editmode_enum; 00028 00029 typedef enum bar_enum { 00030 BAR_HORIZ = 0, 00031 BAR_VERTI = 1 00032 } bar_enum; 00033 00034 typedef enum scroll_enum { 00035 SCROL_UP = 0, 00036 SCROL_DOWN = 1, 00037 SCROL_PGUP = 2, 00038 SCROL_PGDN = 3, 00039 SCROL_HOME = 4, 00040 SCROL_END = 5 00041 } scroll_enum; 00042 00043 typedef enum attribpanel_page { 00044 PAGE_ATTRIB = 0, 00045 PAGE_PREF = 1, 00046 PAGE_PROP = 2 00047 } attribpanel_page; 00048 00049 // --------------------------- Gme IDL 00050 00051 [ uuid(9FF8F4E0-E0C9-11d3-B376-005004D38590), 00052 oleautomation, 00053 dual 00054 ] 00055 interface IMgaDataSource : IDispatch 00056 { 00057 [propget, id(1), helpstring("property Data")] 00058 HRESULT Data([out, retval] IUnknown **p); 00059 00060 [propget, id(2), helpstring("property Data")] 00061 HRESULT Folders([out, retval] IUnknown **p); 00062 00063 [propget, id(3), helpstring("property RegistryData")] 00064 HRESULT RegistryData([out, retval] IUnknown **p); 00065 00066 [propget, id(4), helpstring("property Project")] 00067 HRESULT Project([out, retval] IUnknown **p); 00068 }; 00069 00070 interface IGMEOLEIt; 00071 00072 // Primary dispatch interface for CGMEOLEApp 00073 00074 [ uuid(81191A44-B898-4143-BF8B-CA7501FEC19A), 00075 oleautomation, 00076 dual 00077 ] 00078 interface IGMEOLEApp : IDispatch 00079 { 00080 // properties: 00081 [propput, id(1)] HRESULT Visible([in] VARIANT_BOOL isVisible); 00082 [propget, id(1)] HRESULT Visible([out, retval] VARIANT_BOOL* isVisible); 00083 [propget, id(2)] HRESULT Version([out, retval] BSTR* versionStr); 00084 [propget, id(3)] HRESULT VersionMajor([out, retval] short* n); 00085 [propget, id(4)] HRESULT VersionMinor([out, retval] short* n); 00086 [propget, id(5)] HRESULT VersionPatchLevel([out, retval] short* n); 00087 [propget, id(6)] HRESULT Models([out, retval] IGMEOLEColl** coll); 00088 [propget, id(7)] HRESULT MgaProject([out, retval] IMgaProject** p); 00089 [propget, id(8)] HRESULT Panels([out, retval] IGMEOLEColl** coll); 00090 [propput, id(9)] HRESULT ConsoleContents([in] BSTR contents); 00091 [propget, id(9)] HRESULT ConsoleContents([out, retval] BSTR* contents); 00092 00093 // methods: 00094 [id(10)] HRESULT CreateProject([in] BSTR metaname, [in] BSTR ConnStr); 00095 [id(11)] HRESULT OpenProject([in] BSTR ConnStr); 00096 [id(12)] HRESULT CreateProjectDialog(); 00097 [id(13)] HRESULT OpenProjectDialog(); 00098 [id(14)] HRESULT CloseProject([in] VARIANT_BOOL saveOnClose); 00099 [id(15)] HRESULT SaveProject(); 00100 [id(16)] HRESULT SaveProjectAs([in] BSTR ConnStr); 00101 [id(17)] HRESULT SaveProjectAsDialog(); 00102 [id(18)] HRESULT ExportProject([in] BSTR ConnStr); 00103 [id(19)] HRESULT ImportProject([in] BSTR ConnStr); 00104 [id(20)] HRESULT ConstraintsDialog(); 00105 [id(21)] HRESULT CheckAllConstraints(); 00106 [id(22)] HRESULT RegisterParagimsDialog(); 00107 [id(23)] HRESULT RegisterComponentsDialog(); 00108 [id(24)] HRESULT RunComponent([in] BSTR progID); 00109 [id(25)] HRESULT RunComponentDialog(); 00110 [id(26)] HRESULT SettingsDialog(); 00111 [id(27)] HRESULT Undo(); 00112 [id(28)] HRESULT Redo(); 00113 [id(29)] HRESULT ClearUndoQueue(); 00114 [id(30)] HRESULT ProjectPropertiesDialog(); 00115 [id(31)] HRESULT ShowHelpContents(); 00116 [id(32)] HRESULT ShowAbout(); 00117 [id(33)] HRESULT ShowFCO([in] IMgaFCO* mgaFCO, [in, defaultvalue(0)] VARIANT_BOOL inParent); 00118 [id(34)] HRESULT ConsoleMessage([in] BSTR msg, [in]msgtype_enum type); 00119 [id(35)] HRESULT ConsoleClear(); 00120 [id(36)] HRESULT ConsoleNavigateTo([in] BSTR url); 00121 00122 [id(37), helpstring("method ChangeEditmode")] HRESULT ChangeEditmode([in] editmode_enum mode); 00123 [id(38), helpstring("method GridShow")] HRESULT GridShow([in] VARIANT_BOOL show); 00124 [id(39), helpstring("method AttributepanelPage")] HRESULT AttributepanelPage([in] attribpanel_page page); 00125 00126 [propget, id(40)] HRESULT OleIt([out, retval] IGMEOLEIt ** mgamodel); 00127 00128 // methods for disabling components (interpreters, plugins) on the toolbar and in File/Run Interpreter menu 00129 // Users do NOT need to call SetCompFiltering 00130 [id(41), helpstring("method for disabling/enabling a component")] 00131 HRESULT DisableComp( [in] BSTR pCompProgID, [in] VARIANT_BOOL pDisable); 00132 00133 // disable automatically a component whenever a model specified in the 2nd parameter 00134 // is opened AND focused in the editing window 00135 // e.g. : gme.DisableCompForKinds( "MGA.Interpreter.SFInterpreter", "Primitive;Compound") 00136 // specify the special string below to disable components when no model is open at all 00137 // e.g. : gme.DisableCompForKinds( "MGA.Interpreter.SFInterpreter", "_NO_MODEL_IS_OPEN_") 00138 // Users NEED to call SetCompFiltering to activate this feature (before or after) 00139 [id(42), helpstring("method for disabling/enabling a component when certain model kinds are shown")] 00140 HRESULT DisableCompForKinds( [in] BSTR pCompProgID, [in] BSTR pKindSequenceDelimitedBySemicolon); 00141 00142 // this method must be used to turn the DisableCompForKinds feature on 00143 [id(43), helpstring("method for turning on/off component filtering")] 00144 HRESULT SetCompFiltering( [in] VARIANT_BOOL pTurnOn); 00145 00146 // is the feature turned on? 00147 [id(44), helpstring("inquire component filtering state")] 00148 HRESULT GetCompFiltering( [out, retval] VARIANT_BOOL* pPtrTurnedOn); 00149 00150 [id(45), helpstring("Sets the working directory. Will affect the dialogs when the user will Open or Save As")] 00151 HRESULT SetWorkingDirectory( [in] BSTR pDirPath); 00152 00153 [id(46), helpstring("Exit Application")] 00154 HRESULT Exit(); 00155 00156 [id(47), helpstring("Refresh Lib")] 00157 HRESULT RefreshLib( [in] BSTR pLibName, [in] VARIANT_BOOL ungroup, [out,retval] long* numOfErrors); 00158 }; 00159 00160 00161 [ uuid(F2181278-749F-459d-8700-92F088B80D72), 00162 oleautomation, 00163 dual 00164 ] 00165 interface IGMEOLEIt : IDispatch // the current/active opened view (model) 00166 { 00167 // methods and properties similar to those defined in IGMEOLEModel: 00168 00169 // properties: 00170 [propget, id(1)] HRESULT Valid([out, retval] VARIANT_BOOL* isValid); 00171 [propget, id(2)] HRESULT Aspects([out, retval] IGMEOLEColl** coll); 00172 [propget, id(3)] HRESULT MgaModel([out, retval] IMgaModel** model); 00173 00174 // methods: 00175 00176 [id(5)] HRESULT Print(); 00177 [id(6)] HRESULT PrintDialog(); 00178 [id(7)] HRESULT DumpWindowsMetaFile([in] BSTR filePath); 00179 [id(8)] HRESULT CheckConstraints(); 00180 [id(9)] HRESULT RunComponent([in] BSTR appID); 00181 [id(10)] HRESULT RunComponentDialog(); 00182 [id(11)] HRESULT Close(); 00183 [id(12)] HRESULT GrayOutFCO([in] VARIANT_BOOL bGray, [in] VARIANT_BOOL bNeighbours, [in] IMgaFCOs* mgaFCO); 00184 [id(13)] HRESULT GrayOutHide(); 00185 [id(14)] HRESULT ShowSetMembers([in] IMgaFCO* mgaFCO); 00186 [id(15)] HRESULT HideSetMembers(); 00187 [id(16)] HRESULT Zoom([in] DWORD percent); 00188 [id(17)] HRESULT ZoomTo([in] IMgaFCOs* mgaFCOs); 00189 [id(18)] HRESULT Scroll([in] bar_enum, [in] scroll_enum); 00190 [id(19)] HRESULT DumpModelGeometryXML([in] BSTR filePath); 00191 00192 00193 // methods allowing the user to generate models ie. from the scripting window: 00194 [helpstring("ShowFCO - accepts relative path both up and down. For models only: If InParent == true shown selected in parent, otherwise opened.")] 00195 HRESULT ShowFCO( [in] BSTR path, [in, defaultvalue(0)] VARIANT_BOOL inParent ); 00196 [helpstring("ShowFCOPtr - changes the view to fco.")] 00197 HRESULT ShowFCOPtr( [in] IMgaFCO* fco, [in, defaultvalue(0)] VARIANT_BOOL inParent ); 00198 00199 HRESULT Child( [in] BSTR Name, [out,retval] IMgaFCO** child_fco ); 00200 HRESULT Create( [in] BSTR part, [in] BSTR Name, [out,retval] IMgaFCO** new_fco ); 00201 [helpstring("creates a 'part' named 'name' in child_as_parent model")] 00202 HRESULT CreateInChild( [in] BSTR child_as_parent, [in] BSTR part, [in] BSTR Name, [out,retval] IMgaFCO** new_fco ); 00203 HRESULT CreateInChildFCO( [in] IMgaFCO* child_as_parent, [in] BSTR part, [in] BSTR Name, [out,retval] IMgaFCO** new_fco ); 00204 00205 HRESULT Duplicate([in] BSTR existing_fco_name, [in] BSTR new_fco_name, [out,retval] IMgaFCO** new_fco ); 00206 HRESULT DuplicateFCO([in] IMgaFCO* existing_fco, [in] BSTR new_fco_name, [out,retval] IMgaFCO** new_fco ); 00207 00208 HRESULT Rename( [in] BSTR oldname, [in] BSTR newname); 00209 HRESULT SetName( [in] IMgaFCO*, [in] BSTR Name); 00210 00211 HRESULT Include( [in] BSTR setname, [in] BSTR Name); 00212 HRESULT Exclude( [in] BSTR setname, [in] BSTR membername); 00213 00214 HRESULT IncludeFCO( [in] IMgaSet* p_set, [in] IMgaFCO* fco); 00215 HRESULT ExcludeFCO( [in] IMgaSet* p_set, [in] IMgaFCO* fco); 00216 00217 HRESULT Connect( [in] BSTR src_part, [in] BSTR dst_part, [in] BSTR connection_role, [out, retval] IMgaConnection ** conn ); 00218 HRESULT Disconnect( [in] BSTR src_part, [in] BSTR dst_part, [in] BSTR connection_name); 00219 00220 [helpstring("creates a connection. src_part_1 must be the model/reference, src_part_2 must be the port's name. if portname empty connection drawn to src_part_1")] 00221 HRESULT ConnectThruPort( [in] BSTR src_part_1, [in] BSTR src_part_2, [in] BSTR dst_part_1, [in] BSTR dst_part_2, [in] BSTR connection_role, [out, retval] IMgaConnection ** conn ); 00222 HRESULT ConnectThruPortFCO( [in] IMgaFCO* src_part_1, [in] IMgaFCO* src_part_2, [in] IMgaFCO* dst_part_1, [in] IMgaFCO* dst_part_2, [in] BSTR connection_role, [out, retval] IMgaConnection ** conn); 00223 HRESULT DisconnectThruPort( [in] BSTR src_part_1, [in] BSTR src_part_2, [in] BSTR dst_part_1, [in] BSTR dst_part_2, [in] BSTR connection_name); 00224 00225 00226 HRESULT ConnectFCOs( [in] IMgaFCO* src_part, [in] IMgaFCO* dst_part, [in] BSTR connection_role, [out, retval] IMgaConnection ** conn ); 00227 HRESULT DisconnectFCOs( [in] IMgaFCO* src_part, [in] IMgaFCO* dst_part, [in] BSTR connection_name); 00228 00229 HRESULT Refer( [in] BSTR reference, [in] BSTR Referred); 00230 HRESULT ClearRef( [in] BSTR reference); 00231 HRESULT FollowRef( [in] BSTR reference); 00232 00233 HRESULT ReferFCO( [in] IMgaReference* reference, [in] IMgaFCO* Referred); 00234 HRESULT ClearRefFCO( [in] IMgaReference* reference); 00235 HRESULT FollowRefFCO( [in] IMgaReference* reference); 00236 HRESULT NullFCO( [out, retval] IMgaFCO** nullobj); 00237 00238 00239 HRESULT SetAttribute( [in] BSTR Name, [in] BSTR attr_name, [in] VARIANT value); 00240 HRESULT GetAttribute( [in] BSTR Name, [in] BSTR attr_name, [out, retval] VARIANT* value); 00241 00242 HRESULT SetAttributeFCO( [in] IMgaFCO* fco, [in] BSTR attr_name, [in] VARIANT value); 00243 HRESULT GetAttributeFCO( [in] IMgaFCO* fco, [in] BSTR attr_name, [out, retval] VARIANT* value); 00244 00245 HRESULT SubType( [in] BSTR base, [in] BSTR name_of_subtype, [out, retval] IMgaFCO** subtype); 00246 HRESULT Instantiate( [in] BSTR base, [in] BSTR name_of_instance, [out, retval] IMgaFCO** instance); 00247 00248 HRESULT SubTypeFCO( [in] IMgaFCO* base, [in] BSTR name_of_subtype, [out, retval] IMgaFCO** subtype); 00249 HRESULT InstantiateFCO( [in] IMgaFCO* base, [in] BSTR name_of_instance, [out, retval] IMgaFCO** instance); 00250 00251 HRESULT BeginTransaction(); 00252 HRESULT CommitTransaction(); 00253 HRESULT AbortTransaction(); 00254 HRESULT IsInTransaction( [out, retval] VARIANT_BOOL* intrans); 00255 HRESULT PutInTerritory( [in] IMgaFCO* fco, [out, retval] IMgaFCO** newfco); 00256 00257 HRESULT Help(); 00258 00259 HRESULT SetSelected( [in] BSTR space_delimited_string ); 00260 HRESULT GetSelected( [out, retval] BSTR * space_delimited_string ); 00261 HRESULT SetSelectedFCOs([in] IMgaFCOs* fcos_to_select); 00262 HRESULT GetSelectedFCOs([out, retval] IMgaFCOs** selected_fcos); 00263 00264 00265 [helpstring("gets the current aspect of this view (opened model)")] 00266 HRESULT GetCurrentAspect([out, retval] BSTR* aspectName); 00267 [helpstring("sets the current aspect to the given aspect in this view (opened model)")] 00268 HRESULT SetCurrentAspect([in] BSTR aspectName); 00269 [helpstring("switches to the next aspect of this view (opened model)")] 00270 HRESULT NextAspect(); 00271 [helpstring("switches to the previous aspect of this view (opened model)")] 00272 HRESULT PrevAspect(); 00273 00274 [helpstring("makes the next (if any) view (opened model) the active view ")] 00275 HRESULT Next(); 00276 HRESULT Prev(); 00277 00278 HRESULT Position( [in] BSTR child, [in] BSTR aspect, [in] long parX, [in] long parY); 00279 HRESULT PositionFCO( [in] IMgaFCO* fco, [in] BSTR aspect, [in] long parX, [in] long parY); 00280 }; 00281 00282 // Primary dispatch interface for CGMEOLEModel 00283 00284 [ uuid(399A16A0-D209-4d00-9BDF-858D87EC4641), 00285 oleautomation, 00286 dual 00287 ] 00288 interface IGMEOLEModel : IDispatch // actually it corresponds to a view 00289 { 00290 // properties: 00291 [propput, id(1)] HRESULT Active([in] VARIANT_BOOL isActive); 00292 [propget, id(1)] HRESULT Active([out, retval] VARIANT_BOOL* isActive); 00293 [propget, id(2)] HRESULT Aspects([out, retval] IGMEOLEColl** coll); 00294 [propget, id(3)] HRESULT MgaModel([out, retval] IMgaModel** model); 00295 [propget, id(4)] HRESULT Valid([out, retval] VARIANT_BOOL* isValid); 00296 00297 // methods: 00298 [id(5)] HRESULT Print(); 00299 [id(6)] HRESULT PrintDialog(); 00300 [id(7)] HRESULT DumpWindowsMetaFile([in] BSTR filePath); 00301 [id(8)] HRESULT CheckConstraints(); 00302 [id(9)] HRESULT RunComponent([in] BSTR appID); 00303 [id(10)] HRESULT RunComponentDialog(); 00304 [id(11)] HRESULT Close(); 00305 [id(12)] HRESULT GrayOutFCO([in] VARIANT_BOOL bGray, [in] VARIANT_BOOL bNeighbours, [in] IMgaFCOs* mgaFCO); 00306 [id(13)] HRESULT GrayOutHide(); 00307 [id(14)] HRESULT ShowSetMembers([in] IMgaFCO* mgaFCO); // set is in this open model 00308 [id(15)] HRESULT HideSetMembers(); 00309 [id(16)] HRESULT Zoom([in] DWORD percent); // for open models only 00310 [id(17)] HRESULT ZoomTo([in] IMgaFCOs* mgaFCOs); // for open models only 00311 [id(18)] HRESULT Scroll([in] bar_enum, [in] scroll_enum); // for opened models only 00312 [id(19)] HRESULT DumpModelGeometryXML([in] BSTR filePath); 00313 [id(20)] HRESULT GetCurrentAspect([out, retval] BSTR* aspectName); 00314 [id(21)] HRESULT SetCurrentAspect([in] BSTR aspectName); 00315 00316 }; 00317 00318 00319 // Primary dispatch interface for CGMEOLEAspect 00320 00321 [ uuid(EDEEB1F8-BC44-40d2-BE91-83E8CCD59845), 00322 oleautomation, 00323 dual 00324 ] 00325 interface IGMEOLEAspect : IDispatch 00326 { 00327 // properties: 00328 [propget, id(1)] HRESULT MgaAspect([out, retval] IMgaMetaAspect** aspect); 00329 [propput, id(2)] HRESULT Active([in] VARIANT_BOOL isActive); 00330 [propget, id(2)] HRESULT Active([out, retval] VARIANT_BOOL* isActive); 00331 [propget, id(3)] HRESULT Valid([out, retval] VARIANT_BOOL* isValid); 00332 00333 // methods: 00334 }; 00335 00336 00337 // Primary dispatch interface for CGMEOLEPanel 00338 00339 [ uuid(C047FAEB-7AE7-40fb-8C5C-90C73DAD4BC6), 00340 oleautomation, 00341 dual 00342 ] 00343 interface IGMEOLEPanel : IDispatch 00344 { 00345 // properties: 00346 [propget, id(1)] HRESULT Name([out, retval] BSTR* Name); 00347 [propput, id(2)] HRESULT Visible([in] VARIANT_BOOL isVisible); 00348 [propget, id(2)] HRESULT Visible([out, retval] VARIANT_BOOL* isVisible); 00349 [propget, id(3)] HRESULT Interface([out, retval] IDispatch** interf); 00350 00351 // methods: 00352 }; 00353 00354 00355 // Primary dispatch interface for CGMEOLEColl 00356 00357 [ uuid(36C7B797-6BDE-46d0-8870-70189000EDF9), 00358 oleautomation, 00359 dual 00360 ] 00361 interface IGMEOLEColl : IDispatch 00362 { 00363 [propget, id(1)] HRESULT Count([out, retval] long *cnt); 00364 00365 [id(2)] HRESULT Add(IDispatch* newValue); 00366 [id(3)] HRESULT Find(IDispatch* findValue, [out, retval] long *cnt); 00367 [id(4)] HRESULT Remove(VARIANT removeValue); 00368 [id(5)] HRESULT RemoveAll(); 00369 00370 [propget, id(DISPID_VALUE)] HRESULT Item(long nIndex, [out, retval] IDispatch** val); 00371 [propput, id(DISPID_VALUE)] HRESULT Item(long nIndex, IDispatch* newValue); 00372 [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum([out, retval] IUnknown** e); 00373 }; 00374 00375 00376 // --------------------------- Decorators 00377 00378 00379 // Error codes 00380 typedef enum decorator_error { 00381 [helpstring("Specified parameter name is unknown")] 00382 E_DECORATOR_UNKNOWN_PARAMETER = 0x80737001, 00383 [helpstring("Initialization with null pointer to MgaProject or MgaMetaPart")] 00384 E_DECORATOR_INIT_WITH_NULL = 0x80737002, 00385 [helpstring("Decorator is not initialized. Call Initialize() before use it.")] 00386 E_DECORATOR_UNINITIALIZED = 0x80737003, 00387 [helpstring("Object location is not initialized. Call SetLocation() before calling this function.")] 00388 E_DECORATOR_LOCISNOTSET = 0x80737004, 00389 [helpstring("Specified port (based on IMgaFCO) not found.")] 00390 E_DECORATOR_PORTNOTFOUND = 0x80737005, 00391 [helpstring("In case of new decorator interface use the new InitializeEx and supply parent HWND.")] 00392 E_DECORATOR_USING_DEPRECATED_FUNCTION = 0x80737006, 00393 [helpstring("Not implemented method.")] 00394 E_DECORATOR_NOT_IMPLEMENTED = 0x80737007, 00395 [helpstring("Event handled / consumed.")] 00396 S_DECORATOR_EVENT_HANDLED = 0x00737001, 00397 [helpstring("Event not handled.")] 00398 S_DECORATOR_EVENT_NOT_HANDLED = 0x00737002 00399 } decorator_error; 00400 00401 // Feature codes 00402 // FIXME should be an enum 00403 typedef unsigned long feature_code; 00404 const unsigned long F_RESIZABLE = 1<<0; 00405 const unsigned long F_MOUSEEVENTS = 1<<1; 00406 const unsigned long F_HASLABEL = 1<<2; 00407 const unsigned long F_HASSTATE = 1<<3; 00408 const unsigned long F_HASPORTS = 1<<4; 00409 const unsigned long F_ANIMATION = 1<<5; 00410 const unsigned long F_IMGPATH = 1<<6; 00411 const unsigned long F_RESIZEAFTERMOD = 1<<7; 00412 00413 // Refresh modes 00414 typedef enum refresh_mode_enum { 00415 RM_NOREFRESH = 0, 00416 RM_REDRAW_SELF = 1, 00417 RM_REGENERATE_SELF = 2, 00418 RM_REGENERATE_PARENT_ALSO = 3, 00419 RM_REGENERATE_ALL_VIEWS = 4 00420 } refresh_mode_enum; 00421 00422 00423 [ 00424 object, 00425 uuid(1E13054E-5AD1-41EB-8FF1-C3901D99FDCC), 00426 oleautomation, 00427 helpstring("IMgaDecorator Interface"), 00428 pointer_default(unique) 00429 ] 00430 interface IMgaDecorator : IUnknown 00431 { 00432 [id(1), helpstring("method Initialize")] HRESULT Initialize([in] IMgaProject* p, [in] IMgaMetaPart* meta, [in] IMgaFCO* obj); 00433 [id(2), helpstring("method Destroy")] HRESULT Destroy(); 00434 [id(3), helpstring("method GetMnemonic")] HRESULT GetMnemonic([out] BSTR* mnemonic); 00435 [id(4), helpstring("method GetFeatures")] HRESULT GetFeatures([out] feature_code* features); 00436 [id(5), helpstring("method SetParam")] HRESULT SetParam([in] BSTR Name, [in] VARIANT value); 00437 [id(6), helpstring("method GetParam")] HRESULT GetParam([in] BSTR Name, [out] VARIANT* value); 00438 [id(7), helpstring("method SetActive")] HRESULT SetActive([in] VARIANT_BOOL isActive); 00439 [id(8), helpstring("method GetPreferredSize")] HRESULT GetPreferredSize([out] long* sizex, [out] long* sizey); 00440 [id(9), helpstring("method SetLocation")] HRESULT SetLocation([in] long sx, [in] long sy, [in] long ex, [in] long ey); 00441 [id(10), helpstring("method GetLocation")] HRESULT GetLocation([out] long* sx, [out] long* sy, [out] long* ex, [out] long* ey); 00442 [id(11), helpstring("method GetLabelLocation")] HRESULT GetLabelLocation([out] long* sx, [out] long* sy, [out] long* ex, [out] long* ey); 00443 [id(12), helpstring("method GetPortLocation")] HRESULT GetPortLocation([in] IMgaFCO* fco, [out] long* sx, [out] long* sy, [out] long* ex, [out] long* ey); 00444 [id(13), helpstring("method GetPorts")] HRESULT GetPorts([out, retval] IMgaFCOs** portFCOs); 00445 [id(14), helpstring("method Draw")] HRESULT Draw([in] ULONG hdc); 00446 [id(15), helpstring("method SaveState")] HRESULT SaveState(); 00447 }; 00448 00449 [ 00450 object, 00451 uuid(D25188F5-3ECF-433e-85C5-8B9574CA264C), 00452 oleautomation, 00453 helpstring("IMgaCommonDecoratorEvents Interface"), 00454 pointer_default(unique) 00455 ] 00456 interface IMgaCommonDecoratorEvents : IUnknown 00457 { 00458 [id(1), helpstring("method Refresh needed")] HRESULT Refresh([in] refresh_mode_enum refreshMode); 00459 [id(2), helpstring("method the editing operation is canceled")] HRESULT OperationCanceled(); 00460 [id(3), helpstring("method CursorChanged")] HRESULT CursorChanged([in] LONG newCursorID); 00461 [id(4), helpstring("method CursorRestored")] HRESULT CursorRestored(); 00462 00463 [id(5), helpstring("method LabelEditingStarted")] HRESULT LabelEditingStarted([in] LONG left, [in] LONG top, [in] LONG right, [in] LONG bottom); 00464 [id(6), helpstring("method LabelEditingFinished")] HRESULT LabelEditingFinished([in] LONG left, [in] LONG top, [in] LONG right, [in] LONG bottom); 00465 [id(7), helpstring("method LabelChanged")] HRESULT LabelChanged([in] BSTR newLabel); 00466 [id(8), helpstring("method LabelMovingStarted")] HRESULT LabelMovingStarted([in] LONG nFlags, [in] LONG left, [in] LONG top, [in] LONG right, [in] LONG bottom); 00467 [id(9), helpstring("method LabelMoving")] HRESULT LabelMoving([in] LONG nFlags, [in] LONG left, [in] LONG top, [in] LONG right, [in] LONG bottom); 00468 [id(10), helpstring("method LabelMovingFinished")] HRESULT LabelMovingFinished([in] LONG nFlags, [in] LONG left, [in] LONG top, [in] LONG right, [in] LONG bottom); 00469 [id(11), helpstring("method LabelMoved")] HRESULT LabelMoved([in] LONG nFlags, [in] LONG x, [in] LONG y); 00470 [id(12), helpstring("method LabelResizingStarted")] HRESULT LabelResizingStarted([in] LONG nFlags, [in] LONG left, [in] LONG top, [in] LONG right, [in] LONG bottom); 00471 [id(13), helpstring("method LabelResizing")] HRESULT LabelResizing([in] LONG nFlags, [in] LONG left, [in] LONG top, [in] LONG right, [in] LONG bottom); 00472 [id(14), helpstring("method LabelResizingFinished")] HRESULT LabelResizingFinished([in] LONG nFlags, [in] LONG left, [in] LONG top, [in] LONG right, [in] LONG bottom); 00473 [id(15), helpstring("method LabelResized")] HRESULT LabelResized([in] LONG nFlags, [in] LONG cx, [in] LONG cy); 00474 00475 [id(16), helpstring("method GeneralOperationStarted")] HRESULT GeneralOperationStarted([in] ULONGLONG operationData); 00476 [id(17), helpstring("method GeneralOperationFinished")] HRESULT GeneralOperationFinished([out] ULONGLONG* operationData); 00477 }; 00478 00479 [ 00480 object, 00481 uuid(91004115-2D1F-44a8-B6A0-09A2750BF278), 00482 oleautomation, 00483 helpstring("IMgaDecoratorCommon Interface"), 00484 pointer_default(unique) 00485 ] 00486 interface IMgaDecoratorCommon : IMgaDecorator 00487 { 00488 [id(20), helpstring("method InitializeEx")] HRESULT InitializeEx([in] IMgaProject* p, [in] IMgaMetaPart* meta, [in] IMgaFCO* obj, [in] IMgaCommonDecoratorEvents* eventSink, [in] ULONGLONG parentWnd); 00489 [id(21), helpstring("method DrawEx")] HRESULT DrawEx([in] ULONG hdc, [in] ULONGLONG gdip); 00490 [id(22), helpstring("method SetSelected")] HRESULT SetSelected([in] VARIANT_BOOL isSelected); 00491 [id(23), helpstring("method MouseMoved")] HRESULT MouseMoved([in] ULONG nFlags, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00492 [id(24), helpstring("method MouseLeftButtonDown")] HRESULT MouseLeftButtonDown([in] ULONG nFlags, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00493 [id(25), helpstring("method MouseLeftButtonUp")] HRESULT MouseLeftButtonUp([in] ULONG nFlags, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00494 [id(26), helpstring("method MouseLeftButtonDoubleClick")] HRESULT MouseLeftButtonDoubleClick([in] ULONG nFlags, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00495 [id(27), helpstring("method MouseRightButtonDown")] HRESULT MouseRightButtonDown([in] ULONGLONG hCtxMenu, [in] ULONG nFlags, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00496 [id(28), helpstring("method MouseRightButtonUp")] HRESULT MouseRightButtonUp([in] ULONG nFlags, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00497 [id(29), helpstring("method MouseRightButtonDoubleClick")] HRESULT MouseRightButtonDoubleClick([in] ULONG nFlags, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00498 [id(30), helpstring("method MouseMiddleButtonDown")] HRESULT MouseMiddleButtonDown([in] ULONG nFlags, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00499 [id(31), helpstring("method MouseMiddleButtonUp")] HRESULT MouseMiddleButtonUp([in] ULONG nFlags, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00500 [id(32), helpstring("method MouseMiddleButtonDoubleClick")] HRESULT MouseMiddleButtonDoubleClick([in] ULONG nFlags, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00501 [id(33), helpstring("method MouseWheelTurned")] HRESULT MouseWheelTurned([in] ULONG nFlags, [in] LONG distance, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00502 [id(34), helpstring("method MenuItemSelected")] HRESULT MenuItemSelected([in] ULONG menuItemId, [in] ULONG nFlags, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00503 [id(35), helpstring("method OperationCanceled")] HRESULT OperationCanceled(); 00504 [id(36), helpstring("method DragEnter")] HRESULT DragEnter([out] ULONG* dropEffect, [in] ULONGLONG pCOleDataObject, [in] ULONG keyState, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00505 [id(37), helpstring("method DragOver")] HRESULT DragOver([out] ULONG* dropEffect, [in] ULONGLONG pCOleDataObject, [in] ULONG keyState, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00506 [id(38), helpstring("method Drop")] HRESULT Drop([in] ULONGLONG pCOleDataObject, [in] ULONG dropEffect, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00507 [id(39), helpstring("method DropFile")] HRESULT DropFile([in] ULONGLONG hDropInfo, [in] LONG pointx, [in] LONG pointy, [in] ULONGLONG transformHDC); 00508 }; 00509 00510 [ 00511 object, 00512 uuid(1D63D045-28C9-4902-8E5F-46F4AC1F8C5B), 00513 oleautomation, 00514 helpstring("IMgaElementDecoratorEvents Interface"), 00515 pointer_default(unique) 00516 ] 00517 interface IMgaElementDecoratorEvents : IMgaCommonDecoratorEvents 00518 { 00519 [id(25), helpstring("method WindowMovingStarted")] HRESULT WindowMovingStarted([in] LONG nFlags, [in] LONG left, [in] LONG top, [in] LONG right, [in] LONG bottom); 00520 [id(26), helpstring("method WindowMoving")] HRESULT WindowMoving([in] LONG nFlags, [in] LONG left, [in] LONG top, [in] LONG right, [in] LONG bottom); 00521 [id(27), helpstring("method WindowMovingFinished")] HRESULT WindowMovingFinished([in] LONG nFlags, [in] LONG left, [in] LONG top, [in] LONG right, [in] LONG bottom); 00522 [id(28), helpstring("method WindowMoved")] HRESULT WindowMoved([in] LONG nFlags, [in] LONG x, [in] LONG y); 00523 00524 [id(29), helpstring("method WindowResizingStarted")] HRESULT WindowResizingStarted([in] LONG nFlags, [in] LONG left, [in] LONG top, [in] LONG right, [in] LONG bottom); 00525 [id(30), helpstring("method WindowResizing")] HRESULT WindowResizing([in] LONG nFlags, [in] LONG left, [in] LONG top, [in] LONG right, [in] LONG bottom); 00526 [id(31), helpstring("method WindowResizingFinished")] HRESULT WindowResizingFinished([in] LONG nFlags, [in] LONG left, [in] LONG top, [in] LONG right, [in] LONG bottom); 00527 [id(32), helpstring("method WindowResized")] HRESULT WindowResized([in] LONG nFlags, [in] LONG cx, [in] LONG cy); 00528 }; 00529 00530 [ 00531 object, 00532 uuid(2BEAD76C-126E-405D-AAC6-B9CA39067006), 00533 oleautomation, 00534 helpstring("IMgaElementDecorator Interface"), 00535 pointer_default(unique) 00536 ] 00537 interface IMgaElementDecorator : IMgaDecoratorCommon 00538 { 00539 }; 00540