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 <qpoint.h>
00024 #include <qpushbutton.h>
00025 #include <kguiitem.h>
00026 #include <kstdguiitem.h>
00027
00028 class QDragObject;
00037 class KDEUI_EXPORT KPushButton : public QPushButton
00038 {
00039 Q_OBJECT
00040 Q_PROPERTY(int stdItem READ guiItm WRITE setGuiItm )
00041 Q_PROPERTY(bool isDragEnabled READ isDragEnabled WRITE setDragEnabled)
00042
00043 public:
00044
00048 KPushButton( QWidget *parent, const char *name=0 );
00049
00053 KPushButton( const QString &text, QWidget *parent, const char *name=0);
00054
00058 KPushButton( const QIconSet &icon, const QString &text,
00059 QWidget *parent, const char *name=0 );
00060
00065 KPushButton( const KGuiItem &item, QWidget *parent, const char *name = 0 );
00066
00070 ~KPushButton();
00071
00075 void setDragEnabled( bool enable );
00076
00080 bool isDragEnabled() const { return m_dragEnabled; }
00081
00085 void setGuiItem( const KGuiItem& item );
00086
00091 void setGuiItem( KStdGuiItem::StdItem item );
00092
00097 KStdGuiItem::StdItem guiItem() const;
00098
00099
00100 void setGuiItm(int itm ) { setGuiItem( (KStdGuiItem::StdItem)itm );}
00101 int guiItm() const { return (int)guiItem(); }
00102
00107 void setIconSet( const QIconSet &iconSet );
00108
00112 void setText( const QString &text );
00113
00114 protected:
00120 virtual QDragObject * dragObject();
00121
00125 virtual void mousePressEvent( QMouseEvent * );
00129 virtual void mouseMoveEvent( QMouseEvent * );
00130
00134 virtual void startDrag();
00135
00136 private:
00137 bool m_dragEnabled;
00138 QPoint startPos;
00139
00140 private slots:
00141 void slotSettingsChanged( int category );
00142
00143 private:
00148 void init( const KGuiItem &item );
00149
00150 void readSettings();
00151 static bool s_useIcons;
00152
00153 protected:
00154 virtual void virtual_hook( int id, void* data );
00155 private:
00156 class KPushButtonPrivate;
00157 KPushButtonPrivate *d;
00158
00159 };
00160
00161 #endif // KPUSHBUTTON_H