#ifndef SIDEBARTOOLBOX_H_ #define SIDEBARTOOLBOX_H_ #include #include #include #include "EditManager.h" #include "Sidebar.h" #include "Tool.h" class SidebarToolbox : Sidebar { private: GtkWidget *widget; std::list tools; std::map buttons; int cols, rows; void updateRows(bool changed); // prevent shallow copy SidebarToolbox(const SidebarToolbox &w); const SidebarToolbox& operator=(const SidebarToolbox &w); static void toolAction(GtkWidget *button, Tool *tool); static void sizeAllocate(GtkWidget *widget, GtkAllocation *allocation, SidebarToolbox *toolbox); public: SidebarToolbox(); virtual ~SidebarToolbox(); GtkWidget* getWidget() { return widget; } void addTool(Tool *tool); void removeTool(Tool *tool); void update(); }; #endif /*SIDEBARTOOLBOX_H_*/