rbcurse-extras 0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +75 -0
- data/VERSION +1 -0
- data/examples/data/list.txt +300 -0
- data/examples/data/lotr.txt +12 -0
- data/examples/data/table.txt +36 -0
- data/examples/data/tasks.txt +27 -0
- data/examples/data/unix1.txt +21 -0
- data/examples/inc/qdfilechooser.rb +70 -0
- data/examples/inc/rfe_renderer.rb +121 -0
- data/examples/newtabbedwindow.rb +100 -0
- data/examples/rfe.rb +1236 -0
- data/examples/test2.rb +670 -0
- data/examples/testeditlist.rb +78 -0
- data/examples/testtable.rb +270 -0
- data/examples/testvimsplit.rb +141 -0
- data/lib/rbcurse/extras/include/celleditor.rb +112 -0
- data/lib/rbcurse/extras/include/checkboxcellrenderer.rb +57 -0
- data/lib/rbcurse/extras/include/comboboxcellrenderer.rb +30 -0
- data/lib/rbcurse/extras/include/defaultlistselectionmodel.rb +79 -0
- data/lib/rbcurse/extras/include/listkeys.rb +37 -0
- data/lib/rbcurse/extras/include/listselectable.rb +144 -0
- data/lib/rbcurse/extras/include/tableextended.rb +40 -0
- data/lib/rbcurse/extras/widgets/horizlist.rb +203 -0
- data/lib/rbcurse/extras/widgets/menutree.rb +63 -0
- data/lib/rbcurse/extras/widgets/multilinelabel.rb +142 -0
- data/lib/rbcurse/extras/widgets/rcomboedit.rb +256 -0
- data/lib/rbcurse/extras/widgets/rlink.rb.moved +27 -0
- data/lib/rbcurse/extras/widgets/rlistbox.rb +1247 -0
- data/lib/rbcurse/extras/widgets/rmenulink.rb.moved +21 -0
- data/lib/rbcurse/extras/widgets/rmulticontainer.rb +304 -0
- data/lib/rbcurse/extras/widgets/rmultisplit.rb +722 -0
- data/lib/rbcurse/extras/widgets/rmultitextview.rb +306 -0
- data/lib/rbcurse/extras/widgets/rpopupmenu.rb +755 -0
- data/lib/rbcurse/extras/widgets/rtable.rb +1758 -0
- data/lib/rbcurse/extras/widgets/rvimsplit.rb +800 -0
- data/lib/rbcurse/extras/widgets/table/tablecellrenderer.rb +86 -0
- data/lib/rbcurse/extras/widgets/table/tabledatecellrenderer.rb +98 -0
- metadata +94 -0
data/README.md
ADDED
@@ -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
|