/* * Window.h * * Copyright (C) 2008 Matthias Schiffer * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see . */ #ifndef ZOOMEDIT_GUI_WINDOW_H_ #define ZOOMEDIT_GUI_WINDOW_H_ #include #include #include #include #include "Renderer/RoomListRenderer.h" namespace ZoomEdit { namespace Data { class Room; } namespace Gui { class AspectFrame; class RenderArea; class Window : public Gtk::Window { public: Window(BaseObjectType *cobject, const Glib::RefPtr &builder); virtual ~Window(); RenderArea* getRenderArea() const {return renderArea;} RenderArea* getMapArea() const {return mapArea;} Glib::RefPtr getRoomListStore() {return roomListStore;} Gtk::TreeView* getRoomList() {return roomList;} class RoomListColumnRecord : public Gtk::TreeModel::ColumnRecord { public: friend class Window; Gtk::TreeModelColumn room; private: RoomListColumnRecord() { add(room); } }; static const RoomListColumnRecord ROOM_LIST_COLUMN_RECORD; private: RenderArea *renderArea, *mapArea; AspectFrame *aspectFrameMap; Gtk::TreeView *roomList; Glib::RefPtr roomListStore; Renderer::RoomListRenderer roomListRenderer; }; } } #endif /*WINDOW_H_*/