GME  13
AggregateContextMenu.h
Go to the documentation of this file.
00001 // AggregateContextMenu.h: interface for the CAggregateContextMenu class.
00002 //
00004 
00005 #if !defined(AFX_AGGREGATECONTEXTMENU_H__E9BEC526_A063_4D7D_AA05_2BE6764245B9__INCLUDED_)
00006 #define AFX_AGGREGATECONTEXTMENU_H__E9BEC526_A063_4D7D_AA05_2BE6764245B9__INCLUDED_
00007 
00008 
00009 #if _MSC_VER > 1000
00010 #pragma once
00011 #endif // _MSC_VER > 1000
00012 #include "ActiveBrowserPropertyPage.h"
00013 
00014 
00015 typedef CComPtr<IMgaMetaBase>MgaMetaBasePtr;
00016 #define ADAPT(x) CAdapt<MgaMetaBasePtr>(x)
00017 
00018 class CAggregateContextMenu : public CMenu  
00019 {
00020         friend class CAggregatePropertyPage;
00021 
00022         CAggregatePropertyPage*m_pParent;
00023 public:
00024         void OnRefreshLibrary();
00025         void OnAttachLibrary();
00026         void OnLibraryDependencies();
00027         void OnLibraryAmbiguityChk();
00028         void OnMFSourceControlUpdate();
00029         void OnUsersActive();
00030         void OnUsersOwner();
00031 
00032         UINT m_nSelectionCount;
00033         BOOL Run(CPoint);
00034         CAggregateContextMenu(CAggregatePropertyPage* pParent);
00035         virtual ~CAggregateContextMenu();
00036 
00037 protected:
00038         void OnOptions();
00039         void OnCheckConstraint();
00040         void CreateForAll();
00041         void SetModelChildren(LPUNKNOWN pUnknown);
00042         void SetFolderChildren(LPUNKNOWN pUnknown);
00043         void CreateForSingleItem();
00044         void OnReadOnly( bool ro);
00045         void OnHelp();
00046         void OnShowInParent();
00047         void OnFollowRef();
00048         void OnRegistry();
00049         void OnPreferences();
00050         void OnAttributes();
00051         void OnProperties();
00052         void OnSortCreation();
00053         void OnSortType();
00054         void OnSortName();
00055         void OnInterpret();
00056         void OnCheckAllConstraint();
00057         void OnEditDelete();
00058         void OnEditPaste();
00059         void OnEditPasteSpecialAsReference();
00060         void OnEditPasteSpecialAsSubtype();
00061         void OnEditPasteSpecialAsInstance();
00062         void OnEditPasteClosure( bool merge = false);
00063         void OnEditCopy();
00064         void OnEditCopyClosure();
00065         void OnEditCopySmart();
00066         void OnEditCut();
00067         void OnCustomItems(UINT nID);
00068         BOOL DispatchCommand(UINT nSelectedID);
00069 private:
00070         UINT m_InsertionMaxID;
00071         UINT m_InsertionMinID;
00072         CArray<CAdapt<MgaMetaBasePtr>,CAdapt<MgaMetaBasePtr>&>m_MenuItem2MetaObjArray;
00073 };
00074 
00075 #endif // !defined(AFX_AGGREGATECONTEXTMENU_H__E9BEC526_A063_4D7D_AA05_2BE6764245B9__INCLUDED_)