00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _BONOBOMM_SERVERS_UICOMPONENT_H
00023 #define _BONOBOMM_SERVERS_UICOMPONENT_H
00024
00025 #include <bonobomm/servers/unknown_cppimpl.h>
00026 #include <glibmm/ustring.h>
00027 #include <map>
00028
00029 namespace Gnome
00030 {
00031
00032 namespace Bonobo
00033 {
00034
00035 namespace Servers
00036 {
00037
00038 class UIComponent :
00039 public virtual POA_Bonobo::UIComponent,
00040 public Unknown_CppImpl
00041 {
00042 public:
00043
00044 UIComponent();
00045 virtual ~UIComponent();
00046
00047
00048
00049
00050 virtual void setContainer(::Bonobo::UIContainer_ptr container) throw (CORBA::SystemException);
00051 virtual void unsetContainer() throw (CORBA::SystemException);
00052 virtual char* name() throw (CORBA::SystemException);
00053 virtual char* describeVerbs() throw (CORBA::SystemException);
00054 virtual void execVerb(char const *cname) throw (CORBA::SystemException);
00055 virtual void uiEvent(char const *id,::Bonobo::UIComponent::EventType type, char const *state) throw (CORBA::SystemException);
00056 virtual void unImplemented() throw (CORBA::SystemException);
00057 virtual void unImplemented2() throw (CORBA::SystemException);
00058 virtual void unImplemented3() throw (CORBA::SystemException);
00059 virtual void unImplemented4() throw (CORBA::SystemException);
00060
00061
00062 typedef sigc::slot<void> SlotVerbHandler;
00063 virtual void add_verb_handler(const SlotVerbHandler& slot, const Glib::ustring& verb_name);
00064
00065 protected:
00066 ::Bonobo::UIContainer_ptr m_container;
00067 std::string m_name;
00068
00069 typedef std::map<Glib::ustring, SlotVerbHandler> type_mapSlots;
00070 type_mapSlots m_mapSlots;
00071 };
00072
00073 }
00074 }
00075 }
00076
00077 #endif //_BONOBOMM_SERVERS_UICOMPONENT_H
00078