summaryrefslogtreecommitdiffstats
path: root/SidebarToolbox.h
diff options
context:
space:
mode:
Diffstat (limited to 'SidebarToolbox.h')
-rw-r--r--SidebarToolbox.h36
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_*/