diff options
author | Stijn Buys <ingar@osirion.org> | 2009-01-10 15:45:10 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2009-01-10 15:45:10 +0000 |
commit | d0d4bd189e2654b61be7740edd15d96b6cab968d (patch) | |
tree | 1ca7a6f5e28b7249b5eaa34a35fcd32ca291d012 | |
parent | 34d0dd66aa8dfe57199c5f3ac316bbcd46cdccf7 (diff) |
toolbar widget
-rw-r--r-- | src/ui/toolbar.cc | 40 | ||||
-rw-r--r-- | src/ui/toolbar.h | 33 |
2 files changed, 73 insertions, 0 deletions
diff --git a/src/ui/toolbar.cc b/src/ui/toolbar.cc new file mode 100644 index 0000000..0d9dfe6 --- /dev/null +++ b/src/ui/toolbar.cc @@ -0,0 +1,40 @@ +/* + ui/toolbar.cc + This file is part of the Osirion project and is distributed under + the terms of the GNU General Public License version 2 +*/ + +#include "ui/toolbar.h" +#include "ui/button.h" + +namespace ui { + +Toolbar::Toolbar(Widget *parent) : Widget(parent) +{ + set_label("toolbar"); + set_background(false); + set_border(false); +} + +Toolbar::~Toolbar() +{ +} + +void Toolbar::add_button(const char *bitmap, const char *text, const char *command) +{ + new Button(this, text, command); +} + +void Toolbar::resize() +{ + const float n = (float) children().size(); + float x = 0; + for (Widget::Children::iterator it = children().begin(); it != children().end(); it++) { + Widget *widget = (*it); + widget->set_geometry(x, 0, width() / n, height()); + x += widget->width(); + } +} + +} + diff --git a/src/ui/toolbar.h b/src/ui/toolbar.h new file mode 100644 index 0000000..4094f52 --- /dev/null +++ b/src/ui/toolbar.h @@ -0,0 +1,33 @@ +/* + ui/widget.h + This file is part of the Osirion project and is distributed under + the terms of the GNU General Public License version 2 +*/ + + +#ifndef __INCLUDED_UI_TOOLBAR_H__ +#define __INCLUDED_UI_TOOLBAR_H__ + +#include "ui/widget.h" + +namespace ui { + +/// a toolbar container widget +class Toolbar : public Widget { +public: + /// default constructor + Toolbar(Widget *parent=0); + /// default destructor + virtual ~Toolbar(); + + /// add a button to the toolbar + void add_button(const char *bitmap, const char *text, const char *command); + +protected: + /// re-arrange child widgets + void resize(); +}; + +} + +#endif // __INCLUDED_UI_TOOLBAR_H__ |