GME  13
MgaClosure.h
Go to the documentation of this file.
00001 #ifndef MGACLOSURE_H
00002 #define MGACLOSURE_H
00003 
00004 // --------------------------- CMgaClosure
00005 //
00006 
00007 class ATL_NO_VTABLE CMgaClosure 
00008         : public CComObjectRootEx<CComSingleThreadModel>
00009         , public CComCoClass<CMgaClosure, &__uuidof(MgaClosure)>
00010         , public IDispatchImpl<IMgaClosure, &__uuidof(IMgaClosure), &__uuidof(__MGAUtilLib)>  
00011 {
00012 public:
00013         CMgaClosure() { }
00014         ~CMgaClosure() { }
00015 
00016 DECLARE_REGISTRY_RESOURCEID(IDR_MGACLOSURE)
00017 DECLARE_PROTECT_FINAL_CONSTRUCT()
00018 
00019 BEGIN_COM_MAP(CMgaClosure)
00020         COM_INTERFACE_ENTRY(IMgaClosure)
00021         COM_INTERFACE_ENTRY(IDispatch)
00022 END_COM_MAP()
00023 
00024 // ------- Properties
00025 
00026         STDMETHOD(GetLastClosureId)( IMgaProject* p_project, long* p_pMarkWith);
00027         STDMETHOD(PutLastClosureId)( IMgaProject* p_project, long  p_iMarkWith);
00028 
00029         STDMETHOD(SelectiveClosureDlg)
00030                 ( VARIANT_BOOL  p_folderContainmentNeeded
00031                 , VARIANT_BOOL* p_refersTo           , VARIANT_BOOL* p_referredBy
00032                 , VARIANT_BOOL* p_connections        , VARIANT_BOOL* p_connsThroughRefport
00033                 , VARIANT_BOOL* p_setMembers         , VARIANT_BOOL* p_memberOfSets
00034                 , VARIANT_BOOL* p_modelContainment   , VARIANT_BOOL* p_partOfModels
00035                 , VARIANT_BOOL* p_folderContainment  , VARIANT_BOOL* p_partOfFolders
00036                 , VARIANT_BOOL* p_baseTypeOf         , VARIANT_BOOL* p_derivedTypesOf
00037                 , long* p_libraryElementHandling          // 0: stubs, 1: stop, 2: continue
00038                 , long* p_wrappingMode                    // 0: miniproject, 1: automatic, 2: as is
00039                 , long* p_kindFilter                      // -1 = all, otherwise calculate the 0b000rsamf mask, where f = Folders, m = Models, a = Atoms, s = Sets, r = References
00040                 , long* p_markWith                        // mark all objects in closure
00041                 , long* p_options
00042                 , VARIANT_BOOL* p_directionDown
00043                 , VARIANT_BOOL* p_copyToFile              // file or clipboard
00044                 , VARIANT_BOOL* p_okPressed               // how ended the dialog
00045                 , BSTR *p_userSelFileName
00046                 );
00047 
00048         STDMETHOD(SelectiveClosureCalc)
00049                 ( IMgaFCOs *p_initSelFcos          , IMgaFolders *p_initSelFolders
00050                 , VARIANT_BOOL p_refersTo          , VARIANT_BOOL p_referredBy
00051                 , VARIANT_BOOL p_connections       , VARIANT_BOOL p_connsThroughRefport
00052                 , VARIANT_BOOL p_setMembers        , VARIANT_BOOL p_memberOfSets
00053                 , VARIANT_BOOL p_modelContainment  , VARIANT_BOOL p_partOfModels
00054                 , VARIANT_BOOL p_folderContainment , VARIANT_BOOL p_partOfFolders
00055                 , VARIANT_BOOL p_baseTypeOf        , VARIANT_BOOL p_derivedTypesOf
00056                 , long p_libraryElementHandling          // 0: stubs, 1: stop, 2: continue
00057                 , long p_wrapping                        // 0: miniproject, 1: automatic, 2: as is
00058                 , long p_kindFilter                      // -1 = all, otherwise calculate the 0b000rsamf mask, where f = Folders, m = Models, a = Atoms, s = Sets, r = References
00059                 , long p_markWith                        // mark all objects in closure
00060                 , VARIANT_BOOL p_directionDown
00061                 , IMgaFCOs **p_selFcos, IMgaFolders **p_selFolders
00062                 , IMgaFCOs **p_topFcos, IMgaFolders **p_topFolders
00063                 , VARIANT_BOOL* p_topCollectionsFilled
00064                 , BSTR *p_acckinds
00065                 );
00066 
00067         STDMETHOD(SmartCopy)
00068                 ( IMgaFCOs *in_fcos
00069                 , IMgaFolders *in_folders
00070                 , IMgaFCOs **sel_fcos
00071                 , IMgaFolders **sel_folders
00072                 , IMgaFCOs **top_fcos
00073                 , IMgaFolders **top_folders
00074                 , int options_in
00075                 , long * options
00076                 , BSTR *acckinds
00077                 , BSTR *path
00078                 );
00079 
00080 
00081 // ------- Attributes and Methods
00082 public:
00083         static const wchar_t* m_projLastClosureNode;
00084 };
00085 
00086 #endif // MGACLOSURE_H