50 lines
867 B
C++
50 lines
867 B
C++
#ifndef WINDOW_H_
|
|
#define WINDOW_H_
|
|
|
|
#include <gtk/gtk.h>
|
|
#include <gtk/gtkgl.h>
|
|
#include "Drawer.h"
|
|
#include "SidebarManager.h"
|
|
#include "EditManager.h"
|
|
#include "Level.h"
|
|
|
|
|
|
class WindowManager;
|
|
|
|
|
|
class Window {
|
|
private:
|
|
GtkWidget *window;
|
|
|
|
EditManager editor;
|
|
|
|
Drawer drawer;
|
|
SidebarManager sidebar;
|
|
|
|
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();
|
|
|
|
EditManager& getEditManager() {
|
|
return editor;
|
|
}
|
|
|
|
Level& getLevel() {
|
|
return level;
|
|
}
|
|
};
|
|
|
|
#endif /*WINDOW_H_*/
|