00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef BOOLMENUITEM_HH
00025 #define BOOLMENUITEM_HH
00026
00027 #include "MenuItem.hh"
00028
00030 class BoolMenuItem: public FbTk::MenuItem {
00031 public:
00032 BoolMenuItem(const char *label, bool &item,
00033 FbTk::RefCount<FbTk::Command> &cmd):
00034 FbTk::MenuItem(label, cmd), m_item(item) {
00035 FbTk::MenuItem::setSelected(m_item);
00036 setToggleItem(true);
00037 }
00038 BoolMenuItem(const char *label, bool &item):
00039 FbTk::MenuItem(label), m_item(item) {
00040 FbTk::MenuItem::setSelected(m_item);
00041 }
00042 bool isSelected() const { return m_item; }
00043
00044 void click(int button, int time) { setSelected(!m_item); FbTk::MenuItem::click(button, time); }
00045 void setSelected(bool value) {
00046 m_item = value;
00047 FbTk::MenuItem::setSelected(m_item);
00048 }
00049 private:
00050 bool &m_item;
00051 };
00052
00053 #endif // BOOLRESMENUITEM_HH