diff options
Diffstat (limited to 'src/Instance.h')
-rw-r--r-- | src/Instance.h | 20 |
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); |