예제 #1
0
	def _get_table(self):
		if self.role not in (controlTypes.ROLE_TABLECELL,controlTypes.ROLE_TABLEROW) or not self.HTMLNode:
			raise NotImplementedError
		HTMLNode=self.HTMLNode
		while HTMLNode:
			nodeName=HTMLNode.nodeName
			if nodeName:
				nodeName=nodeName.upper()
			if nodeName=="TABLE": return MSHTML(HTMLNode=HTMLNode)
			HTMLNode=HTMLNode.parentNode
		raise NotImplementedError
예제 #2
0
 def _get_table(self):
     if self.role not in (controlTypes.Role.TABLECELL,
                          controlTypes.Role.TABLEROW) or not self.HTMLNode:
         return None
     HTMLNode = self.HTMLNode
     while HTMLNode:
         nodeName = HTMLNode.nodeName
         if nodeName:
             nodeName = nodeName.upper()
         if nodeName == "TABLE": return MSHTML(HTMLNode=HTMLNode)
         HTMLNode = HTMLNode.parentNode
     return None
예제 #3
0
파일: MSHTML.py 프로젝트: tsengwoody/nvda
 def _get_next(self):
     if self.HTMLNode:
         try:
             nextNode = self.HTMLNode.nextSibling
         except COMError:
             nextNode = None
         if not nextNode:
             return None
         obj = MSHTML(HTMLNode=nextNode)
         if obj and obj.HTMLNodeName in self.HTMLNodeNameNavSkipList:
             obj = obj.next
         return obj
     return super(MSHTML, self).next
예제 #4
0
파일: MSHTML.py 프로젝트: tsengwoody/nvda
 def _get_previous(self):
     if self.HTMLNode:
         try:
             previousNode = self.HTMLNode.previousSibling
         except COMError:
             previousNode = None
         if not previousNode:
             return None
         obj = MSHTML(HTMLNode=previousNode)
         if obj and obj.HTMLNodeName in self.HTMLNodeNameNavSkipList:
             obj = obj.previous
         return obj
     return super(MSHTML, self).previous
예제 #5
0
파일: MSHTML.py 프로젝트: tsengwoody/nvda
 def _get_parent(self):
     if self.HTMLNode:
         try:
             parentNode = self.HTMLNode.parentElement
         except (COMError, NameError):
             parentNode = None
         if not parentNode and self.HTMLNodeHasAncestorIAccessible:
             try:
                 parentNode = self.HTMLNode.parentNode
             except (COMError, NameError):
                 parentNode = None
         if parentNode:
             obj = MSHTML(HTMLNode=parentNode)
             if obj and obj.HTMLNodeName not in self.HTMLNodeNameNavSkipList:
                 return obj
     return super(MSHTML, self).parent
예제 #6
0
파일: MSHTML.py 프로젝트: tsengwoody/nvda
 def _get_lastChild(self):
     if self.HTMLNode:
         if self.HTMLNodeName in ("FRAME", "IFRAME"):
             return super(MSHTML, self).lastChild
         try:
             childNode = self.HTMLNode.lastChild
         except COMError:
             childNode = None
         if not childNode:
             return None
         obj = MSHTML(HTMLNode=childNode)
         if obj and obj.HTMLNodeName in self.HTMLNodeNameNavSkipList:
             return obj.previous
         return obj
     if self.HTMLNodeHasAncestorIAccessible:
         return None
     return super(MSHTML, self).lastChild