def getSelectedTextIndexPosSorted(self):
     selectedTextIndexPosRange = self.getSelectedTextIndexPos()
     if selectedTextIndexPosRange == None:
         return None
     
     selectedStart,selectedEnd = selectedTextIndexPosRange
     sortedInfoDict = FUF.sortedIndexPos( selectedStart , selectedEnd )
     return ( sortedInfoDict['first'],sortedInfoDict['second'] )
예제 #2
0
 def calcIndexPosDistance(self,indexPos1,indexPos2,absValue = True):        
     
     sortedIndexPosDict = FUF.sortedIndexPos(indexPos1, indexPos2)
     positiveSign = -1 if (sortedIndexPosDict['changed'] == True) and (absValue == False) else 1
     
     indexPosA = sortedIndexPosDict['first']
     indexPosB = sortedIndexPosDict['second']
     if indexPosA[1] == indexPosB[1]:
         absV = indexPosB[0] - indexPosA[0]
     else:
         absV = len(self.getLineText(indexPosA[1])) - indexPosA[0] + 1
         absV += indexPosB[0]
         for index in range( indexPosA[1]+1,indexPosB[1] ):
             absV += len(self.getLineText(index)) + 1
     return positiveSign * absV
예제 #3
0
 def __onTabKey(self,event):
     if self.selectedTextManager().getSelectedTextIndexPos() == None:        
         insertSpaceLen = 4 - (self.cursor().getCursorIndexPos()[0] % 4)
         indexPos = self.document().insertText(self.cursor().getCursorIndexPos(), ' '*insertSpaceLen)
         self.cursor().setGlobalCursorPos(indexPos)
     else:
         curSelectedIndexPos = self.selectedTextManager().getSelectedTextIndexPos()
         retuSortedPoses = FUF.sortedIndexPos( curSelectedIndexPos[0],curSelectedIndexPos[1])
         
         affectedLineIndexList = list(range( retuSortedPoses['first'][1],retuSortedPoses['second'][1]+1 ))
         for lineIndex in affectedLineIndexList:
             self.document().insertText( (0,lineIndex),' '*CEGD.spaceToInsertTOL )
         
         curCursorPos = self.cursor().getCursorIndexPos()
         if affectedLineIndexList.count(curCursorPos[1]) != 0:
             self.cursor().setGlobalCursorPos( (curCursorPos[0]+CEGD.spaceToInsertTOL,curCursorPos[1]) )            
         self.selectedTextManager().setSelectTextIndexPos( (curSelectedIndexPos[0][0]+CEGD.spaceToInsertTOL,curSelectedIndexPos[0][1]) ,\
                                       (curSelectedIndexPos[1][0]+CEGD.spaceToInsertTOL,curSelectedIndexPos[1][1]) )
         
     self.update()