summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Doffman <mdoff@silver-wind.(none)>2009-06-08 11:18:35 +0100
committerMark Doffman <mdoff@silver-wind.(none)>2009-06-08 11:18:35 +0100
commit5321f2b56a097ad3d0acafa9f1a3db21bff3710c (patch)
treeb6ce4194ed2a4cab0808947f93a0e396b60f08f8
parent8d51e0769b6f41d59454a237bcbf1677e878d650 (diff)
downloadat-spi2-core-5321f2b56a097ad3d0acafa9f1a3db21bff3710c.tar.gz
2009-06-08 Mark Doffman <mark.doffman@codethink.co.uk>
Add an option to refresh the cache of data on any given accessible object. The refresh currently affects all accessible objects in any particular application.
-rw-r--r--pyatspi/accessible.py3
-rw-r--r--pyatspi/accessiblecache.py17
-rw-r--r--pyatspi/registry.py2
3 files changed, 12 insertions, 10 deletions
diff --git a/pyatspi/accessible.py b/pyatspi/accessible.py
index 8055e00a..233d3eb6 100644
--- a/pyatspi/accessible.py
+++ b/pyatspi/accessible.py
@@ -273,8 +273,9 @@ class Accessible(BaseProxy):
"""
parent = property(fget=get_parent, doc=_parentDoc)
- def flushCache(self):
+ def refresh(self):
self._relation_set = None
+ self._cache.application_cache[self._app_name].refresh()
# Register the accessible class with the factory.
accessible_factory.register_accessible_class(ATSPI_ACCESSIBLE, Accessible)
diff --git a/pyatspi/accessiblecache.py b/pyatspi/accessiblecache.py
index edfde8a5..7d199e9b 100644
--- a/pyatspi/accessiblecache.py
+++ b/pyatspi/accessiblecache.py
@@ -90,20 +90,17 @@ class AccessibleCache(object):
self._bus_name = bus_name
obj = connection.get_object(bus_name, self._PATH, introspect=False)
- itf = _dbus.Interface(obj, self._INTERFACE)
+ self._tree_itf = _dbus.Interface(obj, self._INTERFACE)
self._objects = {}
- get_method = itf.get_dbus_method(self._GET_METHOD)
+ get_method = self._tree_itf.get_dbus_method(self._GET_METHOD)
self._update_objects(get_method())
- self._updateMatch = itf.connect_to_signal(self._UPDATE_SIGNAL, self._update_single)
- self._removeMatch = itf.connect_to_signal(self._REMOVE_SIGNAL, self._remove_object)
+ self._updateMatch = self._tree_itf.connect_to_signal(self._UPDATE_SIGNAL, self._update_single)
+ self._removeMatch = self._tree_itf.connect_to_signal(self._REMOVE_SIGNAL, self._remove_object)
- obj = connection.get_object(self._bus_name, self._PATH, introspect=False)
- itf = _dbus.Interface(obj, self._INTERFACE)
-
- self._root = itf.getRoot()
+ self._root = self._tree_itf.getRoot()
def __getitem__(self, key):
return self._objects[key]
@@ -190,6 +187,10 @@ class AccessibleCache(object):
def _get_root(self):
return self._root
+ def _refresh(self):
+ get_method = self._tree_itf.get_dbus_method(self._GET_METHOD)
+ self._update_objects(get_method())
+
root = property(fget=_get_root)
#END---------------------------------------------------------------------------
diff --git a/pyatspi/registry.py b/pyatspi/registry.py
index 66fcaf7b..9873fd3a 100644
--- a/pyatspi/registry.py
+++ b/pyatspi/registry.py
@@ -479,4 +479,4 @@ class _Registry(object):
@param name: Name of the event to generate
@type name: string
"""
- self.dev.generateMouseEvent(x, y, name)
+ self.dev.generateMouseEvent(dbus.Int32(x), dbus.Int32(y), name)