summaryrefslogtreecommitdiffstats
path: root/src/Gui/Window.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Gui/Window.h')
-rw-r--r--src/Gui/Window.h38
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;
};
}