Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/tree.py100
1 files changed, 50 insertions, 50 deletions
diff --git a/tests/tree.py b/tests/tree.py
index f414c67..c4370f7 100644
--- a/tests/tree.py
+++ b/tests/tree.py
@@ -35,6 +35,30 @@ class Node:
def __init__(self, accessible):
self._accessible = accessible
+ def dump(self):
+ self._crawl_accessible(self, 0)
+
+ def do_action(self, name):
+ for i in range(self._accessible.get_n_actions()):
+ if Atspi.Action.get_name(self._accessible, i) == name:
+ self._accessible.do_action(i)
+
+ def click(self, button=1):
+ point = self._accessible.get_position(Atspi.CoordType.SCREEN)
+ Atspi.generate_mouse_event(point.x, point.y, "b%sc" % button)
+
+ @property
+ def name(self):
+ return self._accessible.get_name()
+
+ @property
+ def role_name(self):
+ return self._accessible.get_role_name()
+
+ @property
+ def text(self):
+ return Atspi.Text.get_text(self._accessible, 0, -1)
+
def get_children(self):
children = []
@@ -47,6 +71,32 @@ class Node:
return children
+ @_retry_find
+ def find_children(self, name=None, role_name=None):
+ def predicate(node):
+ return self._predicate(node, name, role_name)
+
+ descendants = []
+ self._find_all_descendants(self, predicate, descendants)
+ if not descendants:
+ return []
+
+ return descendants
+
+ def __str__(self):
+ return "[%s | %s]" % (self.name, self.role_name)
+
+ @_retry_find
+ def find_child(self, name=None, role_name=None, expect_none=False):
+ def predicate(node):
+ return self._predicate(node, name, role_name)
+
+ node = self._find_descendant(self, predicate)
+ if node is None:
+ return None
+
+ return node
+
def _predicate(self, node, name, role_name):
if name is not None and name != node.name:
return False
@@ -67,17 +117,6 @@ class Node:
return None
- @_retry_find
- def find_child(self, name=None, role_name=None, expect_none=False):
- def predicate(node):
- return self._predicate(node, name, role_name)
-
- node = self._find_descendant(self, predicate)
- if node is None:
- return None
-
- return node
-
def _find_all_descendants(self, node, predicate, matches):
if predicate(node):
matches.append(node)
@@ -85,47 +124,8 @@ class Node:
for child in node.get_children():
self._find_all_descendants(child, predicate, matches)
- @_retry_find
- def find_children(self, name=None, role_name=None):
- def predicate(node):
- return self._predicate(node, name, role_name)
-
- descendants = []
- self._find_all_descendants(self, predicate, descendants)
- if not descendants:
- return []
-
- return descendants
-
- def __str__(self):
- return "[%s | %s]" % (self.name, self.role_name)
-
def _crawl_accessible(self, node, depth):
print " " * depth + str(node)
for child in node.get_children():
self._crawl_accessible(child, depth + 1)
-
- def dump(self):
- self._crawl_accessible(self, 0)
-
- def do_action(self, name):
- for i in range(self._accessible.get_n_actions()):
- if Atspi.Action.get_name(self._accessible, i) == name:
- self._accessible.do_action(i)
-
- def click(self, button=1):
- point = self._accessible.get_position(Atspi.CoordType.SCREEN)
- Atspi.generate_mouse_event(point.x, point.y, "b%sc" % button)
-
- @property
- def name(self):
- return self._accessible.get_name()
-
- @property
- def role_name(self):
- return self._accessible.get_role_name()
-
- @property
- def text(self):
- return Atspi.Text.get_text(self._accessible, 0, -1)