Plasma
combobox.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_COMBOBOX_H
00021 #define PLASMA_COMBOBOX_H
00022
00023 #include <QtGui/QGraphicsProxyWidget>
00024
00025 class KComboBox;
00026
00027 #include <plasma/plasma_export.h>
00028
00029 namespace Plasma
00030 {
00031
00032 class ComboBoxPrivate;
00033
00039 class PLASMA_EXPORT ComboBox : public QGraphicsProxyWidget
00040 {
00041 Q_OBJECT
00042
00043 Q_PROPERTY(QGraphicsWidget *parentWidget READ parentWidget)
00044 Q_PROPERTY(QString text READ text NOTIFY textChanged)
00045 Q_PROPERTY(QString styleSheet READ styleSheet WRITE setStyleSheet)
00046 Q_PROPERTY(KComboBox *nativeWidget READ nativeWidget)
00047
00048 public:
00049 explicit ComboBox(QGraphicsWidget *parent = 0);
00050 ~ComboBox();
00051
00055 QString text() const;
00056
00062 void setStyleSheet(const QString &stylesheet);
00063
00067 QString styleSheet();
00068
00072 KComboBox *nativeWidget() const;
00073
00078 void addItem(const QString &text);
00079
00080 public Q_SLOTS:
00081 void clear();
00082
00083 Q_SIGNALS:
00084 void activated(const QString & text);
00085 void textChanged(const QString & text);
00086
00087 protected:
00088 void resizeEvent(QGraphicsSceneResizeEvent *event);
00089 void paint(QPainter *painter,
00090 const QStyleOptionGraphicsItem *option,
00091 QWidget *widget);
00092 void hoverEnterEvent(QGraphicsSceneHoverEvent *event);
00093 void hoverLeaveEvent(QGraphicsSceneHoverEvent *event);
00094
00095 private:
00096 ComboBoxPrivate * const d;
00097
00098 friend class ComboBoxPrivate;
00099 Q_PRIVATE_SLOT(d, void syncBorders())
00100 Q_PRIVATE_SLOT(d, void animationUpdate(qreal progress))
00101 };
00102
00103 }
00104
00105 #endif // multiple inclusion guard