From 2021311a4eb5ad852d9e22c88c5f1d1fad9089c8 Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Thu, 10 Mar 2011 19:37:30 +0900 Subject: [PATCH] Add destroyed signal in python binding. --- bindings/python/eekboard/context.py | 11 ++++++++++- bindings/python/eekboard/eekboard.py | 7 +++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/bindings/python/eekboard/context.py b/bindings/python/eekboard/context.py index 3e2a0b21..da892910 100644 --- a/bindings/python/eekboard/context.py +++ b/bindings/python/eekboard/context.py @@ -36,7 +36,15 @@ class Context(gobject.GObject): 'key-released': ( gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, - (gobject.TYPE_UINT,)) + (gobject.TYPE_UINT,)), + 'destroyed': ( + gobject.SIGNAL_RUN_LAST, + gobject.TYPE_NONE, + ()), + } + + __gproperties__ = { + 'keyboard-visible': (bool, None, None, False, gobject.PARAM_READABLE), } def __init__(self, giobject): @@ -47,6 +55,7 @@ class Context(gobject.GObject): self.__giobject.connect('disabled', lambda *args: self.emit('disabled')) self.__giobject.connect('key-pressed', lambda *args: self.emit('key-pressed', args[1])) self.__giobject.connect('key-released', lambda *args: self.emit('key-released', args[1])) + self.__giobject.connect('destroyed', lambda *args: self.emit('destroyed')) def get_giobject(self): return self.__giobject diff --git a/bindings/python/eekboard/eekboard.py b/bindings/python/eekboard/eekboard.py index 2482d390..453d3305 100644 --- a/bindings/python/eekboard/eekboard.py +++ b/bindings/python/eekboard/eekboard.py @@ -22,11 +22,18 @@ from context import Context class Eekboard(gobject.GObject): __gtype_name__ = "PYEekboardEekboard" + __gsignals__ = { + 'destroyed': ( + gobject.SIGNAL_RUN_LAST, + gobject.TYPE_NONE, + ()) + } def __init__(self): super(Eekboard, self).__init__() self.__connection = Gio.bus_get_sync(Gio.BusType.SESSION, None) self.__eekboard = gi.repository.Eekboard.Eekboard.new(self.__connection, None); + self.__eekboard.connect('destroyed', lambda *args: self.emit('destroyed')) def create_context(self, client_name): context = self.__eekboard.create_context(client_name, None)