dabo Commit
Revision 4077
Date: 2008-05-11 09:34:15 -0700 (Sun, 11 May 2008)
Author: Ed
Trac: http://svn.dabodev.com/trac/dabo/changeset/4077

Changed:
U   trunk/dabo/ui/uiwx/dEditor.py

Log:
Changed getAvailableLanguages() to a classmethod.

Tightened up the code in the changeSelectedTextCase() method.


Diff:
Modified: trunk/dabo/ui/uiwx/dEditor.py
===================================================================
--- trunk/dabo/ui/uiwx/dEditor.py       2008-05-05 22:20:03 UTC (rev 4076)
+++ trunk/dabo/ui/uiwx/dEditor.py       2008-05-11 16:34:15 UTC (rev 4077)
@@ -565,29 +565,28 @@
                length = evt.GetLength()
                headerLine = o.LineFromPosition(position)
                o.Expand(headerLine, True)
-       
-       def changeSelectedTextCase(self, case):
-               case = case[0].lower()
+
+
+       def changeSelectedTextCase(self, newcase):
+               newcase = newcase[0].lower()
                pos = self.SelectionPosition
-               
-               if case == "u":
-                       self.ReplaceSelection(self.SelectedText.upper())
-               elif case == "l":
-                       self.ReplaceSelection(self.SelectedText.lower())
-               elif case == "c":
-                       self.ReplaceSelection(self.SelectedText.title())
-               elif case == "i":
+               seltxt = self.SelectedText
+               if newcase == "i":
                        def invert(c):
                                if c.islower():
                                        return c.upper()
                                else:
                                        return c.lower()
-                       
                        self.ReplaceSelection("".join(map(invert, 
self.SelectedText)))
                else:
-                       raise ValueError, "Case must be either upper, lower, 
capitalize, or invert."
-               
+                       try:
+                               fnc = {"u": seltxt.upper, "l": seltxt.lower, 
"c": seltxt.title, 
+                                               "t": seltxt.title}[newcase]
+                               self.ReplaceSelection(fnc())
+                       except KeyError:
+                               raise ValueError, "Case must be either upper, 
lower, capitalize, or invert."
                self.SelectionPosition = pos
+
        
        def selectLine(self):
                start =self.GetLineEndPosition(self.LineNumber-1)
@@ -598,13 +597,12 @@
                end = self.GetLineEndPosition(self.LineNumber)
                self.SelectionPosition = (start, end)
        
+       
        def selectWord(self):
                whiteSpace = " \t\r\n"
                syntaxDelimeters = """()[]{}"+-*/&%=\\;:"""
-               
                curPos = self.GetCurrentPos()
                val = self.Value
-               
                if val[curPos] in syntaxDelimeters:
                        start=curPos
                        end=start+1
@@ -621,9 +619,9 @@
                                if val[end] in (whiteSpace + syntaxDelimeters):
                                        break
                                end += 1
-               
                self.SelectionPosition = (start, end)
                self.SetCurrentPos(end)
+
        
        def OnSBScroll(self, evt):
                # redirect the scroll events from the dyn_sash's scrollbars to 
the STC
@@ -1032,11 +1030,12 @@
                        self.AutoCompCancel()
                        
        
-       def getAvailableLanguages(self):
+       def getAvailableLanguages(cls):
                """Returns an alphabetical list of all languages we have lexers 
for."""
                ret = LexerDic.keys()
                ret.sort()
                return ret
+       getAvailableLanguages = classmethod(getAvailableLanguages)
                
                
        def setSyntaxColoring(self, color=None):




_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: http://leafe.com/archives/byMID/[EMAIL PROTECTED]

Reply via email to