diff options
Diffstat (limited to 'src/Gui/Window.h')
-rw-r--r-- | src/Gui/Window.h | 38 |
1 files changed, 34 insertions, 4 deletions
diff --git a/src/Gui/Window.h b/src/Gui/Window.h index 97ebcda..ce0b1e2 100644 --- a/src/Gui/Window.h +++ b/src/Gui/Window.h @@ -21,25 +21,55 @@ #define ZOOMEDIT_GUI_WINDOW_H_ #include <gtkmm/builder.h> +#include <gtkmm/liststore.h> +#include <gtkmm/treeview.h> #include <gtkmm/window.h> +#include "Renderer/RoomListRenderer.h" + namespace ZoomEdit { + +namespace Data { +class Room; +} + namespace Gui { class AspectFrame; class RenderArea; class Window : public Gtk::Window { - private: - RenderArea *renderArea, *mapArea; - AspectFrame *aspectFrameMap; - public: Window(BaseObjectType *cobject, const Glib::RefPtr<Gtk::Builder> &builder); virtual ~Window(); RenderArea* getRenderArea() const {return renderArea;} RenderArea* getMapArea() const {return mapArea;} + + Glib::RefPtr<Gtk::ListStore> getRoomListStore() {return roomListStore;} + Gtk::TreeView* getRoomList() {return roomList;} + + class RoomListColumnRecord : public Gtk::TreeModel::ColumnRecord { + public: + friend class Window; + + Gtk::TreeModelColumn<void*> room; + + private: + RoomListColumnRecord() { + add(room); + } + }; + + static const RoomListColumnRecord ROOM_LIST_COLUMN_RECORD; + + private: + RenderArea *renderArea, *mapArea; + AspectFrame *aspectFrameMap; + Gtk::TreeView *roomList; + + Glib::RefPtr<Gtk::ListStore> roomListStore; + Renderer::RoomListRenderer roomListRenderer; }; } |