#ifndef WINDOW_H_ #define WINDOW_H_ #include #include #include "UIManager.h" #include "Drawer.h" #include "SidebarManager.h" #include "FileManager.h" #include "EditManager.h" #include "Level.h" class WindowManager; class Window { private: GtkWidget *window; UIManager uiManager; EditManager editor; Drawer drawer; SidebarManager sidebar; FileManager fileManager; WindowManager *manager; Level level; // prevent shallow copy Window(const Window &w); const Window& operator=(const Window &w); static gboolean deleteEvent(GtkWidget *widget, GdkEvent *event, Window *window); public: Window(GdkGLConfig *glconfig, WindowManager *manager); virtual ~Window(); void show(); void update(); void handleAction(UIManager::Action action); void redraw() { drawer.update(); } void resetTool() { sidebar.resetTool(); } Tool* getActiveTool() { return sidebar.getActiveTool(); } EditManager& getEditManager() { return editor; } Level& getLevel() { return level; } }; #endif /*WINDOW_H_*/