[gtkmm: 1/2] Add wrapper for EventControllerLegacy
- From: Kjell Ahlstedt <kjellahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm: 1/2] Add wrapper for EventControllerLegacy
- Date: Mon, 21 Jun 2021 16:33:03 +0000 (UTC)
commit 01485188ac19627165ac7dbc6b2bd2f7a8cd9b2b
Author: BogDan Vatra <bogdan kde org>
Date: Fri Jun 18 11:42:25 2021 +0300
Add wrapper for EventControllerLegacy
gtk/gtkmm/meson.build | 1 +
gtk/src/eventcontrollerlegacy.ccg | 18 +++++++++++
gtk/src/eventcontrollerlegacy.hg | 53 +++++++++++++++++++++++++++++++
gtk/src/gtk_signals.defs | 11 +++++++
tools/extra_defs_gen/generate_defs_gtk.cc | 1 +
5 files changed, 84 insertions(+)
---
diff --git a/gtk/gtkmm/meson.build b/gtk/gtkmm/meson.build
index 0d736770..f64c08af 100644
--- a/gtk/gtkmm/meson.build
+++ b/gtk/gtkmm/meson.build
@@ -104,6 +104,7 @@ gtkmm_any_hg_ccg_basenames = [
'eventcontroller',
'eventcontrollerfocus',
'eventcontrollerkey',
+ 'eventcontrollerlegacy',
'eventcontrollermotion',
'eventcontrollerscroll',
'expander',
diff --git a/gtk/src/eventcontrollerlegacy.ccg b/gtk/src/eventcontrollerlegacy.ccg
new file mode 100644
index 00000000..82127c6d
--- /dev/null
+++ b/gtk/src/eventcontrollerlegacy.ccg
@@ -0,0 +1,18 @@
+/* Copyright (C) 2021 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <gtk/gtk.h>
+
diff --git a/gtk/src/eventcontrollerlegacy.hg b/gtk/src/eventcontrollerlegacy.hg
new file mode 100644
index 00000000..e5526518
--- /dev/null
+++ b/gtk/src/eventcontrollerlegacy.hg
@@ -0,0 +1,53 @@
+/* Copyright (C) 2021 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <gtkmm/eventcontroller.h>
+
+_DEFS(gtkmm,gtk)
+_PINCLUDE(gtkmm/private/eventcontroller_p.h)
+
+namespace Gtk
+{
+class GTKMM_API Widget;
+
+/** Event controller that provides raw access to the event stream.
+ *
+ * %Gtk::EventControllerLegacy is an event controller that provides raw
+ * access to the event stream.
+ *
+ * It should only be used as a last resort if none of the other event
+ * controllers or gestures do the job.
+ *
+ * @newin{4,3}
+ *
+ * @ingroup Gestures
+ */
+class GTKMM_API EventControllerLegacy : public EventController
+{
+ _CLASS_GOBJECT(EventControllerLegacy, GtkEventControllerLegacy, GTK_EVENT_CONTROLLER_LEGACY,
EventController, GtkEventController, , , GTKMM_API)
+
+protected:
+ _CTOR_DEFAULT
+
+public:
+ _WRAP_CREATE()
+
+ // no_default_handler because GtkEventControllerLegacyClass is private.
+#m4 _CONVERSION(`GdkEvent*',`const Glib::RefPtr<const Gdk::Event>&',`Glib::wrap($3, true)')
+ _WRAP_SIGNAL(bool event(const Glib::RefPtr<const Gdk::Event>& event), "event", no_default_handler)
+};
+
+} // namespace Gtk
diff --git a/gtk/src/gtk_signals.defs b/gtk/src/gtk_signals.defs
index f6596149..ed48f65c 100644
--- a/gtk/src/gtk_signals.defs
+++ b/gtk/src/gtk_signals.defs
@@ -4185,6 +4185,17 @@
(flags "Run Last")
)
+;; From GtkEventControllerLegacy
+
+(define-signal event
+ (of-object "GtkEventControllerLegacy")
+ (return-type "gboolean")
+ (flags "Run Last")
+ (parameters
+ '("GdkEvent*" "p0")
+ )
+)
+
;; From GtkEventControllerMotion
(define-signal enter
diff --git a/tools/extra_defs_gen/generate_defs_gtk.cc b/tools/extra_defs_gen/generate_defs_gtk.cc
index c03a396c..4204fc65 100644
--- a/tools/extra_defs_gen/generate_defs_gtk.cc
+++ b/tools/extra_defs_gen/generate_defs_gtk.cc
@@ -108,6 +108,7 @@ int main(int /* argc */, char** /* argv */)
<< get_defs( GTK_TYPE_EVENT_CONTROLLER )
<< get_defs( GTK_TYPE_EVENT_CONTROLLER_FOCUS )
<< get_defs( GTK_TYPE_EVENT_CONTROLLER_KEY )
+ << get_defs( GTK_TYPE_EVENT_CONTROLLER_LEGACY )
<< get_defs( GTK_TYPE_EVENT_CONTROLLER_MOTION )
<< get_defs( GTK_TYPE_EVENT_CONTROLLER_SCROLL )
<< get_defs( GTK_TYPE_EXPANDER )
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]