00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef OST_GUI_BOTTOM_BAR_BUTTON_BOX
00020 #define OST_GUI_BOTTOM_BAR_BUTTON_BOX
00021
00022
00023 #include <ost/gui/module_config.hh>
00024 #include <ost/gui/widget.hh>
00025
00026 #include "event_button.hh"
00027
00028 #include <QWidget>
00029 #include <QString>
00030 #include <QGridLayout>
00031 #include <QList>
00032 #include <QLabel>
00033 namespace ost { namespace gui {
00034
00036 class DLLEXPORT_OST_GUI ButtonBox : public Widget {
00037 Q_OBJECT
00038 public:
00039 ButtonBox(const QString& label, QWidget* parent=NULL);
00040
00041 virtual bool Save(const QString& prefix);
00042 virtual bool Restore(const QString& prefix);
00043 virtual void AddButton(const QString& name, Widget* widget, bool pressed);
00044 virtual void InsertButton(EventButton* position, EventButton* new_button);
00045 virtual void RemoveButton(EventButton* button);
00046 virtual void MoveButton(EventButton* position, EventButton* mov_button);
00047
00048 virtual void dropEvent(QDropEvent* event);
00049 virtual void dragEnterEvent (QDragEnterEvent* event );
00050
00051 signals:
00052 void ToggleWidget(Widget* widget);
00053 void Removed(Widget* widget);
00054 void Inserted(Widget* widget, int pos, bool isHidden);
00055 void ButtonDragged(EventButton* button);
00056 void ButtonDropped(EventButton* button);
00057
00058 private slots:
00059 void ButtonPressed(Widget* widget);
00060
00061 private:
00062 QHBoxLayout* layout_;
00063 QHBoxLayout* buttons_layout_;
00064 QLabel* label_;
00065 QList<EventButton *>* buttons_;
00066 };
00067
00068 }}
00069
00070 #endif