def __onLeftMouseDoubleClicked(self,clickedPixelPos):
     retuDict = self.transUserClickedPixelPosToIndexPos( clickedPixelPos )
     xPos,yPos = retuDict['indexPos']
     offset = retuDict['offset']
     lineText = self.document().getLineText(yPos)
     if len(lineText) == 0:
         self.selectedTextManager().clearSelectedText()
         return 
         
     prevClickedPixelPos = self.settings().getUserDataByKey('leftMouseDoubleClickedPos')
     if prevClickedPixelPos == clickedPixelPos:
         self.settings().setUserDataByKey('leftMouseDoubleClickedPos',None)
         self.selectedTextManager().setSelectTextIndexPos( (0,yPos),(len(lineText),yPos) )
         self.cursor().setGlobalCursorPos( (len(lineText),yPos) )
     else:
         self.settings().setUserDataByKey('leftMouseDoubleClickedPos',clickedPixelPos)
         if xPos == 0:
             length = TextDocument.skipSpaceAndWordByRight(lineText, xPos)['offset']
         elif xPos == len(lineText):
             length = TextDocument.skipSpaceAndWordByLeft(lineText, xPos)['offset']
             xPos -= length
         else:
             toLeftRetuDict = TextDocument.skipSpaceAndWordByLeft(lineText, xPos)
             toRightRetuDict = TextDocument.skipSpaceAndWordByRight(lineText, xPos)
             if toLeftRetuDict['searcher'] == toRightRetuDict['searcher'] and toLeftRetuDict['searcher'] != None:
                 length = toLeftRetuDict['offset'] + toRightRetuDict['offset']
                 xPos -= toLeftRetuDict['offset']
             else:
                 if offset >= 0:
                     length = toRightRetuDict['offset']
                 else:
                     length = toLeftRetuDict['offset']
                     xPos -= length
         self.selectedTextManager().setSelectTextIndexPos( (xPos,yPos),(xPos+length,yPos) )
         self.cursor().setGlobalCursorPos( (xPos+length,yPos) )