[gtkmm] Gdk, Gtk: Update for the latest gtk4 (remove Gtk::ShadowType, etc.)



commit 75051313627ea673201a355e288cca9e97a325f5
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Sat Apr 25 09:31:29 2020 +0200

    Gdk, Gtk: Update for the latest gtk4 (remove Gtk::ShadowType, etc.)
    
    This is the third time gtk has made a major change to GdkEvent.
    First (in gtk3) it was a union.
    Then it was a class derived from GObject.
    Then it was a boxed type.
    Now it's a fundamental type (registered with g_type_register_fundamental()).

 demos/gtk-demo/example_appwindow.cc               |  2 +-
 demos/gtk-demo/example_builder.ui                 |  2 +-
 demos/gtk-demo/example_colorsel.cc                |  1 -
 demos/gtk-demo/example_drawingarea.cc             |  2 -
 demos/gtk-demo/example_iconview.cc                |  2 +-
 demos/gtk-demo/example_images.cc                  |  5 ---
 demos/gtk-demo/example_panes.cc                   |  4 --
 demos/gtk-demo/example_treeview_editable_cells.cc |  2 +-
 demos/gtk-demo/example_treeview_liststore.cc      |  2 +-
 demos/gtk-demo/example_treeview_treestore.cc      |  2 +-
 demos/gtk-demo/textwidget.cc                      |  2 +-
 gdk/src/event.hg                                  | 20 +++++----
 gdk/src/surface.hg                                |  7 ++-
 gtk/src/appchooserbutton.hg                       |  3 ++
 gtk/src/aspectframe.hg                            | 55 +++++++++++------------
 gtk/src/button.hg                                 |  7 ++-
 gtk/src/colorbutton.hg                            |  4 ++
 gtk/src/container.ccg                             |  1 -
 gtk/src/container.hg                              | 25 -----------
 gtk/src/enums.hg                                  |  2 -
 gtk/src/eventcontroller.hg                        | 14 ++++++
 gtk/src/filechooserbutton.hg                      |  4 ++
 gtk/src/fontbutton.hg                             |  3 ++
 gtk/src/frame.hg                                  |  7 ---
 gtk/src/label.hg                                  |  8 ----
 gtk/src/menubutton.hg                             |  7 ++-
 gtk/src/paned.hg                                  |  5 +--
 gtk/src/scrolledwindow.hg                         |  6 +--
 gtk/src/viewport.hg                               | 10 ++---
 gtk/src/widget.hg                                 | 11 +++--
 gtk/src/window.hg                                 |  3 +-
 tools/m4/convert_gdk.m4                           |  2 +-
 tools/m4/convert_gtk.m4                           |  2 -
 33 files changed, 96 insertions(+), 136 deletions(-)
---
diff --git a/demos/gtk-demo/example_appwindow.cc b/demos/gtk-demo/example_appwindow.cc
index 95db0073..8a4f1600 100644
--- a/demos/gtk-demo/example_appwindow.cc
+++ b/demos/gtk-demo/example_appwindow.cc
@@ -105,7 +105,7 @@ Example_AppWindow::Example_AppWindow()
 
 
   m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
-  m_ScrolledWindow.set_shadow_type(Gtk::ShadowType::IN);
+  m_ScrolledWindow.set_has_frame(true);
   //                              left  top  width  height
   m_Grid.attach(m_ScrolledWindow, 0,    2,   1,     1);
 
diff --git a/demos/gtk-demo/example_builder.ui b/demos/gtk-demo/example_builder.ui
index ceb26957..c75df192 100644
--- a/demos/gtk-demo/example_builder.ui
+++ b/demos/gtk-demo/example_builder.ui
@@ -166,7 +166,7 @@
         </child>
         <child>
           <object class="GtkScrolledWindow" id="scrolledwindow1">
-            <property name="shadow-type">in</property>
+            <property name="has-frame">True</property>
             <property name="hexpand">True</property>
             <property name="vexpand">True</property>
             <child>
diff --git a/demos/gtk-demo/example_colorsel.cc b/demos/gtk-demo/example_colorsel.cc
index e3201596..dd315d49 100644
--- a/demos/gtk-demo/example_colorsel.cc
+++ b/demos/gtk-demo/example_colorsel.cc
@@ -44,7 +44,6 @@ Example_ColorSel::Example_ColorSel()
   add(m_VBox);
 
   // Create the color swatch area
-  m_Frame.set_shadow_type(Gtk::ShadowType::IN);
   m_Frame.set_expand(true);
   m_VBox.add(m_Frame);
 
diff --git a/demos/gtk-demo/example_drawingarea.cc b/demos/gtk-demo/example_drawingarea.cc
index d76cf01c..225cd79d 100644
--- a/demos/gtk-demo/example_drawingarea.cc
+++ b/demos/gtk-demo/example_drawingarea.cc
@@ -68,7 +68,6 @@ Example_DrawingArea::Example_DrawingArea()
   m_Label_Checkerboard.set_markup("<u>Checkerboard pattern</u>");
   m_VBox.add(m_Label_Checkerboard);
 
-  m_Frame_Checkerboard.set_shadow_type(Gtk::ShadowType::IN);
   m_Frame_Checkerboard.set_expand(true);
   m_VBox.add(m_Frame_Checkerboard);
 
@@ -86,7 +85,6 @@ Example_DrawingArea::Example_DrawingArea()
   m_Label_Scribble.set_markup("<u>Scribble area</u>");
   m_VBox.add(m_Label_Scribble);
 
-  m_Frame_Scribble.set_shadow_type(Gtk::ShadowType::IN);
   m_Frame_Scribble.set_expand(true);
   m_VBox.add(m_Frame_Scribble);
 
diff --git a/demos/gtk-demo/example_iconview.cc b/demos/gtk-demo/example_iconview.cc
index b2bb900a..7ad81851 100644
--- a/demos/gtk-demo/example_iconview.cc
+++ b/demos/gtk-demo/example_iconview.cc
@@ -88,7 +88,7 @@ Example_IconView::Example_IconView()
   m_ButtonHome.set_sensitive();
   m_Toolbar.add(m_ButtonHome);
 
-  m_ScrolledWindow.set_shadow_type(Gtk::ShadowType::ETCHED_IN);
+  m_ScrolledWindow.set_has_frame(true);
   m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
   m_ScrolledWindow.set_expand();
 
diff --git a/demos/gtk-demo/example_images.cc b/demos/gtk-demo/example_images.cc
index 8bf49a75..75730340 100644
--- a/demos/gtk-demo/example_images.cc
+++ b/demos/gtk-demo/example_images.cc
@@ -83,7 +83,6 @@ Example_Images::Example_Images()
   m_Label_Image.set_markup("<u>Image loaded from a file</u>");
   pVBox->add(m_Label_Image);
 
-  m_Frame_Image.set_shadow_type(Gtk::ShadowType::IN);
   m_Frame_Image.set_halign(Gtk::Align::CENTER);
   m_Frame_Image.set_valign(Gtk::Align::CENTER);
   pVBox->add(m_Frame_Image);
@@ -98,7 +97,6 @@ Example_Images::Example_Images()
   m_Label_Animation.set_markup("<u>Animation loaded from a file</u>");
   pVBox->add(m_Label_Animation);
 
-  m_Frame_Animation.set_shadow_type(Gtk::ShadowType::IN);
   m_Frame_Animation.set_halign(Gtk::Align::CENTER);
   m_Frame_Animation.set_valign(Gtk::Align::CENTER);
   pVBox->add(m_Frame_Animation);
@@ -112,7 +110,6 @@ Example_Images::Example_Images()
   m_Label_ThemedIcon.set_markup("<u>Symbolic themed icon</u>");
   pVBox->add(m_Label_ThemedIcon);
 
-  m_Frame_ThemedIcon.set_shadow_type(Gtk::ShadowType::IN);
   m_Frame_ThemedIcon.set_halign(Gtk::Align::CENTER);
   m_Frame_ThemedIcon.set_valign(Gtk::Align::CENTER);
   pVBox->add(m_Frame_ThemedIcon);
@@ -130,7 +127,6 @@ Example_Images::Example_Images()
   m_Label_Progressive.set_markup("<u>Progressive image loading</u>");
   pVBox->add(m_Label_Progressive);
 
-  m_Frame_Progressive.set_shadow_type(Gtk::ShadowType::IN);
   m_Frame_Progressive.set_halign(Gtk::Align::CENTER);
   m_Frame_Progressive.set_valign(Gtk::Align::CENTER);
   pVBox->add(m_Frame_Progressive);
@@ -147,7 +143,6 @@ Example_Images::Example_Images()
   m_Label_Video.set_markup("<u>Displaying video</u>");
   pVBox->add(m_Label_Video);
 
-  m_Frame_Video.set_shadow_type(Gtk::ShadowType::IN);
   m_Frame_Video.set_halign(Gtk::Align::CENTER);
   m_Frame_Video.set_valign(Gtk::Align::CENTER);
   pVBox->add(m_Frame_Video);
diff --git a/demos/gtk-demo/example_panes.cc b/demos/gtk-demo/example_panes.cc
index 9439319a..57377ff9 100644
--- a/demos/gtk-demo/example_panes.cc
+++ b/demos/gtk-demo/example_panes.cc
@@ -61,18 +61,15 @@ Example_Panes::Example_Panes()
 
   Gtk::Frame *const pFrame1 = new Gtk::Frame();
   pHPaned->add1(*Gtk::manage(pFrame1));
-  pFrame1->set_shadow_type(Gtk::ShadowType::IN);
   pFrame1->set_size_request(60, 60);
   pFrame1->add(*Gtk::make_managed<Gtk::Button>("_Hi there", true));
 
   Gtk::Frame *const pFrame2 = new Gtk::Frame();
   pHPaned->add2(*Gtk::manage(pFrame2));
-  pFrame2->set_shadow_type(Gtk::ShadowType::IN);
   pFrame2->set_size_request(80, 60);
 
   Gtk::Frame *const pFrame3 = new Gtk::Frame();
   pVPaned->add2(*Gtk::manage(pFrame3));
-  pFrame3->set_shadow_type(Gtk::ShadowType::IN);
   pFrame3->set_size_request(60, 80);
 
   // Now create check buttons to control sizing
@@ -83,7 +80,6 @@ Example_Panes::Example_Panes()
 Example_Panes::~Example_Panes()
 {}
 
-
 PaneOptions::PaneOptions(Gtk::Paned& paned, const Glib::ustring& frame_label,
                          const Glib::ustring& label1, const Glib::ustring& label2)
 :
diff --git a/demos/gtk-demo/example_treeview_editable_cells.cc 
b/demos/gtk-demo/example_treeview_editable_cells.cc
index 4a75e4ed..f1ce024c 100644
--- a/demos/gtk-demo/example_treeview_editable_cells.cc
+++ b/demos/gtk-demo/example_treeview_editable_cells.cc
@@ -110,7 +110,7 @@ Example_TreeView_EditableCells::Example_TreeView_EditableCells()
   add(m_VBox);
   m_VBox.add(m_Label);
 
-  m_ScrolledWindow.set_shadow_type(Gtk::ShadowType::ETCHED_IN);
+  m_ScrolledWindow.set_has_frame(true);
   m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
   m_ScrolledWindow.set_expand();
   m_VBox.add(m_ScrolledWindow);
diff --git a/demos/gtk-demo/example_treeview_liststore.cc b/demos/gtk-demo/example_treeview_liststore.cc
index f8df8302..a88acd54 100644
--- a/demos/gtk-demo/example_treeview_liststore.cc
+++ b/demos/gtk-demo/example_treeview_liststore.cc
@@ -109,7 +109,7 @@ Example_TreeView_ListStore::Example_TreeView_ListStore()
   add(m_VBox);
   m_VBox.add(m_Label);
 
-  m_ScrolledWindow.set_shadow_type(Gtk::ShadowType::ETCHED_IN);
+  m_ScrolledWindow.set_has_frame(true);
   m_ScrolledWindow.set_policy(Gtk::PolicyType::NEVER, Gtk::PolicyType::AUTOMATIC);
   m_ScrolledWindow.set_expand();
   m_VBox.add(m_ScrolledWindow);
diff --git a/demos/gtk-demo/example_treeview_treestore.cc b/demos/gtk-demo/example_treeview_treestore.cc
index 33b772ae..db08a1d8 100644
--- a/demos/gtk-demo/example_treeview_treestore.cc
+++ b/demos/gtk-demo/example_treeview_treestore.cc
@@ -155,7 +155,7 @@ Example_TreeView_TreeStore::Example_TreeView_TreeStore()
   add(m_VBox);
   m_VBox.add(m_Label);
 
-  m_ScrolledWindow.set_shadow_type(Gtk::ShadowType::ETCHED_IN);
+  m_ScrolledWindow.set_has_frame(true);
   m_ScrolledWindow.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
   m_ScrolledWindow.set_expand();
   m_VBox.add(m_ScrolledWindow);
diff --git a/demos/gtk-demo/textwidget.cc b/demos/gtk-demo/textwidget.cc
index bfd1d55b..e03458cd 100644
--- a/demos/gtk-demo/textwidget.cc
+++ b/demos/gtk-demo/textwidget.cc
@@ -29,7 +29,7 @@ using std::strlen;
 TextWidget::TextWidget(bool is_source)
 {
   set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC);
-  set_shadow_type (Gtk::ShadowType::IN);
+  set_has_frame(true);
 
   m_refTextBuffer = Gtk::TextBuffer::create();
   m_TextView.set_buffer(m_refTextBuffer);
diff --git a/gdk/src/event.hg b/gdk/src/event.hg
index 686d5fdd..05e1a606 100644
--- a/gdk/src/event.hg
+++ b/gdk/src/event.hg
@@ -59,8 +59,8 @@ struct EventSequence;
  */
 class Event final
 {
-  // GdkEvent is actually registered as a boxed type, but it has custom
-  // reference-counting instead of copy/free functions, so we use it via RefPtr.
+  // GdkEvent is registered as a fundamental type.
+  // It has custom reference-counting, so we use it via RefPtr.
   _CLASS_OPAQUE_REFCOUNTED(Event, GdkEvent, NONE, gdk_event_ref, gdk_event_unref)
   _IGNORE(gdk_event_ref, gdk_event_unref)
 
@@ -113,24 +113,26 @@ public:
   _WRAP_METHOD(bool get_touch_emulating_pointer() const, gdk_touch_event_get_emulating_pointer)
   _WRAP_METHOD(CrossingMode get_crossing_mode() const, gdk_crossing_event_get_mode)
   _WRAP_METHOD(NotifyType get_crossing_detail() const, gdk_crossing_event_get_detail)
+  _WRAP_METHOD(bool get_crossing_focus() const, gdk_crossing_event_get_focus)
   _WRAP_METHOD(void get_configure_size(int& width, int& height) const, gdk_configure_event_get_size)
   _WRAP_METHOD(TouchpadGesturePhase get_touchpad_gesture_phase() const, gdk_touchpad_event_get_gesture_phase)
   _WRAP_METHOD(guint get_touchpad_n_fingers() const, gdk_touchpad_event_get_n_fingers)
   _WRAP_METHOD(void get_touchpad_deltas(double& dx, double& dy) const, gdk_touchpad_event_get_deltas)
-  _WRAP_METHOD(double get_touchpad_pinch_angle_delta() const, gdk_touchpad_pinch_event_get_angle_delta)
-  _WRAP_METHOD(double get_touchpad_pinch_scale() const, gdk_touchpad_pinch_event_get_scale)
-  _WRAP_METHOD(guint get_pad_button_button() const, gdk_pad_button_event_get_button)
-  _WRAP_METHOD(void get_pad_axis_value(guint& index, double& value) const, gdk_pad_axis_event_get_value)
+  _WRAP_METHOD(double get_touchpad_pinch_angle_delta() const, gdk_touchpad_event_get_pinch_angle_delta)
+  _WRAP_METHOD(double get_touchpad_pinch_scale() const, gdk_touchpad_event_get_pinch_scale)
+  _WRAP_METHOD(guint get_pad_button() const, gdk_pad_event_get_button)
+  _WRAP_METHOD(void get_pad_axis_value(guint& index, double& value) const, gdk_pad_event_get_axis_value)
   _WRAP_METHOD(void get_pad_group_mode(guint& group, guint& mode) const, gdk_pad_event_get_group_mode)
 
-  _WRAP_METHOD(Glib::RefPtr<Drop> get_drag_drop(), gdk_drag_event_get_drop, refreturn)
-  _WRAP_METHOD(Glib::RefPtr<const Drop> get_drag_drop() const, gdk_drag_event_get_drop, refreturn, 
constversion)
+  _WRAP_METHOD(Glib::RefPtr<Drop> get_dnd_drop(), gdk_dnd_event_get_drop, refreturn)
+  _WRAP_METHOD(Glib::RefPtr<const Drop> get_dnd_drop() const, gdk_dnd_event_get_drop, refreturn, 
constversion)
 
   _WRAP_METHOD(Glib::RefPtr<Surface> get_grab_broken_grab_surface(), gdk_grab_broken_event_get_grab_surface, 
refreturn)
   _WRAP_METHOD(Glib::RefPtr<const Surface> get_grab_broken_grab_surface() const, 
gdk_grab_broken_event_get_grab_surface, refreturn, constversion)
+  _WRAP_METHOD(bool get_grab_broken_implicit() const, gdk_grab_broken_event_get_implicit)
 
 #m4 _CONVERSION(`GList*',`std::vector<TimeCoord>',`Glib::ListHandler<TimeCoord, 
TimeCoordPtrTraits>::list_to_vector($3, Glib::OWNERSHIP_SHALLOW)')
-  _WRAP_METHOD(std::vector<TimeCoord> get_motion_history() const, gdk_event_get_motion_history)
+  _WRAP_METHOD(std::vector<TimeCoord> get_motion_history() const, gdk_motion_event_get_history)
 
   _WRAP_METHOD(bool triggers_context_menu() const, gdk_event_triggers_context_menu)
   _WRAP_METHOD(bool get_distance(const Glib::RefPtr<const Event>& event2, double& distance) const, 
gdk_events_get_distance)
diff --git a/gdk/src/surface.hg b/gdk/src/surface.hg
index 4e48cd07..8c10722e 100644
--- a/gdk/src/surface.hg
+++ b/gdk/src/surface.hg
@@ -59,7 +59,6 @@ class Surface : public Glib::Object
 
 public:
   _WRAP_ENUM(State, GdkSurfaceState)
-  _WRAP_ENUM(Hints, GdkSurfaceHints)
   _WRAP_ENUM(TypeHint, GdkSurfaceTypeHint)
 
   // _WRAP_CREATE() would not be very useful here.
@@ -120,9 +119,6 @@ public:
   _WRAP_METHOD(void freeze_updates(), gdk_surface_freeze_updates)
   _WRAP_METHOD(void thaw_updates(), gdk_surface_thaw_updates)
 
-  _WRAP_METHOD(static void constrain_size(const Geometry& geometry, Hints flags,
-    int width, int height, int& new_width, int& new_height), gdk_surface_constrain_size)
-
   _WRAP_METHOD(void set_support_multidevice(bool support_multidevice = true), 
gdk_surface_set_support_multidevice)
   _WRAP_METHOD(bool get_support_multidevice(), gdk_surface_get_support_multidevice)
 
@@ -159,6 +155,9 @@ public:
     "render", no_default_handler)
 #m4 _CONVERSION(`GdkEvent*',`const Glib::RefPtr<const Event>&',`Glib::wrap($3, true)')
   _WRAP_SIGNAL(bool event(const Glib::RefPtr<const Event>& event), "event", no_default_handler)
+#m4 _CONVERSION(`GdkMonitor*',`const Glib::RefPtr<Monitor>&',`Glib::wrap($3, true)')
+  _WRAP_SIGNAL(void enter_monitor(const Glib::RefPtr<Monitor>& monitor), "enter-monitor", no_default_handler)
+  _WRAP_SIGNAL(void leave_monitor(const Glib::RefPtr<Monitor>& monitor), "leave-monitor", no_default_handler)
 
   _WRAP_PROPERTY("cursor", Glib::RefPtr<Cursor>)
   _WRAP_PROPERTY("display", Glib::RefPtr<Display>)
diff --git a/gtk/src/appchooserbutton.hg b/gtk/src/appchooserbutton.hg
index 6414870e..dcc25836 100644
--- a/gtk/src/appchooserbutton.hg
+++ b/gtk/src/appchooserbutton.hg
@@ -78,6 +78,8 @@ public:
   _WRAP_METHOD(Glib::ustring get_heading() const, gtk_app_chooser_button_get_heading)
   _WRAP_METHOD(void set_show_default_item(bool setting = true), gtk_app_chooser_button_set_show_default_item)
   _WRAP_METHOD(bool get_show_default_item() const, gtk_app_chooser_button_get_show_default_item)
+  _WRAP_METHOD(void set_modal(bool modal = true), gtk_app_chooser_button_set_modal)
+  _WRAP_METHOD(bool get_modal() const, gtk_app_chooser_button_get_modal)
 
   // no_default_handler because GtkAppChooserButtonClass is private.
   _WRAP_SIGNAL(void changed(), "changed", no_default_handler)
@@ -87,6 +89,7 @@ public:
   _WRAP_PROPERTY("show-dialog-item", bool)
   _WRAP_PROPERTY("heading", Glib::ustring)
   _WRAP_PROPERTY("show-default-item", bool)
+  _WRAP_PROPERTY("modal", bool)
 };
 
 
diff --git a/gtk/src/aspectframe.hg b/gtk/src/aspectframe.hg
index 298071a6..fc17db45 100644
--- a/gtk/src/aspectframe.hg
+++ b/gtk/src/aspectframe.hg
@@ -16,9 +16,9 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-#include <gtkmm/frame.h>
+#include <gtkmm/bin.h>
 _DEFS(gtkmm,gtk)
-_PINCLUDE(gtkmm/private/frame_p.h)
+_PINCLUDE(gtkmm/private/bin_p.h)
 
 namespace Gtk
 {
@@ -27,21 +27,19 @@ namespace Gtk
  *
  * The %Gtk::AspectFrame is useful when you want pack a widget so that it can
  * resize but always retains the same aspect ratio.  For instance, one might
- * be drawing a small preview of a larger image. Because it derives from
- * Gtk::Frame, it can draw a label and a frame around the child. The frame
+ * be drawing a small preview of a larger image. The frame
  * will be "shrink-wrapped" to the size of the child.
  *
  * @ingroup Widgets
  * @ingroup Containers
  */
-class AspectFrame : public Frame
+class AspectFrame : public Bin
 {
-  _CLASS_GTKOBJECT(AspectFrame,GtkAspectFrame,GTK_ASPECT_FRAME,Gtk::Frame,GtkFrame)
+  _CLASS_GTKOBJECT(AspectFrame, GtkAspectFrame, GTK_ASPECT_FRAME, Gtk::Bin, GtkBin)
 
 public:
 
   /** Constructor to create a new %AspectFrame object.
-   * @param label Label text.
    * @param xalign Horizontal alignment of the child within the allocation of this
    *   %AspectFrame.  For possible values, see Gtk::Align.
    * @param yalign Vertical alignment of the child within the allocation of this
@@ -50,12 +48,10 @@ public:
    * @param obey_child If <tt>true</tt>, @a ratio is ignored and the aspect ratio
    *   is taken from the requisition of the child.
    */
-  _WRAP_CTOR(AspectFrame(const Glib::ustring& label = {},
-    Align xalign = Gtk::Align::CENTER, Align yalign = Gtk::Align::CENTER,
+  _WRAP_CTOR(AspectFrame(Align xalign = Gtk::Align::CENTER, Align yalign = Gtk::Align::CENTER,
     float ratio = 1.0, bool obey_child = false), gtk_aspect_frame_new)
 
   /** Constructor to create a new %AspectFrame object.
-   * @param label Label text.
    * @param xalign Horizontal alignment of the child within the allocation of this
    *   %AspectFrame.  This ranges from 0.0 (left aligned) to 1.0 (right aligned).
    * @param yalign Vertical alignment of the child within the allocation of this
@@ -64,31 +60,30 @@ public:
    * @param obey_child If <tt>true</tt>, @a ratio is ignored and the aspect ratio
    *   is taken from the requisition of the child.
    */
-  _WRAP_CTOR(AspectFrame(const Glib::ustring& label,
-    float xalign, float yalign,
+  _WRAP_CTOR(AspectFrame(float xalign, float yalign,
     float ratio = 1.0, bool obey_child = false), gtk_aspect_frame_new)
 
-  /** Set the properties of this %AspectFrame.
-   * @param xalign Horizontal alignment of the child within the allocation of this
-   *   %AspectFrame.  This ranges from 0.0 (left aligned) to 1.0 (right aligned).
-   * @param yalign Vertical alignment of the child within the allocation of this
-   *   %AspectFrame.  This ranges from 0.0 (top aligned) to 1.0 (bottom aligned).
-   * @param ratio The desired aspect ratio.
-   * @param obey_child If <tt>true</tt>, @a ratio is ignored and the aspect ratio
-   *   is taken from the requisition of the child.
+  /** Sets the horizontal alignment of the child within the allocation
+   * of this %AspectFrame.
+   * @param xalign Horizontal alignment of the child within the allocation of
+   *   this %AspectFrame. For possible values, see Gtk::Align.
    */
-  _WRAP_METHOD(void set(float xalign, float yalign, float ratio, bool obey_child), gtk_aspect_frame_set)
+  _WRAP_METHOD(void set_xalign(Align xalign), gtk_aspect_frame_set_xalign)
+  _WRAP_METHOD(void set_xalign(float xalign), gtk_aspect_frame_set_xalign)
+  _WRAP_METHOD(float get_xalign() const, gtk_aspect_frame_get_xalign)
 
-  /** Set the properties of this %AspectFrame.
-   * @param xalign Horizontal alignment of the child within the allocation of this
-   *   %AspectFrame.  For possible values, see Gtk::Align.
-   * @param yalign Vertical alignment of the child within the allocation of this
-   *   %AspectFrame.  For possible values, see Gtk::Align.
-   * @param ratio The desired aspect ratio.
-   * @param obey_child If <tt>true</tt>, @a ratio is ignored and the aspect ratio
-   *   is taken from the requisition of the child.
+  /** Sets the vertical alignment of the child within the allocation
+   * of this %AspectFrame.
+   * @param yalign Vertical alignment of the child within the allocation of
+   *   this %AspectFrame. For possible values, see Gtk::Align.
    */
-  _WRAP_METHOD(void set(Align xalign, Align yalign, float ratio, bool obey_child), gtk_aspect_frame_set)
+  _WRAP_METHOD(void set_yalign(Align yalign), gtk_aspect_frame_set_yalign)
+  _WRAP_METHOD(void set_yalign(float yalign), gtk_aspect_frame_set_yalign)
+  _WRAP_METHOD(float get_yalign() const, gtk_aspect_frame_get_yalign)
+  _WRAP_METHOD(void set_ratio(float ratio), gtk_aspect_frame_set_ratio)
+  _WRAP_METHOD(float get_ratio() const, gtk_aspect_frame_get_ratio)
+  _WRAP_METHOD(void set_obey_child(bool obey_child = true), gtk_aspect_frame_set_obey_child)
+  _WRAP_METHOD(bool get_obey_child() const, gtk_aspect_frame_get_obey_child)
 
   _WRAP_PROPERTY("xalign", float)
   _WRAP_PROPERTY("yalign", float)
diff --git a/gtk/src/button.hg b/gtk/src/button.hg
index 8a9a9999..b34b7735 100644
--- a/gtk/src/button.hg
+++ b/gtk/src/button.hg
@@ -54,7 +54,6 @@ public:
    */
   _CTOR_DEFAULT
 
-
   /** Simple Push Button with label.
    * Create a button with the given label inside. You won't be able
    * to add a widget in this button since it already has a Gtk::Label in it.
@@ -65,8 +64,8 @@ public:
   //But set_icon_name() and set_image_from_icon_name() are replacements.
   _IGNORE(gtk_button_new_from_icon_name)
 
-  _WRAP_METHOD(void set_relief(ReliefStyle relief), gtk_button_set_relief)
-  _WRAP_METHOD(ReliefStyle get_relief() const, gtk_button_get_relief)
+  _WRAP_METHOD(void set_has_frame(bool has_frame = true), gtk_button_set_has_frame)
+  _WRAP_METHOD(bool get_has_frame() const, gtk_button_get_has_frame)
 
   _WRAP_METHOD(void set_label(const Glib::ustring& label), gtk_button_set_label)
   _WRAP_METHOD(Glib::ustring get_label() const, gtk_button_get_label)
@@ -99,7 +98,7 @@ public:
   _IGNORE_SIGNAL("activate") // Action signal
 
   _WRAP_PROPERTY("label", Glib::ustring)
-  _WRAP_PROPERTY("relief", ReliefStyle)
+  _WRAP_PROPERTY("has-frame", bool)
   _WRAP_PROPERTY("use-underline", bool)
   _WRAP_PROPERTY("icon-name", Glib::ustring)
 };
diff --git a/gtk/src/colorbutton.hg b/gtk/src/colorbutton.hg
index 39596ff3..b4993b68 100644
--- a/gtk/src/colorbutton.hg
+++ b/gtk/src/colorbutton.hg
@@ -71,10 +71,14 @@ public:
   _WRAP_METHOD(void set_title(const Glib::ustring& title), gtk_color_button_set_title)
   _WRAP_METHOD(Glib::ustring get_title() const, gtk_color_button_get_title)
 
+  _WRAP_METHOD(void set_modal(bool modal = true), gtk_color_button_set_modal)
+  _WRAP_METHOD(bool get_modal() const, gtk_color_button_get_modal)
+
   _WRAP_PROPERTY("use-alpha", bool)
   _WRAP_PROPERTY("title", Glib::ustring)
   _WRAP_PROPERTY("rgba", Gdk::RGBA)
   _WRAP_PROPERTY("show-editor", bool)
+  _WRAP_PROPERTY("modal", bool)
 
   // no_default_handler because GtkColorButtonClass is private.
   _WRAP_SIGNAL(void color_set(), "color-set", no_default_handler)
diff --git a/gtk/src/container.ccg b/gtk/src/container.ccg
index cf69283f..5608cbbc 100644
--- a/gtk/src/container.ccg
+++ b/gtk/src/container.ccg
@@ -17,7 +17,6 @@
 
 #include <glibmm/vectorutils.h>
 
-#include <gtkmm/adjustment.h>
 #include <gtkmm/scrolledwindow.h>
 #include <gtk/gtk.h>
 
diff --git a/gtk/src/container.hg b/gtk/src/container.hg
index db3cc1a6..be7c5e3f 100644
--- a/gtk/src/container.hg
+++ b/gtk/src/container.hg
@@ -29,9 +29,6 @@ _PINCLUDE(gtkmm/private/widget_p.h)
 namespace Gtk
 {
 
-class Adjustment;
-class Label;
-
 /** Abstract container class
  *
  * This is the abstract container from which all gtk+ widgets which hold
@@ -109,22 +106,6 @@ public:
 
 /* Widget-level methods */
 
-  _WRAP_METHOD(void set_focus_vadjustment(const Glib::RefPtr<Adjustment>& adjustment),
-               gtk_container_set_focus_vadjustment)
-
-  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_focus_vadjustment(),
-               gtk_container_get_focus_vadjustment, refreturn)
-  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_focus_vadjustment() const,
-               gtk_container_get_focus_vadjustment, refreturn, constversion)
-
-  _WRAP_METHOD(void set_focus_hadjustment(const Glib::RefPtr<Adjustment>& adjustment),
-               gtk_container_set_focus_hadjustment)
-
-  _WRAP_METHOD(Glib::RefPtr<Adjustment> get_focus_hadjustment(),
-               gtk_container_get_focus_hadjustment, refreturn)
-  _WRAP_METHOD(Glib::RefPtr<const Adjustment> get_focus_hadjustment() const,
-               gtk_container_get_focus_hadjustment, refreturn, constversion)
-
   _WRAP_METHOD(GType child_type() const, gtk_container_child_type)
 
   _WRAP_SIGNAL(void add(Widget* widget), "add")
@@ -156,12 +137,6 @@ protected:
   _WRAP_VFUNC(void forall(const ForeachSlot& slot{callback}), forall,
     custom_vfunc_callback, slot_name slot, slot_callback container_foreach_callback, no_slot_copy)
 
-  /** Sets the focused child of container.
-   *
-   * @param child The child widget.
-   */
-  _WRAP_VFUNC(void set_focus_child(Widget* child), set_focus_child)
-
 #m4begin
 dnl// Hook in special code to catch explicit uses of gtk_object_destroy() by
 dnl// GTK+ code, e.g. when receiving the GDK_DELETE event.  For details, look
diff --git a/gtk/src/enums.hg b/gtk/src/enums.hg
index 2eb47509..5dc71170 100644
--- a/gtk/src/enums.hg
+++ b/gtk/src/enums.hg
@@ -44,11 +44,9 @@ _WRAP_ENUM(PickFlags, GtkPickFlags)
 _WRAP_ENUM(PlacesOpenFlags, GtkPlacesOpenFlags)
 _WRAP_ENUM(PolicyType, GtkPolicyType)
 _WRAP_ENUM(PositionType, GtkPositionType)
-_WRAP_ENUM(ReliefStyle, GtkReliefStyle)
 _WRAP_ENUM(RevealerTransitionType, GtkRevealerTransitionType)
 _WRAP_ENUM(ScrollType, GtkScrollType)
 _WRAP_ENUM(SelectionMode, GtkSelectionMode)
-_WRAP_ENUM(ShadowType, GtkShadowType)
 _WRAP_ENUM(StackTransitionType, GtkStackTransitionType)
 _WRAP_ENUM(WrapMode, GtkWrapMode)
 _WRAP_ENUM(SortType, GtkSortType)
diff --git a/gtk/src/eventcontroller.hg b/gtk/src/eventcontroller.hg
index a4efdf12..ea580059 100644
--- a/gtk/src/eventcontroller.hg
+++ b/gtk/src/eventcontroller.hg
@@ -16,6 +16,9 @@
 
 #include <glibmm/object.h>
 #include <gtkmm/widget.h>
+#include <gdkmm/device.h>
+#include <gdkmm/event.h>
+#include <gdkmm/types.h> // Gdk::ModifierType
 
 _DEFS(gtkmm,gtk)
 _PINCLUDE(glibmm/private/object_p.h)
@@ -78,6 +81,17 @@ public:
   _WRAP_METHOD(Glib::ustring get_name() const, gtk_event_controller_get_name)
   _WRAP_METHOD(void set_name(const Glib::ustring& name), gtk_event_controller_set_name)
 
+  _WRAP_METHOD(Glib::RefPtr<const Gdk::Event> get_current_event() const,
+    gtk_event_controller_get_current_event, refreturn)
+  _WRAP_METHOD(guint32 get_current_event_time() const,
+    gtk_event_controller_get_current_event_time)
+  _WRAP_METHOD(Glib::RefPtr<Gdk::Device> get_current_event_device(),
+    gtk_event_controller_get_current_event_device, refreturn)
+  _WRAP_METHOD(Glib::RefPtr<const Gdk::Device> get_current_event_device() const,
+    gtk_event_controller_get_current_event, refreturn, constversion)
+  _WRAP_METHOD(Gdk::ModifierType get_current_event_state() const,
+    gtk_event_controller_get_current_event_state)
+
   _WRAP_PROPERTY("widget", Widget*)
   _WRAP_PROPERTY("propagation-phase", PropagationPhase)
   _WRAP_PROPERTY("propagation-limit", PropagationLimit)
diff --git a/gtk/src/filechooserbutton.hg b/gtk/src/filechooserbutton.hg
index 84780823..9b84b721 100644
--- a/gtk/src/filechooserbutton.hg
+++ b/gtk/src/filechooserbutton.hg
@@ -74,6 +74,9 @@ public:
   _WRAP_METHOD(int get_width_chars() const, gtk_file_chooser_button_get_width_chars)
   _WRAP_METHOD(void set_width_chars(int n_chars), gtk_file_chooser_button_set_width_chars)
 
+  _WRAP_METHOD(bool get_modal() const, gtk_file_chooser_button_get_modal)
+  _WRAP_METHOD(void set_modal(bool modal = true), gtk_file_chooser_button_set_modal)
+
   // no_default_handler because GtkFileChooserButtonClass is private.
   //This is a G_SIGNAL_ACTION signal, but it seems to be public API for applications.
   //See http://bugzilla.gnome.org/show_bug.cgi?id=353196
@@ -84,6 +87,7 @@ public:
 
   _WRAP_PROPERTY("title", Glib::ustring)
   _WRAP_PROPERTY("width-chars", int)
+  _WRAP_PROPERTY("modal", bool)
 };
 
 } // namespace Gtk
diff --git a/gtk/src/fontbutton.hg b/gtk/src/fontbutton.hg
index b03d7f9a..62797fd1 100644
--- a/gtk/src/fontbutton.hg
+++ b/gtk/src/fontbutton.hg
@@ -49,12 +49,15 @@ public:
 
   _WRAP_METHOD(Glib::ustring get_title() const, gtk_font_button_get_title)
   _WRAP_METHOD(void set_title(const Glib::ustring& title), gtk_font_button_set_title)
+  _WRAP_METHOD(bool get_modal() const, gtk_font_button_get_modal)
+  _WRAP_METHOD(void set_modal(bool modal = true), gtk_font_button_set_modal)
   _WRAP_METHOD(bool get_use_font() const, gtk_font_button_get_use_font)
   _WRAP_METHOD(void set_use_font(bool use_font = true), gtk_font_button_set_use_font)
   _WRAP_METHOD(bool get_use_size() const, gtk_font_button_get_use_size)
   _WRAP_METHOD(void set_use_size(bool use_size = true), gtk_font_button_set_use_size)
 
   _WRAP_PROPERTY("title", Glib::ustring)
+  _WRAP_PROPERTY("modal", bool)
   _WRAP_PROPERTY("use-font", bool)
   _WRAP_PROPERTY("use-size", bool)
 
diff --git a/gtk/src/frame.hg b/gtk/src/frame.hg
index 94db6689..2a07d785 100644
--- a/gtk/src/frame.hg
+++ b/gtk/src/frame.hg
@@ -70,20 +70,13 @@ public:
 
   _WRAP_METHOD(float get_label_align() const, gtk_frame_get_label_align)
 
-  /** Sets shadow type of the frame.
-   */
-  _WRAP_METHOD(void set_shadow_type(ShadowType type), gtk_frame_set_shadow_type)
-  _WRAP_METHOD(ShadowType get_shadow_type() const, gtk_frame_get_shadow_type)
-
   _WRAP_PROPERTY("label", Glib::ustring)
   _WRAP_PROPERTY("label-xalign", double)
-  _WRAP_PROPERTY("shadow-type", ShadowType)
   _WRAP_PROPERTY("label-widget", Widget*)
 
 protected:
 #m4 _CONVERSION(`GtkAllocation*',`Allocation&',`($2)(Glib::wrap($3))')
   _WRAP_VFUNC(void compute_child_allocation(Allocation& allocation), compute_child_allocation)
-
 };
 
 } // namespace Gtk
diff --git a/gtk/src/label.hg b/gtk/src/label.hg
index eaf0510c..d5362d6c 100644
--- a/gtk/src/label.hg
+++ b/gtk/src/label.hg
@@ -96,7 +96,6 @@ public:
   _WRAP_METHOD(void set_lines(int lines), gtk_label_set_lines)
   _WRAP_METHOD(int get_lines() const, gtk_label_get_lines)
 
-  _WRAP_METHOD(void set_pattern(const Glib::ustring& pattern), gtk_label_set_pattern)
   _WRAP_METHOD(void set_wrap(bool wrap = true), gtk_label_set_wrap)
   _WRAP_METHOD(bool get_wrap() const, gtk_label_get_wrap)
   _WRAP_METHOD(void set_wrap_mode(Pango::WrapMode wrap_mode), gtk_label_set_wrap_mode)
@@ -125,9 +124,6 @@ public:
 
   _WRAP_METHOD(Glib::ustring get_current_uri() const, gtk_label_get_current_uri)
 
-  _WRAP_METHOD(void set_track_visited_links(bool track_links = true), gtk_label_set_track_visited_links)
-  _WRAP_METHOD(bool get_track_visited_links() const, gtk_label_get_track_visited_links)
-
   _WRAP_METHOD(void set_xalign (float xalign), gtk_label_set_xalign)
   _WRAP_METHOD(float get_xalign() const, gtk_label_get_xalign)
   _WRAP_METHOD(void set_yalign (float yalign), gtk_label_set_yalign)
@@ -150,19 +146,15 @@ public:
   _WRAP_PROPERTY("use-markup", bool)
   _WRAP_PROPERTY("use-underline", bool)
   _WRAP_PROPERTY("justify", Justification)
-  _WRAP_PROPERTY("pattern", Glib::ustring)
   _WRAP_PROPERTY("wrap", bool)
   _WRAP_PROPERTY("wrap-mode", Pango::WrapMode)
   _WRAP_PROPERTY("selectable", bool)
   _WRAP_PROPERTY("mnemonic-keyval", guint)
   _WRAP_PROPERTY("mnemonic-widget", Widget*)
-  _WRAP_PROPERTY("cursor-position", int)
-  _WRAP_PROPERTY("selection-bound", int)
   _WRAP_PROPERTY("ellipsize", Pango::EllipsizeMode)
   _WRAP_PROPERTY("width-chars", int)
   _WRAP_PROPERTY("single-line-mode", bool)
   _WRAP_PROPERTY("max_width_chars", int)
-  _WRAP_PROPERTY("track-visited-links", bool)
   _WRAP_PROPERTY("lines", int)
   _WRAP_PROPERTY("xalign", float)
   _WRAP_PROPERTY("yalign", float)
diff --git a/gtk/src/menubutton.hg b/gtk/src/menubutton.hg
index 974ddba5..a4bdcb8a 100644
--- a/gtk/src/menubutton.hg
+++ b/gtk/src/menubutton.hg
@@ -79,8 +79,8 @@ public:
   _WRAP_METHOD(void set_use_underline(bool use_underline = true), gtk_menu_button_set_use_underline)
   _WRAP_METHOD(bool get_use_underline() const, gtk_menu_button_get_use_underline)
 
-  _WRAP_METHOD(void set_relief(ReliefStyle relief), gtk_menu_button_set_relief)
-  _WRAP_METHOD(ReliefStyle get_relief() const, gtk_menu_button_get_relief)
+  _WRAP_METHOD(void set_has_frame(bool has_frame = true), gtk_menu_button_set_has_frame)
+  _WRAP_METHOD(bool get_has_frame() const, gtk_menu_button_get_has_frame)
 
   _WRAP_METHOD(void popup(), gtk_menu_button_popup)
   _WRAP_METHOD(void popdown(), gtk_menu_button_popdown)
@@ -124,8 +124,7 @@ public:
   _WRAP_PROPERTY("icon-name", Glib::ustring)
   _WRAP_PROPERTY("label", Glib::ustring)
   _WRAP_PROPERTY("use-underline", bool)
-  _WRAP_PROPERTY("relief", ReliefStyle)
+  _WRAP_PROPERTY("has-frame", bool)
 };
 
 } /* namespace Gtk */
-
diff --git a/gtk/src/paned.hg b/gtk/src/paned.hg
index 3451da15..a3a23f22 100644
--- a/gtk/src/paned.hg
+++ b/gtk/src/paned.hg
@@ -41,9 +41,8 @@ namespace Gtk
  * handle that the user can drag to adjust the division. It does not draw any
  * relief around the children or around the separator.  (The space
  * in which the separator is called the gutter.) Often, it is useful to
- * put each child inside a Gtk::Frame with the shadow type set to Gtk::ShadowType::IN
- * so that the gutter appears as a ridge. No separator is drawn if one of
- * the children is missing.
+ * put each child inside a Gtk::Frame so that the gutter appears as a ridge.
+ * No separator is drawn if one of the children is missing.
  *
  * Each child has two options that can be set - resize and shrink. If resize is
  * true, then when the GtkPaned is resized, that child will expand or shrink
diff --git a/gtk/src/scrolledwindow.hg b/gtk/src/scrolledwindow.hg
index 3c756fc7..70dcfa52 100644
--- a/gtk/src/scrolledwindow.hg
+++ b/gtk/src/scrolledwindow.hg
@@ -70,8 +70,8 @@ public:
   _WRAP_METHOD(void unset_placement(), gtk_scrolled_window_unset_placement)
   _WRAP_METHOD(CornerType get_placement() const, gtk_scrolled_window_get_placement)
 
-  _WRAP_METHOD(void set_shadow_type(ShadowType type), gtk_scrolled_window_set_shadow_type)
-  _WRAP_METHOD(ShadowType get_shadow_type() const, gtk_scrolled_window_get_shadow_type)
+  _WRAP_METHOD(void set_has_frame(bool has_frame = true), gtk_scrolled_window_set_has_frame)
+  _WRAP_METHOD(bool get_has_frame() const, gtk_scrolled_window_get_has_frame)
 
 #m4 _CONVERSION(`GtkWidget*',`Scrollbar*',`Glib::wrap((GtkScrollbar*)$3)')
 #m4 _CONVERSION(`GtkWidget*',`const Scrollbar*',`Glib::wrap((GtkScrollbar*)$3)')
@@ -118,7 +118,7 @@ public:
   _WRAP_PROPERTY("hscrollbar-policy", PolicyType)
   _WRAP_PROPERTY("vscrollbar-policy", PolicyType)
   _WRAP_PROPERTY("window-placement", CornerType)
-  _WRAP_PROPERTY("shadow-type", ShadowType)
+  _WRAP_PROPERTY("has-frame", bool)
   _WRAP_PROPERTY("min-content-width", int)
   _WRAP_PROPERTY("min-content-height", int)
   _WRAP_PROPERTY("kinetic-scrolling", bool)
diff --git a/gtk/src/viewport.hg b/gtk/src/viewport.hg
index a271e380..1d807834 100644
--- a/gtk/src/viewport.hg
+++ b/gtk/src/viewport.hg
@@ -22,7 +22,6 @@
 _DEFS(gtkmm,gtk)
 _PINCLUDE(gtkmm/private/bin_p.h)
 
-
 namespace Gtk {
 
 /** An adapter which makes widgets scrollable.
@@ -40,13 +39,10 @@ public:
 
   _WRAP_CTOR(Viewport(const Glib::RefPtr<Adjustment>& hadjustment, const Glib::RefPtr<Adjustment>& 
vadjustment), gtk_viewport_new)
 
-  _WRAP_METHOD(void set_shadow_type(ShadowType type),
-               gtk_viewport_set_shadow_type)
-
-  _WRAP_METHOD(ShadowType get_shadow_type() const,
-               gtk_viewport_get_shadow_type)
+  _WRAP_METHOD(void set_scroll_to_focus(bool scroll_to_focus = true), gtk_viewport_set_scroll_to_focus)
+  _WRAP_METHOD(bool get_scroll_to_focus() const, gtk_viewport_get_scroll_to_focus)
 
-  _WRAP_PROPERTY("shadow_type", ShadowType)
+  _WRAP_PROPERTY("scroll-to-focus", bool)
 };
 
 }  //namespace Gtk
diff --git a/gtk/src/widget.hg b/gtk/src/widget.hg
index 15a20a26..eb0231be 100644
--- a/gtk/src/widget.hg
+++ b/gtk/src/widget.hg
@@ -153,9 +153,6 @@ public:
 
   _WRAP_METHOD(bool mnemonic_activate(bool group_cycling), gtk_widget_mnemonic_activate)
 
-  _IGNORE(gtk_widget_can_activate_accel)
-  //Probably not useful. Too C-specific: _WRAP_METHOD(bool can_activate_accel(guint signal_id) const, 
gtk_widget_can_activate_accel)
-
   _WRAP_METHOD(bool activate(), gtk_widget_activate)
 
   // gtk_widget_reparent() has been removed, but we want to keep Gtk::Widget::reparent().
@@ -180,7 +177,6 @@ public:
   _WRAP_METHOD(bool has_default() const, gtk_widget_has_default)
   _WRAP_METHOD(void set_receives_default(bool receives_default = true), gtk_widget_set_receives_default)
   _WRAP_METHOD(bool get_receives_default() const, gtk_widget_get_receives_default)
-  _WRAP_METHOD(bool has_grab() const, gtk_widget_has_grab)
   _WRAP_METHOD(bool device_is_shadowed(const Glib::RefPtr<const Gdk::Device>& device), 
gtk_widget_device_is_shadowed)
 
   _WRAP_METHOD(void set_name(const Glib::ustring& name), gtk_widget_set_name)
@@ -321,8 +317,6 @@ public:
   void add_controller(const Glib::RefPtr<EventController>& controller);
   _WRAP_METHOD(void remove_controller(const Glib::RefPtr<EventController>& controller), 
gtk_widget_remove_controller)
 
-  _WRAP_METHOD(void reset_style(), gtk_widget_reset_style)
-
   _WRAP_METHOD(Glib::RefPtr<Pango::Context> create_pango_context(), gtk_widget_create_pango_context)
   _WRAP_METHOD(Glib::RefPtr<Pango::Context> get_pango_context(), gtk_widget_get_pango_context, refreturn)
 
@@ -653,6 +647,11 @@ protected:
   _WRAP_VFUNC(void measure(Orientation orientation, int for_size, int& minimum, int& natural,
     int& minimum_baseline, int& natural_baseline) const, measure, custom_vfunc_callback)
   _WRAP_VFUNC(bool grab_focus(), grab_focus)
+  /** Sets the focused child of container.
+   *
+   * @param child The child widget.
+   */
+  _WRAP_VFUNC(void set_focus_child(Widget* child), set_focus_child)
   _WRAP_VFUNC(Glib::RefPtr<Atk::Object> get_accessible(), "get_accessible", refreturn, ifdef 
GTKMM_ATKMM_ENABLED)
 
   _WRAP_VFUNC(void compute_expand(bool& hexpand_p, bool& vexpand_p), compute_expand,
diff --git a/gtk/src/window.hg b/gtk/src/window.hg
index 12f69ebb..c8bd3279 100644
--- a/gtk/src/window.hg
+++ b/gtk/src/window.hg
@@ -266,7 +266,8 @@ dnl
   _WRAP_METHOD(bool is_maximized() const, gtk_window_is_maximized)
 
   // from gtk/gtkshow.h:
-  _WRAP_METHOD(void show_uri(const Glib::ustring& uri, guint32 timestamp), gtk_show_uri_on_window, errthrow, 
newin "3,24")
+  //TODO: _WRAP_METHOD(void show_uri(const Glib::ustring& uri, guint32 timestamp), gtk_show_uri)
+  // gtk_show_uri_full[_finish]()
 
   ///Overriden to warn that it doesn't make sense to use Gtk::manage() on this class because it has no 
parent container.
   void set_manage() override;
diff --git a/tools/m4/convert_gdk.m4 b/tools/m4/convert_gdk.m4
index f4c6fb36..51a03377 100644
--- a/tools/m4/convert_gdk.m4
+++ b/tools/m4/convert_gdk.m4
@@ -64,7 +64,6 @@ _CONV_ENUM(Gdk,SettingAction)
 _CONV_ENUM(Gdk,Status)
 _CONV_ENUM(Gdk,SubpixelLayout)
 _CONV_ENUM(Gdk,SurfaceEdge)
-_CONV_INCLASS_ENUM(Gdk,Surface,Hints)
 _CONV_INCLASS_ENUM(Gdk,Surface,State)
 _CONV_INCLASS_ENUM(Gdk,Surface,TypeHint)
 _CONV_ENUM(Gdk,TouchpadGesturePhase)
@@ -293,6 +292,7 @@ _CONVERSION(`const std::string&', `GdkAtom', `Gdk::AtomString::to_c_type($3)')
 dnl GdkEvent and GdkEventSequence
 _CONVERSION(`GdkEvent*',`Glib::RefPtr<Event>',`Glib::wrap($3)')
 _CONVERSION(`GdkEvent*',`Glib::RefPtr<Gdk::Event>',`Glib::wrap($3)')
+_CONVERSION(`GdkEvent*',`Glib::RefPtr<const Gdk::Event>',`Glib::wrap($3)')
 _CONVERSION(`const GdkEvent*',`Glib::RefPtr<const Gdk::Event>',`Glib::wrap(const_cast<GdkEvent*>($3))')
 _CONVERSION(`const Glib::RefPtr<Event>&',`GdkEvent*',__CONVERT_REFPTR_TO_P)
 _CONVERSION(`const Glib::RefPtr<Gdk::Event>&',`GdkEvent*',__CONVERT_REFPTR_TO_P)
diff --git a/tools/m4/convert_gtk.m4 b/tools/m4/convert_gtk.m4
index 2196032d..0035e97f 100644
--- a/tools/m4/convert_gtk.m4
+++ b/tools/m4/convert_gtk.m4
@@ -71,11 +71,9 @@ _CONV_ENUM(Gtk,ProgressBarOrientation)
 _CONV_ENUM(Gtk,ProgressBarStyle)
 _CONV_ENUM(Gtk,PropagationLimit)
 _CONV_ENUM(Gtk,PropagationPhase)
-_CONV_ENUM(Gtk,ReliefStyle)
 _CONV_ENUM(Gtk,RevealerTransitionType)
 _CONV_ENUM(Gtk,ScrollType)
 _CONV_ENUM(Gtk,SelectionMode)
-_CONV_ENUM(Gtk,ShadowType)
 _CONV_ENUM(Gtk,ShortcutType)
 _CONV_INCLASS_ENUM(Gtk,SizeGroup,Mode)
 _CONV_ENUM(Gtk,SortType)



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