Plasma
busywidget.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_BUSYWIDGET_H
00021 #define PLASMA_BUSYWIDGET_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 BusyWidgetPrivate;
00033
00041 class PLASMA_EXPORT BusyWidget : public QGraphicsWidget
00042 {
00043 Q_OBJECT
00044 Q_PROPERTY(bool running READ isRunning WRITE setRunning)
00045 Q_PROPERTY(QString label READ label WRITE setLabel)
00046
00047 public:
00053 explicit BusyWidget(QGraphicsWidget *parent = 0);
00054 ~BusyWidget();
00055
00059 void setRunning(bool running);
00060
00064 bool isRunning() const;
00065
00069 void setLabel(const QString &label);
00070
00074 QString label() const;
00075
00076 Q_SIGNALS:
00077 void clicked();
00078
00079 protected:
00080 void paint(QPainter *painter,
00081 const QStyleOptionGraphicsItem *option,
00082 QWidget *widget = 0);
00083
00084 void showEvent(QShowEvent *event);
00085 void hideEvent(QHideEvent *event);
00086 void resizeEvent(QGraphicsSceneResizeEvent *event);
00087 void mousePressEvent(QGraphicsSceneMouseEvent *event);
00088
00089 protected Q_SLOTS:
00090 void timerEvent(QTimerEvent *event);
00091
00092 private:
00093 BusyWidgetPrivate * const d;
00094
00095 Q_PRIVATE_SLOT(d, void themeChanged())
00096 };
00097
00098 }
00099
00100 #endif // multiple inclusion guard