faithui/faith/menudata.h

Go to the documentation of this file.
00001 #ifndef KDE__MENUDATA_H
00002 #define KDE__MENUDATA_H
00003 
00004 #include <faith/string.h>
00005 #include <faith/iconset.h>
00006 #include <faith/ui.h>
00007 
00008 namespace Faith
00009 {
00010 
00011 class PopupMenu;
00012 class Pixmap;
00013 
00014 class FAITH_UI_EXPORT MenuItem
00015 {
00016         int mId;
00017         Faith::String mText;
00018         Faith::PopupMenu *mPopup;
00019         bool mChecked:1;
00020 
00021 public:
00022         MenuItem(int id);
00023         virtual ~MenuItem();
00024 
00025         Faith::String text() const { return mText; }
00026         void setText(const Faith::String &text);
00027         int id() const { return mId; }
00028 
00029         PopupMenu *popup() { return mPopup; }
00030         const PopupMenu *popup() const { return 0; }
00031         
00032         IconSet *iconSet();
00033 
00034         void setPopup(PopupMenu *popup);
00035 
00036         bool isCheckable() const { return false; }
00037         const Pixmap *pixmap() const { return 0; }
00038 
00039         bool isSeparator() const { return false; }
00040 
00041         bool isEnabled() const { return true; }
00042 
00043         bool isChecked() const;
00044         void setChecked(bool checked);
00045 };
00046 
00047 class FAITH_UI_EXPORT MenuData
00048 {
00049         struct Private;
00050         Private *d;
00051 public:
00052         MenuData();
00053         virtual ~MenuData();
00054 
00055         int insertItem(const Faith::String &text, int id=-1, int index=-1);
00056         int insertItem(const Faith::String &text, PopupMenu *popup, int id=-1, int index=-1);
00057 
00058         MenuItem *item(int id);
00059         const MenuItem *atIndex(int index) const
00060         {
00061                 return const_cast<MenuData*>(this)->atIndex(index);
00062         }
00063 
00064         MenuItem *atIndex(int index);
00065         int count() const;
00066 
00067 protected:
00073         virtual void changed() { }
00074         
00079         virtual MenuItem *createMenuItem(int id);
00080 };
00081 
00082 
00083 }
00084 
00085 #endif

Generated on Fri Sep 1 00:23:08 2006 for Faith by  doxygen 1.4.7