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

CSMenuBar.h

Go to the documentation of this file.
00001 #ifndef CSMenuBar_h
00002 #define CSMenuBar_h
00003 
00004 // USES SDL_Surface
00005 
00006 #ifdef WIN32
00007 #pragma warning(disable : 4786 )
00008 #endif
00009 
00010 #include <vector>
00011 #include <string>
00012 
00013 #include "CSPicture.h"
00014 #include "CSMessage.h"
00015 #include "CSButton.h"
00016 #include "CSGrafikElement.h"
00017 #include "CSDesktop.h"
00018 #include "CSBar.h"
00019 #include "CSLog.h"
00020 
00021 #include "CSIcon.h"
00022 
00023 class CSMenu;
00024 class CSMenuBar;
00025 typedef std::vector<CSMenuBar *> CSMenuBars;
00026 
00027 class CSMenuBar : public CSBar
00028 {
00029     private:
00030         CSMenu *mActiveMenu;
00031         CSMenu *mLastActiveMenu;
00032 
00033     protected:
00034         int mMenuState;
00035         void layoutSetupMenuBar();
00036 
00037     public:
00038         CSMenuBar(void);
00039         virtual ~CSMenuBar();
00040         static const char *CLASS;
00041         virtual std::string getType() {return (std::string) CLASS;}
00042 
00043         void initMenuBar();
00044 //      void addMenu(CSMenu *menu); // should be prefered over addElement!
00045 //      void addMenu(CSMenu *menu, int place); // should be prefered over addElement!
00046 //      void removeMenu(CSMenu *menu);
00047 
00048         virtual void layoutSetup(){layoutSetupMenuBar();}
00049         virtual void setMenuState(int state) {mMenuState = state;}
00050         virtual void setActiveMenu(CSMenu *menu);
00051         virtual CSMenu *getActiveMenu(){return mActiveMenu;}
00052         virtual int getMenuState(CSMenu *menu);
00053         virtual void closeLastMenu();
00054         virtual void resetMenu();
00055         CSMenu *getLastActiveMenu() {return mLastActiveMenu;}
00056 };
00057 
00058 #endif // CSMenuBar_h

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