eclipse.py
1.22 KB
#appModules/eclipse.py
#A part of NonVisual Desktop Access (NVDA)
#This file is covered by the GNU General Public License.
#See the file COPYING for more details.
#Copyright (C) 2010-2014 NV Access Limited
import controlTypes
import appModuleHandler
from NVDAObjects.IAccessible import IAccessible
class EclipseTextArea(IAccessible):
def event_valueChange(self):
# #2314: Eclipse incorrectly fires valueChange when the selection changes.
# Unfortunately, this causes us to speak the entire selection
# instead of just the changed selection.
# Therefore, just drop this event.
pass
class AppModule(appModuleHandler.AppModule):
def event_NVDAObject_init(self, obj):
if obj.windowClassName == "SysTreeView32" and obj.role in (controlTypes.ROLE_TREEVIEWITEM, controlTypes.ROLE_CHECKBOX) and controlTypes.STATE_FOCUSED not in obj.states:
# Eclipse tree views seem to fire a focus event on the previously focused item before firing focus on the new item (EclipseBug:315339).
# Try to filter this out.
obj.shouldAllowIAccessibleFocusEvent = False
def chooseNVDAObjectOverlayClasses(self, obj, clsList):
if obj.windowClassName == "SWT_Window0" and obj.role == controlTypes.ROLE_EDITABLETEXT:
clsList.insert(0, EclipseTextArea)