Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

qmenubar.h

00001 
00002 #ifndef __QMenuBar_h
00003 #define __QMenuBar_h
00004 
00005 #include "GRect.h"
00006 #include "qwidget.h"
00007 
00008 /*
00009 class QMenuData;
00010 class QMenuBar;
00011 class GMenuItem;
00012 
00013 class QMenuItem : public QWidget
00014 {
00015     friend class QMenuData;
00016     friend class QMenuBar;
00017     friend class QPopupMenu;
00018     friend class QMenuItemPrivate;
00019 
00020     class QMenuItemPrivate *Item;
00021     static QMenuItem *Cursor;
00022     
00023     int x();
00024     int y();
00025 
00026 public:
00027     QMenuItem(QMenuBar *Menu, QMenuData *Parent, GMenuItem *Item);
00028     ~QMenuItem();
00029 
00030     // Api
00031     int type();
00032     void setType(int i);
00033     QPopupMenu *sub();
00034     QMenuData *GetParent();
00035     void setSub(QPopupMenu *m);
00036     void showPopup();
00037     void hidePopup();
00038     int cmd();
00039     void setCmd(int i);
00040     void Activate();
00041     
00042     bool Checked();
00043     void Checked(bool i);
00044 
00045     // Widget
00046     void paintEvent(QEvent *e);
00047     void mousePressEvent(QEvent *e);
00048     void mouseReleaseEvent(QEvent *e);
00049     void leaveEvent(QEvent *e);
00050     void enterEvent(QEvent *e);
00051 };
00052 
00053 class QMenuData : public QObject
00054 {
00055     friend class QPopupMenu;
00056     friend class QMenuItemPrivate;
00057 
00058 protected:
00059     class QMenuDataPrivate *Data;
00060     QList<QMenuItem> *GetItems();
00061 
00062 public:
00063     QMenuData(QMenuBar *Menu, QMenuItem *Parent);
00064     ~QMenuData();
00065 
00066     // Api
00067     virtual QMenuItem *insertItem(GMenuItem *item, int id, int where = -1); // char *text, int cmd
00068     virtual QMenuItem *insertItem(GMenuItem *item, QPopupMenu *sub, int where = -1);
00069     virtual QMenuItem *insertSeparator(int where = -1);
00070     virtual void deleteItem(QMenuItem *i);
00071 
00072     virtual QWidget *GetWidget();
00073 
00074     // Events
00075     virtual void OnSubMenuVisible(QPopupMenu *Item, bool Visible) {}
00076     virtual void OnMenuClick(QMenuItem *Item) {}
00077     virtual void OnMenuEnter(QMenuItem *Item) {}
00078 };
00079 
00080 class QMenuBar : public QWidget, public QMenuData
00081 {
00082     class QMenuBarPrivate *MenuBar;
00083 
00084 public:
00085     QMenuBar();
00086     ~QMenuBar();
00087 
00088     // Api
00089     GRect &Pour(GRect &p);
00090 
00091     // Widget
00092     void paintEvent(QEvent *e);
00093 
00094     // Impl
00095     void OnSubMenuVisible(QPopupMenu *Item, bool Visible);
00096     void OnMenuClick(QMenuItem *Item);
00097     void OnMenuEnter(QMenuItem *Item);
00098 
00099 };
00100 */
00101 
00102 #endif

Generated on Wed Oct 26 14:46:51 2005 for Lgi by  doxygen 1.4.1