]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/py/editwindow.py
move wxPython to new trunk
[wxWidgets.git] / wxPython / wx / py / editwindow.py
diff --git a/wxPython/wx/py/editwindow.py b/wxPython/wx/py/editwindow.py
deleted file mode 100644 (file)
index 324abb2..0000000
+++ /dev/null
@@ -1,295 +0,0 @@
-"""EditWindow class."""
-
-__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
-__cvsid__ = "$Id$"
-__revision__ = "$Revision$"[11:-2]
-
-import wx
-from wx import stc
-
-import keyword
-import os
-import sys
-import time
-
-import dispatcher
-from version import VERSION
-
-
-if 'wxMSW' in wx.PlatformInfo:
-    FACES = { 'times'     : 'Times New Roman',
-              'mono'      : 'Courier New',
-              'helv'      : 'Arial',
-              'lucida'    : 'Lucida Console',
-              'other'     : 'Comic Sans MS',
-              'size'      : 10,
-              'lnsize'    : 8,
-              'backcol'   : '#FFFFFF',
-              'calltipbg' : '#FFFFB8',
-              'calltipfg' : '#404040',
-            }
-
-elif 'wxGTK' in wx.PlatformInfo and 'gtk2' in wx.PlatformInfo:
-    FACES = { 'times'     : 'Serif',
-              'mono'      : 'Monospace',
-              'helv'      : 'Sans',
-              'other'     : 'new century schoolbook',
-              'size'      : 10,
-              'lnsize'    : 9,
-              'backcol'   : '#FFFFFF',
-              'calltipbg' : '#FFFFB8',
-              'calltipfg' : '#404040',
-            }
-
-elif 'wxMac' in wx.PlatformInfo:
-    FACES = { 'times'     : 'Lucida Grande',
-              'mono'      : 'Courier New',
-              'helv'      : 'Geneva',
-              'other'     : 'new century schoolbook',
-              'size'      : 13,
-              'lnsize'    : 10,
-              'backcol'   : '#FFFFFF',
-              'calltipbg' : '#FFFFB8',
-              'calltipfg' : '#404040',
-            }
-
-else: # GTK1, etc.
-    FACES = { 'times'     : 'Times',
-              'mono'      : 'Courier',
-              'helv'      : 'Helvetica',
-              'other'     : 'new century schoolbook',
-              'size'      : 12,
-              'lnsize'    : 10,
-              'backcol'   : '#FFFFFF',
-              'calltipbg' : '#FFFFB8',
-              'calltipfg' : '#404040',
-            }
-
-
-class EditWindow(stc.StyledTextCtrl):
-    """EditWindow based on StyledTextCtrl."""
-
-    revision = __revision__
-
-    def __init__(self, parent, id=-1, pos=wx.DefaultPosition,
-                 size=wx.DefaultSize, style=wx.CLIP_CHILDREN | wx.SUNKEN_BORDER):
-        """Create EditWindow instance."""
-        stc.StyledTextCtrl.__init__(self, parent, id, pos, size, style)
-        self.__config()
-        stc.EVT_STC_UPDATEUI(self, id, self.OnUpdateUI)
-        dispatcher.connect(receiver=self._fontsizer, signal='FontIncrease')
-        dispatcher.connect(receiver=self._fontsizer, signal='FontDecrease')
-        dispatcher.connect(receiver=self._fontsizer, signal='FontDefault')
-
-    def _fontsizer(self, signal):
-        """Receiver for Font* signals."""
-        size = self.GetZoom()
-        if signal == 'FontIncrease':
-            size += 1
-        elif signal == 'FontDecrease':
-            size -= 1
-        elif signal == 'FontDefault':
-            size = 0
-        self.SetZoom(size)
-
-
-    def __config(self):
-        self.setDisplayLineNumbers(False)
-        
-        self.SetLexer(stc.STC_LEX_PYTHON)
-        self.SetKeyWords(0, ' '.join(keyword.kwlist))
-
-        self.setStyles(FACES)
-        self.SetViewWhiteSpace(False)
-        self.SetTabWidth(4)
-        self.SetUseTabs(False)
-        # Do we want to automatically pop up command completion options?
-        self.autoComplete = True
-        self.autoCompleteIncludeMagic = True
-        self.autoCompleteIncludeSingle = True
-        self.autoCompleteIncludeDouble = True
-        self.autoCompleteCaseInsensitive = True
-        self.AutoCompSetIgnoreCase(self.autoCompleteCaseInsensitive)
-        self.autoCompleteAutoHide = False
-        self.AutoCompSetAutoHide(self.autoCompleteAutoHide)
-        self.AutoCompStops(' .,;:([)]}\'"\\<>%^&+-=*/|`')
-        # Do we want to automatically pop up command argument help?
-        self.autoCallTip = True
-        self.callTipInsert = True
-        self.CallTipSetBackground(FACES['calltipbg'])
-        self.CallTipSetForeground(FACES['calltipfg'])
-        self.SetWrapMode(False)
-        try:
-            self.SetEndAtLastLine(False)
-        except AttributeError:
-            pass
-
-    def setDisplayLineNumbers(self, state):
-        self.lineNumbers = state
-        if state:
-            self.SetMarginType(1, stc.STC_MARGIN_NUMBER)
-            self.SetMarginWidth(1, 40)
-        else:
-            # Leave a small margin so the feature hidden lines marker can be seen
-            self.SetMarginType(1, 0)
-            self.SetMarginWidth(1, 10)
-        
-    def setStyles(self, faces):
-        """Configure font size, typeface and color for lexer."""
-
-        # Default style
-        self.StyleSetSpec(stc.STC_STYLE_DEFAULT,
-                          "face:%(mono)s,size:%(size)d,back:%(backcol)s" % \
-                          faces)
-
-        self.StyleClearAll()
-        self.SetSelForeground(True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT))
-        self.SetSelBackground(True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT))
-        
-        # Built in styles
-        self.StyleSetSpec(stc.STC_STYLE_LINENUMBER,
-                          "back:#C0C0C0,face:%(mono)s,size:%(lnsize)d" % FACES)
-        self.StyleSetSpec(stc.STC_STYLE_CONTROLCHAR,
-                          "face:%(mono)s" % faces)
-        self.StyleSetSpec(stc.STC_STYLE_BRACELIGHT,
-                          "fore:#0000FF,back:#FFFF88")
-        self.StyleSetSpec(stc.STC_STYLE_BRACEBAD,
-                          "fore:#FF0000,back:#FFFF88")
-
-        # Python styles
-        self.StyleSetSpec(stc.STC_P_DEFAULT,
-                          "face:%(mono)s" % faces)
-        self.StyleSetSpec(stc.STC_P_COMMENTLINE,
-                          "fore:#007F00,face:%(mono)s" % faces)
-        self.StyleSetSpec(stc.STC_P_NUMBER,
-                          "")
-        self.StyleSetSpec(stc.STC_P_STRING,
-                          "fore:#7F007F,face:%(mono)s" % faces)
-        self.StyleSetSpec(stc.STC_P_CHARACTER,
-                          "fore:#7F007F,face:%(mono)s" % faces)
-        self.StyleSetSpec(stc.STC_P_WORD,
-                          "fore:#00007F,bold")
-        self.StyleSetSpec(stc.STC_P_TRIPLE,
-                          "fore:#7F0000")
-        self.StyleSetSpec(stc.STC_P_TRIPLEDOUBLE,
-                          "fore:#000033,back:#FFFFE8")
-        self.StyleSetSpec(stc.STC_P_CLASSNAME,
-                          "fore:#0000FF,bold")
-        self.StyleSetSpec(stc.STC_P_DEFNAME,
-                          "fore:#007F7F,bold")
-        self.StyleSetSpec(stc.STC_P_OPERATOR,
-                          "")
-        self.StyleSetSpec(stc.STC_P_IDENTIFIER,
-                          "")
-        self.StyleSetSpec(stc.STC_P_COMMENTBLOCK,
-                          "fore:#7F7F7F")
-        self.StyleSetSpec(stc.STC_P_STRINGEOL,
-                          "fore:#000000,face:%(mono)s,back:#E0C0E0,eolfilled" % faces)
-
-    def OnUpdateUI(self, event):
-        """Check for matching braces."""
-        # If the auto-complete window is up let it do its thing.
-        if self.AutoCompActive() or self.CallTipActive():
-            return
-        braceAtCaret = -1
-        braceOpposite = -1
-        charBefore = None
-        caretPos = self.GetCurrentPos()
-        if caretPos > 0:
-            charBefore = self.GetCharAt(caretPos - 1)
-            styleBefore = self.GetStyleAt(caretPos - 1)
-
-        # Check before.
-        if charBefore and chr(charBefore) in '[]{}()' \
-        and styleBefore == stc.STC_P_OPERATOR:
-            braceAtCaret = caretPos - 1
-
-        # Check after.
-        if braceAtCaret < 0:
-            charAfter = self.GetCharAt(caretPos)
-            styleAfter = self.GetStyleAt(caretPos)
-            if charAfter and chr(charAfter) in '[]{}()' \
-            and styleAfter == stc.STC_P_OPERATOR:
-                braceAtCaret = caretPos
-
-        if braceAtCaret >= 0:
-            braceOpposite = self.BraceMatch(braceAtCaret)
-
-        if braceAtCaret != -1  and braceOpposite == -1:
-            self.BraceBadLight(braceAtCaret)
-        else:
-            self.BraceHighlight(braceAtCaret, braceOpposite)
-
-    def CanCopy(self):
-        """Return True if text is selected and can be copied."""
-        return self.GetSelectionStart() != self.GetSelectionEnd()
-
-    def CanCut(self):
-        """Return True if text is selected and can be cut."""
-        return self.CanCopy() and self.CanEdit()
-
-    def CanEdit(self):
-        """Return True if editing should succeed."""
-        return not self.GetReadOnly()
-
-    def CanPaste(self):
-        """Return True if pasting should succeed."""
-        return stc.StyledTextCtrl.CanPaste(self) and self.CanEdit()
-
-
-    def GetLastPosition(self):
-        return self.GetLength()
-
-    def GetRange(self, start, end):
-        return self.GetTextRange(start, end)
-
-    def GetSelection(self):
-        return self.GetAnchor(), self.GetCurrentPos()
-
-    def ShowPosition(self, pos):
-        line = self.LineFromPosition(pos)
-        #self.EnsureVisible(line)
-        self.GotoLine(line)
-
-    def DoFindNext(self, findData, findDlg=None):
-        backward = not (findData.GetFlags() & wx.FR_DOWN)
-        matchcase = (findData.GetFlags() & wx.FR_MATCHCASE) != 0
-        end = self.GetLastPosition()
-        textstring = self.GetRange(0, end)
-        findstring = findData.GetFindString()
-        if not matchcase:
-            textstring = textstring.lower()
-            findstring = findstring.lower()
-        if backward:
-            start = self.GetSelection()[0]
-            loc = textstring.rfind(findstring, 0, start)
-        else:
-            start = self.GetSelection()[1]
-            loc = textstring.find(findstring, start)
-
-        # if it wasn't found then restart at begining
-        if loc == -1 and start != 0:
-            if backward:
-                start = end
-                loc = textstring.rfind(findstring, 0, start)
-            else:
-                start = 0
-                loc = textstring.find(findstring, start)
-
-        # was it still not found?
-        if loc == -1:
-            dlg = wx.MessageDialog(self, 'Unable to find the search text.',
-                          'Not found!',
-                          wx.OK | wx.ICON_INFORMATION)
-            dlg.ShowModal()
-            dlg.Destroy()
-        if findDlg:
-            if loc == -1:
-                wx.CallAfter(findDlg.SetFocus)
-                return
-            else:
-                findDlg.Close()
-
-        # show and select the found text
-        self.ShowPosition(loc)
-        self.SetSelection(loc, loc + len(findstring))