[pygobject/pygobject-3-16] overrides: Conditionalize touch override support in Gdk



commit 7291cb1f841c384f1a18cc744c8d9c6be20c48e2
Author: Simon Feltman <sfeltman src gnome org>
Date:   Mon Apr 13 19:33:40 2015 -0700

    overrides: Conditionalize touch override support in Gdk
    
    Conditionalize Gdk.EventTouch union discrimination. This fixes the
    Gdk overrides to continue working with versions of Gdk less than 3.4.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=747717

 gi/overrides/Gdk.py |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)
---
diff --git a/gi/overrides/Gdk.py b/gi/overrides/Gdk.py
index c127550..15f2a0a 100644
--- a/gi/overrides/Gdk.py
+++ b/gi/overrides/Gdk.py
@@ -190,15 +190,20 @@ class Event(Gdk.Event):
         Gdk.EventType.DROP_FINISHED: 'dnd',
         Gdk.EventType.CLIENT_EVENT: 'client',
         Gdk.EventType.VISIBILITY_NOTIFY: 'visibility',
-        Gdk.EventType.TOUCH_BEGIN: 'touch',
-        Gdk.EventType.TOUCH_UPDATE: 'touch',
-        Gdk.EventType.TOUCH_END: 'touch',
-        Gdk.EventType.TOUCH_CANCEL: 'touch',
     }
 
     if Gdk._version == '2.0':
         _UNION_MEMBERS[Gdk.EventType.NO_EXPOSE] = 'no_expose'
 
+    if hasattr(Gdk.EventType, 'TOUCH_BEGIN'):
+        _UNION_MEMBERS.update(
+            {
+                Gdk.EventType.TOUCH_BEGIN: 'touch',
+                Gdk.EventType.TOUCH_UPDATE: 'touch',
+                Gdk.EventType.TOUCH_END: 'touch',
+                Gdk.EventType.TOUCH_CANCEL: 'touch',
+            })
+
     def __getattr__(self, name):
         real_event = getattr(self, '_UNION_MEMBERS').get(self.type)
         if real_event:
@@ -232,7 +237,6 @@ event_member_classes = ['EventAny',
                         'EventVisibility',
                         'EventMotion',
                         'EventButton',
-                        'EventTouch',
                         'EventScroll',
                         'EventKey',
                         'EventCrossing',
@@ -250,6 +254,10 @@ event_member_classes = ['EventAny',
 if Gdk._version == '2.0':
     event_member_classes.append('EventNoExpose')
 
+if hasattr(Gdk, 'EventTouch'):
+    event_member_classes.append('EventTouch')
+
+
 # whitelist all methods that have a success return we want to mask
 gsuccess_mask_funcs = ['get_state',
                        'get_axis',


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