00001 #ifndef Fireworks_Core_FWModelContextMenuHandler_h 00002 #define Fireworks_Core_FWModelContextMenuHandler_h 00003 // -*- C++ -*- 00004 // 00005 // Package: Core 00006 // Class : FWModelContextMenuHandler 00007 // 00016 // 00017 // Original Author: Chris Jones 00018 // Created: Tue Sep 22 13:26:02 CDT 2009 00019 // $Id: FWModelContextMenuHandler.h,v 1.8 2011/03/25 18:02:46 amraktad Exp $ 00020 // 00021 00022 // system include files 00023 #include "Rtypes.h" 00024 #include "GuiTypes.h" 00025 00026 // user include files 00027 00028 // forward declarations 00029 class TGPopupMenu; 00030 class TGMenuEntry; 00031 class FWSelectionManager; 00032 class FWDetailViewManager; 00033 class FWColorManager; 00034 class FWColorPopup; 00035 class FWGUIManager; 00036 class FWViewContextMenuHandlerBase; 00037 00038 class FWModelContextMenuHandler 00039 { 00040 00041 public: 00042 FWModelContextMenuHandler(FWSelectionManager*, 00043 FWDetailViewManager*, 00044 FWColorManager*, 00045 FWGUIManager*); 00046 virtual ~FWModelContextMenuHandler(); 00047 00048 // ---------- const member functions --------------------- 00050 void showSelectedModelContext(Int_t iX, Int_t iY, FWViewContextMenuHandlerBase*) const; 00051 00052 // ---------- static member functions -------------------- 00053 00054 // ---------- member functions --------------------------- 00055 void chosenItem(Int_t); 00056 void colorChangeRequested(Color_t); 00057 00058 void addViewEntry(const char*, int, bool enabled= true); 00059 ClassDef(FWModelContextMenuHandler,0); 00060 private: 00061 FWModelContextMenuHandler(const FWModelContextMenuHandler&); // stop default 00062 00063 const FWModelContextMenuHandler& operator=(const FWModelContextMenuHandler&); // stop default 00064 00065 void createModelContext() const; 00066 void createColorPopup() const; 00067 // ---------- member data -------------------------------- 00068 mutable TGPopupMenu* m_modelPopup; 00069 mutable FWColorPopup* m_colorPopup; 00070 FWSelectionManager* m_selectionManager; 00071 FWDetailViewManager* m_detailViewManager; 00072 FWColorManager* m_colorManager; 00073 FWGUIManager* m_guiManager; 00074 mutable TGMenuEntry* m_seperator; 00075 mutable TGMenuEntry* m_viewSeperator; 00076 mutable TGMenuEntry* m_afterViewSeperator; 00077 mutable Int_t m_x; 00078 mutable Int_t m_y; 00079 mutable unsigned int m_nDetailViewEntries; 00080 mutable unsigned int m_nViewEntries; 00081 mutable FWViewContextMenuHandlerBase* m_viewHander; 00082 }; 00083 00084 00085 #endif