2008-07-28 Mark Doffman <mark.doffman@codethink.co.uk>
[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 # Dictionary used to correct the bug of not being able to register for all the
43 # subevents given only an AT-SPI event class (i.e. first part of the event
44 # name) keys are event names having subevents and values are the subevents
45 # under the key event; handlers *can* be registered for events not in this tree
46 EVENT_TREE = {
47   'terminal':
48     ['terminal:line-changed',
49      'terminal:columncount-changed',
50      'terminal:linecount-changed',
51      'terminal:application-changed',
52      'terminal:charwidth-changed'
53      ],
54   'document':
55     ['document:load-complete',
56      'document:reload',
57      'document:load-stopped',
58      'document:content-changed',
59      'document:attributes-changed'
60      ],
61   'object': 
62     ['object:property-change',
63      'object:bounds-changed',
64      'object:link-selected',
65      'object:state-changed',
66      'object:children-changed',
67      'object:visible-data-changed',
68      'object:selection-changed',
69      'object:model-changed',
70      'object:active-descendant-changed',
71      'object:row-inserted',
72      'object:row-reordered',
73      'object:row-deleted',
74      'object:column-inserted',
75      'object:column-reordered',
76      'object:column-deleted',
77      'object:text-bounds-changed',
78      'object:text-selection-changed',
79      'object:text-changed',
80      'object:text-attributes-changed',
81      'object:text-caret-moved',  
82      'object:attributes-changed'],
83   'object:text-changed' :
84     ['object:text-changed:insert',
85     'object:text-changed:delete'],
86   'object:property-change' :
87     ['object:property-change:accessible-parent', 
88     'object:property-change:accessible-name',
89     'object:property-change:accessible-description',
90     'object:property-change:accessible-value',
91     'object:property-change:accessible-role',
92     'object:property-change:accessible-table-caption',
93     'object:property-change:accessible-table-column-description',
94     'object:property-change:accessible-table-column-header',
95     'object:property-change:accessible-table-row-description',
96     'object:property-change:accessible-table-row-header',
97     'object:property-change:accessible-table-summary'],
98   'object:children-changed' :
99     ['object:children-changed:add',
100     'object:children-changed:remove'],
101   'object:state-changed' :
102     ['object:state-changed:'],
103   'mouse' :
104     ['mouse:abs',
105     'mouse:rel',
106     'mouse:button'],
107   'mouse:button' :
108     ['mouse:button:1p',
109     'mouse:button:1r',
110     'mouse:button:2p',
111     'mouse:button:2r',
112     'mouse:button:3p',
113     'mouse:button:3r'],
114   'window' :
115     ['window:minimize',
116     'window:maximize',
117     'window:restore',
118     'window:close',
119     'window:create',
120     'window:reparent',
121     'window:desktop-create',
122     'window:desktop-destroy',
123     'window:activate',
124     'window:deactivate',
125     'window:raise',
126     'window:lower',
127     'window:move',
128     'window:resize',
129     'window:shade',
130     'window:unshade',
131     'window:restyle'],
132   'focus' :
133     ['focus:']
134 }