summaryrefslogtreecommitdiffstats
path: root/src/Instance.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Instance.h')
-rw-r--r--src/Instance.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/Instance.h b/src/Instance.h
index 090e2f1..de6249e 100644
--- a/src/Instance.h
+++ b/src/Instance.h
@@ -21,7 +21,9 @@
#define ZOOMEDIT_INSTANCE_H_
#include <gtkmm/builder.h>
+#include <gtkmm/treeview.h>
#include <gtkmm/main.h>
+
#include <libxml++/parsers/domparser.h>
namespace ZoomEdit {
@@ -32,6 +34,7 @@ class Window;
namespace Data {
class Level;
+class Room;
}
namespace View {
@@ -47,6 +50,11 @@ class Instance {
bool loadLevel(const Glib::ustring &file);
bool saveLevel(const Glib::ustring &file);
+ Data::Level* getLevel() {return level;}
+
+ Data::Room* getSelectedRoom() {return selectedRoom;}
+ void setSelectedRoom(Data::Room *newSelectedRoom);
+
static bool create(const Glib::ustring &file = Glib::ustring());
private:
@@ -55,16 +63,24 @@ class Instance {
Glib::RefPtr<Gtk::Builder> builder;
Gui::Window *window;
- xmlpp::DomParser *levelXml;
- Data::Level *level;
View::TopView *view;
View::MapView *mapView;
+ xmlpp::DomParser *levelXml;
+ Data::Level *level;
+ Data::Room *selectedRoom;
+
Instance(const Glib::ustring &file);
void destroy();
+ void onUpdate();
+ void onRoomListSelect();
+
+ void deleteLevel();
+ void setLevel();
+
// Prevent shallow copy
Instance(const Instance &o);
Instance& operator=(const Instance &o);