00001 #ifndef FAITH__TOOLBAR_H
00002 #define FAITH__TOOLBAR_H
00003
00004 #include <faith/widget.h>
00005 #include <faith/menudata.h>
00006 #include <faith/ui.h>
00007
00008 namespace Faith
00009 {
00010
00011 class ToolButton;
00012
00013 class FAITH_UI_EXPORT ToolBar : public Widget, public MenuData
00014 {
00015 K_OBJECT
00016 struct ToolBarPrivate;
00017 ToolBarPrivate *d;
00018
00019 public:
00020 ToolBar(Widget *parent, const char *name=0);
00021 ~ToolBar();
00022
00023 virtual Size sizeHint() const;
00024
00025 signals:
00026 void activated(int id);
00027
00028 protected:
00029 void paintEvent(PaintEvent *e);
00030 MenuItem *createMenuItem(int id);
00031
00032 void changed();
00033
00034 private slots:
00035 void clickified(Faith::ToolButton *);
00036 };
00037
00038
00039 class FAITH_UI_EXPORT ToolButton : public Widget, public MenuItem
00040 {
00041 K_OBJECT
00042 struct ToolButtonPrivate;
00043 ToolButtonPrivate *d;
00044
00045 public:
00046 ToolButton(int id, Widget *parent, const char *name=0);
00047 ~ToolButton();
00048
00049 virtual Size sizeHint() const;
00050
00051 signals:
00052 void clicked();
00053 void clicked(Faith::ToolButton *);
00054
00055 protected:
00056 void paintEvent(PaintEvent *e);
00057 void enterEvent(Event *);
00058 void leaveEvent(Event *);
00059 void mouseReleaseEvent(MouseEvent *e);
00060 void mousePressEvent(MouseEvent *e);
00061
00062 };
00063
00064 }
00065
00066 #endif