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 Background
00034     {
00035         NoBackground
00036     };
00037 
00038     enum MouseButton
00039     {
00040         LeftButton = 0x0001,
00041         RightButton = 0x0002,
00042         MidButton = 0x0004
00043     };
00044 
00045     enum KeyButton
00046     {
00047         AltButton = 0x0008,
00048         ShiftButton = 0x0010,
00049         ControlButton = 0x0020
00050     };
00051     
00052     QWidget(char *name = 0, bool top = false);
00053     QWidget(Window Existing, bool AddToList = false);
00054     ~QWidget();
00055 
00056     Window handle();
00057     void detachHandle();
00058     class QMainWindow *GetWindow();
00059     
00060     // Internal
00061     void _dump(int i=0);
00062     bool _isdebug();
00063     void _SetClipRgn(GRegion *c); // int Rects, XRectangle *Rect);
00064     GRegion *_GetClipRgn(); // int &Rects, XRectangle *&Rect);
00065     virtual void _SetDeleteMe();
00066     virtual void _SetWndPtr(void *p) {}
00067     static QWidget *GetMouseGrabber() { return MouseGrabber; }
00068 
00069     // window Api
00070     void setIcon(char *Path);
00071     bool IsMouseOver(QEvent *e);
00072     bool IsPopup();
00073     void GetDecorationSize(int &x, int &y);
00074 
00075     // Widget Api
00076     virtual int height();
00077     virtual int width();
00078     virtual void setGeometry(int x, int y, int w, int h);
00079     virtual GRect &geometry();
00080     virtual void setBackgroundMode(Background b);
00081     virtual void repaint();
00082     virtual void repaint(int x, int y, int w, int h);
00083     virtual void update();
00084     virtual void update(int x, int y, int w, int h);
00085     virtual bool isEnabled();
00086     virtual void setEnabled(bool i);
00087     virtual bool isVisible();
00088     virtual void show(bool Raise = false);
00089     virtual void hide();
00090     virtual bool hasFocus();
00091     virtual void setFocus();
00092     virtual void clearFocus();
00093     virtual OsPoint &mapFromGlobal(OsPoint &p);
00094     virtual OsPoint &mapToGlobal(OsPoint &p);
00095     virtual QWidget *parentWidget();
00096     virtual QList<QWidget> *childrenWidgets();
00097     virtual bool reparent(QWidget *parent, OsPoint &p, bool show);
00098     virtual void grabMouse();
00099     virtual void ungrabMouse();
00100     bool grabbedMouse() { return MouseGrabber == this; }
00101 
00102     virtual char *getText();
00103     virtual void setText(char *text);
00104     virtual int value();
00105     virtual void setValue(int i);
00106     virtual int wantKeys();
00107     virtual void wantKeys(int keys);
00108     virtual bool isTabStop();
00109     virtual void isTabStop(bool i);
00110 
00111     // Static Api
00112     static QWidget *Find(Window w);
00113 
00114     // Events
00115     virtual void resizeEvent(QEvent *e) {}
00116     virtual void paintEvent(QEvent *e) {}
00117     virtual void customEvent(QEvent *e) {}
00118     virtual void mousePressEvent(QEvent *e) {}
00119     virtual void mouseDoubleClickEvent(QEvent *e) {}
00120     virtual void mouseReleaseEvent(QEvent *e) {}
00121     virtual void mouseMoveEvent(QEvent *e) {}
00122     virtual void leaveEvent(QEvent *e) {}
00123     virtual void enterEvent(QEvent *e) {}
00124     virtual void wheelEvent(QEvent *e) {}
00125     virtual void focusInEvent(QEvent *e) {}
00126     virtual void focusOutEvent(QEvent *e) {}
00127     virtual bool keyPressEvent(QEvent *e) {}
00128     virtual bool keyReleaseEvent(QEvent *e) {}
00129     virtual void closeEvent(QEvent *e) {}
00130     virtual void notifyEvent(int i = 0) {}
00131     virtual void propertyEvent(QEvent *e) {}
00132 
00133     // popup
00134     bool GetPopup();
00135     void SetPopup(bool b);
00136 };
00137 
00138 typedef QWidget                     *OsView;
00139 
00140 #endif

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