TODO
=====================================================================
-Formatting of first text in message in M is broken.
+ - UNDO!!
+ - replacement of llist in window
+ - selection highlighting is a bit broken
+Improve speed! (See layout problem below!)
-Selections:
- - moving in negative direction doesn't work
- - selection state not properly reset, only works once
- - selecting non-text objects is strange
+ - wxlwindow needs to shrink scrollbar range when window contents get removed
+ - When selecting with the mouse, scroll window if pointer is outside.
-wxllist::GetSize() requires extra Layout() call, which should not be
-necessary. Find out why this is so.
-YES, it is necessary, because the normal drawing only happens within
-the visible window.
-I must find a way to re-Layout() objects. This is only required after
-their sizes change:
-- Just mark them as dirty:
- - mark current line as dirty when editing it (so width gets recalculated)
- - mark all following lines as dirty when changing font settings
- - Let Layout() work only on the dirty lines.
- !!! GOOD: this can also be used to recalculate the wxLayoutObjectCmds'
- fonts! :-)
+The following two probs can probably be fixed by adding the
+RecalculateLayout() method:
+Funny re-layout shows again in sample text.
+(Gone after calling layout for all objects before drawing one.)
+ Printing works again, but layout at begin of new page is corrupted.
-- searching for text
-- moving cursor in non-edit mode
-- cursor screen positioning ignores font sizes once again :-(
- --> UpdateCursorScreenPos() cannot work as it ignores previous font formatting commands.
- Either draw cursor when drawing text, or wait for new wxLayoutObjectCmd to be fully
- implemented.
-RECENTLY FIXED (?)
- - fix(simplify) cursor size calculation
- - delete in empty line doesn't work
- - fix horiz scrollbar size OK here, a Mahogany problem?
- - with a large number of lines, wraps to top of scrolled window
- --> check where the problem lies, add a debug function showing all coordinates
+- The import of a private data object does not work yet, we need to get
+ the objects back from the string.
+- Changing default settings in Clear() or changing/inserting/deleting
+ a wxLayoutObject needs to update the m_StyleInfo in all lines, only
+ then can we start using that one.
- update rectangle (needs support in wxllist and wxWindows)
--> needs a bit of fixing still
some code bits are commented out in wxlwindow.cpp
offset handling seems a bit dodgy, white shadow to top/left of cursor
+ - DragNDrop
- - replacement of llist in window
- - undo
- - font optimisations(!)
- - occasionally wraps lines wongly (twice) ??
- - UNDO
- later:
- - DragNDrop ... broken in wxGTK at present
- - cut&paste ... broken in wxGTK at present, Paste already implemented
- - Selections
-
-- More optimisations:
- - let each line have a pointer to the last layoutcommand and let that
- one only store the settings that changed, then we no longer need to
- recalculate all the lines
-
+ - Update docs, do full rtf/html editing.
+ - Verify html export.