putty.py 912 Bytes
#appModules/putty.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

"""App module for PuTTY
"""

import oleacc
from NVDAObjects.behaviors import Terminal
from NVDAObjects.window import DisplayModelEditableText, DisplayModelLiveText
import appModuleHandler
from NVDAObjects.IAccessible import IAccessible

class AppModule(appModuleHandler.AppModule):
	# Allow this to be overridden for derived applications.
	TERMINAL_WINDOW_CLASS = "PuTTY"

	def chooseNVDAObjectOverlayClasses(self, obj, clsList):
		if obj.windowClassName ==  self.TERMINAL_WINDOW_CLASS and isinstance(obj,IAccessible) and obj.IAccessibleRole == oleacc.ROLE_SYSTEM_CLIENT:
			try:
				clsList.remove(DisplayModelEditableText)
			except ValueError:
				pass
			clsList[0:0] = (Terminal, DisplayModelLiveText)