2003-12-09 01:23:28 +00:00
|
|
|
|
|
|
|
import wx
|
|
|
|
import wx.lib.editor as editor
|
1999-12-31 08:29:02 +00:00
|
|
|
|
|
|
|
#----------------------------------------------------------------------
|
|
|
|
|
|
|
|
def runTest(frame, nb, log):
|
2003-12-09 01:23:28 +00:00
|
|
|
win = wx.Panel(nb, -1)
|
2003-12-22 19:09:54 +00:00
|
|
|
ed = editor.Editor(win, -1, style=wx.SUNKEN_BORDER)
|
2003-12-09 01:23:28 +00:00
|
|
|
box = wx.BoxSizer(wx.VERTICAL)
|
|
|
|
box.Add(ed, 1, wx.ALL|wx.GROW, 1)
|
1999-12-31 08:29:02 +00:00
|
|
|
win.SetSizer(box)
|
2003-03-25 06:35:27 +00:00
|
|
|
win.SetAutoLayout(True)
|
1999-12-31 08:29:02 +00:00
|
|
|
|
|
|
|
ed.SetText(["",
|
|
|
|
"This is a simple text editor, the class name is",
|
2003-12-22 19:09:54 +00:00
|
|
|
"Editor. Type a few lines and try it out.",
|
2001-12-01 02:25:39 +00:00
|
|
|
"",
|
2003-10-02 00:58:06 +00:00
|
|
|
"It uses Windows-style key commands that can be overridden by subclassing.",
|
2001-12-01 02:25:39 +00:00
|
|
|
"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",
|
2000-01-02 05:26:21 +00:00
|
|
|
""])
|
1999-12-31 08:29:02 +00:00
|
|
|
|
|
|
|
return win
|
|
|
|
|
|
|
|
#----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
2001-12-01 02:25:39 +00:00
|
|
|
overview = """
|
2003-12-22 19:09:54 +00:00
|
|
|
The Editor class implements a simple text editor using wxPython. You
|
|
|
|
can create a custom editor by subclassing Editor. Even though much of
|
2001-12-03 20:41:03 +00:00
|
|
|
the editor is implemented in Python, it runs surprisingly smoothly on
|
2001-12-01 02:25:39 +00:00
|
|
|
normal hardware with small files.
|
1999-12-31 08:29:02 +00:00
|
|
|
|
2001-12-01 02:25:39 +00:00
|
|
|
How to use it
|
|
|
|
-------------
|
2003-12-22 19:09:54 +00:00
|
|
|
The demo code (demo/Editor.py) shows how to use Editor as a simple text
|
2001-12-01 02:25:39 +00:00
|
|
|
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
|
2003-12-22 19:09:54 +00:00
|
|
|
application that uses the Editor component.
|
2001-12-01 02:25:39 +00:00
|
|
|
|
|
|
|
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.
|
1999-12-31 08:29:02 +00:00
|
|
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
|
|
|
2002-06-15 05:52:22 +00:00
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
import sys,os
|
|
|
|
import run
|
2004-03-05 00:06:33 +00:00
|
|
|
run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])
|
2002-06-15 05:52:22 +00:00
|
|
|
|