| 1 | |
| 2 | README for wxLayout classes |
| 3 | --------------------------- |
| 4 | |
| 5 | All the source in this directory is copyrighted under the |
| 6 | GPL (GNU GENERAL PUBLIC LICENSE), version 2, |
| 7 | by Karsten Ballueder <ballueder@usa.net>. |
| 8 | |
| 9 | |
| 10 | This is still work in progress, so if you want to make any significant |
| 11 | changes, please get in touch with me before. |
| 12 | |
| 13 | |
| 14 | *** THIS SOURCE IS USUALLY OUTDATED AND FOR DEMONSTRATION ONLY *** |
| 15 | *** GET THE VERY LATEST VERSION OF THE WXLAYOUT CLASSES FROM *** |
| 16 | *** THE SOURCE OF THE MAHOGANY MAIL/NEWS CLIENT, AVAILABLE FROM *** |
| 17 | *** http://www.wxwindows.org/Mahogany/ *** |
| 18 | |
| 19 | |
| 20 | |
| 21 | There are three building blocks for rich text editing: |
| 22 | |
| 23 | wxllist : |
| 24 | |
| 25 | The wxLayoutList layout engine. It is a linked list of wxLayoutObjects |
| 26 | which can arrange and display them on any wxDC. I am trying to keep |
| 27 | this class as simple as possible, to be just the core layout |
| 28 | engine. All "convenience" functions should be defined in classes built |
| 29 | on top of this. |
| 30 | The wxLayoutList is derived from kbList, a double-linked list with an |
| 31 | interface modelled after the STL list. As wxLayoutList depends on the |
| 32 | way kbList treats iterators (i.e. the iterator value after an insert() |
| 33 | or erase() operation), I don't feel like rewriting it for wxList. |
| 34 | |
| 35 | wxlwindow : |
| 36 | |
| 37 | Contains a class wxLayoutWindow, derived from wxScrolledWindow which |
| 38 | can directly be used as a rich-text display or editing window. The |
| 39 | function responsible for keyboard handling is virtual and can be |
| 40 | overloaded for different keybindings. wxLayoutWindow can sent fake |
| 41 | menu-events to the application to react to the user clicking on |
| 42 | objects. |
| 43 | |
| 44 | wxlparser: |
| 45 | |
| 46 | Contains several high level functions operating on |
| 47 | wxLayoutList. Currently implemented is inserting of text (including |
| 48 | linebreaks) and export of objects, text or html. |
| 49 | Planned for the future is an html parser for importing html. |
| 50 | |
| 51 | |
| 52 | wxLayout.cpp is a simple test program. It will export Text and HTML to |
| 53 | stdout and demonstrate some of the features and bugs of wxLayoutList. |
| 54 | |
| 55 | There are still things to do and I'm working on them. :-) |
| 56 | |
| 57 | Karsten Ballueder <Ballueder@usa.ne> 29 June 1998 |
| 58 | |