/* * RoomListRenderer.h * * Copyright (C) 2010 Matthias Schiffer * * This program is free software: you can redistribute it and/or modify it * under the terms of the GNU Lesser 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License along * with this program. If not, see . */ #ifndef ZOOMEDIT_GUI_RENDERER_ROOMLISTRENDERER_H_ #define ZOOMEDIT_GUI_RENDERER_ROOMLISTRENDERER_H_ #include namespace ZoomEdit { namespace Gui { namespace Renderer { class RoomListRenderer : public virtual Glib::ObjectBase, public Gtk::CellRenderer { public: RoomListRenderer() : Glib::ObjectBase(typeid(RoomListRenderer)), value(*this, "value") {} Glib::PropertyProxy property_value() { return value.get_proxy(); } protected: virtual void get_size_vfunc(Gtk::Widget &widget, const Gdk::Rectangle *cell_area, int *x_offset, int *y_offset, int *width, int *height) const; virtual void render_vfunc(const Glib::RefPtr &window, Gtk::Widget &widget, const Gdk::Rectangle &background_area, const Gdk::Rectangle &cell_area, const Gdk::Rectangle &expose_area, Gtk::CellRendererState flags); private: Glib::Property value; }; } } } #endif /* ZOOMEDIT_GUI_RENDERER_ROOMLISTRENDERER_H_ */