[gtkmm] Update Gdk::Event and its subclasses
- From: Kjell Ahlstedt <kjellahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm] Update Gdk::Event and its subclasses
- Date: Fri, 9 Feb 2018 18:26:54 +0000 (UTC)
commit e47ac4497985f6cea48efffcaeb05becbc3101df
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date: Fri Feb 9 19:24:11 2018 +0100
Update Gdk::Event and its subclasses
* gdk/src/event.[ccg|hg]: Add set/get_device() and set/get_source_device().
* gdk/src/events.[ccg|hg]: Move get_device() to the base class, Gdk::Event.
Add EventButton::get_device_tool() and EventMotion::get_device_tool().
gdk/src/event.ccg | 1 +
gdk/src/event.hg | 17 ++++++++++----
gdk/src/events.ccg | 52 +++++++++-----------------------------------
gdk/src/events.hg | 60 +++++++++++----------------------------------------
4 files changed, 37 insertions(+), 93 deletions(-)
---
diff --git a/gdk/src/event.ccg b/gdk/src/event.ccg
index d908fe5..3776511 100644
--- a/gdk/src/event.ccg
+++ b/gdk/src/event.ccg
@@ -15,6 +15,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <gdkmm/device.h>
#include <gdkmm/display.h>
#include <gdkmm/seat.h>
#include <gdkmm/window.h>
diff --git a/gdk/src/event.hg b/gdk/src/event.hg
index 70d36b6..0bfa5ed 100644
--- a/gdk/src/event.hg
+++ b/gdk/src/event.hg
@@ -41,6 +41,7 @@ using GdkEventClass = struct _GdkEventClass;
namespace Gdk
{
+class Device;
class Display;
class Seat;
class Window;
@@ -79,11 +80,19 @@ public:
*/
_WRAP_METHOD(bool is_sent() const, gdk_event_is_sent)
- //_WRAP_METHOD(void gdk_event_handler_set(GdkEventFunc func, gpointer data, GDestroyNotify notify),
gdk_event_handler_set)
+ _IGNORE(gdk_event_handler_set)dnl// Usually not useful for GTK+ applications
_WRAP_METHOD(static void set_show_events(bool show_events = true), gdk_set_show_events)
_WRAP_METHOD(static bool get_show_events(), gdk_get_show_events)
+ _WRAP_METHOD(void set_device(const Glib::RefPtr<Device>& device), gdk_event_set_device, newin "3,94")
+ _WRAP_METHOD(Glib::RefPtr<Device> get_device(), gdk_event_get_device, refreturn, newin "3,94")
+ _WRAP_METHOD(Glib::RefPtr<const Device> get_device() const, gdk_event_get_device, refreturn, constversion,
newin "3,94")
+
+ _WRAP_METHOD(void set_source_device(const Glib::RefPtr<Device>& device), gdk_event_set_source_device,
newin "3,94")
+ _WRAP_METHOD(Glib::RefPtr<Device> get_source_device(), gdk_event_get_source_device, refreturn, newin
"3,94")
+ _WRAP_METHOD(Glib::RefPtr<const Device> get_source_device() const, gdk_event_get_source_device, refreturn,
constversion, newin "3,94")
+
_WRAP_METHOD(void set_display(const Glib::RefPtr<Display>& display), gdk_event_set_display)
_WRAP_METHOD(Glib::RefPtr<Display> get_display(), gdk_event_get_display, refreturn)
_WRAP_METHOD(Glib::RefPtr<const Display> get_display() const, gdk_event_get_display, refreturn,
constversion)
@@ -93,14 +102,12 @@ public:
_WRAP_PROPERTY("event-type", Type)
- //TODO: If GdkDeviceTool is wrapped in gtkmm, wrap gdk_event_get_device_tool().
- _IGNORE(gdk_event_set_device_tool) dnl// "Should be rarely used"
-
// Belong to subclasses:
_IGNORE(gdk_event_get_time, gdk_event_get_state, gdk_event_get_keyval,
+ gdk_event_get_device_tool, gdk_event_set_device_tool,
gdk_event_get_keycode, gdk_event_get_scancode, gdk_event_get_key_group,
gdk_event_get_key_is_modifier, gdk_event_get_string, gdk_event_get_button,
- gdk_event_get_device, gdk_event_get_click_count, gdk_event_triggers_context_menu,
+ gdk_event_get_click_count, gdk_event_triggers_context_menu,
gdk_event_get_coords, gdk_event_get_root_coords, gdk_event_get_scroll_deltas,
gdk_event_get_scroll_direction, gdk_event_is_scroll_stop_event, gdk_event_get_axis,
gdk_event_get_event_sequence, gdk_event_get_touch_emulating_pointer,
diff --git a/gdk/src/events.ccg b/gdk/src/events.ccg
index 67e0f27..b497921 100644
--- a/gdk/src/events.ccg
+++ b/gdk/src/events.ccg
@@ -14,7 +14,7 @@
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <gdkmm/device.h>
+#include <gdkmm/devicetool.h>
#include <gdkmm/dragcontext.h>
namespace
@@ -110,19 +110,19 @@ guint EventButton::get_button() const
return button;
}
-Glib::RefPtr<Gdk::Device> EventButton::get_device()
+bool EventButton::shall_trigger_context_menu() const
{
- return Glib::wrap(gdk_event_get_device(Event::gobj()), true);
+ return gdk_event_triggers_context_menu(Event::gobj());
}
-Glib::RefPtr<const Gdk::Device> EventButton::get_device() const
+Glib::RefPtr<Gdk::DeviceTool> EventButton::get_device_tool()
{
- return Glib::wrap(gdk_event_get_device(Event::gobj()), true);
+ return Glib::wrap(gdk_event_get_device_tool(Event::gobj()), true);
}
-bool EventButton::shall_trigger_context_menu() const
+Glib::RefPtr<const Gdk::DeviceTool> EventButton::get_device_tool() const
{
- return gdk_event_triggers_context_menu(Event::gobj());
+ return Glib::wrap(gdk_event_get_device_tool(Event::gobj()), true);
}
// *** EventScroll ***
@@ -164,16 +164,6 @@ bool EventScroll::is_scroll_stop_event() const
return gdk_event_is_scroll_stop_event(Event::gobj());
}
-Glib::RefPtr<Gdk::Device> EventScroll::get_device()
-{
- return Glib::wrap(gdk_event_get_device(Event::gobj()), true);
-}
-
-Glib::RefPtr<const Gdk::Device> EventScroll::get_device() const
-{
- return Glib::wrap(gdk_event_get_device(Event::gobj()), true);
-}
-
// *** EventMotion ***
guint32 EventMotion::get_time() const
@@ -201,14 +191,14 @@ bool EventMotion::get_axis(Gdk::AxisUse axis_use, double& value) const
return gdk_event_get_axis(Event::gobj(), static_cast<GdkAxisUse>(axis_use), &value);
}
-Glib::RefPtr<Gdk::Device> EventMotion::get_device()
+Glib::RefPtr<Gdk::DeviceTool> EventMotion::get_device_tool()
{
- return Glib::wrap(gdk_event_get_device(Event::gobj()), true);
+ return Glib::wrap(gdk_event_get_device_tool(Event::gobj()), true);
}
-Glib::RefPtr<const Gdk::Device> EventMotion::get_device() const
+Glib::RefPtr<const Gdk::DeviceTool> EventMotion::get_device_tool() const
{
- return Glib::wrap(gdk_event_get_device(Event::gobj()), true);
+ return Glib::wrap(gdk_event_get_device_tool(Event::gobj()), true);
}
// *** EventTouch ***
@@ -255,16 +245,6 @@ bool EventTouch::get_pointer_emulated() const
return gdk_event_get_pointer_emulated(const_cast<GdkEvent*>(Event::gobj()));
}
-Glib::RefPtr<Gdk::Device> EventTouch::get_device()
-{
- return Glib::wrap(gdk_event_get_device(Event::gobj()), true);
-}
-
-Glib::RefPtr<const Gdk::Device> EventTouch::get_device() const
-{
- return Glib::wrap(gdk_event_get_device(Event::gobj()), true);
-}
-
// *** EventCrossing ***
guint32 EventCrossing::get_time() const
@@ -350,16 +330,6 @@ guint32 EventProximity::get_time() const
return gdk_event_get_time(Event::gobj());
}
-Glib::RefPtr<Gdk::Device> EventProximity::get_device()
-{
- return Glib::wrap(gdk_event_get_device(Event::gobj()), true);
-}
-
-Glib::RefPtr<const Gdk::Device> EventProximity::get_device() const
-{
- return Glib::wrap(gdk_event_get_device(Event::gobj()), true);
-}
-
// *** EventGrabBroken ***
Glib::RefPtr<Gdk::Window> EventGrabBroken::get_grab_window()
diff --git a/gdk/src/events.hg b/gdk/src/events.hg
index 0335d12..8b57956 100644
--- a/gdk/src/events.hg
+++ b/gdk/src/events.hg
@@ -36,7 +36,7 @@ _CC_INCLUDE(gdk/gdk.h)
namespace Gdk
{
-class Device;
+class DeviceTool;
class DragContext;
/** Representing an event sequence.
@@ -104,7 +104,9 @@ public:
// Belong to the base class:
_IGNORE(gdk_event_get_event_type, gdk_event_get_window, gdk_event_is_sent,
- gdk_event_get_seat, gdk_event_get_device_tool, gdk_event_set_device_tool)
+ gdk_event_get_seat, gdk_event_handler_set, gdk_event_set_device, gdk_event_get_device,
+ gdk_event_set_source_device, gdk_event_get_source_device, gdk_event_set_display,
+ gdk_event_get_display)
};
/** Represents a mouse button press or release event.
@@ -149,20 +151,15 @@ public:
guint get_button() const;
_IGNORE(gdk_event_get_button)
- /**
- * Returns the device where the event originated from.
- */
- Glib::RefPtr<Gdk::Device> get_device();
- /**
- * Returns the device where the event originated from.
- */
- Glib::RefPtr<const Gdk::Device> get_device() const;
- _IGNORE(gdk_event_get_device)
-
_IGNORE(gdk_event_get_click_count) dnl// Always returns 1 for an EventButton
_WRAP_METHOD_DOCS_ONLY(gdk_event_triggers_context_menu)
bool shall_trigger_context_menu() const;
+
+ _WRAP_METHOD_DOCS_ONLY(gdk_event_get_device_tool, newin "3,94")
+ Glib::RefPtr<DeviceTool> get_device_tool();
+ _WRAP_METHOD_DOCS_ONLY(gdk_event_get_device_tool, newin "3,94")
+ Glib::RefPtr<const DeviceTool> get_device_tool() const;
};
/** Generated when the mouse is scrolled.
@@ -213,15 +210,6 @@ public:
_WRAP_METHOD_DOCS_ONLY(gdk_event_is_scroll_stop_event)
bool is_scroll_stop_event() const;
-
- /**
- * Returns the device where the event originated from.
- */
- Glib::RefPtr<Gdk::Device> get_device();
- /**
- * Returns the device where the event originated from.
- */
- Glib::RefPtr<const Gdk::Device> get_device() const;
};
/** Generated when a mouse pointer is moved.
@@ -256,14 +244,10 @@ public:
_WRAP_METHOD_DOCS_ONLY(gdk_event_get_axis)
bool get_axis(Gdk::AxisUse axis_use, double& value) const;
- /**
- * Returns the device where the event originated from.
- */
- Glib::RefPtr<Gdk::Device> get_device();
- /**
- * Returns the device where the event originated from.
- */
- Glib::RefPtr<const Gdk::Device> get_device() const;
+ _WRAP_METHOD_DOCS_ONLY(gdk_event_get_device_tool, newin "3,94")
+ Glib::RefPtr<DeviceTool> get_device_tool();
+ _WRAP_METHOD_DOCS_ONLY(gdk_event_get_device_tool, newin "3,94")
+ Glib::RefPtr<const DeviceTool> get_device_tool() const;
};
/** Generated during an attached touchscreen is touched.
@@ -322,15 +306,6 @@ public:
//TODO: In other subclasses as well?
_WRAP_METHOD_DOCS_ONLY(gdk_event_get_pointer_emulated)
bool get_pointer_emulated() const;
-
- /**
- * Returns the device where the event originated from.
- */
- Glib::RefPtr<Gdk::Device> get_device();
- /**
- * Returns the device where the event originated from.
- */
- Glib::RefPtr<const Gdk::Device> get_device() const;
};
/** Generated when the mouse pointer leaves or enters the window.
@@ -539,15 +514,6 @@ public:
* Returns the timestamp of the event in milliseconds.
*/
guint32 get_time() const;
-
- /**
- * Returns the device where the event originated from.
- */
- Glib::RefPtr<Gdk::Device> get_device();
- /**
- * Returns the device where the event originated from.
- */
- Glib::RefPtr<const Gdk::Device> get_device() const;
};
/** Generated when a pointer or keyboard grab is broken. On X11, this happens
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]