/doc/TODO

https://code.google.com/p/mytide/ · #! · 146 lines · 95 code · 51 blank · 0 comment · 0 complexity · 10880cb3262cd6216ef917d077c8817b MD5 · raw file

  1. PUT HEADER PANEL BACK
  2. ISSUE: the cursor is undrawn/redrawn on each input event.
  3. This includes mouse moves. There are a lot of those.
  4. Deal with rounding errors in font sizes.
  5. => must work in Fix32 so that font sizes are not rounded
  6. Auto-indent.
  7. Mark range/selection(s). PERSISTENT.
  8. BUG: on RETURN, first char of old line still visible (but not present,
  9. as a Refresh() shows.)
  10. BUG: tokeniser doesn't leave string state?
  11. Lexer: fat strings & comments, numeric escapes in strings.
  12. (It's a state-machine messup. Needs proper attention.)
  13. UNDO.
  14. Documentation.
  15. Outline view
  16. Proper build, not single-shot.
  17. Incorporate some (silk?) icons.
  18. An icon for the window.
  19. Handling tabs in input files.
  20. Tabbed views.
  21. Run program on demand, I/O to alternate window.
  22. Scrolling!
  23. Don't refresh hidden or not-just-exposed areas.
  24. Splash screen on startup.
  25. Multiple X windows with demuxing.
  26. Dynamic update of panel arrangement.
  27. Dynamic shelves (more than 2 elements, add-n-remove)
  28. Multiple fonts.
  29. Respect version control when saving files.
  30. Factor out the Drawing stuff from panel.
  31. Menus.
  32. Proper preservation of header field(s).
  33. Extraction of keyword/builtin map from edit, should be configurable.
  34. Extraction of tokeniser code from edit, should be configurable.
  35. ------------------------------------------------
  36. PUT FLOATY BITS BACK.
  37. Restored floaty notey option with careful co-ordinate
  38. computation.
  39. Add join lines.
  40. Added. Joining a line (to the next line) pulls up any notes
  41. from the next line into this line's notes.
  42. When lines are inserted/deleted, the REDLINE marks should stay
  43. attached to the correct line(s).
  44. DeleteLine updated to maintain note attachment; Split
  45. already had that change.
  46. delete line
  47. Buffer has DeleteLine(line int) operation; EditPanel uses it
  48. on ^L.
  49. HOME/END
  50. The HOME key takes you to the top of the document, or the bottom
  51. if you're already at the top.
  52. The END key takes you to the left edge of the current line,
  53. or the right end if you're at the left.
  54. Fix bug in DC/BACKSPACE when outside columns
  55. Should be fixed as part of extracting buffers.
  56. Factor out the buffer-manipulation from edit.
  57. Now in edit/buffer, with exposed interface Buffer and
  58. constructor NewBuffer (could perhaps now be just New).
  59. Change names. "panel.Type" doesn't really work. A better name for
  60. "panel" would make ...Panel make sense for the interface.
  61. Type has become View.
  62. Auto-repeat on keys.
  63. Turns out to work for free if you're listening to Press events
  64. as well as Release events. (Maybe even just press events ...)
  65. Yay.
  66. Function keys.
  67. F1 is CMD key.
  68. Remember filename on CMD r
  69. Add CMD s (save file)
  70. Done.
  71. Floaty display over exciting patches of document.
  72. After pruning the mess of incorrect details I
  73. had introduced, it is (a) simple and (b) working.
  74. Name on window.
  75. Done. Maybe an icon would be nice.
  76. Lexer: strings and comments.
  77. Simple strings and // comments done. \ch escapes done
  78. but not \octal or \hex.
  79. Tracking mouse motion.
  80. New At(x, y) method; edit panel responds with log messages on
  81. damaged lines.
  82. Proper keyboard handling.
  83. The first thing we do is ask for the keyboard mapping
  84. and we apply the response to incoming keystrokes.
  85. (CTRL is still done by hand.)
  86. Syntax highlighting.
  87. A primitive version of this is working (for identifiers only).
  88. Coloured strings (etc).
  89. text is now drawn with a coloured (and fonted) pen.
  90. which may just be a context rather than a specialised
  91. object.
  92. rename the P_ methods back.
  93. Done.
  94. Replacing curses with eg X or SDL.
  95. X is replacing curses.