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

qwidget.h

00001 
00002 #ifndef __QWidget_h
00003 #define __QWidget_h
00004 
00005 #include "qevent.h"
00006 
00007 class QWidget : public QObject
00008 {
00009     friend class QApplication;
00010     friend class QPainter;
00011     friend class ImagePainter;
00012     friend class QWidgetPrivate;
00013     friend class QPopup;
00014     friend class GApp;
00015     friend class GMemDC;
00016 
00017     static QList<QWidget> AllWidgets;
00018     static QWidget *MouseGrabber;
00019     static QWidget *OwnsClipboard;
00020 
00021     void _paint(XExposeEvent *e, QEvent *q);
00022     void _resize(XConfigureEvent *e, QEvent *q);
00023     void _map(bool m);
00024     bool _wait_mapped(int timeout = -1);
00025     QEvent *_event;
00026     virtual void *_GetWndPtr() { return 0; }
00027 
00028 protected:
00029     class QWidgetPrivate *d;
00030     void setParentWidget(QWidget *p);
00031 
00032 public:
00033     enum MouseButton
00034     {
00035         LeftButton = 0x0001,
00036         RightButton = 0x0002,
00037         MidButton = 0x0004
00038     };
00039 
00040     enum KeyButton
00041     {
00042         AltButton = 0x0008,
00043         ShiftButton = 0x0010,
00044         ControlButton = 0x0020
00045     };
00046     
00047     QWidget(char *name = 0, bool top = false);
00048     QWidget(Window Existing, bool AddToList = false);
00049     ~QWidget();
00050 
00051     Window handle();
00052     void detachHandle();
00053     class QMainWindow *GetWindow();
00054     
00055     // Internal
00056     void _dump(int i=0);
00057     bool _isdebug();
00058     void _SetClipRgn(GRegion *c); // int Rects, XRectangle *Rect);
00059     GRegion *_GetClipRgn(); // int &Rects, XRectangle *&Rect);
00060     virtual void _SetDeleteMe();
00061     virtual void _SetWndPtr(void *p) {}
00062     static QWidget *GetMouseGrabber() { return MouseGrabber; }
00063 
00064     // window Api
00065     void setIcon(char *Path);
00066     bool IsMouseOver(QEvent *e);
00067     bool IsPopup();
00068     void GetDecorationSize(int &x, int &y);
00069 
00070     // Widget Api
00071     virtual int height();
00072     virtual int width();
00073     virtual void setGeometry(int x, int y, int w, int h);
00074     virtual GRect &geometry();
00075     virtual void setBackgroundMode(ViewBackground b);
00076     virtual void repaint();
00077     virtual void repaint(int x, int y, int w, int h);
00078     virtual void update();
00079     virtual void update(int x, int y, int w, int h);
00080     virtual bool isEnabled();
00081     virtual void setEnabled(bool i);
00082     virtual bool isVisible();
00083     virtual void show(bool Raise = false);
00084     virtual void hide();
00085     virtual bool hasFocus();
00086     virtual void setFocus();
00087     virtual void clearFocus();
00088     virtual OsPoint &mapFromGlobal(OsPoint &p);
00089     virtual OsPoint &mapToGlobal(OsPoint &p);
00090     virtual QWidget *parentWidget();
00091     virtual QList<QWidget> *childrenWidgets();
00092     virtual bool reparent(QWidget *parent, OsPoint &p, bool show);
00093     virtual void grabMouse();
00094     virtual void ungrabMouse();
00095     bool grabbedMouse() { return MouseGrabber == this; }
00096 
00097     virtual char *getText();
00098     virtual void setText(char *text);
00099     virtual int value();
00100     virtual void setValue(int i);
00101     virtual int wantKeys();
00102     virtual void wantKeys(int keys);
00103     virtual bool isTabStop();
00104     virtual void isTabStop(bool i);
00105 
00106     // Static Api
00107     static QWidget *Find(Window w);
00108 
00109     // Events
00110     virtual void resizeEvent(QEvent *e) {}
00111     virtual void paintEvent(QEvent *e) {}
00112     virtual void customEvent(QEvent *e) {}
00113     virtual void mousePressEvent(QEvent *e) {}
00114     virtual void mouseDoubleClickEvent(QEvent *e) {}
00115     virtual void mouseReleaseEvent(QEvent *e) {}
00116     virtual void mouseMoveEvent(QEvent *e) {}
00117     virtual void leaveEvent(QEvent *e) {}
00118     virtual void enterEvent(QEvent *e) {}
00119     virtual void wheelEvent(QEvent *e) {}
00120     virtual void focusInEvent(QEvent *e) {}
00121     virtual void focusOutEvent(QEvent *e) {}
00122     virtual bool keyPressEvent(QEvent *e) {}
00123     virtual bool keyReleaseEvent(QEvent *e) {}
00124     virtual void closeEvent(QEvent *e) {}
00125     virtual void notifyEvent(int i = 0) {}
00126     virtual void propertyEvent(QEvent *e) {}
00127 
00128     // popup
00129     bool GetPopup();
00130     void SetPopup(bool b);
00131 };
00132 
00133 // typedef QWidget                      *OsView;
00134 
00135 #endif

Generated on Tue May 2 10:24:44 2006 for Lgi by  doxygen 1.4.1