rbcurse 1.5.0 → 1.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. data/Makefile +21 -0
  2. data/Manifest.txt +6 -0
  3. data/README.markdown +6 -4
  4. data/TODO +372 -0
  5. data/TODO2.txt +121 -0
  6. data/VERSION +1 -1
  7. data/examples/README.txt +67 -0
  8. data/examples/abasiclist.rb +33 -0
  9. data/examples/alpmenu.rb +42 -0
  10. data/examples/app.rb +859 -0
  11. data/examples/app.sample +17 -0
  12. data/examples/appdirtree.rb +74 -0
  13. data/examples/appemail.rb +191 -0
  14. data/examples/appemaillb.rb +308 -0
  15. data/examples/appgcompose.rb +315 -0
  16. data/examples/atree.rb +64 -0
  17. data/examples/common/file.rb +40 -0
  18. data/examples/common/rmail.rb +257 -0
  19. data/examples/data.txt +683 -0
  20. data/examples/data/README.markdown +9 -0
  21. data/examples/data/brew.txt +38 -0
  22. data/examples/data/color.2 +37 -0
  23. data/examples/data/gemlist.txt +60 -0
  24. data/examples/data/lotr.txt +12 -0
  25. data/examples/data/ports.txt +136 -0
  26. data/examples/data/tasks.txt +27 -0
  27. data/examples/data/todocsv.csv +28 -0
  28. data/examples/data/unix1.txt +21 -0
  29. data/examples/data/unix2.txt +11 -0
  30. data/examples/dbdemo.rb +495 -0
  31. data/examples/deprecated/appgmail.rb +952 -0
  32. data/examples/deprecated/splitp.rb +56 -0
  33. data/examples/deprecated/testscrolllb.rb +86 -0
  34. data/examples/deprecated/testscrollp.rb +88 -0
  35. data/examples/deprecated/testscrollta.rb +80 -0
  36. data/examples/deprecated/testscrolltable.rb +165 -0
  37. data/examples/deprecated/testsplit.rb +87 -0
  38. data/examples/deprecated/testsplit2.rb +123 -0
  39. data/examples/deprecated/testsplit3.rb +215 -0
  40. data/examples/deprecated/testsplit3_1.rb +244 -0
  41. data/examples/deprecated/testsplit3a.rb +215 -0
  42. data/examples/deprecated/testsplit3b.rb +237 -0
  43. data/examples/deprecated/testsplitta.rb +148 -0
  44. data/examples/deprecated/testsplittv.rb +142 -0
  45. data/examples/deprecated/testsplittvv.rb +144 -0
  46. data/examples/deprecated/testtpane.rb +215 -0
  47. data/examples/deprecated/testtpane2.rb +145 -0
  48. data/examples/deprecated/testtpanetable.rb +203 -0
  49. data/examples/dirtree.rb +88 -0
  50. data/examples/experimental/resultsetdemo.rb +280 -0
  51. data/examples/experimental/testmform.rb +35 -0
  52. data/examples/experimental/testscroller.rb +117 -0
  53. data/examples/experimental/teststackflow.rb +111 -0
  54. data/examples/menu1.rb +112 -0
  55. data/examples/multispl.rb +86 -0
  56. data/examples/newmessagebox.rb +131 -0
  57. data/examples/newtabbedwindow.rb +100 -0
  58. data/examples/newtesttabp.rb +121 -0
  59. data/examples/qdfilechooser.rb +68 -0
  60. data/examples/rfe.rb +1239 -0
  61. data/examples/rfe_renderer.rb +121 -0
  62. data/examples/sqlc.rb +454 -0
  63. data/examples/sqlm.rb +437 -0
  64. data/examples/sqlt.rb +408 -0
  65. data/examples/status.txt +68 -0
  66. data/examples/table1.rb +24 -0
  67. data/examples/term2.rb +84 -0
  68. data/examples/test1.rb +239 -0
  69. data/examples/test2.rb +674 -0
  70. data/examples/testapp.rb +44 -0
  71. data/examples/testapp2.rb +58 -0
  72. data/examples/testchars.rb +137 -0
  73. data/examples/testcombo.rb +91 -0
  74. data/examples/testkeypress.rb +66 -0
  75. data/examples/testlistbox.rb +113 -0
  76. data/examples/testmenu.rb +101 -0
  77. data/examples/testmulticomp.rb +70 -0
  78. data/examples/testmulticontainer.rb +94 -0
  79. data/examples/testmultispl.rb +199 -0
  80. data/examples/testree.rb +106 -0
  81. data/examples/testtable.rb +264 -0
  82. data/examples/testtabp.rb +107 -0
  83. data/examples/testtodo.rb +584 -0
  84. data/examples/testvimsplit.rb +112 -0
  85. data/examples/testwsshortcuts.rb +64 -0
  86. data/examples/testwsshortcuts2.rb +126 -0
  87. data/examples/todo.db +0 -0
  88. data/examples/todo.yml +191 -0
  89. data/examples/viewtodo.rb +574 -0
  90. data/lib/rbcurse/deprecated/README.markdown +12 -0
  91. data/lib/rbcurse/deprecated/rpad.rb +375 -0
  92. data/lib/rbcurse/deprecated/rscrollpane.rb +512 -0
  93. data/lib/rbcurse/deprecated/rsplitpane.rb +894 -0
  94. data/lib/rbcurse/deprecated/rsplitpane2.rb +1009 -0
  95. data/lib/rbcurse/deprecated/rviewport.rb +204 -0
  96. data/lib/rbcurse/deprecated/widgets/mapper.rb +130 -0
  97. data/lib/rbcurse/deprecated/widgets/rmessagebox.rb +348 -0
  98. data/lib/rbcurse/deprecated/widgets/rtabbedpane.rb +1158 -0
  99. data/lib/rbcurse/deprecated/widgets/rtabbedwindow.rb +167 -0
  100. data/lib/rbcurse/deprecated/widgets/scrollable.rb +301 -0
  101. data/lib/rbcurse/deprecated/widgets/stdscrwindow.rb +309 -0
  102. data/lib/ver/keyboard2.rb +170 -0
  103. data/test/test_rbcurse.rb +0 -0
  104. metadata +131 -9
data/Makefile ADDED
@@ -0,0 +1,21 @@
1
+ DISTFILES := README.markdown TODO2.txt NOTES lib/ examples/
2
+ VERSION := `cat VERSION`
3
+
4
+ #all: install
5
+
6
+ DISTNAME=rbcurse-$(VERSION)
7
+ dist: $(DISTFILES)
8
+ echo "ver: $(VERSION)"
9
+ mkdir -p $(DISTNAME)
10
+ cp -fr $(DISTFILES) $(DISTNAME)/
11
+ rm -rf $(DISTNAME)/examples/expected_output
12
+ tar cf $(DISTNAME).tar $(DISTNAME)/
13
+ gzip -f -9 $(DISTNAME).tar
14
+ zip -9r $(DISTNAME).zip $(DISTNAME)/
15
+ rm -r $(DISTNAME)
16
+
17
+ .PHONY: distclean
18
+ distclean:
19
+ rm -f $(DISTNAME).tar.gz $(DISTNAME).zip
20
+
21
+ #install:
data/Manifest.txt ADDED
@@ -0,0 +1,6 @@
1
+ CHANGELOG
2
+ History.txt
3
+ Manifest.txt
4
+ README.markdown
5
+ Rakefile
6
+ lib/rbcurse.rb
data/README.markdown CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Please install rbcurse-core. I have just released 0.0.0 on Dec 5, 2011.
4
4
 
5
- `gem install rbcurse-core`
5
+ gem install rbcurse-core
6
6
 
7
7
  ## WARNING
8
8
 
@@ -172,9 +172,11 @@ runtime. Very flexible unlike ncurses forms and fields.
172
172
  Splitpanes suffered from the problem of the system not knowing which pane the user was
173
173
  issuing a command (resize) in (when there were embedded panes).
174
174
 
175
- ## Scrollpane - Avoid this. Listboxes and textareas already implement scrolling. I was using pads
176
- to implement a viewport, this was slow esp with scrollpanes within splitpanes, but the copywin() and
177
- related methods often gave errors or seg-faults.
175
+ ## Scrollpane
176
+ Avoid this. Listboxes and textareas already implement scrolling. I was using
177
+ pads to implement a viewport, this was slow esp with scrollpanes within
178
+ splitpanes, but the copywin() and related methods often gave errors or
179
+ seg-faults.
178
180
 
179
181
  ## General terminal related issues.
180
182
 
data/TODO ADDED
@@ -0,0 +1,372 @@
1
+ **Date: 2009-12-14 12:35**
2
+
3
+ Subject: scroll and splitpane - handle_keys ( +widgets)
4
+ -------------------------------------------------------
5
+
6
+ new container widgets need to trap handle_keys, not just motion but
7
+ passing to contained object, e.g. if contained is **editable**.
8
+
9
+ * * *
10
+ **2009-10-13 00:16**
11
+
12
+ ## subwins to pad copying ##
13
+
14
+ 1. `overwrite()` from subwin to pad (both are same dimensions) was returning -1.
15
+ 2. I increased dimensions of pad by 2, return 0, but no effect.
16
+ 3. `copywin` works from subwin to pad (last 2 dimensions given are one less than height and width)
17
+
18
+ So in tabbedpanes, i can use subwindows. When user switches I can write onto a pad.
19
+ Whenevr he enters a tab, i refresh from pad.
20
+
21
+ Else, the best alternative is that I actually write to pad directly and refresh the subwin
22
+ on each update or open-pad. However, we need to make an underlying pad class
23
+ that the user is unaware of.
24
+
25
+
26
+ * * *
27
+ **2009-10-11 22:42**
28
+
29
+ ## copywin, subwins etc ##
30
+
31
+ Okay, so i've got `copywin` working with pads and subwins
32
+ but `copywin` is very sensitive to dimensions and returns a
33
+ -1 (ERR) generously.
34
+ `overwrite` with a pad and root window was fine, but the source goes completely
35
+ onto the window. Can't scroll etc.
36
+ I found even `prefresh` returning a -1 at times.
37
+
38
+ `prefresh` does *not* require any `update_panel` or `wrefresh` it seems,
39
+ and `touchln` was clearing it off.
40
+ `copywin` _does_ require `wrefresh` and `update_panel`.
41
+
42
+ See <http://gist.github.com/207760>
43
+
44
+
45
+ * * *
46
+ **2009-10-11 09:48**
47
+
48
+ ## Create pad class ##
49
+
50
+ We need a pad class like window.
51
+ perhaps Pad < Window.
52
+
53
+ Only then can it be slipped in where Window was used.
54
+
55
+ * * *
56
+ **2009-10-11 09:43**
57
+
58
+ ## Table to use subwin and or pad ##
59
+
60
+ table with its scrolling should have used a pad, right ?
61
+ Currently I repaint each time. However note that tables
62
+ are editable.
63
+
64
+ subwin will prevent overwriting windows.
65
+
66
+ NOTE: subwin have an issue with panels. You cannot
67
+ bring a panel up etc. Have to repaint the whole thing.
68
+
69
+ * * *
70
+ 2009-10-03 11:05
71
+ 1. make compliant with 1.9.1
72
+
73
+ Note:
74
+
75
+ TODO_OLD relates to the Application generator I was writing.
76
+ There's a lot that works there. Given a table name you can do CRUD functions against it.
77
+
78
+ However, that uses the ncurses fields and forms. After creating fields in ruby,
79
+ i've ditched that, and will perhaps redo that with rbcurses.
80
+
81
+ This todo relates to rbcurse, our own ruby fields, forms, widgets and application related goodies.
82
+
83
+
84
+ APPS TO DO:
85
+
86
+ DONE: sql viewer: this will properly test tables with each query sending totally different data struct
87
+ or just diff rows. Also, we can address empty tables.
88
+
89
+ DONE: Something like Pilot file browser - wip, two paned.
90
+
91
+
92
+ Add multiple select operations to Finder
93
+ Add construct to sqlc.
94
+
95
+ MUST DO:
96
+ ========
97
+
98
+ +----------+
99
+ | TO FIX |
100
+ +----------+
101
+ listscrollable: search mor than one match in line !
102
+
103
+ messagebox width of input is 30, how to increase!
104
+ List selection methods not firing any changed event on table.
105
+
106
+ Perhaps: M-; should be select with M-: as add to selection. Like mouse click and Cmd+click
107
+ Should navigation select ??
108
+
109
+ Table: if cell_selection_allowed not true we should be able to select row as a whole (which should be
110
+ default).
111
+
112
+ Textview search: work on case, and wrap around.
113
+ TextView's set_form_col does not scroll horiz. That has to be done prior, so set_form_col cannot be used as is expecting that to happen. And example is in C-e.
114
+ Listbox search: since this search sets form col too, it messes with form col here.
115
+
116
+ Gen: when binding, we should check if that event is fireable. So widgets shold register their events first.
117
+
118
+ Table: newlines scrood up display (select name, sql from sqlite_master)
119
+
120
+ TextArea: remove_all (should it not be clear() ) -- should be set_text with blank
121
+
122
+
123
+ handle_keys logic: some cases can return unhandled in which case we must still check furhter. So else
124
+ should be taken and put outside the loop and run if no one handled (a flag)
125
+
126
+ In some cases will use a flag (like textarea, where you don't wanna match old val)
127
+
128
+ TEXTAREA : test with a wide box, larger than width of rows
129
+ Give option of no wrap, and panning
130
+
131
+
132
+ EDITING TABLES:
133
+ Page down keeps selection on 3rd row from last. This happens since bounds_check tries to keep
134
+ table full.
135
+
136
+ If you delete a row, then selections get messed, since row selectoin uses indexes into table
137
+
138
+
139
+
140
+ also, user may put a hook on on_leave, shoud check for exception and not proceed.
141
+
142
+ Unlike a field, a field or editing comp in a table can have many exit paths - page up down, up down, next col prev col etc. We need to validate the field in each case and disallow navigation if error raised.
143
+
144
+ - searching DONE 2009-01-26 22:20
145
+
146
+ however, check boxes etc should have auto editing.
147
+
148
+ WHEN we delete a row, what happens. Is its on_leave still fired ? XXX Or the on_leave of the next
149
+ row! in such case no on_leave should happen.
150
+
151
+ EDITING LISTS:
152
+
153
+ make the keys definable as in table
154
+ clean up handle_keys - done to some extent. Not ideal though.
155
+ - We are not calling on_leave and on_enter of cell_editor component ??
156
+
157
+ POPUP LIST:
158
+
159
+ make edits such (calling editor) so it can defined on a key. In Finder, we press Enter to get into
160
+ edit mode.
161
+
162
+ separate methods in utils for get_selected_color, get_focussed_color etc
163
+
164
+ Don;t update other widgets unless datachanged or properties changed. As in table.
165
+ Properties: redraw only when property change or data change, not each time. Esp for label.
166
+ TODO for field and buttons.
167
+
168
+ fire_handler LIST_COMBO_SELECT <-- nope this is a bad name taken from Tk. LIST_SELECTION_EVENT is proper.
169
+
170
+ textarea check if print border in initialize. NOPE>
171
+
172
+
173
+ - can't call down up etc directly, since post_key still needs to be called. have to call handle_key KEY_UP etc.
174
+ check if this is still true.
175
+
176
+
177
+ 1. popup lists/combo lists: correct inconsistency in firing of event. RETURN vs SELECT
178
+
179
+
180
+ sizing of messageboxes
181
+
182
+
183
+ - scrollable Field and List and TextArea/View. programmatic scrolling
184
+ setScrollOffset, making a row visible
185
+ set_buffer alias set_text or setvalue ?
186
+
187
+ Action: setting enabled should affect component.
188
+ Listeners and event firing.
189
+
190
+ -----------
191
+ ## ISSUES
192
+ -----------
193
+ Some possible bugs in TextArea wrapping.
194
+ When a word is carried dowm, it shold gt carried back up too if i pt a space
195
+ inside. However, even vim does not do this, btw.
196
+
197
+
198
+ Textarea bug: if line inserted is gt maxlen then it is split but when writing
199
+ to disk a space will be added. This is a bug only if the line has NO SPACE in
200
+ it.
201
+
202
+ +----------+
203
+ | TO ADD |
204
+ +----------+
205
+
206
+ TABLE:
207
+ auto resizeing of columns so they expand to fill total width - recursively add one to each
208
+ till max_width reached or total filled.
209
+
210
+ LISTBOX EDITING:
211
+ option to edit on a key: is_editing stuff
212
+
213
+ EDITING IN TABLES:
214
+ Sorting of tables using intermediate view that maps jtable to model - not imp
215
+
216
+ TABBED:
217
+
218
+ FORM: on_enter, on_exit - currently the on_enter and leave is for widgets as in ncurses.
219
+
220
+ - Listbox : status or detail, row m or n.
221
+ Search up and down - DONE
222
+
223
+ - Text Area: INS/OVW
224
+ - TextArea: choice of word wrap, col wrap or no wrap.
225
+ - TextView: choice of word wrap, col wrap or no wrap.
226
+
227
+
228
+
229
+ 3. Field and TextArea: OVERWRITE mode,
230
+ FIELD justification mode (after tabout),
231
+ FIELD - auto_skip (after reaching end),
232
+ managing_focus() : true means it will eat a tab (insert a tab in case of textarea).
233
+
234
+
235
+ Tabbedpane needs to look okay if change colors. At least should be able to switch to reverse.
236
+
237
+
238
+
239
+ if there is no next, should onleave be fired ?
240
+
241
+ focus_traversable - bool: tabbing won't get focus, but can be focussed by Enter (default) or hotkey.
242
+
243
+ FileChooser, FileSaver
244
+
245
+ RECENTLY DONE:
246
+ --------------
247
+ WE need to clean up that space between cells also when panning, just in case.
248
+ Table doesn't know how many cols displayed, e,g editing, tabbing - DONE
249
+ WHEN scrolling, cancel editing.
250
+ Table: adhoc queries, need to fill up width
251
+ TextView lacks backward and forward searching, search messagebox should have checkbox for backward.
252
+ TextArea - that stupid newline i put. DONE but more testing
253
+ DefaultListSelectionModel does not fire a ListSelectionEvent - done 2009-02-14 00:27
254
+ Table - if more columns than displayable, how about panning ?
255
+ Tabbed Pane may want to add OK, or OK_CANCEL buttons. - done
256
+ Tabledemo: testtable.rb: checkboxes not showing X (true) when row not focussed! - Done, rel as 0.1.1
257
+ Menuitem: disabled, what if no action (not armed). disabled - cyan color. If no
258
+ action, that's okay since we can have listeners that will act on index
259
+ selected.
260
+ LABEL to take ampersand also. ?? No there could be legit ampersands. Also only if label_for.
261
+ Each widget coukd hve its own popup menu (like right click) with its own options. Hey, we don't have
262
+ a popup menu. 2009-01-21
263
+ Delete does not result in any on_enter event firing. But then we are dealing with row???
264
+ OUCH - on_enter reqired otherwise editor has old value!
265
+
266
+ COMBO: either choice of disabling arrow keys for table. or have sep editing option for table
267
+ so some fields not accidentally changed. - unbind
268
+
269
+ COMBO: case insensitive search (llist.combo etc) 2009-01-18 22:13
270
+ cell_editors created on demand, not in beginning. thus, we can't attach a hook to a field.
271
+ No, there is a simple way as done in testtable
272
+ modified should be a method, in most cases will check orig value.
273
+ Field: ESC to put back original value. OK. Needed dup!
274
+ if selected index is not visible, it needs to scroll down and make that visible - done 2009-01-17 13:36
275
+ globally replace RVariable with Variable and remove Variable - 2009-01-17 12:13
276
+ listbox searching - done 2009-01-14 13:30
277
+ Cancelling edits in lists. DONE. C-c or ESC 2009-01-13 22:12
278
+
279
+ EDITING IN TABLES:
280
+ issue with auto_editing is how to go to next col since arrows are required in editing fields.
281
+ currently using alt-tab for next_col
282
+
283
+ - We are not calling on_leave and on_enter of cell_editor component -done 01-16
284
+ on_leave stop any editor that may be active - DONE 2009-01-16 23:55
285
+ some cols editable, some not (as in Finder). - TO TEST - DONE 2009-01-16 23:55
286
+ >>> Keep option of editing live as in Listbox. add option of automatic editing on enter
287
+ on_enter_cell on_leave_cell and other events
288
+ Now that lists have editable field/combo/check, try editing multicolumn tables.
289
+ All that i need to do, is put celleditor and cellrenderer in TableColumn, and use that
290
+ as done in list.
291
+ actually there's more: moving into cells. TAB is strictly for movement across fields.
292
+ Listbox. when cursor enters, cursor should be shown on selected row which could
293
+ be another row, if we tabbed out earlier. Curently, always shows on row 0 when entering a list. DONE
294
+ Form was setting cursor after calling on_enter.
295
+
296
+
297
+ REDO Listbox, TextArea and TextView withuth scrollable, selectable.
298
+ Field: if set_buffer sets numeric or float we should be intelligent and return edited values in same way,
299
+ and not crash.
300
+ For toggle, checkbutton etc it is variable, not textvariable
301
+ Field to also have change event.
302
+ Moved Textarea and Textview to Listscrollabel and now both paint only when modified.
303
+ 2. cleanup scrollable code esp repaint method.
304
+ Its okay to have scrollable and selectable, but call methods in them, rather than pass handlekey to them.
305
+ Also don't delegate paint to them.
306
+ Actually passing handle_key was an okay idea.
307
+
308
+ TextView, how about wrapping option ? 2009-01-08 20:56
309
+ Newlistbox : if select_mode is single then clear previous selections.
310
+ Also move to next selection and previous.
311
+ if no focusable widget, stack overflow. XXX Make next_field safer. DONE 2009-01-08 12:58
312
+
313
+ text components: get set add keymap, get action for keystroke etc
314
+ or will this make each widget heavy? TextArea/View may require for attaching actions/movement etc
315
+
316
+ menu's Exit, throws close without destroying menu (i suspect). It should close menu then app. 2009-01-01 13:16
317
+
318
+ if text_variable, when updateing value also puts object name, then it can multiplex across many objcts like a set of checkboxes, like a model ? One such object can be used fr all fields and inside it update a hash.
319
+
320
+ Save data from TextArea and see whether we've scrood it up or not.
321
+ With changes to Listbox (model) now list_variable seems useless.
322
+ Add tabbed pane to test2.rb and integrate so i see how it actually integrates.
323
+ Togglebutton - selected (bool)
324
+ Label should be able to take height and wrap. - DONE 2008-12-30 23:52
325
+ alert, confirm boxes in single line. put in test2 - done 2008-12-30 23:53
326
+ - TextView and Area: current row, col. INS/OVW
327
+ - TextArea : show a $ if newline at end of line. DONE
328
+ TextArea: recursive wrap till end of para, otherwise words go out of buffer area. 2008-12-28
329
+ cursor position in button, cb and radio - 2008-12-25 19:21
330
+ Used ACS_ codes to make better boxes, wonder why I didn't do that before. Was going the lynx way.
331
+
332
+ Widget - event LEAVE and CHANGED should be separate. Currently validations happen on LEAVE.
333
+ - Done. test more.
334
+
335
+ combo attr for position below, above, centered, on. - DONE
336
+ textarea and textview eating alt-keys! - DONE.
337
+
338
+ textarea - CHANGE Event must give meaningful details such as offset start/end of change, text added or removed, type of change (ADD/REM/CHANGE) as in Listbox. DONE.
339
+
340
+ Combo - list of 3 is showing only 2 in max visible, need to scroll down for 3rd/: @height helps
341
+
342
+ - quick dialogs for alert, confirm, etc
343
+ =========
344
+ Thoughts:
345
+ =========
346
+
347
+ if repaint gets a handle for form.window then it neednt worry about getting initialized with form/window.
348
+ in other words, when a widget needs a window ref it shd be given one..
349
+ Similaryl how can we remove haing to pass Form. That way one can create independent fields/widgets.
350
+
351
+
352
+ text_variable etc: when set should class register with text_variable to be updated on change so it can repaint.
353
+ or should it always repaint by default, if based on Variable.
354
+
355
+ error messages - should they be popped up ? or choice of status bar and pop up.
356
+
357
+ - create and fire events only if someones listening. ??
358
+
359
+ - make a sample data entry form (CRUD), so we can see how things really work.
360
+
361
+ - filechooser
362
+ - simple date widget YYYY-MM-DD using 3 fields
363
+
364
+ - Action classes (like Java swing) which can be passed to a menu, button, or key. Also, disabling will disable for all.
365
+
366
+ - toolbar ?
367
+
368
+ - application class as per QT http://doc.trolltech.com/4.4-snapshot/mainclasses.html
369
+
370
+ - status bar, main window ?
371
+
372
+ - allow user to access history and enter from it, for field
data/TODO2.txt ADDED
@@ -0,0 +1,121 @@
1
+ 1 [x] (1) buffered version of Listbox (2009-12-26) (x2010-01-18)
2
+ - 1.1 [x] what form is celleditor using. check and fix (2010-01-04) (x2010-01-05) (x2010-01-07)
3
+ - 1.2 [x] scrollpane scrollin till 18th row only  * Use downarrow to go down (2010-01-04) (x2010-01-05) (x2010-01-07)
4
+ - 1.3 [x] testscrolllb.rb on enter cursor at pos 0 io 5th or so. Ok in test2.rb (2010-01-05) (x2010-01-18)
5
+ 2 [x] buffered version of TextArea (2009-12-26) (x2010-01-19)
6
+ - 2.1 [x] cursor position not updated when insert text  * just testing indentation (2009-12-27) (x2009-12-31)
7
+ - 2.1.1 [x] we have to set main forms row and col from rbtextarea (2009-12-28) (x2009-12-31)
8
+ - 2.1.2 [x] to factor in rscrollpane's coords, so cursor inside scr (2009-12-28) (x2009-12-31)
9
+ - 2.3 [x] remove var oldcli since not using (2010-01-04) (x2010-01-07)
10
+ 3 [x] rscrollpane needs on_enter and set_form_row etc (2009-12-26) (x2009-12-28)
11
+ 4 [x] check how is cursor managed by rtabbedpane (2009-12-28) (x2009-12-29)
12
+ - 4.1 [x] rtabbedpane does its own highlighting (2009-12-29) (x2009-12-29)
13
+ 6 [x] make form.set_form_row which bubbles up row and colrather than directly setting row and col (2009-12-29) (x2009-12-31)
14
+ 7 [x] (A) change addrowcol to percolate up too (2009-12-29) (x2010-01-05)
15
+ 8 [x] (A) change direct references to form.row and col to call methods (2009-12-29) (x2010-02-18)
16
+ 10 [x] @scrollpane needs to stop scrolling if no more data - actually it does, i had made the textarea large (2009-12-29) (x2009-12-29)
17
+ 11 [x] (A) new textarea breaks test2.rb. see what on, no display  * display happens on focus/keypress in test2.rb  * display happens on up down arrow, not left right. check if repaint is called comparing old and new files  * Ack listbox is erasing or overwriting new textarea - very strange  * now buffered object write to main window, so window does not overwrite (2009-12-31) (x2010-01-03)
18
+ - 11.1 [x] textarea: footer not showing (2010-01-01) (x2010-01-02)
19
+ - 11.2 [x] textarea: some flag not updated on a s d f, not showing in testkeypress.rb (2010-01-01) (x2010-01-01)
20
+ 12 [x] (A) review rwidget code regarding printing  * which window does textarea print on, is it transferred to main window  * now buffered object write to main window, so window does not overwrite (2010-01-03) (x2010-01-03)
21
+ 13 [x] (A) review just print_title and border since they overwrite textarea (2010-01-03) (x2010-01-03)
22
+ 14 [x] copy testwidget to textview and tv to old (2010-01-03) (x2010-01-03)
23
+ 15 [x] buffered version of Table (2010-01-03) (x2010-01-19)
24
+ 16 [x] (2) putting buffered objects in splitpane and testing (2010-01-03) (x2010-02-27)
25
+ - 16.1 [x] testing textviews inside splitpane (2010-01-06) (x2010-01-13)
26
+ - 16.1.1 [x] test various keys in splitpane with textview (2010-01-08) (x2010-01-13)
27
+ - 16.2 [x] add oneTouchExpandable to +splitpane (2010-01-09) (x2010-02-27)
28
+ - 16.3 [x] test splitpane with textareas (2010-01-13) (x2010-01-18)
29
+ - 16.4 [x] test splitpane with one splitpane and 3 textviews (2010-01-13) (x2010-01-18)
30
+ - 16.5 [x] test splitpane with scrollpane and textviews (2010-01-15) (x2010-01-18)
31
+ 18 [x] (A) popups now showing one blak line below. need to adjust (2010-01-05) (x2010-01-06)
32
+ 19 [x] make a scrollable form using Pad. Hint: scrollpane does that. (2010-01-06) (x2010-03-07)
33
+ 20 [x] (A) investigate crash +splitpane, ht is ht/2-1 and you scroll C-n (2010-01-09) (x2010-01-11)
34
+ - 20.1 [x] fixed for HORIZ, but do for VERT (2010-01-09) (x2010-01-11)
35
+ 21 [x] test out tabbedpane, and compare code with scroll (newtesttabp.rb) (2010-01-10) (x2010-02-21)
36
+ 22 [x] (A) sudden blank line in FC in splitpane see testsplittv.rb and tvv.rb  * that's due to top and left 0 by default in create_buffer (2010-01-11) (x2010-01-12)
37
+ 23 [x] how to pass top left etc to widget so when it does a create_buffer those values are reached  * set_buffering does this (2010-01-12) (x2010-02-18)
38
+ 24 [x] add parent attrib, pass parent in child() and first_component, add a method to pushup row and col adding roffset and coloffset at each level (2010-01-12) (x2010-01-13)
39
+ 26 [x] Splitpane: Vert mode, comp 2 doesn't retain cursor when moving (2010-01-13) (x2010-01-13)
40
+ 27 [x] (A) TextArea fix direct calls to form.row and form.col (2010-01-14) (x2010-01-14)
41
+ 28 [x] (A) TextArea: borders get overwritten  * chomp was required when using << (2010-01-14) (x2010-01-14)
42
+ 29 [x] what if we don't want to print borders, since that eats an extraline and col. Can we switch off and reclaim the line and col (2010-01-15) (x2010-02-18)
43
+ 31 [x] move create_buffer to repaintin TA and TV and others, so that enduser does not have to bother. scroll and split can set internally  * All create_buffer calls moved to repaint. Maybe table pending (2010-01-16) (x2010-02-18)
44
+ 37 [x] (B) test rtable in splitpane and scrollpanes  * done rtable in scrollpane (2010-01-18) (x2010-02-24)
45
+ 38 [x] (B) test various widgets inside rtabbedpane (2010-01-19) (x2010-02-22)
46
+ 41 [x] Textareas: C-a C-e does not repain which is good, but footer not updated (2010-01-23) (x2010-01-25)
47
+ 42 [x] check where we are directly calling wmove and why (2010-01-23) (x2010-01-25)
48
+ 43 [x] we need to pass actual highest form down as well as each components absolute coords so cursor display can happen quickly and accurately.  * RFED16 branch has absolute positioning (2010-01-23) (x2010-02-18)
49
+ 44 [x] TextView: add more vi keys (2010-02-07) (x2010-02-24)
50
+ 46 [x] RFED16 branch: Redo table as per new simple approach (2010-02-18) (x2010-02-19)
51
+ 47 [x] RFED16 branch: Redo tabbedpane as per new simple approach (2010-02-18) (x2010-02-21)
52
+ 49 [x] (A) Tabbing in top of tabbedpane gives funny staggered effect ?? (2010-02-21) (x2010-02-22)
53
+ 50 [x] (A) Tabbedpane: scrolling not updating N and P (2010-02-21) (x2010-03-01)
54
+ 51 [x] TabbedPane: add on the fly tabs in tabbedpane - what about second level (2010-02-21) (x2010-03-05)
55
+ 53 [x] Splitpane needs multiplier for resizing panes (2010-02-24) (x2010-02-26)
56
+ 54 [x] Scrollpane needs multiplier for scrolling (2010-02-24) (x2010-02-26)
57
+ 55 [x] (1) keymapping: add symbols and test mapping externally (2010-02-27) (x2010-02-27)
58
+ 56 [x] (A) Splitpane: add oneTouchExpandable to +splitpane (2010-02-27) (x2010-03-05)
59
+ 57 [x] TabbedPane: can we directly add component (2010-02-27) (x2010-03-01)
60
+ 60 [x] (A) Textview: should scroll horizontally (2010-02-28) (x2010-03-05)
61
+ 62 [x] (A) TabbedPane: remove subheading, wastes space (2010-03-01) (x2010-03-02)
62
+ 63 [x] (E) some means of editing a string at a location wiht option of C-c or Esc and default, take from commons1.rb (2010-03-05) (x2010-03-06)
63
+ 64 [x] (F) TextArea and TextView Field Table etc: yanking and pasting globally (2010-03-05) (x2010-03-10)
64
+ 65 [x] (F) textarea needs some undo more than just undelete_line  * http://rbcurse.tumblr.com/post/429578665/undo-in-text-widgets (2010-03-05) (x2010-03-12)
65
+ 66 [x] (E) Text object should have ability to read in a text file with key (2010-03-05) (x2010-03-12)
66
+ 70 [x] (E) rbgetstr: tab completion, as in filename completion etc (2010-03-06) (x2010-03-12)
67
+ 71 [x] (D) Demo: using scrollform (2010-03-07) (x2010-03-16)
68
+ 72 [ ] (F) TextView: keymaps. p 699 (2010-03-07)
69
+ 73 [ ] (F) TextView: freezing an area horiz vertically (2010-03-07)
70
+ 74 [x] General: move key bindings to bind_key so user can see what's bound (2010-03-07)
71
+ 78 [x] (A) Undo: refactor undomanager and undohandler (2010-03-08) (x2010-03-10)
72
+ 79 [x] (A) Demo: get sqlc.rb demo running (2010-03-09) (x2010-03-14)
73
+ 80 [x] firehandler: can we combine consecutive ones into one, passing an array? (2010-03-09) (x2010-03-12)
74
+ 81 [x] (F) Textview: multiple buffer version (2010-03-10) (x2010-03-12)
75
+ 82 [x] (F) Textview: partial editable version (2010-03-10) (x2010-03-12)
76
+ 83 [x] make error_message into a Variable, so app can attach it to a label if required (2010-03-11)
77
+ 84 [x] (A) move some edit methods from textarea into module so we can call with diff bindings from textview editable (2010-03-12) (x2010-03-12)
78
+ 85 [x] (F) how about getting ascii tables in here for sql stuff (2010-03-12)
79
+ 87 [x] (E) MultiTextView: list buffers to do (2010-03-12) (x2010-03-15)
80
+ 88 [x] (E) TextV+A, when printing a screenful, store actual maxlen for scrolling left (2010-03-12) (x2010-03-13)
81
+ 91 [x] (B) tabbedpane: adding new tab dyn, not immediately shown (2010-03-14) (x2010-03-15)
82
+ 94 [x] (F) MultiContainer: takes n objects, fills, one can cycle, just as in MultiTextView except that any component can be put. (2010-03-15) (x2010-03-15)
83
+ 97 [x] (A) Scrollform : dont we need some indicators or bars (2010-03-17) (x2010-03-18)
84
+ 98 [x] (A) SCrollFOrm: cursor not on first field to start with (2010-03-17) (x2010-03-18)
85
+ 99 [ ] scrollform demo: add larger objects like textview and test (2010-03-18)
86
+ 100 [x] (A) sqlm.rb finish this with multicontainer and table (2010-03-19) (x2010-03-19)
87
+ 101 [x] Menu: simpler rewrite ?? (2010-03-20)
88
+ 102 [x] (A) TabbedPane: rewrite (2011-09-21)
89
+ 103 [x] Messagebox: rewrite (2011-09-21)
90
+ 104 [x] (E) Gen: catching extended keys C-left, S-F10 (2011-09-21)
91
+ 105 [x] (A) Window: combine array into existing constructor (2011-09-21)
92
+ 106 [x] (A) gen: check if that buffering nonsense is still being used? (2011-09-21)
93
+ 107 [ ] (F) find_file like microemacs (2011-09-21)
94
+ 108 [ ] (F) color schemes (applying at form or app level) (2011-09-21)
95
+ 109 [ ] (E) App: stack and flow to be objects so RESIZE can happen (2011-09-21)
96
+ 110 [ ] Minor stuff (2011-09-21)
97
+ 110.1 [ ] (O) Make event objects only if some listener exists (2010-03-08)
98
+ 110.2 [ ] (F) how to map : bind w, 12j (to another key binding)  * if recogn as keys, then call handle_key on self with each key in array (2010-03-01)
99
+ 110.3 [ ] (E) Text objects: execute ex commands ???  * printf '%cs/change this/to that/nwq' '%' | ex file.name (2010-03-05)
100
+ 110.4 [ ] (E) TextView etal: store path so save can be done? (2010-03-12)
101
+ 110.5 [ ] (E) table: yank one or more rows into kill ring as comma delim (2010-03-17)
102
+ 110.6 [ ] Table needs multiplier for resizing cols (2010-02-24)
103
+ 110.8 [ ] (O) maybe we should combine set_form_row and col since we call them one after another nowadays (2010-01-16)
104
+ 110.12 [x] a Box class = would that help? (2010-03-08)
105
+ 111 [ ] (B) me: arrow down and up moves vertically not to next field (2011-09-21)
106
+ 112 [ ] (E) app: add popup (2011-09-21)
107
+ 113 [ ] (F) basic html view like alpine help with link, underline (2011-09-21)
108
+ 115 [ ] (F) widgets shd add major keys to keylabel if present (2011-09-28)
109
+ 116 [ ] (F) colormap can check for colorscheme before setting colors (2011-10-01)
110
+ 117 [ ] make readme and homepage simple and clean like urwid (2011-10-01)
111
+ 118 [x] return self from dsl_property and dsl_accessor (2011-10-02)
112
+ 119 [x] PropertyVetoException to disallow change (2011-10-02)
113
+ 120 [x] StatusWindow: 2 line bottom window for alert, confirm and status (2011-10-02)
114
+ 121 [x] cleanup Widget and others, remove buffering nonsense (2011-10-02)
115
+ 122 [x] Add valid_range to Field (2011-10-02)
116
+ 123 [x] (A) Make listbox data more accessible from lb class (2011-10-02)
117
+ 124 [x] look at sandy,ne,pygments source for ncurses syntax highlighting (2011-10-07)
118
+ 125 [x] 1.5.0: replace messagebox with new version, deprecate old (2011-11-17)
119
+ 126 [x] 1.5.0: replace tabbedpane with new version, deprecate old (2011-11-17)
120
+ 127 [x] 1.5.0: change paths based on new structure, and chg requires (2011-11-17)
121
+ 128 [x] 1.5.0: chg names of rbasiclistbox and listbox (2011-11-17)