rbcurse 1.4.1 → 1.5.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. data/CHANGELOG +31 -0
  2. data/README.markdown +69 -11
  3. data/VERSION +1 -1
  4. data/lib/rbcurse.rb +5 -5
  5. metadata +10 -198
  6. data/Makefile +0 -21
  7. data/Manifest.txt +0 -91
  8. data/TODO +0 -372
  9. data/TODO2.txt +0 -118
  10. data/examples/README.txt +0 -67
  11. data/examples/abasiclist.rb +0 -33
  12. data/examples/alpmenu.rb +0 -42
  13. data/examples/app.rb +0 -859
  14. data/examples/app.sample +0 -10
  15. data/examples/appdirtree.rb +0 -75
  16. data/examples/appemail.rb +0 -191
  17. data/examples/appemaillb.rb +0 -308
  18. data/examples/appgcompose.rb +0 -315
  19. data/examples/atree.rb +0 -64
  20. data/examples/common/file.rb +0 -40
  21. data/examples/common/rmail.rb +0 -257
  22. data/examples/data.txt +0 -683
  23. data/examples/data/README.markdown +0 -9
  24. data/examples/data/brew.txt +0 -38
  25. data/examples/data/color.2 +0 -37
  26. data/examples/data/gemlist.txt +0 -60
  27. data/examples/data/lotr.txt +0 -12
  28. data/examples/data/ports.txt +0 -136
  29. data/examples/data/tasks.txt +0 -27
  30. data/examples/data/todocsv.csv +0 -28
  31. data/examples/data/unix1.txt +0 -21
  32. data/examples/data/unix2.txt +0 -11
  33. data/examples/dbdemo.rb +0 -495
  34. data/examples/deprecated/appgmail.rb +0 -952
  35. data/examples/deprecated/splitp.rb +0 -56
  36. data/examples/deprecated/testscrolllb.rb +0 -86
  37. data/examples/deprecated/testscrollp.rb +0 -88
  38. data/examples/deprecated/testscrollta.rb +0 -80
  39. data/examples/deprecated/testscrolltable.rb +0 -165
  40. data/examples/deprecated/testsplit.rb +0 -87
  41. data/examples/deprecated/testsplit2.rb +0 -123
  42. data/examples/deprecated/testsplit3.rb +0 -215
  43. data/examples/deprecated/testsplit3_1.rb +0 -244
  44. data/examples/deprecated/testsplit3a.rb +0 -215
  45. data/examples/deprecated/testsplit3b.rb +0 -237
  46. data/examples/deprecated/testsplitta.rb +0 -148
  47. data/examples/deprecated/testsplittv.rb +0 -142
  48. data/examples/deprecated/testsplittvv.rb +0 -144
  49. data/examples/deprecated/testtpane.rb +0 -215
  50. data/examples/deprecated/testtpane2.rb +0 -145
  51. data/examples/deprecated/testtpanetable.rb +0 -203
  52. data/examples/dirtree.rb +0 -88
  53. data/examples/experimental/resultsetdemo.rb +0 -280
  54. data/examples/experimental/testmform.rb +0 -35
  55. data/examples/experimental/testscroller.rb +0 -117
  56. data/examples/experimental/teststackflow.rb +0 -111
  57. data/examples/menu1.rb +0 -112
  58. data/examples/multispl.rb +0 -86
  59. data/examples/newmessagebox.rb +0 -130
  60. data/examples/newtabbedwindow.rb +0 -100
  61. data/examples/newtesttabp.rb +0 -121
  62. data/examples/qdfilechooser.rb +0 -68
  63. data/examples/rfe.rb +0 -1195
  64. data/examples/rfe_renderer.rb +0 -121
  65. data/examples/sqlc.rb +0 -454
  66. data/examples/sqlm.rb +0 -437
  67. data/examples/sqlt.rb +0 -408
  68. data/examples/status.txt +0 -68
  69. data/examples/table1.rb +0 -24
  70. data/examples/term2.rb +0 -84
  71. data/examples/test1.rb +0 -239
  72. data/examples/test2.rb +0 -674
  73. data/examples/testapp.rb +0 -44
  74. data/examples/testapp2.rb +0 -58
  75. data/examples/testchars.rb +0 -137
  76. data/examples/testcombo.rb +0 -91
  77. data/examples/testkeypress.rb +0 -66
  78. data/examples/testlistbox.rb +0 -113
  79. data/examples/testmenu.rb +0 -101
  80. data/examples/testmulticomp.rb +0 -70
  81. data/examples/testmulticontainer.rb +0 -94
  82. data/examples/testmultispl.rb +0 -199
  83. data/examples/testree.rb +0 -106
  84. data/examples/testtable.rb +0 -263
  85. data/examples/testtabp.rb +0 -107
  86. data/examples/testtodo.rb +0 -584
  87. data/examples/testvimsplit.rb +0 -112
  88. data/examples/testwsshortcuts.rb +0 -64
  89. data/examples/testwsshortcuts2.rb +0 -126
  90. data/examples/todo.db +0 -0
  91. data/examples/todo.yml +0 -191
  92. data/examples/viewtodo.rb +0 -574
  93. data/lib/rbcurse/action.rb +0 -40
  94. data/lib/rbcurse/app.rb +0 -1374
  95. data/lib/rbcurse/applicationheader.rb +0 -102
  96. data/lib/rbcurse/celleditor.rb +0 -112
  97. data/lib/rbcurse/checkboxcellrenderer.rb +0 -57
  98. data/lib/rbcurse/colormap.rb +0 -159
  99. data/lib/rbcurse/comboboxcellrenderer.rb +0 -30
  100. data/lib/rbcurse/common/ansiparser.rb +0 -117
  101. data/lib/rbcurse/common/appmethods.rb +0 -112
  102. data/lib/rbcurse/common/basestack.rb +0 -407
  103. data/lib/rbcurse/common/bordertitle.rb +0 -41
  104. data/lib/rbcurse/common/chunk.rb +0 -177
  105. data/lib/rbcurse/common/colorparser.rb +0 -71
  106. data/lib/rbcurse/common/keydefs.rb +0 -30
  107. data/lib/rbcurse/common/widgetshortcuts.rb +0 -302
  108. data/lib/rbcurse/defaultlistselectionmodel.rb +0 -79
  109. data/lib/rbcurse/deprecated/README.markdown +0 -12
  110. data/lib/rbcurse/deprecated/rscrollpane.rb +0 -512
  111. data/lib/rbcurse/deprecated/rsplitpane.rb +0 -894
  112. data/lib/rbcurse/deprecated/rsplitpane2.rb +0 -1009
  113. data/lib/rbcurse/deprecated/rviewport.rb +0 -204
  114. data/lib/rbcurse/experimental/README.markdown +0 -14
  115. data/lib/rbcurse/experimental/resultsettextview.rb +0 -585
  116. data/lib/rbcurse/experimental/stackflow.rb +0 -478
  117. data/lib/rbcurse/extras/bottomline.rb +0 -1850
  118. data/lib/rbcurse/extras/box.rb +0 -58
  119. data/lib/rbcurse/extras/directorylist.rb +0 -467
  120. data/lib/rbcurse/extras/directorytree.rb +0 -69
  121. data/lib/rbcurse/extras/divider.rb +0 -310
  122. data/lib/rbcurse/extras/focusmanager.rb +0 -31
  123. data/lib/rbcurse/extras/horizlist.rb +0 -203
  124. data/lib/rbcurse/extras/listselectable.rb +0 -264
  125. data/lib/rbcurse/extras/masterdetail.rb +0 -166
  126. data/lib/rbcurse/extras/menutree.rb +0 -63
  127. data/lib/rbcurse/extras/multiform.rb +0 -330
  128. data/lib/rbcurse/extras/multilinelabel.rb +0 -142
  129. data/lib/rbcurse/extras/newmessagebox.rb +0 -328
  130. data/lib/rbcurse/extras/newtabbedpane.rb +0 -612
  131. data/lib/rbcurse/extras/newtabbedwindow.rb +0 -68
  132. data/lib/rbcurse/extras/padreader.rb +0 -189
  133. data/lib/rbcurse/extras/rcomboedit.rb +0 -256
  134. data/lib/rbcurse/extras/resultsetbrowser.rb +0 -281
  135. data/lib/rbcurse/extras/rlink.rb +0 -27
  136. data/lib/rbcurse/extras/rmenulink.rb +0 -21
  137. data/lib/rbcurse/extras/scrollbar.rb +0 -143
  138. data/lib/rbcurse/extras/statusline.rb +0 -94
  139. data/lib/rbcurse/extras/stdscrwindow.rb +0 -309
  140. data/lib/rbcurse/extras/tableextended.rb +0 -40
  141. data/lib/rbcurse/extras/tabular.rb +0 -264
  142. data/lib/rbcurse/extras/tabularwidget.rb +0 -1150
  143. data/lib/rbcurse/extras/textpad.rb +0 -516
  144. data/lib/rbcurse/extras/viewer.rb +0 -136
  145. data/lib/rbcurse/io.rb +0 -850
  146. data/lib/rbcurse/keylabelprinter.rb +0 -178
  147. data/lib/rbcurse/listcellrenderer.rb +0 -140
  148. data/lib/rbcurse/listeditable.rb +0 -310
  149. data/lib/rbcurse/listkeys.rb +0 -37
  150. data/lib/rbcurse/listscrollable.rb +0 -564
  151. data/lib/rbcurse/listselectable.rb +0 -142
  152. data/lib/rbcurse/mapper.rb +0 -130
  153. data/lib/rbcurse/orderedhash.rb +0 -77
  154. data/lib/rbcurse/ractionevent.rb +0 -67
  155. data/lib/rbcurse/rbasiclistbox.rb +0 -768
  156. data/lib/rbcurse/rchangeevent.rb +0 -27
  157. data/lib/rbcurse/rcombo.rb +0 -238
  158. data/lib/rbcurse/rcommandwindow.rb +0 -587
  159. data/lib/rbcurse/rcontainer.rb +0 -415
  160. data/lib/rbcurse/rdialogs.rb +0 -451
  161. data/lib/rbcurse/rinputdataevent.rb +0 -47
  162. data/lib/rbcurse/rlistbox.rb +0 -1196
  163. data/lib/rbcurse/rmenu.rb +0 -939
  164. data/lib/rbcurse/rmessagebox.rb +0 -348
  165. data/lib/rbcurse/rmulticontainer.rb +0 -304
  166. data/lib/rbcurse/rmultisplit.rb +0 -722
  167. data/lib/rbcurse/rmultitextview.rb +0 -306
  168. data/lib/rbcurse/rpopupmenu.rb +0 -755
  169. data/lib/rbcurse/rprogress.rb +0 -118
  170. data/lib/rbcurse/rscrollform.rb +0 -418
  171. data/lib/rbcurse/rtabbedpane.rb +0 -1158
  172. data/lib/rbcurse/rtabbedwindow.rb +0 -167
  173. data/lib/rbcurse/rtable.rb +0 -1718
  174. data/lib/rbcurse/rtextarea.rb +0 -920
  175. data/lib/rbcurse/rtextview.rb +0 -761
  176. data/lib/rbcurse/rtree.rb +0 -780
  177. data/lib/rbcurse/rvimsplit.rb +0 -763
  178. data/lib/rbcurse/rwidget.rb +0 -2915
  179. data/lib/rbcurse/scrollable.rb +0 -301
  180. data/lib/rbcurse/table/tablecellrenderer.rb +0 -86
  181. data/lib/rbcurse/table/tabledatecellrenderer.rb +0 -98
  182. data/lib/rbcurse/tree/treecellrenderer.rb +0 -150
  183. data/lib/rbcurse/tree/treemodel.rb +0 -428
  184. data/lib/rbcurse/undomanager.rb +0 -188
  185. data/lib/rbcurse/vieditable.rb +0 -144
  186. data/lib/ver/keyboard.rb +0 -150
  187. data/lib/ver/keyboard2.rb +0 -170
  188. data/lib/ver/ncurses.rb +0 -218
  189. data/lib/ver/panel.rb +0 -162
  190. data/lib/ver/rpad.rb +0 -375
  191. data/lib/ver/window.rb +0 -882
  192. data/test/test_rbcurse.rb +0 -0
data/Manifest.txt DELETED
@@ -1,91 +0,0 @@
1
- CHANGELOG
2
- History.txt
3
- Manifest.txt
4
- README.markdown
5
- Rakefile
6
- lib/rbcurse/action.rb
7
- lib/rbcurse/applicationheader.rb
8
- lib/rbcurse/celleditor.rb
9
- lib/rbcurse/checkboxcellrenderer.rb
10
- lib/rbcurse/colormap.rb
11
- lib/rbcurse/comboboxcellrenderer.rb
12
- lib/rbcurse/defaultlistselectionmodel.rb
13
- lib/rbcurse/io.rb
14
- lib/rbcurse/keylabelprinter.rb
15
- lib/rbcurse/listcellrenderer.rb
16
- lib/rbcurse/listeditable.rb
17
- lib/rbcurse/listkeys.rb
18
- lib/rbcurse/listscrollable.rb
19
- lib/rbcurse/listselectable.rb
20
- lib/rbcurse/mapper.rb
21
- lib/rbcurse/orderedhash.rb
22
- lib/rbcurse/rchangeevent.rb
23
- lib/rbcurse/rcombo.rb
24
- lib/rbcurse/rdialogs.rb
25
- lib/rbcurse/rform.rb
26
- lib/rbcurse/rinputdataevent.rb
27
- lib/rbcurse/rlistbox.rb
28
- lib/rbcurse/rmenu.rb
29
- lib/rbcurse/rmessagebox.rb
30
- lib/rbcurse/rmulticontainer.rb
31
- lib/rbcurse/rmultitextview.rb
32
- lib/rbcurse/rpopupmenu.rb
33
- lib/rbcurse/rscrollform.rb
34
- lib/rbcurse/rscrollpane.rb
35
- lib/rbcurse/rsplitpane.rb
36
- lib/rbcurse/rtabbedpane.rb
37
- lib/rbcurse/rtabbedwindow.rb
38
- lib/rbcurse/rtable.rb
39
- lib/rbcurse/rtextarea.rb
40
- lib/rbcurse/rtextview.rb
41
- lib/rbcurse/rviewport.rb
42
- lib/rbcurse/rwidget.rb
43
- lib/rbcurse/scrollable.rb
44
- lib/rbcurse/selectable.rb
45
- lib/rbcurse/table/tablecellrenderer.rb
46
- lib/rbcurse/table/tabledatecellrenderer.rb
47
- lib/rbcurse/undomanager.rb
48
- lib/rbcurse/vieditable.rb
49
- lib/rbcurse.rb
50
- lib/ver/keyboard.rb
51
- lib/ver/keyboard2.rb
52
- lib/ver/ncurses.rb
53
- lib/ver/window.rb
54
- examples/keytest.rb
55
- examples/mpad2.rb
56
- examples/newtesttabp.rb
57
- examples/qdfilechooser.rb
58
- examples/rfe.rb
59
- examples/rfe_renderer.rb
60
- examples/rvimsplit.rb
61
- examples/sqlc.rb
62
- examples/sqlm.rb
63
- examples/test1.rb
64
- examples/test2.rb
65
- examples/testchars.rb
66
- examples/testcombo.rb
67
- examples/testkeypress.rb
68
- examples/testmenu.rb
69
- examples/testmulticomp.rb
70
- examples/testscroller.rb
71
- examples/testscrolllb.rb
72
- examples/testscrollp.rb
73
- examples/testscrollta.rb
74
- examples/testscrolltable.rb
75
- examples/testsplit.rb
76
- examples/testsplit2.rb
77
- examples/testsplit3.rb
78
- examples/testsplit3_1.rb
79
- examples/testsplit3a.rb
80
- examples/testsplit3b.rb
81
- examples/testsplitta.rb
82
- examples/testsplittv.rb
83
- examples/testsplittvv.rb
84
- examples/testtable.rb
85
- examples/testtabp.rb
86
- examples/testtestw.rb
87
- examples/testtodo.rb
88
- examples/testtpane.rb
89
- examples/testtpane2.rb
90
- examples/testtpanetable.rb
91
- examples/viewtodo.rb
data/TODO DELETED
@@ -1,372 +0,0 @@
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