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 QPROXYSTYLE_H
00043 #define QPROXYSTYLE_H
00044
00045 #include <QtGui/QCommonStyle>
00046
00047 QT_BEGIN_HEADER
00048
00049 QT_BEGIN_NAMESPACE
00050
00051 QT_MODULE(Gui)
00052
00053 #if !defined(QT_NO_STYLE_PROXY)
00054
00055 class QProxyStylePrivate;
00056 class Q_GUI_EXPORT QProxyStyle : public QCommonStyle
00057 {
00058 Q_OBJECT
00059
00060 public:
00061 QProxyStyle(QStyle *baseStyle = 0);
00062 ~QProxyStyle();
00063
00064 QStyle *baseStyle() const;
00065 void setBaseStyle(QStyle *style);
00066
00067 void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = 0) const;
00068 void drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = 0) const;
00069 void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = 0) const;
00070 void drawItemText(QPainter *painter, const QRect &rect, int flags, const QPalette &pal, bool enabled,
00071 const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const;
00072 virtual void drawItemPixmap(QPainter *painter, const QRect &rect, int alignment, const QPixmap &pixmap) const;
00073
00074 QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const;
00075
00076 QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const;
00077 QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc, const QWidget *widget) const;
00078 QRect itemTextRect(const QFontMetrics &fm, const QRect &r, int flags, bool enabled, const QString &text) const;
00079 QRect itemPixmapRect(const QRect &r, int flags, const QPixmap &pixmap) const;
00080
00081 SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, const QPoint &pos, const QWidget *widget = 0) const;
00082 int styleHint(StyleHint hint, const QStyleOption *option = 0, const QWidget *widget = 0, QStyleHintReturn *returnData = 0) const;
00083 int pixelMetric(PixelMetric metric, const QStyleOption *option = 0, const QWidget *widget = 0) const;
00084
00085 QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt, const QWidget *widget = 0) const;
00086 QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *opt) const;
00087 QPalette standardPalette() const;
00088
00089 void polish(QWidget *widget);
00090 void polish(QPalette &pal);
00091 void polish(QApplication *app);
00092
00093 void unpolish(QWidget *widget);
00094 void unpolish(QApplication *app);
00095
00096 protected:
00097 bool event(QEvent *e);
00098
00099 protected Q_SLOTS:
00100 QIcon standardIconImplementation(StandardPixmap standardIcon, const QStyleOption *option, const QWidget *widget) const;
00101 int layoutSpacingImplementation(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2,
00102 Qt::Orientation orientation, const QStyleOption *option = 0, const QWidget *widget = 0) const;
00103 private:
00104 Q_DISABLE_COPY(QProxyStyle)
00105 Q_DECLARE_PRIVATE(QProxyStyle)
00106 };
00107
00108 #endif // QT_NO_STYLE_PROXY
00109
00110 QT_END_NAMESPACE
00111
00112 QT_END_HEADER
00113
00114 #endif // QPROXYSTYLE_H