![]() |
![]() |
00001 #ifndef IGUANA_STUDIO_IG_QT_OBJECT_MENU_SERVICE_H 00002 # define IGUANA_STUDIO_IG_QT_OBJECT_MENU_SERVICE_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "Iguana/Studio/interface/config.h" 00007 # include "Iguana/Framework/interface/IgStateElement.h" 00008 # include "Iguana/Framework/interface/IgDispatcher.h" 00009 00010 //<<<<<< PUBLIC DEFINES >>>>>> 00011 //<<<<<< PUBLIC CONSTANTS >>>>>> 00012 //<<<<<< PUBLIC TYPES >>>>>> 00013 00014 class IgRepresentable; 00015 class IgQtObjectMenuMessage; 00016 class IgQtObjectMenu; 00017 class QPopupMenu; 00018 00019 //<<<<<< PUBLIC VARIABLES >>>>>> 00020 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00021 //<<<<<< CLASS DECLARATIONS >>>>>> 00022 00034 class IGUANA_STUDIO_API IgQtObjectMenuService 00035 : public IgStateElement, public IgDispatcher<IgQtObjectMenuMessage> 00036 { 00037 IG_DECLARE_STATE_ELEMENT (IgQtObjectMenuService); 00038 public: 00039 IgQtObjectMenuService (IgState *state); 00040 ~IgQtObjectMenuService (void); 00041 00042 QPopupMenu * request (IgRepresentable *object); 00043 void postUpdate (IgRepresentable *object); 00044 IgQtObjectMenu * menu (void) const; 00045 QPopupMenu * realMenu (void) const; 00046 00047 private: 00048 IgState *m_state; 00049 QPopupMenu *m_menu; 00050 IgQtObjectMenu *m_proxy; 00051 }; 00052 00053 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00054 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00055 00056 #endif // IGUANA_STUDIO_IG_QT_OBJECT_MENU_SERVICE_H