[gtkmm] Gdk, Gtk: Update for gtk4 3.98.0 (remove Gtk::*Tool*)



commit f31086b3b990580595406b9b0a6aa9a92b23a7bc
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Wed Feb 12 15:35:33 2020 +0100

    Gdk, Gtk: Update for gtk4 3.98.0 (remove Gtk::*Tool*)
    
    Remove MenuToolButton, RadioToolButton, SeparatorToolItem, ToggleToolButton,
    Toolbar, ToolButton, ToolItem, ToolShell.
    Use Box instead of Toolbar, Button instead of ToolButton, etc.

 .gitignore                            |  16 -----
 demos/gtk-demo/example_appwindow.cc   |   2 +-
 demos/gtk-demo/example_builder.cc     |   4 --
 demos/gtk-demo/example_builder.ui     |  17 +++--
 demos/gtk-demo/example_iconbrowser.cc |  46 ++++++-------
 demos/gtk-demo/example_iconview.cc    |  10 ++-
 demos/gtk-demo/example_textview.cc    |   6 +-
 gtk/gtkmm.h                           |   7 --
 gtk/gtkmm/radiobuttongroup.cc         |  13 ----
 gtk/gtkmm/radiobuttongroup.h          |   9 ---
 gtk/src/calendar.ccg                  |  57 ---------------
 gtk/src/calendar.hg                   |  74 +++-----------------
 gtk/src/enums.hg                      |   1 -
 gtk/src/filelist.am                   |   8 ---
 gtk/src/iconpaintable.hg              |  19 +++--
 gtk/src/main.ccg                      |  71 -------------------
 gtk/src/main.hg                       |  70 -------------------
 gtk/src/menutoolbutton.ccg            |  43 ------------
 gtk/src/menutoolbutton.hg             |  77 ---------------------
 gtk/src/radiotoolbutton.ccg           |  65 ------------------
 gtk/src/radiotoolbutton.hg            | 126 ----------------------------------
 gtk/src/separatortoolitem.ccg         |  25 -------
 gtk/src/separatortoolitem.hg          |  50 --------------
 gtk/src/settings.hg                   |   5 +-
 gtk/src/textbuffer.ccg                |   4 +-
 gtk/src/textbuffer.hg                 |  12 ++--
 gtk/src/textiter.ccg                  |   2 +-
 gtk/src/textiter.hg                   |   6 +-
 gtk/src/toggletoolbutton.ccg          |  39 -----------
 gtk/src/toggletoolbutton.hg           |  71 -------------------
 gtk/src/toolbar.ccg                   |  83 ----------------------
 gtk/src/toolbar.hg                    |  92 -------------------------
 gtk/src/toolbutton.ccg                |  31 ---------
 gtk/src/toolbutton.hg                 |  84 -----------------------
 gtk/src/toolitem.ccg                  |  19 -----
 gtk/src/toolitem.hg                   |  95 -------------------------
 gtk/src/toolshell.ccg                 |  19 -----
 gtk/src/toolshell.hg                  |  67 ------------------
 gtk/src/widget.hg                     |   6 +-
 tools/m4/convert_gtk.m4               |  10 ---
 40 files changed, 80 insertions(+), 1381 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 4bf0dad4..a239eff1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -362,8 +362,6 @@ gtk/gtkmm/mediastream.cc
 gtk/gtkmm/mediastream.h
 gtk/gtkmm/menubutton.cc
 gtk/gtkmm/menubutton.h
-gtk/gtkmm/menutoolbutton.cc
-gtk/gtkmm/menutoolbutton.h
 gtk/gtkmm/messagedialog.cc
 gtk/gtkmm/messagedialog.h
 gtk/gtkmm/modelbutton.cc
@@ -422,8 +420,6 @@ gtk/gtkmm/progressbar.cc
 gtk/gtkmm/progressbar.h
 gtk/gtkmm/radiobutton.cc
 gtk/gtkmm/radiobutton.h
-gtk/gtkmm/radiotoolbutton.cc
-gtk/gtkmm/radiotoolbutton.h
 gtk/gtkmm/range.cc
 gtk/gtkmm/range.h
 gtk/gtkmm/root.cc
@@ -456,8 +452,6 @@ gtk/gtkmm/selectionmodel.cc
 gtk/gtkmm/selectionmodel.h
 gtk/gtkmm/separator.cc
 gtk/gtkmm/separator.h
-gtk/gtkmm/separatortoolitem.cc
-gtk/gtkmm/separatortoolitem.h
 gtk/gtkmm/settings.cc
 gtk/gtkmm/settings.h
 gtk/gtkmm/shortcutlabel.cc
@@ -514,16 +508,6 @@ gtk/gtkmm/textview.cc
 gtk/gtkmm/textview.h
 gtk/gtkmm/togglebutton.cc
 gtk/gtkmm/togglebutton.h
-gtk/gtkmm/toggletoolbutton.cc
-gtk/gtkmm/toggletoolbutton.h
-gtk/gtkmm/toolbar.cc
-gtk/gtkmm/toolbar.h
-gtk/gtkmm/toolbutton.cc
-gtk/gtkmm/toolbutton.h
-gtk/gtkmm/toolitem.cc
-gtk/gtkmm/toolitem.h
-gtk/gtkmm/toolshell.cc
-gtk/gtkmm/toolshell.h
 gtk/gtkmm/tooltip.cc
 gtk/gtkmm/tooltip.h
 gtk/gtkmm/treedragdest.cc
diff --git a/demos/gtk-demo/example_appwindow.cc b/demos/gtk-demo/example_appwindow.cc
index 4ff63396..95db0073 100644
--- a/demos/gtk-demo/example_appwindow.cc
+++ b/demos/gtk-demo/example_appwindow.cc
@@ -20,7 +20,7 @@ protected:
   //Member widgets:
   Gtk::Grid m_Grid;
   //Gtk::Menu m_Menubar;
-  Gtk::Toolbar m_Toolbar;
+  Gtk::Box m_Toolbar;
   Gtk::ScrolledWindow m_ScrolledWindow;
   Gtk::Statusbar m_Statusbar;
   Gtk::TextView m_TextView;
diff --git a/demos/gtk-demo/example_builder.cc b/demos/gtk-demo/example_builder.cc
index 96b9811e..facf3d0f 100644
--- a/demos/gtk-demo/example_builder.cc
+++ b/demos/gtk-demo/example_builder.cc
@@ -53,10 +53,6 @@ Example_Builder::Example_Builder(
 : Gtk::Window(cobject),
   m_builder(builder)
 {
-  auto pToolbar = builder->get_widget<Gtk::Toolbar>("toolbar1");
-  if (pToolbar)
-    pToolbar->get_style_context()->add_class("primary-toolbar");
-
   auto refActions = Gio::SimpleActionGroup::create();
   refActions->add_action("quit", sigc::mem_fun(*this, &Example_Builder::on_file_quit));
   refActions->add_action("about", sigc::mem_fun(*this, &Example_Builder::on_help_about));
diff --git a/demos/gtk-demo/example_builder.ui b/demos/gtk-demo/example_builder.ui
index 40df0b64..5fd3fa05 100644
--- a/demos/gtk-demo/example_builder.ui
+++ b/demos/gtk-demo/example_builder.ui
@@ -111,53 +111,52 @@
           </object>
         </child>
         <child>
-          <object class="GtkToolbar" id="toolbar1">
+          <object class="GtkBox" id="toolbar1">
             <child internal-child="accessible">
               <object class="AtkObject" id="a11y-toolbar">
                 <property name="AtkObject::accessible-name">The toolbar</property>
               </object>
             </child>
             <child>
-              <object class="GtkToolButton">
+              <object class="GtkButton">
                 <property name="label" translatable="yes">New</property>
                 <property name="tooltip-text" translatable="yes">Create a new file</property>
                 <property name="icon-name">document-new</property>
               </object>
             </child>
             <child>
-              <object class="GtkToolButton">
+              <object class="GtkButton">
                 <property name="label" translatable="yes">Open</property>
                 <property name="tooltip-text" translatable="yes">Open a file</property>
                 <property name="icon-name">document-open</property>
               </object>
             </child>
             <child>
-              <object class="GtkToolButton">
+              <object class="GtkButton">
                 <property name="label" translatable="yes">Save</property>
                 <property name="tooltip-text" translatable="yes">Save a file</property>
                 <property name="icon-name">document-save</property>
-                <property name="is-important">True</property>
               </object>
             </child>
             <child>
-              <object class="GtkSeparatorToolItem"/>
+              <object class="GtkSeparator"/>
             </child>
             <child>
-              <object class="GtkToolButton">
+              <object class="GtkButton">
                 <property name="label" translatable="yes">Copy</property>
                 <property name="tooltip-text" translatable="yes">Copy selected object into the 
clipboard</property>
                 <property name="icon-name">edit-copy</property>
               </object>
             </child>
             <child>
-              <object class="GtkToolButton">
+              <object class="GtkButton">
                 <property name="label" translatable="yes">Cut</property>
                 <property name="tooltip-text" translatable="yes">Cut selected object into the 
clipboard</property>
                 <property name="icon-name">edit-cut</property>
               </object>
             </child>
             <child>
-              <object class="GtkToolButton">
+              <object class="GtkButton">
                 <property name="label" translatable="yes">Paste</property>
                 <property name="tooltip-text" translatable="yes">Paste object from the clipboard</property>
                 <property name="icon-name">edit-paste</property>
diff --git a/demos/gtk-demo/example_iconbrowser.cc b/demos/gtk-demo/example_iconbrowser.cc
index ef79f71b..42bc6975 100644
--- a/demos/gtk-demo/example_iconbrowser.cc
+++ b/demos/gtk-demo/example_iconbrowser.cc
@@ -96,7 +96,7 @@ protected:
 
   void on_image_get_texture(Glib::ValueBase& value, int size_index);
 
-  Glib::RefPtr<const Gdk::Texture> get_icon(int size_index);
+  Glib::RefPtr<const Gdk::Paintable> get_paintable(int size_index);
 
   static const int n_icon_sizes = 5;
   static const int m_icon_size[n_icon_sizes];
@@ -960,41 +960,39 @@ void DetailDialog::set_image(
 
 void DetailDialog::on_image_drag_begin(const Glib::RefPtr<Gdk::Drag>& /* drag */, int size_index)
 {
-  auto image_texture = get_icon(size_index);
-  if (image_texture)
+  auto image_paintable = get_paintable(size_index);
+  if (image_paintable)
   {
-    const auto hot_x = image_texture->get_intrinsic_width();
-    const auto hot_y = image_texture->get_intrinsic_height();
-    m_image_drag_source[size_index]->set_icon(image_texture, hot_x, hot_y);
+    const auto hot_x = image_paintable->get_intrinsic_width();
+    const auto hot_y = image_paintable->get_intrinsic_height();
+    m_image_drag_source[size_index]->set_icon(image_paintable, hot_x, hot_y);
   }
 }
 
 void DetailDialog::on_image_get_texture(Glib::ValueBase& value, int size_index)
 {
-  auto image_texture = get_icon(size_index);
-  if (image_texture)
+  auto image_paintable = get_paintable(size_index);
+  if (image_paintable)
   {
-    Glib::Value<Glib::RefPtr<const Gdk::Texture>> texture_value;
-    texture_value.init(value.gobj());
-    texture_value.set(image_texture);
-    value = texture_value;
+    auto image_texture = std::dynamic_pointer_cast<const Gdk::Texture>(image_paintable);
+    if (image_texture)
+    {
+      Glib::Value<Glib::RefPtr<const Gdk::Texture>> texture_value;
+      texture_value.init(value.gobj());
+      texture_value.set(image_texture);
+      value = texture_value;
+    }
+    else
+      std::cout << "DetailDialog::on_image_get_texture(): Could not get a Gdk::Texture" << std::endl;
   }
+  else
+    std::cout << "DetailDialog::on_image_get_texture(): Could not get a Gdk::Paintable" << std::endl;
 }
 
-Glib::RefPtr<const Gdk::Texture> DetailDialog::get_icon(int size_index)
+Glib::RefPtr<const Gdk::Paintable> DetailDialog::get_paintable(int size_index)
 {
-  auto icon = Gtk::IconTheme::get_for_display(get_display())->lookup_icon(
+  return Gtk::IconTheme::get_for_display(get_display())->lookup_icon(
     m_icon_name, m_icon_size[size_index]);
-  Glib::RefPtr<const Gdk::Texture> texture;
-  try
-  {
-    texture = icon->download_texture();
-  }
-  catch (const Glib::Error& err)
-  {
-    std::cout << "Error in DetailDialog::get_icon(): " << err.what() << std::endl;
-  }
-  return texture;
 }
 
 IconInfoStore::IconInfoStore()
diff --git a/demos/gtk-demo/example_iconview.cc b/demos/gtk-demo/example_iconview.cc
index 4629ae9c..b2bb900a 100644
--- a/demos/gtk-demo/example_iconview.cc
+++ b/demos/gtk-demo/example_iconview.cc
@@ -47,8 +47,8 @@ protected:
 
   //Member widgets:
   Gtk::Box m_VBox;
-  Gtk::Toolbar m_Toolbar;
-  Gtk::ToolButton m_ButtonUp, m_ButtonHome;
+  Gtk::Box m_Toolbar;
+  Gtk::Button m_ButtonUp, m_ButtonHome;
   Gtk::ScrolledWindow m_ScrolledWindow;
   Gtk::IconView m_IconView;
 };
@@ -82,13 +82,11 @@ Example_IconView::Example_IconView()
 
   m_VBox.add(m_Toolbar);
 
-  m_ButtonUp.set_is_important();
   m_ButtonUp.set_sensitive();
-  m_Toolbar.append(m_ButtonUp);
+  m_Toolbar.add(m_ButtonUp);
 
-  m_ButtonHome.set_is_important();
   m_ButtonHome.set_sensitive();
-  m_Toolbar.append(m_ButtonHome);
+  m_Toolbar.add(m_ButtonHome);
 
   m_ScrolledWindow.set_shadow_type(Gtk::ShadowType::ETCHED_IN);
   m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
diff --git a/demos/gtk-demo/example_textview.cc b/demos/gtk-demo/example_textview.cc
index b4ed082a..5c044421 100644
--- a/demos/gtk-demo/example_textview.cc
+++ b/demos/gtk-demo/example_textview.cc
@@ -240,9 +240,9 @@ void Example_TextView::insert_text(Glib::RefPtr<Gtk::TextBuffer>& refBuffer)
   iter = refBuffer->insert(iter, "The buffer can have images in it: ");
   if (refTexture)
   {
-    iter = refBuffer->insert_texture(iter, refTexture);
-    iter = refBuffer->insert_texture(iter, refTexture);
-    iter = refBuffer->insert_texture(iter, refTexture);
+    iter = refBuffer->insert_paintable(iter, refTexture);
+    iter = refBuffer->insert_paintable(iter, refTexture);
+    iter = refBuffer->insert_paintable(iter, refTexture);
   }
   iter = refBuffer->insert(iter, " for example.\n\n");
 
diff --git a/gtk/gtkmm.h b/gtk/gtkmm.h
index cfa15e09..fce28749 100644
--- a/gtk/gtkmm.h
+++ b/gtk/gtkmm.h
@@ -225,7 +225,6 @@ extern const int gtkmm_micro_version;
 #endif
 #include <gtkmm/progressbar.h>
 #include <gtkmm/radiobutton.h>
-#include <gtkmm/radiotoolbutton.h>
 #include <gtkmm/range.h>
 #include <gtkmm/recentinfo.h>
 #include <gtkmm/recentmanager.h>
@@ -237,7 +236,6 @@ extern const int gtkmm_micro_version;
 #include <gtkmm/searchbar.h>
 #include <gtkmm/searchentry.h>
 #include <gtkmm/separator.h>
-#include <gtkmm/separatortoolitem.h>
 #include <gtkmm/settings.h>
 #include <gtkmm/shortcutlabel.h>
 #include <gtkmm/shortcutsgroup.h>
@@ -264,11 +262,6 @@ extern const int gtkmm_micro_version;
 #include <gtkmm/texttagtable.h>
 #include <gtkmm/textview.h>
 #include <gtkmm/togglebutton.h>
-#include <gtkmm/toolbar.h>
-#include <gtkmm/toolitem.h>
-#include <gtkmm/toolbutton.h>
-#include <gtkmm/toggletoolbutton.h>
-#include <gtkmm/menutoolbutton.h>
 #include <gtkmm/tooltip.h>
 #include <gtkmm/treemodel.h>
 #include <gtkmm/treemodelfilter.h>
diff --git a/gtk/gtkmm/radiobuttongroup.cc b/gtk/gtkmm/radiobuttongroup.cc
index be0532dc..4ac9c516 100644
--- a/gtk/gtkmm/radiobuttongroup.cc
+++ b/gtk/gtkmm/radiobuttongroup.cc
@@ -15,13 +15,8 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-#undef GTK_DISABLE_DEPRECATED
-#define GDK_DISABLE_DEPRECATION_WARNINGS 1
-
 #include <gtkmm/radiobuttongroup.h>
-
 #include <gtkmm/radiobutton.h>
-#include <gtkmm/radiotoolbutton.h>
 #include <gtk/gtk.h>
 
 namespace Gtk
@@ -55,12 +50,4 @@ void RadioButtonGroup::add(RadioButton& item)
   group_ = gtk_radio_button_get_group(item.gobj());
 }
 
-void RadioButtonGroup::add(RadioToolButton& item)
-{
-  item.set_group(*this);
-
-  //probably not necessary:
-  group_ = gtk_radio_tool_button_get_group(item.gobj());
-}
-
 } //namespace Gtk
diff --git a/gtk/gtkmm/radiobuttongroup.h b/gtk/gtkmm/radiobuttongroup.h
index 7bbdb538..af0b3910 100644
--- a/gtk/gtkmm/radiobuttongroup.h
+++ b/gtk/gtkmm/radiobuttongroup.h
@@ -19,8 +19,6 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-#include <gtkmmconfig.h> // Can define GTKMM_DISABLE_DEPRECATED
-
 #include <glibmm/object.h> //For Glib::RefPtr<> and std::size_t
 
 #ifndef DOXYGEN_SHOULD_SKIP_THIS
@@ -34,7 +32,6 @@ namespace Gtk
 {
 
 class RadioButton;
-class RadioToolButton;
 
 /** RadioButtonGroup, identifier for RadioButtons.
  * To set up this RadioButtonGroup, construct a RadioButtonGroup and then pass it
@@ -54,14 +51,8 @@ protected:
   explicit RadioButtonGroup(GSList* group);
 
   friend class Gtk::RadioButton;
-  friend class Gtk::RadioToolButton;
-
 
-  //These all have similar interfaces.
-  //TODO: Add a common multiply-inherited base class, with set_group()=0?
-  //      Would that anything useful other than being tidy? murrayc
   void add(RadioButton& item);
-  void add(RadioToolButton& item);
 
   void* operator new(std::size_t); // not implemented
 
diff --git a/gtk/src/calendar.ccg b/gtk/src/calendar.ccg
index 6ee0a234..e6c59e3b 100644
--- a/gtk/src/calendar.ccg
+++ b/gtk/src/calendar.ccg
@@ -17,60 +17,3 @@
  */
 
 #include <gtk/gtk.h>
-
-using DisplayOptions = Gtk::Calendar::DisplayOptions;
-
-namespace
-{
-extern "C"
-{
-static gchar* SignalProxy_Details_gtk_callback(GtkCalendar*, guint year, guint month, guint day,
-                                               gpointer user_data)
-{
-  auto the_slot = static_cast<Gtk::Calendar::SlotDetails*>(user_data);
-
-  try
-  {
-    const auto temp = (*the_slot)(year, month, day);
-    return g_strdup(temp.c_str()); //Freed by GtkCalendar.
-  }
-  catch(...)
-  {
-    Glib::exception_handlers_invoke();
-  }
-  return nullptr; // arbitrary value
-}
-
-static void SignalProxy_Details_gtk_callback_destroy(void* data)
-{
-  delete static_cast<Gtk::Calendar::SlotDetails*>(data);
-}
-
-} // extern "C"
-} // anonymous namespace
-
-namespace Gtk
-{
-
-void Calendar::get_date(Glib::Date& date) const
-{
-  guint year = 0;
-  guint month = 0;
-  guint day = 0;
-
-  get_date(year, month, day);
-
-  date.set_year(year);
-  date.set_month(static_cast<Glib::Date::Month>(month + 1)); // Month from 1 to 12 instead from 0 to 11
-  date.set_day(day);
-}
-
-void Calendar::set_detail_func(const SlotDetails& slot)
-{
-  auto slot_copy = new SlotDetails(slot);
-  gtk_calendar_set_detail_func(gobj(), &SignalProxy_Details_gtk_callback, slot_copy, 
&SignalProxy_Details_gtk_callback_destroy);
-}
-
-
-} //namespace Gtk
-
diff --git a/gtk/src/calendar.hg b/gtk/src/calendar.hg
index 6b8a427e..33eda1dc 100644
--- a/gtk/src/calendar.hg
+++ b/gtk/src/calendar.hg
@@ -19,7 +19,8 @@
 _CONFIGINCLUDE(gtkmmconfig.h)
 
 #include <gtkmm/widget.h>
-#include <glibmm/date.h>
+#include <glibmm/datetime.h>
+
 _DEFS(gtkmm,gtk)
 _PINCLUDE(gtkmm/private/widget_p.h)
 
@@ -51,77 +52,28 @@ _CC_INCLUDE(gtk/gtk.h)
  */
 class Calendar : public Widget
 {
-  _CLASS_GTKOBJECT(Calendar,GtkCalendar,GTK_CALENDAR,Gtk::Widget,GtkWidget)
+  _CLASS_GTKOBJECT(Calendar, GtkCalendar, GTK_CALENDAR, Gtk::Widget, GtkWidget)
 public:
-  _WRAP_ENUM(DisplayOptions, GtkCalendarDisplayOptions)
-
   _CTOR_DEFAULT
 
-  _WRAP_METHOD(void select_month(guint month, guint year), gtk_calendar_select_month)
-  _WRAP_METHOD(void select_day(guint day), gtk_calendar_select_day)
+  _WRAP_METHOD(void select_day(const Glib::DateTime& day), gtk_calendar_select_day)
   _WRAP_METHOD(void mark_day(guint day), gtk_calendar_mark_day)
   _WRAP_METHOD(void unmark_day(guint day), gtk_calendar_unmark_day)
   _WRAP_METHOD(void clear_marks(), gtk_calendar_clear_marks)
 
-  _WRAP_METHOD(void set_display_options(DisplayOptions flags), gtk_calendar_set_display_options)
-  _WRAP_METHOD(DisplayOptions get_display_options() const, gtk_calendar_get_display_options)
-
-  _WRAP_METHOD(void get_date(guint& year, guint& month, guint& day) const, gtk_calendar_get_date)
-  // Additional method not in GTK (#350584)
-  /** Get the date as Glib::Date
-   *
-   * @param date Referenz to set the date
-   */
-  void get_date(Glib::Date& date) const;
-
-  /** Detail markup handler.
-   * For instance,
-   * @code
-   * Glib::ustring on_calendar_details(guint year, guint month, guint day);
-   * @endcode
-   *
-   * @param year The year for which details are needed.
-   * @param month The month for which details are needed.
-   * @param day The day of @a month for which details are needed.
-   * @result Pango markup with details for the specified day, or an empty string.
-   *
-   * This callback function provides Pango markup with detail information for the
-   * specified day. Examples for such details are holidays or appointments. The
-   * function should return an empty string when no information is available.
-   *
-   * @newin{2,14}
-   */
-  typedef sigc::slot<Glib::ustring(guint, guint, guint)> SlotDetails;
-
-  /** Installs a function which provides Pango markup with detail information
-   * for each day. Examples for such details are holidays or appointments. That
-   * information is shown below each day when show-details is set.
-   * A tooltip containing full detail information is provided if the entire
-   * text could not fit into the details area, or if the show-details property
-   * is not set.
-   *
-   * The size of the details area can be restricted by setting the
-   * detail-width-chars and detail-height-rows properties.
-   *
-   * @param slot A callback function providing details for each day.
-   *
-   * @newin{2,14}
-   */
-  void set_detail_func(const SlotDetails& slot);
-  _IGNORE(gtk_calendar_set_detail_func)
-
-  _WRAP_METHOD(void set_detail_width_chars(int chars), gtk_calendar_set_detail_width_chars)
-  _WRAP_METHOD(void set_detail_height_rows(int rows), gtk_calendar_set_detail_height_rows)
+  _WRAP_METHOD(void set_show_week_numbers(bool value = true), gtk_calendar_set_show_week_numbers)
+  _WRAP_METHOD(bool get_show_week_numbers() const, gtk_calendar_get_show_week_numbers)
+  _WRAP_METHOD(void set_show_heading(bool value = true), gtk_calendar_set_show_heading)
+  _WRAP_METHOD(bool get_show_heading() const, gtk_calendar_get_show_heading)
+  _WRAP_METHOD(void set_show_day_names(bool value = true), gtk_calendar_set_show_day_names)
+  _WRAP_METHOD(bool get_show_day_names() const, gtk_calendar_get_show_day_names)
 
-  _WRAP_METHOD(int get_detail_width_chars() const, gtk_calendar_get_detail_width_chars)
-  _WRAP_METHOD(int get_detail_height_rows() const, gtk_calendar_get_detail_height_rows)
+  _WRAP_METHOD(Glib::DateTime get_date() const, gtk_calendar_get_date)
 
   _WRAP_METHOD(bool get_day_is_marked(guint day) const, gtk_calendar_get_day_is_marked)
 
   // no_default_handler because GtkCalendarClass is private.
-  _WRAP_SIGNAL(void month_changed(), "month_changed", no_default_handler)
   _WRAP_SIGNAL(void day_selected(), "day_selected", no_default_handler)
-  _WRAP_SIGNAL(void day_selected_double_click(), "day_selected_double_click", no_default_handler)
   _WRAP_SIGNAL(void prev_month(), "prev_month", no_default_handler)
   _WRAP_SIGNAL(void next_month(), "next_month", no_default_handler)
   _WRAP_SIGNAL(void prev_year(), "prev_year", no_default_handler)
@@ -132,11 +84,7 @@ public:
   _WRAP_PROPERTY("day", int)
   _WRAP_PROPERTY("show-heading", bool)
   _WRAP_PROPERTY("show-day-names", bool)
-  _WRAP_PROPERTY("no-month-change", bool)
   _WRAP_PROPERTY("show-week-numbers", bool)
-  _WRAP_PROPERTY("show-details", bool)
-  _WRAP_PROPERTY("detail-width-chars", int)
-  _WRAP_PROPERTY("detail-height-rows", int)
 };
 
 } // namespace Gtk
diff --git a/gtk/src/enums.hg b/gtk/src/enums.hg
index eb7d463b..a9930456 100644
--- a/gtk/src/enums.hg
+++ b/gtk/src/enums.hg
@@ -51,7 +51,6 @@ _WRAP_ENUM(ScrollType, GtkScrollType)
 _WRAP_ENUM(SelectionMode, GtkSelectionMode)
 _WRAP_ENUM(ShadowType, GtkShadowType)
 _WRAP_ENUM(StackTransitionType, GtkStackTransitionType)
-_WRAP_ENUM(ToolbarStyle, GtkToolbarStyle)
 _WRAP_ENUM(WindowType,GtkWindowType)
 _WRAP_ENUM(WrapMode, GtkWrapMode)
 _WRAP_ENUM(SortType, GtkSortType)
diff --git a/gtk/src/filelist.am b/gtk/src/filelist.am
index 84c74c6f..eaf3b067 100644
--- a/gtk/src/filelist.am
+++ b/gtk/src/filelist.am
@@ -128,7 +128,6 @@ gtkmm_files_any_hg =                \
        mediafile.hg \
        mediastream.hg \
        menubutton.hg           \
-       menutoolbutton.hg       \
        messagedialog.hg        \
        native.hg \
        nativedialog.hg \
@@ -153,7 +152,6 @@ gtkmm_files_any_hg =                \
        printsettings.hg        \
        progressbar.hg          \
        radiobutton.hg          \
-       radiotoolbutton.hg      \
        range.hg                \
        recentinfo.hg           \
        recentmanager.hg        \
@@ -170,7 +168,6 @@ gtkmm_files_any_hg =                \
        selectiondata.hg        \
        selectionmodel.hg \
        separator.hg            \
-       separatortoolitem.hg    \
        settings.hg             \
        shortcutlabel.hg                \
        shortcutsgroup.hg               \
@@ -199,11 +196,6 @@ gtkmm_files_any_hg =               \
        texttagtable.hg         \
        textview.hg             \
        togglebutton.hg         \
-       toggletoolbutton.hg     \
-       toolbar.hg              \
-       toolbutton.hg           \
-       toolitem.hg             \
-       toolshell.hg            \
        tooltip.hg              \
        treedragdest.hg         \
        treedragsource.hg       \
diff --git a/gtk/src/iconpaintable.hg b/gtk/src/iconpaintable.hg
index e93d3fb6..5c207a16 100644
--- a/gtk/src/iconpaintable.hg
+++ b/gtk/src/iconpaintable.hg
@@ -16,7 +16,8 @@
  */
 
 #include <glibmm/object.h>
-#include <gdkmm/texture.h>
+#include <gdkmm/paintable.h>
+#include <giomm/file.h>
 
 _DEFS(gtkmm,gtk)
 _PINCLUDE(glibmm/private/object_p.h)
@@ -24,17 +25,27 @@ _PINCLUDE(glibmm/private/object_p.h)
 namespace Gtk
 {
 
+/** An icon, used with Gtk::IconTheme.
+ */
 class IconPaintable : public Glib::Object, public Gdk::Paintable
 {
   _CLASS_GOBJECT(IconPaintable, GtkIconPaintable, GTK_ICON_PAINTABLE, Glib::Object, GObject)
   _IMPLEMENTS_INTERFACE(Gdk::Paintable)
 
 public:
-  _WRAP_METHOD(Glib::ustring get_filename() const, gtk_icon_paintable_get_filename)
+  // gtk_icon_paintable_new_for_file() does more than call g_object_new().
+  _WRAP_METHOD(static Glib::RefPtr<IconPaintable> create(const Glib::RefPtr<Gio::File>& file,
+    int size, int scale = 1), gtk_icon_paintable_new_for_file)
+
+  // The const get_file() can return a non-const Gio::File.
+  // gtk_icon_paintable_get_file() returns a newly created GFile.
+  _WRAP_METHOD(Glib::RefPtr<Gio::File> get_file() const, gtk_icon_paintable_get_file)
+  _WRAP_METHOD(Glib::ustring get_icon_name() const, gtk_icon_paintable_get_icon_name)
   _WRAP_METHOD(bool is_symbolic() const, gtk_icon_paintable_is_symbolic)
 
-  _WRAP_METHOD(Glib::RefPtr<Gdk::Texture> download_texture(), gtk_icon_paintable_download_texture, errthrow)
-  _WRAP_METHOD(Glib::RefPtr<const Gdk::Texture> download_texture() const, 
gtk_icon_paintable_download_texture, errthrow, constversion)
+  _WRAP_PROPERTY("file", Glib::RefPtr<Gio::File>)
+  _WRAP_PROPERTY("icon-name", Glib::ustring)
+  _WRAP_PROPERTY("is-symbolic", bool)
 };
 
 } // namespace Gtk
diff --git a/gtk/src/main.ccg b/gtk/src/main.ccg
index e87723c6..ca390259 100644
--- a/gtk/src/main.ccg
+++ b/gtk/src/main.ccg
@@ -19,7 +19,6 @@
 #include <glib.h>
 #include <gtkmmconfig.h>
 #include <gtkmm/main.h>
-#include <gtkmm/window.h>
 #include <glibmm/init.h>
 #include <giomm/init.h>
 #include <pangomm/wrap_init.h>
@@ -118,76 +117,6 @@ Main* Main::instance()
   return instance_;
 }
 
-void Main::run()
-{
-  instance_->run_impl();
-}
-
-void Main::run(Gtk::Window& window)
-{
-  window.show();
-  window.signal_hide().connect(sigc::mem_fun(*instance_, &Main::on_window_hide));
-  instance_->run_impl();
-}
-
-void Main::quit()
-{
-  instance_->quit_impl();
-}
-
-guint Main::level()
-{
-  return instance_->level_impl();
-}
-
-_DEPRECATE_IFDEF_END
-
-bool Main::iteration(bool blocking)
-{
-  return gtk_main_iteration_do(blocking);
-}
-
-bool Main::events_pending()
-{
-  return gtk_events_pending();
-}
-
-_DEPRECATE_IFDEF_START
-
-/**** Gtk::Main -- protected virtuals **************************************/
-
-void Main::run_impl()
-{
-  gtk_main();
-}
-
-void Main::quit_impl()
-{
-  gtk_main_quit();
-}
-
-guint Main::level_impl()
-{
-  return gtk_main_level();
-}
-
-bool Main::iteration_impl(bool blocking)
-{
-  return gtk_main_iteration_do(blocking);
-}
-
-bool Main::events_pending_impl()
-{
-  return gtk_events_pending();
-}
-
-void Main::on_window_hide()
-{
-  quit_impl();
-}
-
 _DEPRECATE_IFDEF_END
 
 } //namespace Gtk
-
-
diff --git a/gtk/src/main.hg b/gtk/src/main.hg
index a528c185..0b3682df 100644
--- a/gtk/src/main.hg
+++ b/gtk/src/main.hg
@@ -16,12 +16,10 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-
 #include <gtk/gtk.h>
 
 #include <sigc++/sigc++.h>
 #include <gdkmm/types.h>
-#include <glibmm/optioncontext.h>
 
 _DEFS(gtkmm,gtk)
 
@@ -33,10 +31,6 @@ _DEFS(gtkmm,gtk)
 namespace Gtk
 {
 
-class Window;
-
-//**********************************************************************
-
 /** Main application class.
  * Every application must have one of these objects.
  * It may not be global and must be the first gtkmm object created.
@@ -88,67 +82,12 @@ _DEPRECATE_IFDEF_START
    */
   static Gtk::Main* instance();
 
-  /** Start the event loop.
-   * This begins the event loop which handles events.  No
-   * events propagate until this has been called.  It may be
-   * called recursively to popup dialogs
-   *
-   * @deprecated Use Gtk::Application instead.
-   */
-  static void run();
-
-  /** Returns from the main loop when the window is closed.
-   * When using this override, you should not use Gtk::Main::quit() to close
-   * the application, but just call hide() on your Window class.
-   *
-   * @param window The window to show. This method will return when the window is hidden.
-   *
-   * @deprecated Use Gtk::Application instead.
-   */
-  static void run(Window& window);
-
-  /** Makes the innermost invocation of the main loop return when it regains control.
-   *
-   * @deprecated Use Gtk::Application instead.
-   */
-  static void quit();
-
-  /**
-   * @deprecated Use Gtk::Application instead.
-   */
-  static guint level();
-
 _DEPRECATE_IFDEF_END
 
   //TODO: Move these general methods out of Main when we really remove Main,
   //one day when Gtk::Application can really do everything, which should probably
   //include handling OptionContext properly. murrayc.
 
-  /** Runs a single iteration of the main loop.
-   * If no events are waiting to be processed GTK+ will block until the next event is noticed.
-   * If you don't want to block then pass false for @a blocking or check if any events are pending with
-   * pending() first.
-   *
-   * @param blocking Whether the caller must wait until the next event is noticed, or return immediately if 
there are no events.
-   * @result true if quit() has been called for the innermost main loop.
-   */
-  static bool iteration(bool blocking = true);
-
-  /** Checks if any events are pending. This can be used to update the GUI and invoke timeouts etc. while 
doing some time intensive computation.
-   *
-   * Example: Updating the GUI during a long computation.
-   * @code
-   * // computation going on
-   * while( Gtk::Main::events_pending() )
-   *   Gtk::Main::iteration();
-   *
-   * // computation continued
-   * @endcode
-   *
-   * @result true if any events are pending, false otherwise.
-   */
-  static bool events_pending();
-
   /** Initialize the table of wrap_new functions.
    * This doesn't need an instance of Gtk::Main.
    * This would usually only be used by the init() methods of libraries that depend on gtkmm.
@@ -160,15 +99,6 @@ protected:
 _DEPRECATE_IFDEF_START
   void init(bool set_locale);
 
-  virtual void run_impl();
-  virtual void quit_impl();
-  virtual guint level_impl();
-  virtual bool iteration_impl(bool blocking);
-  virtual bool events_pending_impl();
-
-  // Signal handlers:
-  virtual void on_window_hide();
-
 private:
   static Main* instance_;
 _DEPRECATE_IFDEF_END
diff --git a/gtk/src/settings.hg b/gtk/src/settings.hg
index 81686f89..b2ef9557 100644
--- a/gtk/src/settings.hg
+++ b/gtk/src/settings.hg
@@ -17,8 +17,8 @@
  */
 
 #include <glibmm/object.h>
+#include <gdkmm/display.h>
 #include <gtkmm/styleprovider.h>
-#include <gtkmm/toolbar.h>
 
 _DEFS(gtkmm,gtk)
 _PINCLUDE(glibmm/private/object_p.h)
@@ -33,11 +33,8 @@ class Settings : public Glib::Object, public StyleProvider
 {
   _CLASS_GOBJECT(Settings, GtkSettings, GTK_SETTINGS, Glib::Object, GObject)
   _IMPLEMENTS_INTERFACE(StyleProvider)
-protected:
-
 
 public:
-
   _WRAP_METHOD(static Glib::RefPtr<Settings> get_default(), gtk_settings_get_default, refreturn)
 
   _WRAP_METHOD(static Glib::RefPtr<Settings> get_for_display(const Glib::RefPtr<Gdk::Display>& display), 
gtk_settings_get_for_display, refreturn)
diff --git a/gtk/src/textbuffer.ccg b/gtk/src/textbuffer.ccg
index 3913ecef..3c826eee 100644
--- a/gtk/src/textbuffer.ccg
+++ b/gtk/src/textbuffer.ccg
@@ -191,10 +191,10 @@ TextBuffer::iterator TextBuffer::insert(const iterator& pos, const char* text_be
   return iterCopy;
 }
 
-TextBuffer::iterator TextBuffer::insert_texture(const iterator& pos, const Glib::RefPtr<Gdk::Texture>& 
texture)
+TextBuffer::iterator TextBuffer::insert_paintable(const iterator& pos, const Glib::RefPtr<Gdk::Paintable>& 
paintable)
 {
   iterator iterCopy (pos);
-  gtk_text_buffer_insert_texture(gobj(), iterCopy.gobj(), texture->gobj());
+  gtk_text_buffer_insert_paintable(gobj(), iterCopy.gobj(), paintable->gobj());
   return iterCopy;
 }
 
diff --git a/gtk/src/textbuffer.hg b/gtk/src/textbuffer.hg
index fc5d9dbf..f59b73b9 100644
--- a/gtk/src/textbuffer.hg
+++ b/gtk/src/textbuffer.hg
@@ -27,7 +27,7 @@ _CONFIGINCLUDE(gtkmmconfig.h)
 #include <gtkmm/textmark.h>
 #include <gtkmm/textiter.h>
 #include <gdkmm/clipboard.h>
-#include <gdkmm/texture.h>
+#include <gdkmm/paintable.h>
 #include <gtkmmconfig.h>
 #include <utility>
 
@@ -205,7 +205,7 @@ public:
   bool insert_interactive_at_cursor(const char* text_begin, const char* text_end,
                                     bool default_editable = true);
 
-  /** Copies text, tags, and texture between @a range_begin and @a range_end (the order of range_begin and 
range_begin doesn't
+  /** Copies text, tags, and paintable between @a range_begin and @a range_end (the order of range_begin and 
range_begin doesn't
    * matter) and inserts the copy at @a pos. Used instead of simply getting/inserting text because it 
preserves images and tags.
    * If range_begin and range_end are in a different buffer, the two buffers must share the same tag table.
    *
@@ -370,8 +370,8 @@ public:
 
   _WRAP_METHOD(Glib::ustring get_slice(const const_iterator& range_start, const const_iterator& range_end, 
bool include_hidden_chars = true) const, gtk_text_buffer_get_slice)
 
-  iterator insert_texture(const iterator& pos, const Glib::RefPtr<Gdk::Texture>& texture);
-  _IGNORE(gtk_text_buffer_insert_texture)
+  iterator insert_paintable(const iterator& pos, const Glib::RefPtr<Gdk::Paintable>& paintable);
+  _IGNORE(gtk_text_buffer_insert_paintable)
 
   iterator insert_child_anchor(const iterator& pos, const Glib::RefPtr<ChildAnchor>& anchor);
   _IGNORE(gtk_text_buffer_insert_child_anchor)
@@ -519,8 +519,8 @@ _CONVERSION(`GtkTextIter*',`TextBuffer::iterator&',Glib::wrap_iter($3))
 #m4end
   _WRAP_SIGNAL(void insert(TextBuffer::iterator& pos, const Glib::ustring& text, int bytes), "insert_text")
 
-#m4 _CONVERSION(`GdkTexture*',`const Glib::RefPtr<Gdk::Texture>&', Glib::wrap($3, true))
-  _WRAP_SIGNAL(void insert_texture(TextBuffer::iterator& pos, const Glib::RefPtr<Gdk::Texture>& texture), 
"insert_texture")
+#m4 _CONVERSION(`GdkPaintable*',`const Glib::RefPtr<Gdk::Paintable>&', Glib::wrap($3, true))
+  _WRAP_SIGNAL(void insert_paintable(TextBuffer::iterator& pos, const Glib::RefPtr<Gdk::Paintable>& 
paintable), "insert_paintable")
 
 #m4 _CONVERSION(`GtkTextChildAnchor*',`const Glib::RefPtr<ChildAnchor>&',`Glib::wrap($3, true)')
   _WRAP_SIGNAL(void insert_child_anchor(TextBuffer::iterator& pos, const Glib::RefPtr<ChildAnchor>& anchor), 
"insert_child_anchor")
diff --git a/gtk/src/textiter.ccg b/gtk/src/textiter.ccg
index 82ba81a1..495532f1 100644
--- a/gtk/src/textiter.ccg
+++ b/gtk/src/textiter.ccg
@@ -16,7 +16,7 @@
  */
 
 #include <glibmm/vectorutils.h>
-#include <gdkmm/texture.h>
+#include <gdkmm/paintable.h>
 #include <gtkmm/textbuffer.h>
 #include <gtkmm/textmark.h>
 #include <gtkmm/textchildanchor.h>
diff --git a/gtk/src/textiter.hg b/gtk/src/textiter.hg
index c51acd8d..c4560aa9 100644
--- a/gtk/src/textiter.hg
+++ b/gtk/src/textiter.hg
@@ -24,7 +24,7 @@ _DEFS(gtkmm,gtk)
 
 namespace Gdk
 {
-class Texture;
+class Paintable;
 }
 
 namespace Gtk
@@ -267,7 +267,7 @@ public:
 
   _WRAP_METHOD(Glib::RefPtr<TextBuffer> get_buffer() const, gtk_text_iter_get_buffer, refreturn)
 
-  _WRAP_METHOD(Glib::RefPtr<Gdk::Texture> get_texture() const, gtk_text_iter_get_texture, refreturn)
+  _WRAP_METHOD(Glib::RefPtr<Gdk::Paintable> get_paintable() const, gtk_text_iter_get_paintable, refreturn)
 
 #m4 _CONVERSION(`GSList*',`std::vector<Glib::RefPtr<TextMark>>',`Glib::SListHandler<Glib::RefPtr<TextMark> 
::slist_to_vector($3, Glib::OWNERSHIP_SHALLOW)')
   _WRAP_METHOD(std::vector<Glib::RefPtr<TextMark>> get_marks() const, gtk_text_iter_get_marks)
@@ -325,7 +325,7 @@ public:
 
   _WRAP_METHOD(Glib::RefPtr<const TextBuffer> get_buffer() const, gtk_text_iter_get_buffer, refreturn)
 
-  _WRAP_METHOD(Glib::RefPtr<const Gdk::Texture> get_texture() const, gtk_text_iter_get_texture, refreturn)
+  _WRAP_METHOD(Glib::RefPtr<const Gdk::Paintable> get_paintable() const, gtk_text_iter_get_paintable, 
refreturn)
 
 #m4 _CONVERSION(`GSList*',`std::vector<Glib::RefPtr<const TextMark>>',`Glib::SListHandler<Glib::RefPtr<const 
TextMark> >::slist_to_vector($3, Glib::OWNERSHIP_SHALLOW)')
   _WRAP_METHOD(std::vector<Glib::RefPtr<const TextMark>> get_marks() const, gtk_text_iter_get_marks)
diff --git a/gtk/src/widget.hg b/gtk/src/widget.hg
index cd8b2939..fa23c79a 100644
--- a/gtk/src/widget.hg
+++ b/gtk/src/widget.hg
@@ -582,9 +582,9 @@ public:
 
   _WRAP_METHOD(bool should_layout() const, gtk_widget_should_layout)
 
-  _WRAP_METHOD(void add_style_class(const Glib::ustring& style_class), gtk_widget_add_style_class)
-  _WRAP_METHOD(void remove_style_class(const Glib::ustring& style_class), gtk_widget_remove_style_class)
-  _WRAP_METHOD(bool has_style_class(const Glib::ustring& style_class) const, gtk_widget_has_style_class)
+  _WRAP_METHOD(void add_css_class(const Glib::ustring& css_class), gtk_widget_add_css_class)
+  _WRAP_METHOD(void remove_css_class(const Glib::ustring& css_class), gtk_widget_remove_css_class)
+  _WRAP_METHOD(bool has_css_class(const Glib::ustring& css_class) const, gtk_widget_has_css_class)
 
   _WRAP_SIGNAL(void show(),"show")
   _WRAP_SIGNAL(void hide(),"hide", custom_c_callback)
diff --git a/tools/m4/convert_gtk.m4 b/tools/m4/convert_gtk.m4
index e201bf38..db1413c1 100644
--- a/tools/m4/convert_gtk.m4
+++ b/tools/m4/convert_gtk.m4
@@ -35,7 +35,6 @@ _CONV_ENUM(Gtk,ArrowType)
 _CONV_INCLASS_ENUM(Gtk,AssistantPage,Type)
 _CONV_ENUM(Gtk,ButtonRole)
 _CONV_ENUM(Gtk,ButtonsType)
-_CONV_INCLASS_ENUM(Gtk,Calendar,DisplayOptions)
 _CONV_ENUM(Gtk,CellRendererMode)
 _CONV_ENUM(Gtk,CellRendererState)
 _CONV_INCLASS_ENUM(Gtk,Constraint,Attribute)
@@ -88,8 +87,6 @@ _CONV_INCLASS_ENUM(Gtk,StyleContext,PrintFlags)
 _CONV_ENUM(Gtk,TextDirection)
 _CONV_ENUM(Gtk,TextSearchFlags)
 _CONV_ENUM(Gtk,TextWindowType)
-_CONV_ENUM(Gtk,ToolbarChildType)
-_CONV_ENUM(Gtk,ToolbarStyle)
 _CONV_INCLASS_ENUM(Gtk,TreeModel,Flags)
 _CONV_INCLASS_ENUM(Gtk,TreeViewColumn,Sizing)
 _CONV_INCLASS_ENUM(Gtk,TreeView,DropPosition)
@@ -159,8 +156,6 @@ _CONVERSION(`GtkWidget*',`Gtk::Widget*',__RP2P)
 _CONVERSION(`GtkWidget*',`Widget*',__RP2P)
 _CONVERSION(`GtkWindow*',`Window*',__RP2P)
 _CONVERSION(`GtkPopover*',`Popover*',__RP2P)
-_CONVERSION(`GtkToolItem*',`ToolItem*',__RP2P)
-_CONVERSION(`GtkToolItemGroup*',`ToolItemGroup*',__RP2P)
 _CONVERSION(`GtkStack*',`Stack*',__RP2P)
 _CONVERSION(`GtkStackPage*',`Glib::RefPtr<StackPage>',`Glib::wrap($3)')
 _CONVERSION(`GtkStackPage*',`Glib::RefPtr<const StackPage>',`Glib::wrap($3)')
@@ -169,7 +164,6 @@ _CONVERSION(`GtkStackPage*',`Glib::RefPtr<const StackPage>',`Glib::wrap($3)')
 _CONVERSION(`GtkWidget*',`const Gtk::Widget*',__RP2P)
 _CONVERSION(`GtkWidget*',`const Widget*',__RP2P)
 _CONVERSION(`GtkWindow*',`const Window*',__RP2P)
-_CONVERSION(`GtkToolItem*',`const ToolItem*',__RP2P)
 
 # Style:
 _CONVERSION(`GtkStyleContext*',`Glib::RefPtr<StyleContext>',`Glib::wrap($3)')
@@ -224,7 +218,6 @@ _CONVERSION(`GtkWidget*',`ScrolledWindow*',`Glib::wrap((GtkScrolledWindow*)($3))
 _CONVERSION(`GtkWidget*',`Window*',`Glib::wrap((GtkWindow*)($3))')
 _CONVERSION(`GtkWidget*',`TreeView*',`Glib::wrap((GtkTreeView*)($3))')
 _CONVERSION(`GtkWidget*',`Image*',`Glib::wrap((GtkImage*)($3))')
-_CONVERSION(`GtkWidget*',`ToolItem*',`Glib::wrap((GtkToolItem*)($3))')
 _CONVERSION(`GtkWidget*',`FileChooserDialog*',`Glib::wrap((GtkFileChooserDialog*)($3))')
 
 # Ptr (gtk+) -> const Ptr (gtkmm) (downcast)
@@ -263,9 +256,6 @@ _CONVERSION(`Widget&',`GtkWidget*',__FR2P)
 _CONVERSION(`Window&',`GtkWindow*',__FR2P)
 _CONVERSION(`CellRenderer&',`GtkCellRenderer*',__FR2P)
 _CONVERSION(`const CellRenderer&',`GtkCellRenderer*',__FCR2P)
-_CONVERSION(`ToolItem&',`GtkToolItem*',__FR2P)
-_CONVERSION(`const ToolItem&',`GtkToolItem*',__FCR2P)
-_CONVERSION(`ToolItemGroup&',`GtkToolItemGroup*',__FR2P)
 _CONVERSION(`Gtk::Entry&',`GtkEntry*',__FR2P)
 _CONVERSION(`Stack&',`GtkStack*',__FR2P)
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]