diff options
Diffstat (limited to 'SidebarToolbox.h')
-rw-r--r-- | SidebarToolbox.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/SidebarToolbox.h b/SidebarToolbox.h new file mode 100644 index 0000000..4982502 --- /dev/null +++ b/SidebarToolbox.h @@ -0,0 +1,36 @@ +#ifndef SIDEBARTOOLBOX_H_ +#define SIDEBARTOOLBOX_H_ + +#include <gtk/gtk.h> +#include <list> +#include <set> +#include "Sidebar.h" +#include "Tool.h" + +class SidebarToolbox : Sidebar +{ + private: + GtkWidget *widget; + std::list<GtkWidget*> buttonBoxes; + + std::set<Tool*> tools; + + // prevent shallow copy + SidebarToolbox(const SidebarToolbox &w); + const SidebarToolbox& operator=(const SidebarToolbox &w); + + public: + SidebarToolbox(); + virtual ~SidebarToolbox(); + + GtkWidget* getWidget() { + return widget; + } + + void update(); + + bool addTool(Tool *tool); + bool removeTool(Tool *tool); +}; + +#endif /*SIDEBARTOOLBOX_H_*/ |