Main Page | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

CSMenu.h

Go to the documentation of this file.
00001 #ifndef CSMenu_h
00002 #define CSMenu_h
00003 
00004 #ifdef WIN32
00005 #pragma warning(disable : 4786 )
00006 #endif
00007 
00008 #include <vector>
00009 #include <string>
00010 
00011 #include "CSPicture.h"
00012 #include "CSMessage.h"
00013 #include "CSButton.h"
00014 #include "CSGrafikElement.h"
00015 #include "CSDesktop.h"
00016 #include "CSLog.h"
00017 
00018 #include "CSIcon.h"
00019 
00020 class CSMenu;
00021 class CSMenuItem;
00022 class CSWindow;
00023 class CSMenuBar;
00024 typedef std::vector<CSMenu *> CSMenus;
00025 
00026 class CSMenu : public CSButton
00027 {
00028     private:
00029         std::string mTitle;
00030         CSPanel *mMenuPanel;
00031         bool mMenuIsOpen;
00032 
00033     protected:
00034         CSMenuBar *mMenuBar;
00035         void layoutSetupMenu();
00036 
00037     public:
00038         static const char *CLASS;
00039         virtual std::string getType() {return (std::string) CLASS;}
00040 
00041         CSMenu(const std::string &menuTitle);
00042         virtual ~CSMenu();
00043         std::string getTitle() {return mTitle;}
00044 
00045         void reactOnMessageMenu(CSMessage *message);
00046         virtual void reactOnMessage(CSMessage *message);
00047 
00048         virtual void layoutSetup() {layoutSetupMenu();}
00049         virtual void addMenuItem(CSMenuItem *item);
00050         virtual void removeMenuItem(CSMenuItem *item);
00051         virtual void openMenu();
00052         virtual void closeMenu();
00053         virtual CSMenuBar *getMenuBar();
00054         void setMenuBar(CSMenuBar *bar);
00055         virtual int getButtonState();
00056 };
00057 
00058 #endif // CSMenu_h

Generated on Wed Jul 14 00:43:30 2004 for CSLib by doxygen 1.3.6