| 1 | This contrib is the wxStyledTextCtrl, which is a wrapper around the |
| 2 | Scintilla edit control. (See www.scintilla.org) |
| 3 | |
| 4 | There is still VERY MUCH to be done, most notable of which is a more |
| 5 | advanced sample that exercises more of the code. (I havn't tested |
| 6 | AutoComplete or CallTips, or most of the event types at all yet.) And |
| 7 | also documentation, adding wrappers for some new scintilla |
| 8 | functionality, building and testing on wxGTK, etc. Be patient, it all |
| 9 | will get there soon. |
| 10 | |
| 11 | |
| 12 | |
| 13 | Let me describe a bit about the architecture I am implementing... |
| 14 | Obviously there is the Platform layer which implements the varioius |
| 15 | platform classes by using wxWindows classes and filling in where |
| 16 | needed. Then there is a ScintillaWX class that is derived from |
| 17 | ScintillaBase and implements the necessary virtual methods that |
| 18 | Scintilla needs to fully funciton. This class however is not meant to |
| 19 | ever be used directly by wx programmers. I call it one end of the |
| 20 | bridge between the wx and Scintilla worlds. The other end of the |
| 21 | bridge is a class called wxStyledTextCtrl that looks, feels and acts |
| 22 | like other classes in wxWindows. Here is a diagram: |
| 23 | |
| 24 | |
| 25 | +------------------+ +-------------------+ |
| 26 | | wxStyledTextCtrl |--bridge--| ScintillaWX | |
| 27 | +------------------+ +-------------------+ |
| 28 | | ScintillaBase | |
| 29 | +-------------------+ |
| 30 | | Editor | |
| 31 | +-------------------+ |
| 32 | | PlatWX | |
| 33 | +-------------------+ |
| 34 | |
| 35 | |
| 36 | wxStyledTextCtrl derives from wxControl so it has a window that can be |
| 37 | drawn upon. When a wxStyledTextCtrl is constructed it constructs a |
| 38 | ScintillaWX for itself and passes itself to the scintilla object to be |
| 39 | set as the wMain and wDraw attributes. All method calls on the STC |
| 40 | are sent over the bridge in the form of calls to ScintiallWX::WndProc. |
| 41 | All notifications are sent back over the bridge and turned into |
| 42 | wxEvents. |
| 43 | |
| 44 | |
| 45 | Robin |
| 46 | |
| 47 | [SOLARIS NOTE - ellers@iinet.net.au - June 2002] |
| 48 | |
| 49 | On sunos5 (sparc) the stc code breaks if optimisation is turned on (the |
| 50 | default). If your release build breaks but the debug build is fine, |
| 51 | try reconfiguring with --disable-optimise and rebuilding. If you are using |
| 52 | wxPython you will also need to disable optimised compiling. To do this I |
| 53 | had to hand modify the python makefile in (prefix)/lib/python2.2/config/Makefile |
| 54 | to remove optimisation flags. |
| 55 | |