rbcurse-extras 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/README.md +75 -0
  2. data/VERSION +1 -0
  3. data/examples/data/list.txt +300 -0
  4. data/examples/data/lotr.txt +12 -0
  5. data/examples/data/table.txt +36 -0
  6. data/examples/data/tasks.txt +27 -0
  7. data/examples/data/unix1.txt +21 -0
  8. data/examples/inc/qdfilechooser.rb +70 -0
  9. data/examples/inc/rfe_renderer.rb +121 -0
  10. data/examples/newtabbedwindow.rb +100 -0
  11. data/examples/rfe.rb +1236 -0
  12. data/examples/test2.rb +670 -0
  13. data/examples/testeditlist.rb +78 -0
  14. data/examples/testtable.rb +270 -0
  15. data/examples/testvimsplit.rb +141 -0
  16. data/lib/rbcurse/extras/include/celleditor.rb +112 -0
  17. data/lib/rbcurse/extras/include/checkboxcellrenderer.rb +57 -0
  18. data/lib/rbcurse/extras/include/comboboxcellrenderer.rb +30 -0
  19. data/lib/rbcurse/extras/include/defaultlistselectionmodel.rb +79 -0
  20. data/lib/rbcurse/extras/include/listkeys.rb +37 -0
  21. data/lib/rbcurse/extras/include/listselectable.rb +144 -0
  22. data/lib/rbcurse/extras/include/tableextended.rb +40 -0
  23. data/lib/rbcurse/extras/widgets/horizlist.rb +203 -0
  24. data/lib/rbcurse/extras/widgets/menutree.rb +63 -0
  25. data/lib/rbcurse/extras/widgets/multilinelabel.rb +142 -0
  26. data/lib/rbcurse/extras/widgets/rcomboedit.rb +256 -0
  27. data/lib/rbcurse/extras/widgets/rlink.rb.moved +27 -0
  28. data/lib/rbcurse/extras/widgets/rlistbox.rb +1247 -0
  29. data/lib/rbcurse/extras/widgets/rmenulink.rb.moved +21 -0
  30. data/lib/rbcurse/extras/widgets/rmulticontainer.rb +304 -0
  31. data/lib/rbcurse/extras/widgets/rmultisplit.rb +722 -0
  32. data/lib/rbcurse/extras/widgets/rmultitextview.rb +306 -0
  33. data/lib/rbcurse/extras/widgets/rpopupmenu.rb +755 -0
  34. data/lib/rbcurse/extras/widgets/rtable.rb +1758 -0
  35. data/lib/rbcurse/extras/widgets/rvimsplit.rb +800 -0
  36. data/lib/rbcurse/extras/widgets/table/tablecellrenderer.rb +86 -0
  37. data/lib/rbcurse/extras/widgets/table/tabledatecellrenderer.rb +98 -0
  38. metadata +94 -0
@@ -0,0 +1,75 @@
1
+ # rbcurse-extras
2
+
3
+ Contains additional widgets for the rbcurse ncurses toolkit. rbcurse helps to easily build
4
+ ncurses application for text terminals.
5
+
6
+ rbcurse-extras contains either more complex widgets or less common ones that may be helpful in some applications.
7
+
8
+ Some less frequently used widgets:
9
+
10
+ * rlink - Show a link on a screen.
11
+
12
+ * rmenulink - a menu-link like alpines main menu links
13
+
14
+ * horizlist - a horizontal scrollable list like what I've seen on vim sometimes but I can't get
15
+ it back now. I've only tried it out once. It's cool.
16
+
17
+ * menutree - menu inspired by the `most` program. Core replaces this, i think.
18
+
19
+ The following allow you to put multiple objects in one container and cycle them.
20
+
21
+ * rmulticontainer
22
+
23
+ * rmultitextview
24
+
25
+ Others:
26
+
27
+ * rmultisplit - column browse pattern, like OSX's directory. As many lists in one widget, can see
28
+ as many as you want, and tab through them. Scrolls lists as you tab.
29
+
30
+ * rpopupmenu - Similar to menu, but pops up on form, like Ctrl-click on browser
31
+
32
+ * rvimsplit - replacement of splitpane, allows placement of widgets in one container, inspired
33
+ by vim's splits
34
+
35
+ The following have been in rbcurse since version 1 or so, but removed to extras to keep core
36
+ as simple and robust as possible. core contains simpler versions of the same. Avoid using them if
37
+ you can use their core counterparts.
38
+
39
+ * multilinelabel - the original Label. Removed from core, to keep core simple.
40
+
41
+ * rcomboedit - the original editable combo from core. Again, moved here to keep core simple.
42
+
43
+ * rlistbox - the original editable list.
44
+
45
+ * rtable - the original editable table. Pretty complex piece of code based on Java's Jtable,
46
+ I don't want this in core, use only if really required.
47
+
48
+
49
+ ## Miscellaneous
50
+
51
+ rbcurse-extras will not be as stable as core. It will change more frequently. Stuff from experimental
52
+ may move here.
53
+
54
+
55
+ ## See also
56
+
57
+ * rbcurse - <http://github.com/rkumar/rbcurse/>
58
+
59
+ * rbcurse-core - <http://github.com/rkumar/rbcurse-core/>
60
+
61
+ * rbcurse-experimental - <http://github.com/rkumar/rbcurse-experimental/>
62
+
63
+ ## Install
64
+
65
+ `gem install rbcurse-extras` # the core, and extra stuff
66
+
67
+ To install everything:
68
+
69
+ `gem install rbcurse` # the core, extra and experimental stuff
70
+
71
+ ## License
72
+
73
+ Same as ruby license.
74
+
75
+ (c) copyright rkumar, 2008-2011.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.0
@@ -0,0 +1,300 @@
1
+ [@
2
+ acat@
3
+ ack@
4
+ add_field@
5
+ adiff@
6
+ aggregate@
7
+ aggregate2@
8
+ aless@
9
+ als@
10
+ apack@
11
+ arepack@
12
+ atool@
13
+ aunpack@
14
+ awk@
15
+ base64@
16
+ basename@
17
+ brew*
18
+ buffer@
19
+ calcfield@
20
+ calcurse@
21
+ cat@
22
+ ccmake@
23
+ chcon@
24
+ check-regexp@
25
+ chgrp@
26
+ chmod@
27
+ chown@
28
+ chroot@
29
+ cksum@
30
+ cmake@
31
+ cmakexbuild@
32
+ colorize*
33
+ combine@
34
+ comm@
35
+ convdate@
36
+ cp@
37
+ cpack@
38
+ cpp2html@
39
+ csplit@
40
+ csv2rec@
41
+ csvformat@
42
+ ctags@
43
+ ctest@
44
+ cut@
45
+ cutfield@
46
+ date@
47
+ dates_in_range@
48
+ dbstream@
49
+ dd@
50
+ deltadays@
51
+ deltaforce@
52
+ df@
53
+ dgawk@
54
+ dir@
55
+ dircolors@
56
+ dirname@
57
+ du@
58
+ echo@
59
+ egrep@
60
+ elinks@
61
+ env@
62
+ event_rpcgen.py@
63
+ ex@
64
+ expand@
65
+ expr@
66
+ factor@
67
+ false@
68
+ fgrep@
69
+ fieldsplit@
70
+ filterkeys@
71
+ find@
72
+ find_not_processed@
73
+ findfiles@
74
+ fish@
75
+ fish_indent@
76
+ fish_pager@
77
+ fishd@
78
+ fmt@
79
+ fold@
80
+ foreach_parallel@
81
+ funiq@
82
+ gawk@
83
+ gawk-4.0.0@
84
+ gist*
85
+ git@
86
+ git-cvsserver@
87
+ git-receive-pack@
88
+ git-shell@
89
+ git-upload-archive@
90
+ git-upload-pack@
91
+ github@
92
+ gitk@
93
+ gitx@
94
+ grep@
95
+ grepfield@
96
+ groups@
97
+ growlnotify@
98
+ gsed@
99
+ hashjoin@
100
+ head@
101
+ hostid@
102
+ htop@
103
+ id@
104
+ ifne@
105
+ igawk@
106
+ indexof@
107
+ innochecksum@
108
+ install@
109
+ isutf8@
110
+ java2html@
111
+ jed@
112
+ jed-script@
113
+ join@
114
+ kill@
115
+ lckdo@
116
+ link@
117
+ llvm-config*
118
+ ln@
119
+ locate@
120
+ logname@
121
+ ls@
122
+ macgem@
123
+ macirb@
124
+ macrake@
125
+ macrdoc@
126
+ macri@
127
+ macruby@
128
+ macruby_deploy@
129
+ macruby_select@
130
+ macrubyc@
131
+ macrubyd@
132
+ md5sum@
133
+ mergekeys@
134
+ mimedb@
135
+ mispipe@
136
+ mkdir@
137
+ mkfifo@
138
+ mknod@
139
+ mktemp@
140
+ most@
141
+ msmtp@
142
+ msql2mysql@
143
+ multitail@
144
+ mv@
145
+ my_print_defaults@
146
+ myisam_ftdump@
147
+ myisamchk@
148
+ myisamlog@
149
+ myisampack@
150
+ mysql@
151
+ mysql.server@
152
+ mysql_client_test@
153
+ mysql_config@
154
+ mysql_convert_table_format@
155
+ mysql_find_rows@
156
+ mysql_fix_extensions@
157
+ mysql_install_db@
158
+ mysql_secure_installation@
159
+ mysql_setpermission@
160
+ mysql_tzinfo_to_sql@
161
+ mysql_upgrade@
162
+ mysql_waitpid@
163
+ mysql_zap@
164
+ mysqlaccess@
165
+ mysqlaccess.conf@
166
+ mysqladmin@
167
+ mysqlbinlog@
168
+ mysqlbug@
169
+ mysqlcheck@
170
+ mysqld@
171
+ mysqld_multi@
172
+ mysqld_safe@
173
+ mysqldump@
174
+ mysqldumpslow@
175
+ mysqlhotcopy@
176
+ mysqlimport@
177
+ mysqlshow@
178
+ mysqlslap@
179
+ mysqltest@
180
+ nc@
181
+ ncdu@
182
+ ne*
183
+ netcat*
184
+ nice@
185
+ nl@
186
+ nohup@
187
+ nproc@
188
+ od@
189
+ oldfind@
190
+ onig-config@
191
+ parallel@
192
+ paste@
193
+ pathchk@
194
+ pcre-config@
195
+ pcregrep@
196
+ pcretest@
197
+ pee@
198
+ perror@
199
+ pgawk@
200
+ pgawk-4.0.0@
201
+ pidof@
202
+ pigz@
203
+ pinky@
204
+ pivot@
205
+ pkg-config@
206
+ pr@
207
+ printenv@
208
+ printf@
209
+ ptx@
210
+ pv@
211
+ pwd@
212
+ range@
213
+ ranger*
214
+ readlink@
215
+ rec2csv@
216
+ recdel@
217
+ recfix@
218
+ recfmt@
219
+ recinf@
220
+ recins@
221
+ recsel@
222
+ recset@
223
+ reorder@
224
+ replace@
225
+ resolve_stack_dump@
226
+ resolveip@
227
+ rlwrap@
228
+ rm@
229
+ rmdir@
230
+ rmtrash@
231
+ runcon@
232
+ rview@
233
+ rvim@
234
+ seq@
235
+ set_color@
236
+ sha1sum@
237
+ sha224sum@
238
+ sha256sum@
239
+ sha384sum@
240
+ sha512sum@
241
+ shred@
242
+ shuf@
243
+ sleep@
244
+ slsh@
245
+ sort@
246
+ source-highlight@
247
+ source-highlight-settings@
248
+ split@
249
+ sponge@
250
+ sqlite3@
251
+ src-hilite-lesspipe.sh@
252
+ stat@
253
+ stty@
254
+ subtotal@
255
+ sum@
256
+ sync@
257
+ tac@
258
+ tail@
259
+ tal@
260
+ task@
261
+ tee@
262
+ test@
263
+ tig@
264
+ timeout@
265
+ tmux@
266
+ tochar@
267
+ touch@
268
+ tr@
269
+ translate_field@
270
+ true@
271
+ truncate@
272
+ truncfield@
273
+ ts@
274
+ tsort@
275
+ tty@
276
+ uname@
277
+ unexpand@
278
+ uniq@
279
+ unlink@
280
+ unpigz@
281
+ updatedb@
282
+ uptime@
283
+ users@
284
+ vdir@
285
+ vidir@
286
+ view@
287
+ vim*
288
+ vim73orig*
289
+ vimdiff@
290
+ vimtutor*
291
+ vipe@
292
+ wc@
293
+ wget@
294
+ who@
295
+ whoami@
296
+ xargs@
297
+ xxd*
298
+ yes@
299
+ youtube-dl@
300
+ zrun@
@@ -0,0 +1,12 @@
1
+ I amar prestar aen. The world is changed. Han matho ne nen. I feel it in the water. Han mathon ned cae. I feel it in the earth. A han noston ned gwilith. I smell it in the air. Much that once was is lost, for none now live who remember it.
2
+
3
+ It began with the forging of the Great Rings. Three were given to the Elves, immortal, wisest and fairest of all beings. Seven to the Dwarf-Lords, great miners and craftsmen of the mountain halls. And nine, nine rings were gifted to the race of Men, who above all else desire power. For within these rings was bound the strength and the will to govern each race. But they were all of them deceived, for another ring was made. Deep in the land of Mordor, in the Fires of Mount Doom, the Dark Lord Sauron forged in secret a master ring to control all others, and into this ring he poured his cruelty, his malice and his will to dominate all life. One ring to rule them all.
4
+
5
+ One by one, the free lands of Middle-Earth fell to the power of the Ring, but there were some who resisted. A last alliance of Men and Elves marched against the armies of Mordor, and on the very slopes of Mount Doom, they fought for the freedom of Middle-Earth. Victory was near, but the power of the ring could not be undone.
6
+ It was in this moment, when all hope had faded, that Isildur, son of the king, took up his father's sword.
7
+
8
+ Sauron, the enemy of the free peoples of Middle-Earth, was defeated. The Ring passed to Isildur, who had this once chance to destroy evil forever. But the hearts of Men are easily corrupted. And the ring of power has a will of its own. It betrayed Isildur, to his death. And some things that should not have been forgotten were lost. History became legend, legend became myth. And for two and a half thousand years, the ring passed out of all knowledge. Until, when chance came, it ensnared a new bearer.
9
+
10
+ The Ring came to the creature Gollum, who took it deep into the tunnels of the Misty Mountains. And there it consumed him. The ring brought to Gollum unnatural long life. For five hundred years it poisoned his mind, and in the gloom of Gollum's cave, it waited. Darkness crept back into the forests of the world. Rumor grew of a shadow in the East, whispers of a nameless fear, and the Ring of Power percieved its time had now come. It abandoned Gollum. But something happened then that the Ring did not intend. It was picked up by the most unlikely creature imaginable: a Hobbit, Bilbo Baggins, of the Shire.
11
+
12
+ For the time will soon come when hobbits will shape the fortunes of all.
@@ -0,0 +1,36 @@
1
+ id sta type pri title
2
+ 8 op bug P5 container keep repainting all >>seems that containers like rmultisplit are not returing on
3
+ rep
4
+ 10 op enh P4 combo keys >>1. space to select an item 2. space to call popup (currently Alt-v)
5
+ 17 op bug P4 selected_item of list broken >>giving nil or blank in #qdfilechooser and maybe others
6
+ 20 op bug P4 cannot bind_key using Alt key and another. >>If trying on irb it doesn't.
7
+ 22 op bug P3 widget hide (visible false) does not hide >>only stops further repainting, need to clear
8
+ 26 op fea P5 App to have a layout abject >>e.g. Frame which has header body and footer like the current on
9
+ 27 op bug P4 #fix testvimsplit not sizing STACK correctly >>stack not properly sized
10
+ 32 op enh P4 #tree many empty methods in #treemodel >>
11
+ 37 op enh P4 simplify #vimsplit calculation >>Avoid double maint of width and height etc just one. KISS.
12
+ 39 op bug P5 tabularwidget truncate needed left_margin >>this may be a problem in listbox and others where
13
+ 42 op bug P5 append_to_kill, yank not working in %listbox >>M-2 M-w and C-y is working but append to kill n
14
+ 49 op enh P5 resultsetview needs way to specify key fields >>so keys can be non-editable and used in update
15
+ 50 op bug P5 sort on tabularwidget with resultset error sometimes >>comparison of sqlite3 datatype error, b
16
+ 52 op bug P4 %label set_label may have to calculate at repaint esp in app >>currently when it is calc, fiel
17
+ 55 op enh P4 Have a module Expandable for those that are multiline >>if textview/area. container. list etc
18
+ 60 op enh P4 fields width, display_len is for input area, not label plus input >>after including label, now
19
+ 61 op bug P4 test2.rb color change not affecting text objects >>suddnely stopped affecting. is it the bgcol
20
+ 65 op enh P3 clean up window.rb prv_printstring etc >>can we go back to earlier simple version, why that re
21
+ 69 op bug P3 C-u not available for textpad and view. how to >>how can we customzie so textview or textpad c
22
+ 70 op enh P4 confusion between renderer and color_parser >>can it not be one, rather than 2 separate things
23
+ 74 op enh P3 list and others should just calculate longest in list >>rahter than trying to figure it out as
24
+ 75 op enh P4 textpad to allow append << at some stage >>
25
+ 79 op enh P3 cleanup button getpaint etc >>seems quite messy, can it be cleaned up
26
+ 80 op enh P3 use @focusable in form to simplify >>as in container/component
27
+ 85 op bug P4 combo symbol when label, see newmessagebox >>symbol is off. see newtabbedpane, Term pane.
28
+ 86 op bug P4 combo let caller suggest width and use if longer than longest item >>otherwis[3~[3~
29
+ 87 op enh P3 praps global setting lists etc use SPC for scroll or selection >>define what key to use for se
30
+ 95 op bug P3 window.refresh required after alert of messagebox closes >>this was never required in mncurses
31
+ 101 op bug P2 table search curpos skewed by datasize since to_s used >>listscrollable uses to_s on table to
32
+ 102 st bug P2 u is uselect in lists, but also undo in vimkeys >>u must remain undo, unselect should be somet
33
+ 104 op bug P2 tabbedpane: check for Container requires it to be required >>this should not happen.
34
+ 108 op enh P3 text multilne, consider using waddnstr i/o truncate >>printstring does not take length, it wou
35
+ 112 op enh P2 highlight match happens only after repaint which means scroll >>due to repain optimization, on
36
+ 113 op fea P1 vim search behavior: up arrow for history, if empty then default used... >>whe pressing /, it;
@@ -0,0 +1,27 @@
1
+ Field to have history which pops up
2
+ App to have layout objects @1.6
3
+ F2 menu to have context sensitive items
4
+ SL and Dock events Hide. Move ...
5
+ Stack and Flow to be objects @1.5
6
+ ability to share directory options and functions across dir apps
7
+ add event to form, key_resize
8
+ app: add popup @1.5
9
+ app: widgets can register with dock @1.5
10
+ can use textpad in resultsetdb view to make things simpler
11
+ colored module that allows row-wise coloring for all multirow wids
12
+ find_file like microemacs @1.5
13
+ motion options in textview and lists gg G cYcEcDcB zz zt zb etc
14
+ registering command with Alt-X SL and Dock
15
+ schemes (color) @1.5
16
+ textview etc can have source. also module to recog file type,fmt
17
+ use textpad for lists etc
18
+ window.close can have a event so cleanup of any widget can be done
19
+ Backward char search using F
20
+ add progress bar to StatusWindow
21
+ bottomline options global @1.5
22
+ catch_alt_digits maybe at form level not global
23
+ widgets needs to expose mapped keys in some easy way
24
+ color_pair as :red_on_black
25
+ confirm quit option, and call a proc before quitting
26
+ elusive error if row not given in button
27
+ rpopupmenu and rmenu share same class names