[gtkmm] Add API from gtk 4.7.2
- From: Kjell Ahlstedt <kjellahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm] Add API from gtk 4.7.2
- Date: Sun, 11 Sep 2022 15:03:51 +0000 (UTC)
commit eb2d434b6e6d263eb3e2d580217ee78f9fae5efa
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date: Sun Sep 11 16:59:44 2022 +0200
Add API from gtk 4.7.2
* configure.ac:
* meson.build: Require gtk >= 4.7.2
* gtk/src/enums.hg: Add enum ContentFit
* gtk/src/eventcontroller.hg: Ignore gtk_event_controller_set_static_name
* gtk/src/label.hg: Add set/get/property_tabs()
* gtk/src/picture.hg: Add set/get/property_content_fit()
configure.ac | 2 +-
gtk/src/enums.hg | 2 +-
gtk/src/eventcontroller.hg | 1 +
gtk/src/label.hg | 9 ++++++++-
gtk/src/picture.hg | 6 +++---
meson.build | 2 +-
6 files changed, 15 insertions(+), 7 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 89030e00..b8a61ce8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -95,7 +95,7 @@ AS_IF([test "x$enable_static" = xyes],
# gdkmm really does need GTK, because part of Gdk::DragContext is in GTK.
# The extra gdk-pixbuf-2.0 check is because gdkmm requires a newer gdk-pixbuf than gtk4 requires.
# TODO: Remove the mention of cairomm once pangomm needs to depend on such a new version.
-AC_SUBST([GDKMM_MODULES], ['giomm-2.68 >= 2.68.0 pangomm-2.48 >= 2.50.0 cairomm-1.16 >= 1.15.4 gtk4 >= 4.7.1
gdk-pixbuf-2.0 >= 2.35.5'])
+AC_SUBST([GDKMM_MODULES], ['giomm-2.68 >= 2.68.0 pangomm-2.48 >= 2.50.0 cairomm-1.16 >= 1.15.4 gtk4 >= 4.7.2
gdk-pixbuf-2.0 >= 2.35.5'])
AS_IF([test "x$gtkmm_host_windows" = xyes],
[GTKMM_MODULES=$GDKMM_MODULES],
diff --git a/gtk/src/enums.hg b/gtk/src/enums.hg
index 831c32b7..6818d1a9 100644
--- a/gtk/src/enums.hg
+++ b/gtk/src/enums.hg
@@ -60,7 +60,7 @@ _WRAP_ENUM(InputPurpose, GtkInputPurpose, decl_prefix GTKMM_API)
_WRAP_ENUM(InputHints, GtkInputHints, decl_prefix GTKMM_API)
_WRAP_ENUM(BaselinePosition, GtkBaselinePosition, decl_prefix GTKMM_API)
_WRAP_ENUM(ShortcutScope, GtkShortcutScope, decl_prefix GTKMM_API)
-//_WRAP_ENUM(ContentFit, GtkContentFit, decl_prefix GTKMM_API)
+_WRAP_ENUM(ContentFit, GtkContentFit, decl_prefix GTKMM_API)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
//We need this because we can't just use floats for enum value.
diff --git a/gtk/src/eventcontroller.hg b/gtk/src/eventcontroller.hg
index 7c0260b6..13e9fb12 100644
--- a/gtk/src/eventcontroller.hg
+++ b/gtk/src/eventcontroller.hg
@@ -80,6 +80,7 @@ public:
_WRAP_METHOD(void set_propagation_limit(PropagationLimit limit),
gtk_event_controller_set_propagation_limit)
_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)
+ _IGNORE(gtk_event_controller_set_static_name)
_WRAP_METHOD(Glib::RefPtr<const Gdk::Event> get_current_event() const,
gtk_event_controller_get_current_event, refreturn)
diff --git a/gtk/src/label.hg b/gtk/src/label.hg
index ccd5d0da..43245971 100644
--- a/gtk/src/label.hg
+++ b/gtk/src/label.hg
@@ -21,6 +21,7 @@ _PINCLUDE(gtk/gtk.h)
#include <gtkmm/widget.h>
#include <pangomm/attrlist.h>
+#include <pangomm/tabarray.h>
#include <giomm/menumodel.h>
namespace Gtk
@@ -137,7 +138,12 @@ public:
_WRAP_METHOD(Glib::RefPtr<Gio::MenuModel> get_extra_menu(), gtk_label_get_extra_menu, refreturn)
_WRAP_METHOD(Glib::RefPtr<const Gio::MenuModel> get_extra_menu() const, gtk_label_get_extra_menu,
refreturn, constversion)
- #m4 _CONVERSION(`const char*',`const Glib::ustring&',__GCHARP_TO_USTRING)
+#m4 _CONVERSION(`const Pango::TabArray&',`PangoTabArray*',`const_cast<Pango::TabArray&>($3).gobj()')
+#m4 _CONVERSION(`PangoTabArray*',`Pango::TabArray',`Pango::TabArray(($3), false)')
+ _WRAP_METHOD(void set_tabs(const Pango::TabArray& tabs), gtk_label_set_tabs)
+ _WRAP_METHOD(Pango::TabArray get_tabs() const, gtk_label_get_tabs)
+
+#m4 _CONVERSION(`const char*',`const Glib::ustring&',__GCHARP_TO_USTRING)
_WRAP_SIGNAL(bool activate_link(const Glib::ustring& uri), "activate-link", no_default_handler)
//Keybinding signals:
@@ -164,6 +170,7 @@ public:
_WRAP_PROPERTY("xalign", float)
_WRAP_PROPERTY("yalign", float)
_WRAP_PROPERTY("extra-menu", Glib::RefPtr<Gio::MenuModel>)
+ _WRAP_PROPERTY("tabs", Pango::TabArray)
};
} // namespace Gtk
diff --git a/gtk/src/picture.hg b/gtk/src/picture.hg
index a4bcbee1..4b2d4f80 100644
--- a/gtk/src/picture.hg
+++ b/gtk/src/picture.hg
@@ -128,8 +128,8 @@ public:
_WRAP_METHOD(void set_can_shrink(bool can_shrink = true), gtk_picture_set_can_shrink)
_WRAP_METHOD(bool get_can_shrink() const, gtk_picture_get_can_shrink)
- //_WRAP_METHOD(void set_content_fit(ContentFit content_fit), gtk_picture_set_content_fit, newin "4,8")
- //_WRAP_METHOD(ContentFit get_content_fit() const, gtk_picture_get_content_fit, newin "4,8")
+ _WRAP_METHOD(void set_content_fit(ContentFit content_fit), gtk_picture_set_content_fit)
+ _WRAP_METHOD(ContentFit get_content_fit() const, gtk_picture_get_content_fit)
_WRAP_METHOD(void set_alternative_text(const Glib::ustring& alternative_text{NULL}),
gtk_picture_set_alternative_text)
_WRAP_METHOD(Glib::ustring get_alternative_text() const, gtk_picture_get_alternative_text)
@@ -139,7 +139,7 @@ public:
_WRAP_PROPERTY("alternative-text", Glib::ustring)
_WRAP_PROPERTY("keep-aspect-ratio", bool, deprecated "Use property_content_fit() instead.")
_WRAP_PROPERTY("can-shrink", bool)
- //_WRAP_PROPERTY("content-fit", ContentFit, newin "4,8")
+ _WRAP_PROPERTY("content-fit", ContentFit)
};
} //namespace Gtk
diff --git a/meson.build b/meson.build
index 5a2c24ec..3a77e3ba 100644
--- a/meson.build
+++ b/meson.build
@@ -106,7 +106,7 @@ install_pkgconfigdir = install_libdir / 'pkgconfig'
glibmm_req = '>= 2.68.0'
# Gtk supported pkg-config files on MSVC files for a good while, so just use that
-gtk_req = '>= 4.7.1'
+gtk_req = '>= 4.7.2'
gtk_dep = dependency('gtk4', version: gtk_req)
cairomm_req = '>= 1.15.4'
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]