README for wxLayout classes --------------------------- All the source in this directory is copyrighted under the GPL (GNU GENERAL PUBLIC LICENSE), version 2, by Karsten Ballueder . This is still work in progress, so if you want to make any significant changes, please get in touch with me before. *** THIS SOURCE IS USUALLY OUTDATED AND FOR DEMONSTRATION ONLY *** *** GET THE VERY LATEST VERSION OF THE WXLAYOUT CLASSES FROM *** *** THE SOURCE OF THE MAHOGANY MAIL/NEWS CLIENT, AVAILABLE FROM *** *** http://www.wxwindows.org/Mahogany/ *** There are three building blocks for rich text editing: wxllist : The wxLayoutList layout engine. It is a linked list of wxLayoutObjects which can arrange and display them on any wxDC. I am trying to keep this class as simple as possible, to be just the core layout engine. All "convenience" functions should be defined in classes built on top of this. The wxLayoutList is derived from kbList, a double-linked list with an interface modelled after the STL list. As wxLayoutList depends on the way kbList treats iterators (i.e. the iterator value after an insert() or erase() operation), I don't feel like rewriting it for wxList. wxlwindow : Contains a class wxLayoutWindow, derived from wxScrolledWindow which can directly be used as a rich-text display or editing window. The function responsible for keyboard handling is virtual and can be overloaded for different keybindings. wxLayoutWindow can sent fake menu-events to the application to react to the user clicking on objects. wxlparser: Contains several high level functions operating on wxLayoutList. Currently implemented is inserting of text (including linebreaks) and export of objects, text or html. Planned for the future is an html parser for importing html. wxLayout.cpp is a simple test program. It will export Text and HTML to stdout and demonstrate some of the features and bugs of wxLayoutList. There are still things to do and I'm working on them. :-) Karsten Ballueder 29 June 1998