Plasma
frame.h
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 #ifndef PLASMA_FRAME_H
00021 #define PLASMA_FRAME_H
00022
00023 #include <QtGui/QGraphicsWidget>
00024
00025 #include <plasma/plasma_export.h>
00026
00027 class QFrame;
00028
00029 namespace Plasma
00030 {
00031
00032 class FramePrivate;
00033
00042 class PLASMA_EXPORT Frame : public QGraphicsWidget
00043 {
00044 Q_OBJECT
00045
00046 public:
00047 enum Shadow {
00048 Plain = 1,
00049 Raised,
00050 Sunken
00051 };
00052
00058 explicit Frame(QGraphicsWidget *parent = 0);
00059 ~Frame();
00060
00066 void setFrameShadow(Shadow shadow);
00067
00071 Shadow frameShadow() const;
00072
00078 void setText(QString text);
00079
00083 QString text() const;
00084
00090 void setImage(const QString &path);
00091
00095 QString image() const;
00096
00102 void setStyleSheet(const QString &stylesheet);
00103
00107 QString styleSheet() const;
00108
00112 QWidget *nativeWidget() const;
00113
00114 protected:
00115 void paint(QPainter *painter,
00116 const QStyleOptionGraphicsItem *option,
00117 QWidget *widget = 0);
00118
00119 void resizeEvent(QGraphicsSceneResizeEvent *event);
00120 QSizeF sizeHint(Qt::SizeHint which, const QSizeF & constraint) const;
00121
00122 private:
00123 FramePrivate * const d;
00124
00125 Q_PRIVATE_SLOT(d, void syncBorders())
00126 };
00127
00128 }
00129
00130 #endif // multiple inclusion guard