Add atk-bridge
[platform/core/uifw/at-spi2-atk.git] / idl / Accessibility_Collection.idl
1  /* 
2   * AT-SPI - Assistive Technology Service Provider Interface 
3   * (Gnome Accessibility Project; http://developer.gnome.org/projects/gap)
4   *
5   * Copyright 2005 Sun Microsystems, Inc.
6   *
7   * This library is free software; you can redistribute it and/or
8   * modify it under the terms of the GNU Library General Public
9   * License as published by the Free Software Foundation; either
10   * version 2 of the License, or (at your option) any later version.
11   *
12   * This library is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15   * Library General Public License for more details.
16   *
17   * You should have received a copy of the GNU Library General Public
18   * License along with this library; if not, write to the
19   * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20   * Boston, MA 02111-1307, USA.
21   */
22
23 #ifndef __ACCESSIBILITY_COLLECTION_DEFINED__
24 #define __ACCESSIBILITY_COLLECTION_DEFINED__
25  
26 module Accessibility {
27   
28
29   typedef sequence<Accessible> AccessibleSet;
30
31  
32      interface MatchRule {
33      };
34
35
36      interface Collection : Bonobo::Unknown {
37  
38        enum SortOrder {
39             SORT_ORDER_INVALID,
40             SORT_ORDER_CANONICAL, 
41             SORT_ORDER_FLOW, 
42             SORT_ORDER_TAB, 
43             SORT_ORDER_REVERSE_CANONICAL, 
44             SORT_ORDER_REVERSE_FLOW, 
45             SORT_ORDER_REVERSE_TAB, 
46             SORT_ORDER_LAST_DEFINED
47        };
48    
49        enum MatchType {
50            MATCH_INVALID, 
51            MATCH_ALL, 
52            MATCH_ANY, 
53            MATCH_NONE,
54            MATCH_EMPTY,
55            MATCH_LAST_DEFINED
56            };
57
58        enum TreeTraversalType {
59          
60          TREE_RESTRICT_CHILDREN,
61          TREE_RESTRICT_SIBLING,
62          TREE_INORDER,
63          TREE_LAST_DEFINED
64        };
65
66         boolean isAncestorOf (in Accessible object); 
67   
68         MatchRule        createMatchRule (in StateSet states,
69                                           in MatchType statematchtype,
70                                           in AttributeSet attributes,
71                                           in MatchType attributematchtype,
72                                           in RoleSet roles,
73                                           in MatchType rolematchtype,
74                                           in string interfaces,
75                                           in MatchType interfacematchtype,
76                                           in boolean invert);
77
78         void             freeMatchRule (in MatchRule rule);
79
80         AccessibleSet getMatches (in MatchRule rule,
81                                   in SortOrder sortby,
82                                   in long count,
83                                   in boolean traverse); 
84        
85         AccessibleSet getMatchesTo (in Accessible current_object,
86                                     in MatchRule rule, 
87                                     in SortOrder sortby,
88                                     in TreeTraversalType tree,
89                                     in boolean recurse,
90                                     in long count,
91                                     in boolean traverse);
92
93
94         AccessibleSet getMatchesFrom (in Accessible current_object,
95                                       in MatchRule rule, 
96                                       in SortOrder sortby, 
97                                       in TreeTraversalType tree,
98                                       in long count,
99                                       in boolean traverse);
100
101         Accessible getActiveDescendant ();
102         
103         void unImplemented ();
104         void unImplemented2 ();
105         void unImplemented3 ();
106         void unImplemented4 (); 
107    };
108 };
109
110 #endif