def event_caret(vmID, accContext, hwnd): jabContext = JABContext(hwnd=hwnd, vmID=vmID, accContext=accContext) obj = jabContext # focus = api.getFocusObject() # if isinstance(focus, NVDAObjects.JAB.JAB) and focus.jabContext == jabContext: # obj = focus # else: # obj = NVDAObjects.JAB.JAB(jabContext=jabContext) # if not obj: # return eventHandler.queueEvent("caret", obj)
def event_descriptionChange(vmID, event, source, oldVal, newVal): jabContext = JABContext(vmID=vmID, accContext=source) focus = api.getFocusObject() if isinstance(focus, NVDAObjects.JAB.JAB) and focus.jabContext == jabContext: obj = focus else: obj = NVDAObjects.JAB.JAB(jabContext=jabContext) if obj: eventHandler.queueEvent("descriptionChange", obj) bridgeDll.releaseJavaObject(vmID, event)
def event_valueChange(vmID, event, source, oldVal, newVal): jabContext = JABContext(vmID=vmID, accContext=source) focus = getFocusObject() obj = jabContext # if isinstance(focus, NVDAObjects.JAB.JAB) and focus.jabContext == jabContext: # obj = focus # else: # obj = NVDAObjects.JAB.JAB(jabContext=jabContext) if obj: pumpAll() eventHandler.queueEvent("valueChange", obj) bridgeDll.releaseJavaObject(vmID, event)
def event_gainFocus(vmID, accContext, hwnd): # print("FFFF") jabContext = JABContext(hwnd=hwnd, vmID=vmID, accContext=accContext) obj = jabContext # if not winUser.isDescendantWindow(winUser.getForegroundWindow(),jabContext.hwnd): # return # focus=eventHandler.lastQueuedFocusObject # if (isinstance(focus,NVDAObjects.JAB.JAB) and focus.jabContext==jabContext): # return # obj=NVDAObjects.JAB.JAB(jabContext=jabContext) # if obj.role==controlTypes.ROLE_UNKNOWN: # return eventHandler.queueEvent("gainFocus", obj)
def event_stateChange(vmID, accContext, oldState, newState): jabContext = JABContext(vmID=vmID, accContext=accContext) # focus=api.getFocusObject() #For broken tabs and menus, we need to watch for things being selected and pretend its a focus change # stateList=newState.split(',') # if "focused" in stateList or "selected" in stateList: # obj=NVDAObjects.JAB.JAB(jabContext=jabContext) # if not obj: # return # if focus!=obj and eventHandler.lastQueuedFocusObject!=obj and obj.role in (controlTypes.ROLE_MENUITEM,controlTypes.ROLE_TAB,controlTypes.ROLE_MENU): # eventHandler.queueEvent("gainFocus",obj) # return # if isinstance(focus,NVDAObjects.JAB.JAB) and focus.jabContext==jabContext: # obj=focus # else: # obj=NVDAObjects.JAB.JAB(jabContext=jabContext) # if not obj: # return obj = jabContext eventHandler.queueEvent("stateChange", obj)