b6c694ac66be58a1e7ab649090961c63c0479922
[platform/core/uifw/at-spi2-atk.git] / pyatspi / constants.py
1 #Copyright (C) 2008 Codethink Ltd
2 #copyright: Copyright (c) 2005, 2007 IBM Corporation
3
4 #This library is free software; you can redistribute it and/or
5 #modify it under the terms of the GNU Lesser General Public
6 #License version 2 as published by the Free Software Foundation.
7
8 #This program is distributed in the hope that it will be useful,
9 #but WITHOUT ANY WARRANTY; without even the implied warranty of
10 #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 #GNU General Public License for more details.
12 #You should have received a copy of the GNU Lesser General Public License
13 #along with this program; if not, write to the Free Software
14 #Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
15
16 #Portions of this code originally licensed and copyright (c) 2005, 2007
17 #IBM Corporation under the BSD license, available at
18 #U{http://www.opensource.org/licenses/bsd-license.php}
19
20 #authors: Peter Parente, Mark Doffman
21
22 # Constants used in the Component interface to get screen coordinates
23 DESKTOP_COORDS = 0
24 WINDOW_COORDS = 1
25
26 # Constants used to synthesize mouse events
27 MOUSE_B1P = 'b1p'
28 MOUSE_B1R = 'b1r'
29 MOUSE_B1C = 'b1c'
30 MOUSE_B1D = 'b1d'
31 MOUSE_B2P = 'b2p'
32 MOUSE_B2R = 'b2r'
33 MOUSE_B2C = 'b2c'
34 MOUSE_B2D = 'b2d'
35 MOUSE_B3P = 'b3p'
36 MOUSE_B3R = 'b3r'
37 MOUSE_B3C = 'b3c'
38 MOUSE_B3D = 'b3d'
39 MOUSE_ABS = 'abs'
40 MOUSE_REL = 'rel'
41
42 # events that clear cached properties
43 CACHE_EVENTS = ['object:property-change:accessible-name',
44                 'object:property-change:accessible-description',
45                 'object:property-change:accessible-role',
46                 'object:property-change:accessible-parent']
47
48 CACHE_PROPERTIES = ''
49
50 # Dictionary used to correct the bug of not being able to register for all the
51 # subevents given only an AT-SPI event class (i.e. first part of the event
52 # name) keys are event names having subevents and values are the subevents
53 # under the key event; handlers *can* be registered for events not in this tree
54 EVENT_TREE = {
55   'terminal':
56     ['terminal:line-changed',
57      'terminal:columncount-changed',
58      'terminal:linecount-changed',
59      'terminal:application-changed',
60      'terminal:charwidth-changed'
61      ],
62   'document':
63     ['document:load-complete',
64      'document:reload',
65      'document:load-stopped',
66      'document:content-changed',
67      'document:attributes-changed'
68      ],
69   'object': 
70     ['object:property-change',
71      'object:bounds-changed',
72      'object:link-selected',
73      'object:state-changed',
74      'object:children-changed',
75      'object:visible-data-changed',
76      'object:selection-changed',
77      'object:model-changed',
78      'object:active-descendant-changed',
79      'object:row-inserted',
80      'object:row-reordered',
81      'object:row-deleted',
82      'object:column-inserted',
83      'object:column-reordered',
84      'object:column-deleted',
85      'object:text-bounds-changed',
86      'object:text-selection-changed',
87      'object:text-changed',
88      'object:text-attributes-changed',
89      'object:text-caret-moved',  
90      'object:attributes-changed'],
91   'object:text-changed' :
92     ['object:text-changed:insert',
93     'object:text-changed:delete'],
94   'object:property-change' :
95     ['object:property-change:accessible-parent', 
96     'object:property-change:accessible-name',
97     'object:property-change:accessible-description',
98     'object:property-change:accessible-value',
99     'object:property-change:accessible-role',
100     'object:property-change:accessible-table-caption',
101     'object:property-change:accessible-table-column-description',
102     'object:property-change:accessible-table-column-header',
103     'object:property-change:accessible-table-row-description',
104     'object:property-change:accessible-table-row-header',
105     'object:property-change:accessible-table-summary'],
106   'object:children-changed' :
107     ['object:children-changed:add',
108     'object:children-changed:remove'],
109   'object:state-changed' :
110     ['object:state-changed:'],
111   'mouse' :
112     ['mouse:abs',
113     'mouse:rel',
114     'mouse:button'],
115   'mouse:button' :
116     ['mouse:button:1p',
117     'mouse:button:1r',
118     'mouse:button:2p',
119     'mouse:button:2r',
120     'mouse:button:3p',
121     'mouse:button:3r'],
122   'window' :
123     ['window:minimize',
124     'window:maximize',
125     'window:restore',
126     'window:close',
127     'window:create',
128     'window:reparent',
129     'window:desktop-create',
130     'window:desktop-destroy',
131     'window:activate',
132     'window:deactivate',
133     'window:raise',
134     'window:lower',
135     'window:move',
136     'window:resize',
137     'window:shade',
138     'window:unshade',
139     'window:restyle'],
140   'focus' :
141     ['focus:']
142 }
143
144 from Accessibility import *