X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/39cc7a0bae66d5b82ce9a9cc71a51f4efda52166..1918b6f78959585e7d141aadc49bedfd5d0511f1:/wxPython/samples/frogedit/FrogEditor.py diff --git a/wxPython/samples/frogedit/FrogEditor.py b/wxPython/samples/frogedit/FrogEditor.py new file mode 100644 index 0000000000..d94e83c6e6 --- /dev/null +++ b/wxPython/samples/frogedit/FrogEditor.py @@ -0,0 +1,92 @@ +#!/usr/local/bin/python + +# simple text editor +# +# Copyright 2001 Adam Feuer and Steve Howell +# +# License: Python + +import re +from wxPython.wx import * +from wxPython.lib.editor import wxEditor + +#--------------------------------------------------------------------- + +class FrogEditor(wxEditor): + def __init__(self, parent, id, + pos=wxDefaultPosition, size=wxDefaultSize, style=0, statusBar=None): + self.StatusBar = statusBar + wxEditor.__init__(self, parent, id, pos, size, style) + self.parent = parent + + ##------------------------------------ + + def TouchBuffer(self): + wxEditor.TouchBuffer(self) + self.StatusBar.setDirty(1) + + def UnTouchBuffer(self): + wxEditor.UnTouchBuffer(self) + self.StatusBar.setDirty(0) + + + #--------- utility function ------------- + + # override our base class method + def DrawCursor(self, dc = None): + wxEditor.DrawCursor(self,dc) + self.StatusBar.setRowCol(self.cy,self.cx) + + def lastLine(self): + lastline = self.sy + self.sh - 1 + return min(lastline, self.LinesInFile() - 1) + + def rawLines(self): + return [l.text for l in self.text] + + def save(self): + if self.page: + self.ds.store(self.page,self.rawLines()) + + def SetRawText(self, rawtext=""): + self.rawText= rawtext + self.SetText(self.RenderText()) + + def RenderText(self): + return(self.rawText) + + #---------- logging ------------- + + def SetStatus(self, log): + self.log = log + self.status = [] + + def PrintSeparator(self, event): + self.Print("..........................") + + def Print(self, data): + self.status.append(data) + if data[-1:] == '\n': + data = data[:-1] + wxLogMessage(data) + + #--------- wxEditor keyboard overrides + + def SetControlFuncs(self, action): + wxEditor.SetControlFuncs(self, action) + action['-'] = self.PrintSeparator + + def SetAltFuncs(self, action): + wxEditor.SetAltFuncs(self, action) + action['x'] = self.Exit + + #----------- commands ----------- + + def OnCloseWindow(self, event): + # xxx - We don't fully understand how exit logic works. + # This event is actually called by our parent frame. + pass + + def Exit(self,event): + self.parent.Close(None) +