KDEUI
kpushbutton.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 KPUSHBUTTON_H
00021 #define KPUSHBUTTON_H
00022
00023 #include <QtGui/QPushButton>
00024
00025 #include <kstandardguiitem.h>
00026
00027 class QDrag;
00028 class QMenu;
00029 class KIcon;
00030
00040 class KDEUI_EXPORT KPushButton : public QPushButton
00041 {
00042 Q_OBJECT
00043 Q_PROPERTY(bool isDragEnabled READ isDragEnabled WRITE setDragEnabled)
00044
00045 public:
00046
00050 explicit KPushButton( QWidget *parent = 0 );
00051
00055 explicit KPushButton( const QString &text, QWidget *parent = 0 );
00056
00060 KPushButton( const KIcon &icon, const QString &text, QWidget *parent = 0 );
00061
00066 explicit KPushButton( const KGuiItem &item, QWidget *parent = 0 );
00067
00071 ~KPushButton();
00072
00076 void setDragEnabled( bool enable );
00077
00081 bool isDragEnabled() const;
00082
00086 void setGuiItem( const KGuiItem& item );
00087
00091 void setGuiItem( KStandardGuiItem::StandardItem item );
00092
00096 KStandardGuiItem::StandardItem guiItem() const;
00097
00102 void setIcon( const KIcon &icon );
00103
00109 KDE_DEPRECATED void setIcon( const QIcon &pix );
00110
00114 void setText( const QString &text );
00115
00120 void setDelayedMenu(QMenu *delayed_menu);
00121
00126 QMenu *delayedMenu();
00127
00128 protected:
00135 virtual QDrag * dragObject();
00136
00140 virtual void mousePressEvent( QMouseEvent * );
00144 virtual void mouseMoveEvent( QMouseEvent * );
00145
00149 virtual void startDrag();
00150
00151 private:
00156 void init( const KGuiItem &item );
00157
00158 private:
00159 class KPushButtonPrivate;
00160 KPushButtonPrivate * const d;
00161
00162 Q_PRIVATE_SLOT(d, void slotSettingsChanged( int ))
00163 Q_PRIVATE_SLOT(d, void slotPressedInternal())
00164 Q_PRIVATE_SLOT(d, void slotClickedInternal())
00165 Q_PRIVATE_SLOT(d, void slotDelayedMenuTimeout())
00166 };
00167
00168 #endif // KPUSHBUTTON_H