]> git.saurik.com Git - wxWidgets.git/blobdiff - user/wxLayout/TODO
find position bug fixed
[wxWidgets.git] / user / wxLayout / TODO
index cd9ff621ec5484289bfcaaa7d6233928ade9db4e..e7c4ec319913fd84589f09e5127560ad4ed4a5cd 100644 (file)
@@ -2,24 +2,70 @@
 BUGS
 =====================================================================
 
-- Delete():
-  1 - occasionally delete deletes too much, maybe when at begin of
-      line?
-  2 - when in an empty line, Delete() doesn't always merge lines
-  3 - line numbers aren't updated properly, may be related to 2.
-  4 - deleting lines leaves later parts of the list unaffected
-       --> just redrawing at least the next two lines doesn't seem
-           enough, strange, don't positions change?
 - 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
 =====================================================================
 
-- Add word wrap to wxlwindow/wxllist.
-- Cursor to mouseclick
-- Focus feedback for cursor
-- Selections
+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
+
 
-- More optimisations
+  - 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
+