GME  13
Gme.idl
Go to the documentation of this file.
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