summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/undo-history.cpp
diff options
context:
space:
mode:
authorAlex Valavanis <valavanisalex@gmail.com>2012-05-21 11:25:30 +0000
committerAlex Valavanis <valavanisalex@gmail.com>2012-05-21 11:25:30 +0000
commita8a5397db22a0cbeecb46eee097adece5dedf14e (patch)
tree856e9393270cf1aecbd031a7441ab60ea67466a7 /src/ui/dialog/undo-history.cpp
parentMore size-request GTK+ 3 fixes (diff)
downloadinkscape-a8a5397db22a0cbeecb46eee097adece5dedf14e.tar.gz
inkscape-a8a5397db22a0cbeecb46eee097adece5dedf14e.zip
GTK+ 3 changes for cell-renderers
(bzr r11392)
Diffstat (limited to 'src/ui/dialog/undo-history.cpp')
-rw-r--r--src/ui/dialog/undo-history.cpp58
1 files changed, 43 insertions, 15 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
}
}