Changeset 105
- Timestamp:
- 01/04/08 11:58:45
- Files:
-
- inapp/trunk/src/jambu/AccDecorator.py (modified) (1 diff)
- inapp/trunk/src/jambu/ActionBrowser.py (modified) (1 diff)
- inapp/trunk/src/jambu/ActionTree.py (modified) (9 diffs)
- inapp/trunk/src/jambu/Blinker.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
inapp/trunk/src/jambu/AccDecorator.py
r98 r105 148 148 y = int(rect.y + rect.height / 2) 149 149 reg = pyatspi.Registry() 150 reg.generateMouseEvent(x, y, pyatspi.MOUSE_B1P)151 reg.generateMouseEvent(x, y, pyatspi.MOUSE_B1R)150 # reg.generateMouseEvent(x, y, pyatspi.MOUSE_B1P) 151 # reg.generateMouseEvent(x, y, pyatspi.MOUSE_B1R) 152 152 reg.generateMouseEvent(x, y, pyatspi.MOUSE_B1C) 153 153 inapp/trunk/src/jambu/ActionBrowser.py
r101 r105 160 160 extents = AccDecorator(acc).getExtents(pyatspi.DESKTOP_COORDS) 161 161 if extents: 162 self.blink(extents) 162 expanded = self.groups_tree.row_expanded(self.groups_tree.get_selected_path(selection)) 163 size = (1 if expanded else 3) 164 self.blink(extents, size) 163 165 164 def blink(self, extents ):166 def blink(self, extents, thickness): 165 167 if self.bl: 166 168 self.bl.stop() 167 169 del self.bl 168 170 self.bl = None 169 self.bl = Blinker(extents )171 self.bl = Blinker(extents, thickness) 170 172 self.bl.start() 171 173 inapp/trunk/src/jambu/ActionTree.py
r100 r105 63 63 model, iter, acc = self._getSelection(selection) 64 64 return acc 65 66 def get_selected_path(self, selection=None): 67 model, iter, acc = self._getSelection(selection) 68 if iter is not None: 69 path = model.get_path(iter) 70 return path 65 71 66 72 def get_acc_from_iter(self, iter): … … 158 164 159 165 s = formatEvent(event) 160 #PrintMessage(s).send()166 PrintMessage(s).send() 161 167 162 168 if event.type == 'focus:' and \ … … 211 217 212 218 elif event.source.getRole() == pyatspi.ROLE_MENU: 213 if event.type == 'object:state-changed:selected':219 if event.type in ('object:state-changed:selected', 'object:state-changed:focused'): 214 220 PrintMessage(s).send() 215 221 selected = bool(event.detail1) … … 225 231 elif event.type == 'object:state-changed:visible' \ 226 232 and event.detail1 == 0: 233 PrintMessage(s).send() 234 HideMenuMessage().send() 235 236 elif event.source.getRole() == pyatspi.ROLE_WINDOW: 237 if event.type in ('object:state-changed:iconified'): 227 238 PrintMessage(s).send() 228 239 HideMenuMessage().send() … … 291 302 if acc is None: return 292 303 path = model.get_path(iter) 293 #acc.grabFocus()304 acc.grabFocus() 294 305 306 print acc 307 295 308 if acc.isEditable(): 296 309 try: … … 300 313 301 314 elif acc.isSelectable(): 315 print 'sel' 302 316 if acc.hasRoleIn(pyatspi.ROLE_MENU_ITEM): 303 317 if not self.row_expanded(path): … … 319 333 elif acc.hasToolkitIn('Gecko') and \ 320 334 acc.hasRoleIn(pyatspi.ROLE_MENU, pyatspi.ROLE_MENU_ITEM): 321 acc.generateClick() 335 print 'click' 336 acc.generateClick() 322 337 323 338 # TODO: use template DP for toolkit and application 324 339 elif acc.isActionable(): 340 print 'action' 325 341 acc.doAction() 326 342 … … 337 353 338 354 elif acc.is_group: 355 print 'group' 339 356 self._do_actionGroup(iter) 340 357 … … 344 361 if self.row_expanded(path): 345 362 self.collapse_row(path) 363 selection = self.get_selection() 364 selection.emit('changed') 346 365 elif model.iter_has_child(iter): 347 366 self.expand_row(path, False) inapp/trunk/src/jambu/Blinker.py
r98 r105 9 9 blink_on_time = 200 10 10 blink_off_time = 450 11 def __init__(self, extents ):11 def __init__(self, extents, thickness=3): 12 12 self.extents = extents 13 13 display = gtk.gdk.display_get_default() … … 17 17 self.gc.set_subwindow(gtk.gdk.INCLUDE_INFERIORS) 18 18 self.gc.set_function(gtk.gdk.INVERT) 19 self.gc.set_line_attributes( 3, gtk.gdk.LINE_DOUBLE_DASH, gtk.gdk.CAP_BUTT,19 self.gc.set_line_attributes(thickness, gtk.gdk.LINE_DOUBLE_DASH, gtk.gdk.CAP_BUTT, 20 20 gtk.gdk.JOIN_MITER) 21 21
