Changeset 4077

Show
Ignore:
Timestamp:
05/11/2008 09:34:15 AM (2 months ago)
Author:
ed
Message:

Changed getAvailableLanguages() to a classmethod.

Tightened up the code in the changeSelectedTextCase() method.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/dabo/ui/uiwx/dEditor.py

    r4056 r4077  
    566566        headerLine = o.LineFromPosition(position) 
    567567        o.Expand(headerLine, True) 
    568      
    569     def changeSelectedTextCase(self, case): 
    570         case = case[0].lower() 
     568 
     569 
     570    def changeSelectedTextCase(self, newcase): 
     571        newcase = newcase[0].lower() 
    571572        pos = self.SelectionPosition 
    572          
    573         if case == "u": 
    574             self.ReplaceSelection(self.SelectedText.upper()) 
    575         elif case == "l": 
    576             self.ReplaceSelection(self.SelectedText.lower()) 
    577         elif case == "c": 
    578             self.ReplaceSelection(self.SelectedText.title()) 
    579         elif case == "i": 
     573        seltxt = self.SelectedText 
     574        if newcase == "i": 
    580575            def invert(c): 
    581576                if c.islower(): 
     
    583578                else: 
    584579                    return c.lower() 
    585              
    586580            self.ReplaceSelection("".join(map(invert, self.SelectedText))) 
    587581        else: 
    588             raise ValueError, "Case must be either upper, lower, capitalize, or invert." 
    589          
     582            try: 
     583                fnc = {"u": seltxt.upper, "l": seltxt.lower, "c": seltxt.title,  
     584                        "t": seltxt.title}[newcase] 
     585                self.ReplaceSelection(fnc()) 
     586            except KeyError: 
     587                raise ValueError, "Case must be either upper, lower, capitalize, or invert." 
    590588        self.SelectionPosition = pos 
     589 
    591590     
    592591    def selectLine(self): 
     
    599598        self.SelectionPosition = (start, end) 
    600599     
     600     
    601601    def selectWord(self): 
    602602        whiteSpace = " \t\r\n" 
    603603        syntaxDelimeters = """()[]{}"+-*/&%=\\;:""" 
    604          
    605604        curPos = self.GetCurrentPos() 
    606605        val = self.Value 
    607          
    608606        if val[curPos] in syntaxDelimeters: 
    609607            start=curPos 
     
    622620                    break 
    623621                end += 1 
    624          
    625622        self.SelectionPosition = (start, end) 
    626623        self.SetCurrentPos(end) 
     624 
    627625     
    628626    def OnSBScroll(self, evt): 
     
    10331031             
    10341032     
    1035     def getAvailableLanguages(self): 
     1033    def getAvailableLanguages(cls): 
    10361034        """Returns an alphabetical list of all languages we have lexers for.""" 
    10371035        ret = LexerDic.keys() 
    10381036        ret.sort() 
    10391037        return ret 
     1038    getAvailableLanguages = classmethod(getAvailableLanguages) 
    10401039         
    10411040