+# 11/17/2003 - Jeff Grimmett (grimmtooth@softhome.net)
+#
+# o Updated for wx namespace
+#
+# 11/28/2003 - Jeff Grimmett (grimmtooth@softhome.net)
+#
+# o editor lib hasn't been hit by the renamer yet.
+#
+# 12/21/2003 - Jeff Grimmett (grimmtooth@softhome.net)
+#
+# o wxEditor -> Editor
+#
-from wxPython.wx import *
-from wxPython.lib.editor import wxEditor, wxPyEditor
+import wx
+import wx.lib.editor as editor
#----------------------------------------------------------------------
def runTest(frame, nb, log):
- win = wxPanel(nb, -1)
- ed = wxEditor(win, -1, style=wxSUNKEN_BORDER)
- pyed = wxPyEditor(win, -1, style=wxSUNKEN_BORDER)
- box = wxBoxSizer(wxVERTICAL)
- box.Add(ed, 1, wxALL|wxGROW, 5)
- box.Add(pyed, 1, wxALL|wxGROW, 5)
+ win = wx.Panel(nb, -1)
+ ed = editor.Editor(win, -1, style=wx.SUNKEN_BORDER)
+ box = wx.BoxSizer(wx.VERTICAL)
+ box.Add(ed, 1, wx.ALL|wx.GROW, 1)
win.SetSizer(box)
- win.SetAutoLayout(true)
+ win.SetAutoLayout(True)
ed.SetText(["",
"This is a simple text editor, the class name is",
- "wxEditor. Type a few lines and try it out.",
+ "Editor. Type a few lines and try it out.",
+ "",
+ "It uses Windows-style key commands that can be overridden by subclassing.",
+ "Mouse select works. Here are the key commands:",
+ "",
+ "Cursor movement: Arrow keys or mouse",
+ "Beginning of line: Home",
+ "End of line: End",
+ "Beginning of buffer: Control-Home",
+ "End of the buffer: Control-End",
+ "Select text: Hold down Shift while moving the cursor",
+ "Copy: Control-Insert, Control-C",
+ "Cut: Shift-Delete, Control-X",
+ "Paste: Shift-Insert, Control-V",
""])
- pyed.SetText(["# This one is a derived class named wxPyEditor.",
- "# It adds syntax highlighting, folding (press",
- "# F12 on the \"def\" line below) and other stuff.",
- "import sys",
- "def hello():",
- " print 'hello'",
- " for x in sys.path:",
- " print x",
- ""])
return win
#----------------------------------------------------------------------
+overview = """
+The Editor class implements a simple text editor using wxPython. You
+can create a custom editor by subclassing Editor. Even though much of
+the editor is implemented in Python, it runs surprisingly smoothly on
+normal hardware with small files.
+How to use it
+-------------
+The demo code (demo/Editor.py) shows how to use Editor as a simple text
+box. Use the SetText() and GetText() methods to set or get text from
+the component; these both use a list of strings.
+The samples/FrogEdit directory has an example of a simple text editor
+application that uses the Editor component.
+
+Subclassing
+-----------
+To add or change functionality, you can subclass this
+component. One example of this might be to change the key
+Alt key commands. In that case you would (for example) override the
+SetAltFuncs() method.
-overview = """\
"""
+
+if __name__ == '__main__':
+ import sys,os
+ import run
+ run.main(['', os.path.basename(sys.argv[0])])
+