BUGS ===================================================================== - dmalloc shows duplicate deletion after merging two lines and deleting the second half - word wrap for objects with lots of non-space needs to search in positive direction if begin of first object is reached - delete in empty line doesn't always work - fix initial scrollbar sizes - fix horiz scrollbar size TODO ===================================================================== Adding many lines makes it terribly slow. Printing produces empty pages only. Formatting of first text in message in M is broken. Large images in last line don't get displayed properly. Taking last line's height as default for next is rubbish, use "default height" and adjust as necessary. Selections: - moving in negative direction doesn't work - selection state not properly reset, only works once - selecting non-text objects is strange 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! :-) - 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 - 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 - 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