ktoolbarbutton.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _KTOOLBARBUTTON_H
00024 #define _KTOOLBARBUTTON_H
00025
00026 #include <qpixmap.h>
00027 #include <qtoolbutton.h>
00028 #include <qintdict.h>
00029 #include <qstring.h>
00030 #include <kglobal.h>
00031
00032 class KToolBar;
00033 class KToolBarButtonPrivate;
00034 class KInstance;
00035 class QEvent;
00036 class QPopupMenu;
00037 class QPainter;
00038
00044 class KDEUI_EXPORT KToolBarButton : public QToolButton
00045 {
00046 Q_OBJECT
00047
00048 public:
00061 KToolBarButton(const QString& icon, int id, QWidget *parent,
00062 const char *name=0L, const QString &txt=QString::null,
00063 KInstance *_instance = KGlobal::instance());
00064
00076 KToolBarButton(const QPixmap& pixmap, int id, QWidget *parent,
00077 const char *name=0L, const QString &txt=QString::null);
00078
00085 KToolBarButton(QWidget *parent=0L, const char *name=0L);
00086
00090 ~KToolBarButton();
00091
00092 #ifndef KDE_NO_COMPAT
00093
00102
00103 virtual void setPixmap(const QPixmap &pixmap) KDE_DEPRECATED;
00104
00112 void setDefaultPixmap(const QPixmap& pixmap) KDE_DEPRECATED;
00113
00121 void setDisabledPixmap(const QPixmap& pixmap) KDE_DEPRECATED;
00122 #endif
00123
00130 virtual void setText(const QString &text);
00131
00138 virtual void setIcon(const QString &icon);
00139
00141 virtual void setIcon( const QPixmap &pixmap )
00142 { QToolButton::setIcon( pixmap ); }
00143
00150 virtual void setIconSet( const QIconSet &iconset );
00151
00152 #ifndef KDE_NO_COMPAT
00153
00164 KDE_DEPRECATED void setIcon(const QString &icon, bool generate ) { Q_UNUSED(generate); setIcon( icon ); }
00165
00173 void setDefaultIcon(const QString& icon) KDE_DEPRECATED;
00174
00182 void setDisabledIcon(const QString& icon) KDE_DEPRECATED;
00183 #endif
00184
00190 void on(bool flag = true);
00191
00195 void toggle();
00196
00204 void setToggle(bool toggle = true);
00205
00209 QPopupMenu *popup();
00210
00215 int id() const;
00216
00225 void setPopup (QPopupMenu *p, bool unused = false);
00226
00237 void setDelayedPopup(QPopupMenu *p, bool unused = false);
00238
00244 void setRadio(bool f = true);
00245
00253 void setNoStyle(bool no_style = true);
00254
00255 signals:
00259 void clicked(int);
00266 void buttonClicked(int, Qt::ButtonState state);
00267 void doubleClicked(int);
00268 void pressed(int);
00269 void released(int);
00270 void toggled(int);
00271 void highlighted(int, bool);
00272
00273 public slots:
00279 void modeChange();
00280 virtual void setTextLabel(const QString&, bool tipToo);
00281
00282 protected:
00283 bool event(QEvent *e);
00284 void paletteChange(const QPalette &);
00285 void leaveEvent(QEvent *e);
00286 void enterEvent(QEvent *e);
00287 void drawButton(QPainter *p);
00288 bool eventFilter (QObject *o, QEvent *e);
00290 void mousePressEvent( QMouseEvent * );
00292 void mouseReleaseEvent( QMouseEvent * );
00293 void showMenu();
00294 QSize sizeHint() const;
00295 QSize minimumSizeHint() const;
00296 QSize minimumSize() const;
00297
00299 bool isRaised() const;
00301 bool isActive() const;
00303 int iconTextMode() const;
00304
00305 protected slots:
00306 void slotClicked();
00307 void slotPressed();
00308 void slotReleased();
00309 void slotToggled();
00310 void slotDelayTimeout();
00311
00312 protected:
00313 virtual void virtual_hook( int id, void* data );
00314 private:
00315 KToolBarButtonPrivate *d;
00316 };
00317
00323 class KDEUI_EXPORT KToolBarButtonList : public QIntDict<KToolBarButton>
00324 {
00325 public:
00326 KToolBarButtonList();
00327 ~KToolBarButtonList() {}
00328 };
00329
00330 #endif
|