Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #ifndef QDECORATION_QWS_H
00043 #define QDECORATION_QWS_H
00044
00045 #include <QtGui/qregion.h>
00046 #include <QtGui/qwidget.h>
00047 #include <QtGui/qaction.h>
00048
00049 QT_BEGIN_HEADER
00050
00051 QT_BEGIN_NAMESPACE
00052
00053 QT_MODULE(Gui)
00054
00055 class QPopupMenu;
00056 class QMenu;
00057
00058 #ifndef QT_NO_ACTION
00059 class QDecorationAction : public QAction
00060 {
00061 public:
00062 QDecorationAction(const QString &text, QObject* parent, int region)
00063 : QAction(text, parent), reg(region) {}
00064 int reg;
00065 };
00066 #endif // QT_NO_ACTION
00067
00068
00069
00070
00071 class Q_GUI_EXPORT QDecoration
00072 {
00073 public:
00074 QDecoration() {}
00075 virtual ~QDecoration() {}
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087 enum DecorationRegion {
00088 None = 0x0000000000, All = 0x7fffffff,
00089 TopLeft = 0x0000000001, Top = 0x0000000002, TopRight = 0x0000000004,
00090 Left = 0x0000000008, Right = 0x0000000010,
00091 BottomLeft = 0x0000000020, Bottom = 0x0000000040, BottomRight = 0x0000000080,
00092 Borders = 0x00000000ff,
00093 Menu = 0x0000000100, Title = 0x0000000200, Help = 0x0000000400,
00094 Minimize = 0x0000000800, Maximize = 0x0000001000, Normalize = 0x0000002000,
00095 Close = 0x0000004000, Move = 0x0000008000, Resize = 0x0000010000
00096 };
00097
00098 enum DecorationState { Normal = 0x04, Disabled = 0x08, Hover = 0x01, Pressed = 0x02 };
00099
00100 virtual QRegion region(const QWidget *w, const QRect &rect, int decorationRegion = All ) = 0;
00101 QRegion region(const QWidget *w, int decorationRegion = All )
00102 { return region(w, w->rect(), decorationRegion); }
00103 virtual int regionAt(const QWidget *w, const QPoint &point);
00104
00105 virtual void regionClicked(QWidget *widget, int region);
00106 virtual void regionDoubleClicked(QWidget *widget, int region);
00107 #ifndef QT_NO_MENU
00108 virtual void buildSysMenu(QWidget *widget, QMenu *menu);
00109 void menuTriggered(QWidget *widget, QAction *action);
00110 #endif
00111
00112 static void startMove(QWidget *widget);
00113 static void startResize(QWidget *widget);
00114
00115 virtual bool paint(QPainter *p, const QWidget *w, int decorationRegion = All,
00116 DecorationState state = Normal) = 0;
00117
00118 };
00119
00120 QT_END_NAMESPACE
00121
00122 QT_END_HEADER
00123
00124 #endif // QDECORATION_QWS_H