"word":UIAHandler.TextUnit_Word,\r
"line":UIAHandler.TextUnit_Line,\r
"paragraph":UIAHandler.TextUnit_Paragraph,\r
+ "readingChunk":UIAHandler.TextUnit_Line,\r
}\r
\r
def _getFormatFieldAtRange(self,range,formatConfig):\r
def __init__(self,obj,position):\r
super(UIATextInfo,self).__init__(obj,position)\r
if isinstance(position,UIAHandler.IUIAutomationTextRange):\r
- self._rangeObj=position.Clone()\r
+ self._rangeObj=position\r
elif position in (textInfos.POSITION_CARET,textInfos.POSITION_SELECTION):\r
sel=self.obj.UIATextPattern.GetSelection()\r
if sel.length>0:\r
raise NotImplementedError("UIAutomationTextRangeArray is empty")\r
if position==textInfos.POSITION_CARET:\r
self.collapse()\r
+ elif isinstance(position,UIATextInfo): #bookmark\r
+ self._rangeObj=position._rangeObj\r
+ elif position==textInfos.POSITION_FIRST:\r
+ self._rangeObj=self.obj.UIATextPattern.documentRange\r
+ self.collapse()\r
+ elif position==textInfos.POSITION_LAST:\r
+ self._rangeObj=self.obj.UIATextPattern.documentRange\r
+ self.collapse(True)\r
else:\r
- self._rangeObj=self.obj.UIATextPattern.DocumentRange\r
+ raise ValueError("Unknown position %s"%position)\r
+\r
+ def __eq__(self,other):\r
+ if self is other: return True\r
+ if self.__class__ is not other.__class__: return False\r
+ return bool(self._rangeObj.compare(other._rangeObj))\r
\r
def _get_bookmark(self):\r
return self.copy()\r
return res\r
\r
def copy(self):\r
- return self.__class__(self.obj,self._rangeObj)\r
+ return self.__class__(self.obj,self._rangeObj.clone())\r
\r
def collapse(self,end=False):\r
if end:\r