Example #1
0
 def _ns_other_event(self, ns_event):
     #print "PyGUI_NS_EventHandler._ns_other_event for", self ###
     event = Event(ns_event)
     component = self.pygui_component
     if component:
         #print "...passing", event.kind, "to", component ###
         component.handle_event(event)
Example #2
0
 def _handle_gtk_key_event(self, gtk_event):
     """Convert a Gtk key-press or key-release event into an Event
     object and pass it up the message path."""
     #print "Component._handle_gtk_key_event for", self ###
     global _gtk_last_keyval_down
     if Event._gtk_key_event_of_interest(gtk_event):
         event = Event._from_gtk_key_event(gtk_event)
         if event.kind == 'key_down':
             this_keyval = gtk_event.keyval
             if _gtk_last_keyval_down == this_keyval:
                 event.auto = 1
             _gtk_last_keyval_down = this_keyval
         else:
             _gtk_last_keyval_down = None
         #if event.kind == 'key_down': ###
         #	print event ###
         return self._event_custom_handled(event)
 def _handle_gtk_key_event(self, gtk_event):
     """Convert a Gtk key-press or key-release event into an Event
     object and pass it up the message path."""
     #print "Component._handle_gtk_key_event for", self ###
     global _gtk_last_keyval_down
     if Event._gtk_key_event_of_interest(gtk_event):
         event = Event._from_gtk_key_event(gtk_event)
         if event.kind == 'key_down':
             this_keyval = gtk_event.keyval
             if _gtk_last_keyval_down == this_keyval:
                 event.auto = 1
             _gtk_last_keyval_down = this_keyval
         else:
             _gtk_last_keyval_down = None
         #if event.kind == 'key_down': ###
         #	print event ###
         return self._event_custom_handled(event)
Example #4
0
 def ns_process_key_event(self, ns_event):
     #  Perform menu setup before command-key events.
     #  Send non-command key events to associated window if any,
     #  otherwise pass them to the pygui application. This is necessary
     #  because otherwise there is no way of receiving key events when
     #  there are no windows.
     if ns_event.modifierFlags() & NSCommandKeyMask:
         NSApplication.sendEvent_(self._ns_app, ns_event)
     else:
         ns_window = ns_event.window()
         if ns_window:
             ns_window.sendEvent_(ns_event)
         else:
             event = Event(ns_event)
             self.handle(event.kind, event)
Example #5
0
 def _gtk_button_press_event_signal(self, gtk_event):
     if gtk_event.type == gdk.BUTTON_PRESS:  # don't want 2BUTTON or 3BUTTON
         event = Event._from_gtk_mouse_event(gtk_event)
         last_time = self._last_mouse_down_time
         this_time = event.time
         num_clicks = self._click_count
         if this_time - last_time <= 0.25:
             num_clicks += 1
         else:
             num_clicks = 1
         event.num_clicks = num_clicks
         self._click_count = num_clicks
         self._last_mouse_down_time = this_time
         #print "Component._gtk_button_press_event_signal:" ###
         #print event ###
         return self._event_custom_handled(event)
 def _gtk_button_press_event_signal(self, gtk_event):
     if gtk_event.type == gdk.BUTTON_PRESS: # don't want 2BUTTON or 3BUTTON
         event = Event._from_gtk_mouse_event(gtk_event)
         last_time = self._last_mouse_down_time
         this_time = event.time
         num_clicks = self._click_count
         if this_time - last_time <= 0.25:
             num_clicks += 1
         else:
             num_clicks = 1
         event.num_clicks = num_clicks
         self._click_count = num_clicks
         self._last_mouse_down_time = this_time
         #print "Component._gtk_button_press_event_signal:" ###
         #print event ###
         return self._event_custom_handled(event)
Example #7
0
 def _gtk_enter_leave_event_signal(self, gtk_event):
     #print "Component._gtk_enter_leave_event_signal:" ###
     event = Event._from_gtk_mouse_event(gtk_event)
     return self._event_custom_handled(event)
Example #8
0
 def _gtk_button_release_event_signal(self, gtk_event):
     event = Event._from_gtk_mouse_event(gtk_event)
     self._mouse_event = event
     return self._event_custom_handled(event)
Example #9
0
 def _gtk_motion_notify_event_signal(self, gtk_event):
     event = Event._from_gtk_mouse_event(gtk_event)
     self._mouse_event = event
     return self._event_custom_handled(event)
def win_message_to_event(message, target = None):
    hwnd, msg, wParam, lParam, milliseconds, gpos = message
    kind, button = win_message_map[msg]
    time = milliseconds / 1000.0
    if kind == 'mouse_move' and wParam & win_button_flags <> 0:
        kind = 'mouse_drag'
    if target:
        lpos = target.global_to_local(gpos)
    else:
        lpos = gpos
    event = Event()
    event.kind = kind
    event.global_position = gpos
    event.position = lpos
    event.time = time
    event.button = button
    shift = api.GetKeyState(wc.VK_SHIFT) & 0x80 <> 0
    control = api.GetKeyState(wc.VK_CONTROL) & 0x80 <> 0
    option = api.GetKeyState(wc.VK_MENU) & 0x80 <> 0
    event.shift = event.extend_contig = shift
    event.control = event.extend_noncontig = control
    event.option = option
    vkey = None
    if kind == 'mouse_down':
        global win_last_mouse_down
        last = win_last_mouse_down
        if last and last.button == button and time - last.time <= win_dbl_time:
            x0, y0 = last.global_position
            x1, y1 = gpos
            if abs(x1 - x0) <= win_dbl_xdist and abs(y1 - y0) <= win_dbl_ydist:
                event.num_clicks = last.num_clicks + 1
        win_last_mouse_down = event
    elif kind == 'key_down' or kind == 'key_up':
        event.unichars = ui.TranslateVirtualKey(wParam)
        event.char = event.unichars.decode('ascii')
        event._keycode = wParam
        if wParam == 0x0d:
            if (lParam & 0x1000000):
                event.key = 'enter'
            else:
                event.key = 'return'
        else:
            event.key = win_special_keys.get(wParam) or event.char
        if kind == 'key_down':
            event.auto = lParam & win_prev_key_state <> 0
    return event
Example #11
0
 def _ns_mouse_event_to_event(self, ns_event):
     event = Event(ns_event)
     event.position = tuple(self._ns_event_position(ns_event))
     return event
Example #12
0
 def _ns_mouse_event_to_event(self, ns_event):
     event = Event(ns_event)
     event.position = tuple(self._ns_event_position(ns_event))
     return event
Example #13
0
def win_message_to_event(message, target=None):
    hwnd, msg, wParam, lParam, milliseconds, gpos = message
    kind, button = win_message_map[msg]
    time = milliseconds / 1000.0
    if kind == 'mouse_move' and wParam & win_button_flags <> 0:
        kind = 'mouse_drag'
    if target:
        lpos = target.global_to_local(gpos)
    else:
        lpos = gpos
    event = Event()
    event.kind = kind
    event.global_position = gpos
    event.position = lpos
    event.time = time
    event.button = button
    shift = api.GetKeyState(wc.VK_SHIFT) & 0x80 <> 0
    control = api.GetKeyState(wc.VK_CONTROL) & 0x80 <> 0
    option = api.GetKeyState(wc.VK_MENU) & 0x80 <> 0
    event.shift = event.extend_contig = shift
    event.control = event.extend_noncontig = control
    event.option = option
    vkey = None
    if kind == 'mouse_down':
        global win_last_mouse_down
        last = win_last_mouse_down
        if last and last.button == button and time - last.time <= win_dbl_time:
            x0, y0 = last.global_position
            x1, y1 = gpos
            if abs(x1 - x0) <= win_dbl_xdist and abs(y1 - y0) <= win_dbl_ydist:
                event.num_clicks = last.num_clicks + 1
        win_last_mouse_down = event
    elif kind == 'key_down' or kind == 'key_up':
        event.unichars = ui.TranslateVirtualKey(wParam)
        event.char = event.unichars.decode('ascii')
        event._keycode = wParam
        if wParam == 0x0d:
            if (lParam & 0x1000000):
                event.key = 'enter'
            else:
                event.key = 'return'
        else:
            event.key = win_special_keys.get(wParam) or event.char
        if kind == 'key_down':
            event.auto = lParam & win_prev_key_state <> 0
    return event
Example #14
0
 def _gtk_enter_leave_event_signal(self, gtk_event):
     #print "Component._gtk_enter_leave_event_signal:" ###
     event = Event._from_gtk_mouse_event(gtk_event)
     return self._event_custom_handled(event)
Example #15
0
 def _gtk_button_release_event_signal(self, gtk_event):
     event = Event._from_gtk_mouse_event(gtk_event)
     self._mouse_event = event
     return self._event_custom_handled(event)
Example #16
0
 def _gtk_motion_notify_event_signal(self, gtk_event):
     event = Event._from_gtk_mouse_event(gtk_event)
     self._mouse_event = event
     return self._event_custom_handled(event)