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