00001 #ifndef CSMenuItem_h 00002 #define CSMenuItem_h 00003 00004 #ifdef WIN32 00005 #pragma warning(disable : 4786 ) 00006 #endif 00007 00008 #include <vector> 00009 #include <string> 00010 00011 #include "CSGrafikElement.h" 00012 #include "CSMenu.h" 00013 #include "CSMessage.h" 00014 #include "CSLog.h" 00015 00016 class CSMenuItem; 00017 typedef std::vector<CSMenuItem *> CSMenuItems; 00018 00019 class CSMenuItem : public CSMenu 00020 { 00021 private: 00022 GuiMessage MESSAGE_MENUITEM_ACTIVATED; 00023 protected: 00024 void layoutSetupMenuItem(); 00025 public: 00026 static const char *CLASS; 00027 virtual std::string getType() {return (std::string) CLASS;} 00028 CSMenuItem(const std::string &itemName); 00029 ~CSMenuItem() {} 00030 00031 void reactOnMessageMenuItem(CSMessage *message); 00032 virtual void reactOnMessage(CSMessage *message); 00033 virtual void layoutSetup() {layoutSetupMenuItem();} 00034 }; 00035 00036 #endif // CSMenuItem_h