/* * Window.cpp * * 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 . */ #include "Window.h" #include "RenderArea.h" #include "AspectFrame.h" #include namespace ZoomEdit { namespace Gui { const Window::RoomListColumnRecord Window::ROOM_LIST_COLUMN_RECORD; Window::Window(BaseObjectType *cobject, const Glib::RefPtr &builder) : Gtk::Window(cobject) { Glib::RefPtr itemQuit = Glib::RefPtr::cast_dynamic(builder->get_object("MenuItemQuit")); if(itemQuit) { itemQuit->signal_activate().connect(sigc::mem_fun(this, &Window::hide)); } builder->get_widget_derived("RenderArea", renderArea); builder->get_widget_derived("MapArea", mapArea); builder->get_widget_derived("AspectFrameMap", aspectFrameMap); roomListStore = Gtk::ListStore::create(ROOM_LIST_COLUMN_RECORD); builder->get_widget("RoomList", roomList); roomList->set_model(roomListStore); int colCount = roomList->append_column("Room", roomListRenderer); Gtk::TreeViewColumn *roomColumn = roomList->get_column(colCount-1); if(roomColumn) { roomColumn->add_attribute(roomListRenderer.property_value(), ROOM_LIST_COLUMN_RECORD.room); } } Window::~Window() { if(renderArea) delete renderArea; if(mapArea) delete mapArea; if(aspectFrameMap) delete aspectFrameMap; } } }