PageRenderTime 10ms CodeModel.GetById 2ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 1ms

/doc/TODO

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