wxWidgets/user/wxLayout
Karsten Ballüder 9e55588fe3 Countless (some half-finished) optimisations.
Started implementing selections.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
1999-04-12 20:06:46 +00:00
..
.cvsignore -Debian glibc2 system is 'linux-gnu', not 'Linux';updated .cvsignore's -Markus 1998-08-13 11:45:43 +00:00
kbList.cpp fixes 1998-11-19 20:34:59 +00:00
kbList.h bug fix for kbList::erase (done long ago in M version) 1999-03-07 23:01:40 +00:00
Makefile fixed the install/unix references -Markus 1998-09-03 15:38:49 +00:00
Makefile.in Added my wxWindows based layout engine to the repository. 1998-06-29 12:44:36 +00:00
Micon.xpm Added my wxWindows based layout engine to the repository. 1998-06-29 12:44:36 +00:00
README file got garbled, replaced 1998-11-03 15:45:55 +00:00
TODO Countless (some half-finished) optimisations. 1999-04-12 20:06:46 +00:00
wxLayout.cpp Compiles and runs again with new printing code (which is still broken in wxGTK). 1999-04-03 16:57:46 +00:00
wxLayout.h Compiles and runs again with new printing code (which is still broken in wxGTK). 1999-04-03 16:57:46 +00:00
wxllist.cpp Countless (some half-finished) optimisations. 1999-04-12 20:06:46 +00:00
wxllist.h Countless (some half-finished) optimisations. 1999-04-12 20:06:46 +00:00
wxlparser.cpp Compiles and runs again with new printing code (which is still broken in wxGTK). 1999-04-03 16:57:46 +00:00
wxlparser.h Merged in latest wxLayout code from Mahogany Mail. 1999-03-29 09:56:44 +00:00
wxlwindow.cpp Countless (some half-finished) optimisations. 1999-04-12 20:06:46 +00:00
wxlwindow.h Countless (some half-finished) optimisations. 1999-04-12 20:06:46 +00:00

README for wxLayout classes
---------------------------

All the source in this directory is copyrighted under the
GPL (GNU GENERAL PUBLIC LICENSE), version 2,
by Karsten Ballueder <ballueder@usa.net>.


This is still work in progress, so if you want to make any significant
changes, please get in touch with me before.

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 <Ballueder@usa.ne>          29 June 1998