2009-27-09 Mark Doffman <mark.doffman@codethink.co.uk>
[platform/core/uifw/at-spi2-atk.git] / pyatspi / collection.py
1 #Copyright (C) 2008 Codethink Ltd
2
3 #This library is free software; you can redistribute it and/or
4 #modify it under the terms of the GNU Lesser General Public
5 #License version 2 as published by the Free Software Foundation.
6
7 #This program is distributed in the hope that it will be useful,
8 #but WITHOUT ANY WARRANTY; without even the implied warranty of
9 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10 #GNU General Public License for more details.
11 #You should have received a copy of the GNU Lesser General Public License
12 #along with this program; if not, write to the Free Software
13 #Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
14
15 from interfaces import *
16 from base import Enum
17 from accessible import Accessible
18 from factory import accessible_factory
19
20 __all__ = [
21             "Collection",
22           ]
23
24 #------------------------------------------------------------------------------
25
26 class Collection(Accessible):
27
28         def createMatchRule(self, *args, **kwargs):
29                 func = self.get_dbus_method("createMatchRule", dbus_interface=ATSPI_COLLECTION)
30                 return func(*args, **kwargs)
31
32         def freeMatchRule(self, *args, **kwargs):
33                 func = self.get_dbus_method("freeMatchRule", dbus_interface=ATSPI_COLLECTION)
34                 return func(*args, **kwargs)
35
36         def getActiveDescendant(self, *args, **kwargs):
37                 func = self.get_dbus_method("getActiveDescendant", dbus_interface=ATSPI_COLLECTION)
38                 return func(*args, **kwargs)
39
40         def getMatches(self, *args, **kwargs):
41                 func = self.get_dbus_method("getMatches", dbus_interface=ATSPI_COLLECTION)
42                 return func(*args, **kwargs)
43
44         def getMatchesFrom(self, *args, **kwargs):
45                 func = self.get_dbus_method("getMatchesFrom", dbus_interface=ATSPI_COLLECTION)
46                 return func(*args, **kwargs)
47
48         def getMatchesTo(self, *args, **kwargs):
49                 func = self.get_dbus_method("getMatchesTo", dbus_interface=ATSPI_COLLECTION)
50                 return func(*args, **kwargs)
51
52         def isAncestorOf(self, *args, **kwargs):
53                 func = self.get_dbus_method("isAncestorOf", dbus_interface=ATSPI_COLLECTION)
54                 return func(*args, **kwargs)
55
56         class MatchType(Enum):
57                 _enum_lookup = {
58                         0:'MATCH_INVALID',
59                         1:'MATCH_ALL',
60                         2:'MATCH_ANY',
61                         3:'MATCH_NONE',
62                         4:'MATCH_EMPTY',
63                         5:'MATCH_LAST_DEFINED',
64                 }
65
66         MATCH_ALL = MatchType(1)
67         MATCH_ANY = MatchType(2)
68         MATCH_EMPTY = MatchType(4)
69         MATCH_INVALID = MatchType(0)
70         MATCH_LAST_DEFINED = MatchType(5)
71         MATCH_NONE = MatchType(3)
72
73         class SortOrder(Enum):
74                 _enum_lookup = {
75                         0:'SORT_ORDER_INVALID',
76                         1:'SORT_ORDER_CANONICAL',
77                         2:'SORT_ORDER_FLOW',
78                         3:'SORT_ORDER_TAB',
79                         4:'SORT_ORDER_REVERSE_CANONICAL',
80                         5:'SORT_ORDER_REVERSE_FLOW',
81                         6:'SORT_ORDER_REVERSE_TAB',
82                         7:'SORT_ORDER_LAST_DEFINED',
83                 }
84
85         SORT_ORDER_CANONICAL = SortOrder(1)
86         SORT_ORDER_FLOW = SortOrder(2)
87         SORT_ORDER_INVALID = SortOrder(0)
88         SORT_ORDER_LAST_DEFINED = SortOrder(7)
89         SORT_ORDER_REVERSE_CANONICAL = SortOrder(4)
90         SORT_ORDER_REVERSE_FLOW = SortOrder(5)
91         SORT_ORDER_REVERSE_TAB = SortOrder(6)
92         SORT_ORDER_TAB = SortOrder(3)
93
94         class TreeTraversalType(Enum):
95                 _enum_lookup = {
96                         0:'TREE_RESTRICT_CHILDREN',
97                         1:'TREE_RESTRICT_SIBLING',
98                         2:'TREE_INORDER',
99                         3:'TREE_LAST_DEFINED',
100                 }
101
102         TREE_INORDER = TreeTraversalType(2)
103         TREE_LAST_DEFINED = TreeTraversalType(3)
104         TREE_RESTRICT_CHILDREN = TreeTraversalType(0)
105         TREE_RESTRICT_SIBLING = TreeTraversalType(1)
106
107 # Register the accessible class with the factory.
108 accessible_factory.register_accessible_class(ATSPI_COLLECTION, Collection)
109
110 #END----------------------------------------------------------------------------