diff options
Diffstat (limited to 'src/ui/dialog')
| -rw-r--r-- | src/ui/dialog/undo-history.cpp | 58 | ||||
| -rw-r--r-- | src/ui/dialog/undo-history.h | 46 |
2 files changed, 72 insertions, 32 deletions
diff --git a/src/ui/dialog/undo-history.cpp b/src/ui/dialog/undo-history.cpp index 9cc4b39cd..52d160124 100644 --- a/src/ui/dialog/undo-history.cpp +++ b/src/ui/dialog/undo-history.cpp @@ -33,14 +33,20 @@ namespace UI { namespace Dialog { /* Rendering functions for custom cell renderers */ - -void -CellRendererSPIcon::render_vfunc(const Glib::RefPtr<Gdk::Drawable>& window, - Gtk::Widget& widget, - const Gdk::Rectangle& background_area, - const Gdk::Rectangle& cell_area, - const Gdk::Rectangle& expose_area, - Gtk::CellRendererState flags) +#if WITH_GTKMM_3_0 +void CellRendererSPIcon::render_vfunc(const Cairo::RefPtr<Cairo::Context>& cr, + Gtk::Widget& widget, + const Gdk::Rectangle& background_area, + const Gdk::Rectangle& cell_area, + Gtk::CellRendererState flags) +#else +void CellRendererSPIcon::render_vfunc(const Glib::RefPtr<Gdk::Drawable>& window, + Gtk::Widget& widget, + const Gdk::Rectangle& background_area, + const Gdk::Rectangle& cell_area, + const Gdk::Rectangle& expose_area, + Gtk::CellRendererState flags) +#endif { // if this event type doesn't have an icon... if ( !Inkscape::Verb::get(_property_event_type)->get_image() ) return; @@ -59,8 +65,13 @@ CellRendererSPIcon::render_vfunc(const Glib::RefPtr<Gdk::Drawable>& window, sp_icon_fetch_pixbuf(sp_icon); _property_icon = Glib::wrap(sp_icon->pb, true); } else if ( GTK_IS_IMAGE(icon->gobj()) ) { +#if WITH_GTKMM_3_0 + _property_icon = Gtk::Invisible().render_icon_pixbuf(Gtk::StockID(image), + Gtk::ICON_SIZE_MENU); +#else _property_icon = Gtk::Invisible().render_icon(Gtk::StockID(image), Gtk::ICON_SIZE_MENU); +#endif } else { delete icon; return; @@ -74,25 +85,42 @@ CellRendererSPIcon::render_vfunc(const Glib::RefPtr<Gdk::Drawable>& window, property_pixbuf() = _icon_cache[_property_event_type]; } +#if WITH_GTKMM_3_0 + Gtk::CellRendererPixbuf::render_vfunc(cr, widget, background_area, + cell_area, flags); +#else Gtk::CellRendererPixbuf::render_vfunc(window, widget, background_area, cell_area, expose_area, flags); +#endif } -void -CellRendererInt::render_vfunc(const Glib::RefPtr<Gdk::Drawable>& window, - Gtk::Widget& widget, - const Gdk::Rectangle& background_area, - const Gdk::Rectangle& cell_area, - const Gdk::Rectangle& expose_area, - Gtk::CellRendererState flags) +#if WITH_GTKMM_3_0 +void CellRendererInt::render_vfunc(const Cairo::RefPtr<Cairo::Context>& cr, + Gtk::Widget& widget, + const Gdk::Rectangle& background_area, + const Gdk::Rectangle& cell_area, + Gtk::CellRendererState flags) +#else +void CellRendererInt::render_vfunc(const Glib::RefPtr<Gdk::Drawable>& window, + Gtk::Widget& widget, + const Gdk::Rectangle& background_area, + const Gdk::Rectangle& cell_area, + const Gdk::Rectangle& expose_area, + Gtk::CellRendererState flags) +#endif { if( _filter(_property_number) ) { std::ostringstream s; s << _property_number << std::flush; property_text() = s.str(); +#if WITH_GTKMM_3_0 + Gtk::CellRendererText::render_vfunc(cr, widget, background_area, + cell_area, flags); +#else Gtk::CellRendererText::render_vfunc(window, widget, background_area, cell_area, expose_area, flags); +#endif } } diff --git a/src/ui/dialog/undo-history.h b/src/ui/dialog/undo-history.h index ee7941580..f6bca30b7 100644 --- a/src/ui/dialog/undo-history.h +++ b/src/ui/dialog/undo-history.h @@ -48,14 +48,20 @@ public: property_event_type() { return _property_event_type.get_proxy(); } protected: - - virtual void - render_vfunc(const Glib::RefPtr<Gdk::Drawable>& window, - Gtk::Widget& widget, - const Gdk::Rectangle& background_area, - const Gdk::Rectangle& cell_area, - const Gdk::Rectangle& expose_area, - Gtk::CellRendererState flags); +#if WITH_GTKMM_3_0 + virtual void render_vfunc(const Cairo::RefPtr<Cairo::Context>& cr, + Gtk::Widget& widget, + const Gdk::Rectangle& background_area, + const Gdk::Rectangle& cell_area, + Gtk::CellRendererState flags); +#else + virtual void render_vfunc(const Glib::RefPtr<Gdk::Drawable>& window, + Gtk::Widget& widget, + const Gdk::Rectangle& background_area, + const Gdk::Rectangle& cell_area, + const Gdk::Rectangle& expose_area, + Gtk::CellRendererState flags); +#endif private: Glib::Property<Glib::RefPtr<Gdk::Pixbuf> > _property_icon; @@ -85,15 +91,21 @@ public: static const Filter& no_filter; - protected: - - virtual void - render_vfunc(const Glib::RefPtr<Gdk::Drawable>& window, - Gtk::Widget& widget, - const Gdk::Rectangle& background_area, - const Gdk::Rectangle& cell_area, - const Gdk::Rectangle& expose_area, - Gtk::CellRendererState flags); +protected: +#if WITH_GTKMM_3_0 + virtual void render_vfunc(const Cairo::RefPtr<Cairo::Context>& cr, + Gtk::Widget& widget, + const Gdk::Rectangle& background_area, + const Gdk::Rectangle& cell_area, + Gtk::CellRendererState flags); +#else + virtual void render_vfunc(const Glib::RefPtr<Gdk::Drawable>& window, + Gtk::Widget& widget, + const Gdk::Rectangle& background_area, + const Gdk::Rectangle& cell_area, + const Gdk::Rectangle& expose_area, + Gtk::CellRendererState flags); +#endif private: |
