rbcurse 1.5.0 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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)