#ifndef SIDEBARMANAGER_H_
#define SIDEBARMANAGER_H_
#include <gtk/gtk.h>
#include "Sidebar.h"
#include "SidebarToolbox.h"
#include "EditManager.h"
#include "ToolGrab.h"
#include "ToolRotate.h"
#include "ToolAddRect.h"
#include "ToolAddPolygon.h"
class Window;
class SidebarManager {
private:
GtkWidget *sidebar, *toolLabel, *scrolledWindow, *viewport;
SidebarToolbox sidebarToolbox;
Sidebar *activeSidebar;
Window *window;
ToolGrab toolGrab;
ToolRotate toolRotate;
ToolAddRect toolAddRect;
ToolAddPolygon toolAddPolygon;
// prevent shallow copy
SidebarManager(const SidebarManager &w);
const SidebarManager& operator=(const SidebarManager &w);
public:
SidebarManager(Window *window);
virtual ~SidebarManager();
GtkWidget* getWidget() {
return sidebar;
}
void resetTool() {
sidebarToolbox.resetTool();
Tool* getActiveTool() {
return &sidebarToolbox.getActiveTool();
void update();
};
#endif /*SIDEBARMANAGER_H_*/