rbcurse 1.1.3 → 1.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +31 -0
- data/NOTES +104 -0
- data/README.markdown +38 -50
- data/VERSION +1 -1
- data/examples/README.txt +36 -0
- data/examples/data.txt +683 -0
- data/examples/rfe.rb +14 -3
- data/examples/sqlc.rb +6 -1
- data/examples/sqlm.rb +7 -1
- data/examples/test1.rb +1 -1
- data/examples/test2.rb +3 -3
- data/examples/testchars.rb +1 -1
- data/examples/testcombo.rb +1 -1
- data/examples/testkeypress.rb +2 -1
- data/examples/testlistbox.rb +114 -0
- data/examples/testmenu.rb +1 -1
- data/examples/testmulticomp.rb +1 -1
- data/examples/testscroller.rb +1 -1
- data/examples/testtable.rb +1 -1
- data/examples/testtabp.rb +1 -1
- data/examples/testtestw.rb +1 -1
- data/examples/testtodo.rb +1 -1
- data/examples/testtpane.rb +1 -1
- data/examples/testtpane2.rb +1 -1
- data/examples/testtpanetable.rb +1 -1
- data/examples/todo.rb +1 -0
- data/examples/viewtodo.rb +91 -33
- data/lib/rbcurse/extras/tableextended.rb +40 -0
- data/lib/rbcurse/rlistbox.rb +8 -0
- data/lib/rbcurse/rtable.rb +46 -12
- data/lib/rbcurse/rwidget.rb +8 -3
- data/lib/rbcurse/undomanager.rb +8 -1
- data/lib/rbcurse/vieditable.rb +45 -3
- data/rbcurse.gemspec +10 -4
- metadata +13 -4
@@ -0,0 +1,40 @@
|
|
1
|
+
# Provides extended abilities to a table
|
2
|
+
# so user does not need to code it into his app.
|
3
|
+
# At the same time, i don't want to weigh down Table with too much functionality/
|
4
|
+
# I am putting in some stuff, so that table columns can be resized, using multipliers.
|
5
|
+
# That allows us to redistribute the space taken or released across rows.
|
6
|
+
# Other options: dd, C, . (repeat) and how about range operations
|
7
|
+
#
|
8
|
+
module TableExtended
|
9
|
+
|
10
|
+
##
|
11
|
+
# increase the focused column
|
12
|
+
# If no size passed, then use numeric multiplier, else 1
|
13
|
+
# Typically, one would bind a key such as + to this method
|
14
|
+
# e.g. atable.bind_key(?+) { atable.increase_column ; }
|
15
|
+
# See examples/viewtodo.rb for usage
|
16
|
+
def increase_column num=(($multiplier.nil? or $multiplier == 0) ? 1 : $multiplier)
|
17
|
+
|
18
|
+
acolumn = column focussed_col()
|
19
|
+
#num = $multiplier || 1
|
20
|
+
$multiplier = 0
|
21
|
+
w = acolumn.width + num
|
22
|
+
acolumn.width w
|
23
|
+
#atable.table_structure_changed
|
24
|
+
end
|
25
|
+
# decrease the focused column
|
26
|
+
# If no size passed, then use numeric multiplier, else 1
|
27
|
+
# Typically, one would bind a key such as - to this method
|
28
|
+
def decrease_column num=(($multiplier.nil? or $multiplier == 0) ? 1 : $multiplier)
|
29
|
+
acolumn = column focussed_col()
|
30
|
+
w = acolumn.width - num
|
31
|
+
$multiplier = 0
|
32
|
+
if w > 3
|
33
|
+
acolumn.width w
|
34
|
+
#atable.table_structure_changed
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
end
|
data/lib/rbcurse/rlistbox.rb
CHANGED
@@ -163,6 +163,14 @@ module RubyCurses
|
|
163
163
|
return nil
|
164
164
|
#return find_match @last_regex, start, @search_end_ix
|
165
165
|
end
|
166
|
+
##
|
167
|
+
# added 2010-05-23 12:10 for listeditable
|
168
|
+
def slice!(line, howmany)
|
169
|
+
ret = @list.slice!(line, howmany)
|
170
|
+
lde = ListDataEvent.new(line, line+howmany-1, self, :INTERVAL_REMOVED)
|
171
|
+
fire_handler :LIST_DATA_EVENT, lde
|
172
|
+
return ret
|
173
|
+
end
|
166
174
|
|
167
175
|
alias :to_array :values
|
168
176
|
end # class ListDataModel
|
data/lib/rbcurse/rtable.rb
CHANGED
@@ -113,6 +113,16 @@ module RubyCurses
|
|
113
113
|
bind_key(@KEY_ASK_FIND_BACKWARD) { ask_search_backward }
|
114
114
|
bind_key(@KEY_FIND_NEXT) { find_next }
|
115
115
|
bind_key(@KEY_FIND_PREV) { find_prev }
|
116
|
+
# added 2010-05-12 21:41 for vim keys, will work if cell editing allowed is false
|
117
|
+
# user should be able to switch to editable and off so he can use keys TODO
|
118
|
+
# TODO vim_editable mode: C dd etc . to repeat change, how about range commands like vim
|
119
|
+
# TODO use numeric to widen, so we can distribute spacing
|
120
|
+
bind_key(?j){ next_row() }
|
121
|
+
bind_key(?k){ previous_row() }
|
122
|
+
bind_key(?G){ goto_bottom() }
|
123
|
+
bind_key([?g,?g]){ goto_top() }
|
124
|
+
bind_key(?l) { next_column }
|
125
|
+
bind_key(?h) { previous_column }
|
116
126
|
end
|
117
127
|
|
118
128
|
def focussed_row
|
@@ -538,7 +548,7 @@ module RubyCurses
|
|
538
548
|
when ?\C-p.getbyte(0)
|
539
549
|
editing_stopped if @is_editing # 2009-01-16 16:06
|
540
550
|
scroll_backward
|
541
|
-
when 48
|
551
|
+
when @KEY_GOTO_TOP # removed 48 (0) from here so we can trap numbers
|
542
552
|
# please note that C-[ gives 27, same as esc so will respond after ages
|
543
553
|
editing_stopped if @is_editing # 2009-01-16 16:06
|
544
554
|
goto_top
|
@@ -551,9 +561,14 @@ module RubyCurses
|
|
551
561
|
when @KEY_SCROLL_LEFT
|
552
562
|
editing_stopped if @is_editing # dts 2009-02-17 00:35
|
553
563
|
scroll_left
|
564
|
+
when ?0.getbyte(0)..?9.getbyte(0)
|
565
|
+
$multiplier *= 10 ; $multiplier += (ch-48)
|
566
|
+
#$log.debug " setting mult to #{$multiplier} in list "
|
567
|
+
return 0
|
554
568
|
else
|
555
569
|
# there could be a case of editing here too!
|
556
570
|
ret = process_key ch, self
|
571
|
+
$multiplier = 0
|
557
572
|
return :UNHANDLED if ret == :UNHANDLED
|
558
573
|
end
|
559
574
|
return 0 # added 2010-03-14 13:27
|
@@ -607,26 +622,40 @@ module RubyCurses
|
|
607
622
|
cancel_editor
|
608
623
|
end
|
609
624
|
##
|
610
|
-
def previous_row
|
625
|
+
#def previous_row
|
626
|
+
def previous_row num=(($multiplier.nil? or $multiplier == 0) ? 1 : $multiplier)
|
611
627
|
@oldrow = @current_index
|
612
|
-
|
628
|
+
# @current_index -= 1 if @current_index > 0
|
629
|
+
num.times {
|
630
|
+
@current_index -= 1 if @current_index > 0
|
631
|
+
}
|
632
|
+
$multiplier = 0
|
613
633
|
bounds_check
|
614
634
|
end
|
615
|
-
def next_row
|
635
|
+
#def next_row
|
636
|
+
# goto next row
|
637
|
+
# added multipler 2010-05-12 20:51
|
638
|
+
def next_row num=(($multiplier.nil? or $multiplier == 0) ? 1 : $multiplier)
|
616
639
|
rc = row_count
|
617
640
|
@oldrow = @current_index
|
618
641
|
# don't go on if rc 2009-01-16 19:55 XXX
|
619
642
|
if @current_index < rc
|
620
|
-
|
643
|
+
#@current_index += 1
|
644
|
+
@current_index += 1*num if @current_index < rc
|
621
645
|
bounds_check
|
622
646
|
end
|
647
|
+
$multiplier = 0
|
623
648
|
end
|
624
649
|
# move focus to next column
|
625
650
|
# 2009-10-07 12:47 behavior change. earlier this would move to next row
|
626
651
|
# if focus was on last visible field. Now it scrolls so that first invisible
|
627
652
|
# field becomes the first column.
|
628
|
-
|
629
|
-
|
653
|
+
# # 2010-05-13 12:42 added multiplier
|
654
|
+
#def next_column
|
655
|
+
def next_column num=(($multiplier.nil? or $multiplier == 0) ? 1 : $multiplier)
|
656
|
+
$multiplier = 0 # so not used again in next row
|
657
|
+
#v = @current_column+1
|
658
|
+
v = @current_column + num
|
630
659
|
# normal situation, there is a next column go to
|
631
660
|
if v < @table_column_model.column_count
|
632
661
|
if v <= @_last_column_print
|
@@ -647,7 +676,7 @@ module RubyCurses
|
|
647
676
|
@current_column = 0
|
648
677
|
#@current_column = @_first_column_print # added 2009-02-17 00:01
|
649
678
|
@_first_column_print = 0 # added 2009-10-07 11:25
|
650
|
-
next_row
|
679
|
+
next_row 1
|
651
680
|
set_form_col
|
652
681
|
@repaint_required = true
|
653
682
|
@table_changed = true # so columns are modified by print_header
|
@@ -659,8 +688,9 @@ module RubyCurses
|
|
659
688
|
# move focus to previous column
|
660
689
|
# if you are on first column, check if scrolling required, else move up to
|
661
690
|
# last *visible* column of prev row
|
662
|
-
def previous_column
|
663
|
-
|
691
|
+
#def previous_column
|
692
|
+
def previous_column num=(($multiplier.nil? or $multiplier == 0) ? 1 : $multiplier)
|
693
|
+
v = @current_column - num # 2010-05-13 12:44 1 to num
|
664
694
|
# returning unhandled so focus can go to prev field auto
|
665
695
|
if v < @_first_column_print and @current_index <= 0
|
666
696
|
return :UNHANDLED
|
@@ -674,7 +704,7 @@ module RubyCurses
|
|
674
704
|
@current_column = @_last_column_print # added 2009-02-17 00:01
|
675
705
|
$log.debug " XXXXXX prev col #{@current_column}, las #{@_last_column_print}, fi: #{@_first_column_print}"
|
676
706
|
set_form_col
|
677
|
-
previous_row
|
707
|
+
previous_row 1
|
678
708
|
end
|
679
709
|
else
|
680
710
|
current_column v
|
@@ -1090,8 +1120,12 @@ module RubyCurses
|
|
1090
1120
|
end
|
1091
1121
|
end
|
1092
1122
|
total = 0
|
1093
|
-
|
1123
|
+
# crashing in 1.9.2 due to hash key no insert in iteration 2010-08-22 20:09
|
1124
|
+
#colwidths.each_pair do |k,v|
|
1125
|
+
tkeys = colwidths.keys
|
1126
|
+
tkeys.each do |k|
|
1094
1127
|
name = columns[k.to_i]
|
1128
|
+
v = colwidths[k]
|
1095
1129
|
colwidths[name] = v
|
1096
1130
|
total += v
|
1097
1131
|
end
|
data/lib/rbcurse/rwidget.rb
CHANGED
@@ -348,7 +348,12 @@ module RubyCurses
|
|
348
348
|
# this bypasses our methods and sets directly !
|
349
349
|
def config_setup aconfig
|
350
350
|
@config = aconfig
|
351
|
-
@config
|
351
|
+
# this creates a problem in 1.9.2 since variable_set sets @config 2010-08-22 19:05 RK
|
352
|
+
#@config.each_pair { |k,v| variable_set(k,v) }
|
353
|
+
keys = @config.keys
|
354
|
+
keys.each do |e|
|
355
|
+
variable_set(e, @config[e])
|
356
|
+
end
|
352
357
|
end
|
353
358
|
end # module config
|
354
359
|
##
|
@@ -1041,7 +1046,7 @@ module RubyCurses
|
|
1041
1046
|
@rows_panned = @cols_panned = 0 # how many rows were panned, typically at a higher level
|
1042
1047
|
@firsttime = true; # added on 2010-01-02 19:21 to prevent scrolling crash !
|
1043
1048
|
@name ||= ""
|
1044
|
-
$kill_ring ||= [] # 2010-03-09 22:42 so textarea and others can copy and paste
|
1049
|
+
$kill_ring ||= [] # 2010-03-09 22:42 so textarea and others can copy and paste emacs EMACS
|
1045
1050
|
$kill_ring_pointer = 0 # needs to be incremented with each append, moved with yank-pop
|
1046
1051
|
$append_next_kill = false
|
1047
1052
|
$kill_last_pop_size = 0 # size of last pop which has to be cleared
|
@@ -1548,7 +1553,7 @@ module RubyCurses
|
|
1548
1553
|
return 0 if ret == 0
|
1549
1554
|
ch = ret # unhandled char
|
1550
1555
|
elsif ch >= ?\M-1.getbyte(0) && ch <= ?\M-9.getbyte(0)
|
1551
|
-
if $catch_alt_digits
|
1556
|
+
if $catch_alt_digits # emacs EMACS
|
1552
1557
|
ret = digit_argument ch
|
1553
1558
|
$log.debug " FORM set MULT DA to #{$multiplier}, ret = #{ret} "
|
1554
1559
|
return 0 if ret == 0 # don't see this happening
|
data/lib/rbcurse/undomanager.rb
CHANGED
@@ -164,7 +164,14 @@ module RubyCurses
|
|
164
164
|
@source.list[row].slice!(col,howmany)
|
165
165
|
when :DELETE_LINE
|
166
166
|
#$log.debug " UNDO redo got deleteline #{row} "
|
167
|
-
|
167
|
+
#@source.list.delete_at row
|
168
|
+
# changed on 2010-05-23 12:21 since was not handling mult delete
|
169
|
+
case act.text
|
170
|
+
when Array
|
171
|
+
act.text.size.times { @source.list.delete_at row }
|
172
|
+
when String
|
173
|
+
@source.list.delete_at row
|
174
|
+
end
|
168
175
|
when :INSERT_LINE
|
169
176
|
case act.text
|
170
177
|
when Array
|
data/lib/rbcurse/vieditable.rb
CHANGED
@@ -12,13 +12,14 @@ require 'rbcurse/listeditable'
|
|
12
12
|
module ViEditable
|
13
13
|
include ListEditable
|
14
14
|
|
15
|
-
#def ViEditable.vieditable_init
|
16
15
|
def vieditable_init
|
17
16
|
$log.debug " inside vieditable_init "
|
18
17
|
@editable = true
|
19
18
|
bind_key( ?C, :edit_line)
|
20
|
-
bind_key( ?o, :insert_line)
|
21
|
-
bind_key( ?O) { insert_line(@current_index-1) }
|
19
|
+
#bind_key( ?o, :insert_line)
|
20
|
+
#bind_key( ?O) { insert_line(@current_index-1) }
|
21
|
+
bind_key( ?o) { insert_line(@current_index+1) }
|
22
|
+
bind_key( ?O) { insert_line(@current_index) }
|
22
23
|
bind_key( ?D, :delete_eol)
|
23
24
|
bind_key( [?d, ?$], :delete_eol)
|
24
25
|
bind_key( [?d, ?d] , :delete_line )
|
@@ -35,25 +36,64 @@ module ViEditable
|
|
35
36
|
bind_key( ?P ) { yank(@current_index - 1) } # should be before this line
|
36
37
|
bind_key(?\w, :forward_word)
|
37
38
|
bind_key(?f, :forward_char)
|
39
|
+
bind_key(?\M-y, :yank_pop)
|
40
|
+
bind_key(?\M-w, :kill_ring_save)
|
41
|
+
|
42
|
+
end
|
43
|
+
##
|
44
|
+
# Separate mappings for listboxes.
|
45
|
+
# Some methods don;'t make sense for listboxes and are crashing
|
46
|
+
# since not present for them. f was being overwritten, too.
|
47
|
+
# Sorry for duplication, need to clean this somehow.
|
48
|
+
def vieditable_init_listbox
|
49
|
+
$log.debug " inside vieditable_init_listbox "
|
50
|
+
@editable = true
|
51
|
+
bind_key( ?C, :edit_line)
|
52
|
+
bind_key( ?o) { insert_line(@current_index+1) }
|
53
|
+
bind_key( ?O) { insert_line(@current_index) }
|
54
|
+
#bind_key( ?D, :delete_eol)
|
55
|
+
#bind_key( [?d, ?$], :delete_eol)
|
56
|
+
bind_key( [?d, ?d] , :delete_line )
|
57
|
+
#bind_key( [?d, ?w], :delete_word )
|
58
|
+
#bind_key( [?d, ?t], :delete_till )
|
59
|
+
#bind_key( [?d, ?f], :delete_forward )
|
60
|
+
bind_key( ?\C-_ ) { @undo_handler.undo if @undo_handler }
|
61
|
+
bind_key( ?u ) { @undo_handler.undo if @undo_handler }
|
62
|
+
bind_key( ?\C-r ) { @undo_handler.redo if @undo_handler }
|
63
|
+
#bind_key( ?x, :delete_curr_char )
|
64
|
+
#bind_key( ?X, :delete_prev_char )
|
65
|
+
bind_key( [?y, ?y] , :kill_ring_save )
|
66
|
+
bind_key( ?p, :yank ) # paste after this line
|
67
|
+
bind_key( ?P ) { yank(@current_index - 1) } # should be before this line
|
68
|
+
bind_key(?\w, :forward_word)
|
69
|
+
#bind_key(?f, :forward_char)
|
70
|
+
bind_key(?\M-y, :yank_pop)
|
71
|
+
bind_key(?\C-y, :yank)
|
72
|
+
bind_key(?\M-w, :kill_ring_save)
|
38
73
|
|
39
74
|
end
|
40
75
|
|
41
76
|
##
|
42
77
|
# edit current or given line
|
78
|
+
# FIXME needs to fire handler 2010-05-23 11:40
|
43
79
|
def edit_line lineno=@current_index
|
44
80
|
line = @list[lineno]
|
45
81
|
prompt = "Edit: "
|
46
82
|
maxlen = 80
|
47
83
|
config={};
|
84
|
+
oldline = line.dup
|
48
85
|
config[:default] = line
|
49
86
|
ret, str = rbgetstr(@form.window, $error_message_row, $error_message_col, prompt, maxlen, config)
|
50
87
|
$log.debug " rbgetstr returned #{ret} , #{str} "
|
51
88
|
return if ret != 0
|
52
89
|
@list[lineno].replace(str)
|
90
|
+
fire_handler :CHANGE, InputDataEvent.new(0,oldline.length, self, :DELETE_LINE, lineno, oldline) # 2008-12-24 18:34
|
91
|
+
fire_handler :CHANGE, InputDataEvent.new(0,str.length, self, :INSERT_LINE, lineno, str)
|
53
92
|
@repaint_required = true
|
54
93
|
end
|
55
94
|
##
|
56
95
|
# insert a line
|
96
|
+
# FIXME needs to fire handler 2010-05-23 11:40
|
57
97
|
def insert_line lineno=@current_index
|
58
98
|
prompt = "Insert: "
|
59
99
|
maxlen = 80
|
@@ -65,6 +105,8 @@ module ViEditable
|
|
65
105
|
$log.debug " rbgetstr returned #{ret} , #{str} "
|
66
106
|
return if ret != 0
|
67
107
|
@list.insert lineno, str
|
108
|
+
## added handler on 2010-05-23 11:46 - undo works - tested in testlistbox.rb
|
109
|
+
fire_handler :CHANGE, InputDataEvent.new(0,str.length, self, :INSERT_LINE, lineno, str)
|
68
110
|
@repaint_required = true
|
69
111
|
end
|
70
112
|
##
|
data/rbcurse.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{rbcurse}
|
8
|
-
s.version = "1.1.
|
8
|
+
s.version = "1.1.4"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Rahul Kumar"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-08-30}
|
13
13
|
s.default_executable = %q{rbcurse}
|
14
14
|
s.description = %q{Ruby curses widgets for easy application development on text terminals (ruby 1.9, 1.8)}
|
15
15
|
s.email = %q{sentinel.2001@gmx.com}
|
@@ -31,6 +31,7 @@ Gem::Specification.new do |s|
|
|
31
31
|
"VERSION",
|
32
32
|
"bin/rbcurse",
|
33
33
|
"examples/README.txt",
|
34
|
+
"examples/data.txt",
|
34
35
|
"examples/keytest.rb",
|
35
36
|
"examples/mpad2.rb",
|
36
37
|
"examples/newtesttabp.rb",
|
@@ -46,6 +47,7 @@ Gem::Specification.new do |s|
|
|
46
47
|
"examples/testchars.rb",
|
47
48
|
"examples/testcombo.rb",
|
48
49
|
"examples/testkeypress.rb",
|
50
|
+
"examples/testlistbox.rb",
|
49
51
|
"examples/testmenu.rb",
|
50
52
|
"examples/testmulticomp.rb",
|
51
53
|
"examples/testscroller.rb",
|
@@ -69,6 +71,7 @@ Gem::Specification.new do |s|
|
|
69
71
|
"examples/testtpane.rb",
|
70
72
|
"examples/testtpane2.rb",
|
71
73
|
"examples/testtpanetable.rb",
|
74
|
+
"examples/todo.db",
|
72
75
|
"examples/todo.yml",
|
73
76
|
"examples/todocsv.csv",
|
74
77
|
"examples/viewtodo.rb",
|
@@ -80,6 +83,7 @@ Gem::Specification.new do |s|
|
|
80
83
|
"lib/rbcurse/colormap.rb",
|
81
84
|
"lib/rbcurse/comboboxcellrenderer.rb",
|
82
85
|
"lib/rbcurse/defaultlistselectionmodel.rb",
|
86
|
+
"lib/rbcurse/extras/tableextended.rb",
|
83
87
|
"lib/rbcurse/io.rb",
|
84
88
|
"lib/rbcurse/keylabelprinter.rb",
|
85
89
|
"lib/rbcurse/listcellrenderer.rb",
|
@@ -126,7 +130,7 @@ Gem::Specification.new do |s|
|
|
126
130
|
s.homepage = %q{http://rbcurse.rubyforge.org/}
|
127
131
|
s.rdoc_options = ["--charset=UTF-8"]
|
128
132
|
s.require_paths = ["lib"]
|
129
|
-
s.rubygems_version = %q{1.3.
|
133
|
+
s.rubygems_version = %q{1.3.7}
|
130
134
|
s.summary = %q{Ruby Curses Toolkit}
|
131
135
|
s.test_files = [
|
132
136
|
"test/test_rbcurse.rb",
|
@@ -144,6 +148,7 @@ Gem::Specification.new do |s|
|
|
144
148
|
"examples/testchars.rb",
|
145
149
|
"examples/testcombo.rb",
|
146
150
|
"examples/testkeypress.rb",
|
151
|
+
"examples/testlistbox.rb",
|
147
152
|
"examples/testmenu.rb",
|
148
153
|
"examples/testmulticomp.rb",
|
149
154
|
"examples/testscroller.rb",
|
@@ -167,6 +172,7 @@ Gem::Specification.new do |s|
|
|
167
172
|
"examples/testtpane.rb",
|
168
173
|
"examples/testtpane2.rb",
|
169
174
|
"examples/testtpanetable.rb",
|
175
|
+
"examples/todo.rb",
|
170
176
|
"examples/viewtodo.rb"
|
171
177
|
]
|
172
178
|
|
@@ -174,7 +180,7 @@ Gem::Specification.new do |s|
|
|
174
180
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
175
181
|
s.specification_version = 3
|
176
182
|
|
177
|
-
if Gem::Version.new(Gem::
|
183
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
178
184
|
else
|
179
185
|
end
|
180
186
|
else
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 1
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 1.1.
|
8
|
+
- 4
|
9
|
+
version: 1.1.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Rahul Kumar
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-08-30 00:00:00 +05:30
|
18
18
|
default_executable: rbcurse
|
19
19
|
dependencies: []
|
20
20
|
|
@@ -40,6 +40,7 @@ files:
|
|
40
40
|
- VERSION
|
41
41
|
- bin/rbcurse
|
42
42
|
- examples/README.txt
|
43
|
+
- examples/data.txt
|
43
44
|
- examples/keytest.rb
|
44
45
|
- examples/mpad2.rb
|
45
46
|
- examples/newtesttabp.rb
|
@@ -55,6 +56,7 @@ files:
|
|
55
56
|
- examples/testchars.rb
|
56
57
|
- examples/testcombo.rb
|
57
58
|
- examples/testkeypress.rb
|
59
|
+
- examples/testlistbox.rb
|
58
60
|
- examples/testmenu.rb
|
59
61
|
- examples/testmulticomp.rb
|
60
62
|
- examples/testscroller.rb
|
@@ -78,6 +80,7 @@ files:
|
|
78
80
|
- examples/testtpane.rb
|
79
81
|
- examples/testtpane2.rb
|
80
82
|
- examples/testtpanetable.rb
|
83
|
+
- examples/todo.db
|
81
84
|
- examples/todo.yml
|
82
85
|
- examples/todocsv.csv
|
83
86
|
- examples/viewtodo.rb
|
@@ -89,6 +92,7 @@ files:
|
|
89
92
|
- lib/rbcurse/colormap.rb
|
90
93
|
- lib/rbcurse/comboboxcellrenderer.rb
|
91
94
|
- lib/rbcurse/defaultlistselectionmodel.rb
|
95
|
+
- lib/rbcurse/extras/tableextended.rb
|
92
96
|
- lib/rbcurse/io.rb
|
93
97
|
- lib/rbcurse/keylabelprinter.rb
|
94
98
|
- lib/rbcurse/listcellrenderer.rb
|
@@ -131,6 +135,7 @@ files:
|
|
131
135
|
- lib/ver/window.rb
|
132
136
|
- rbcurse.gemspec
|
133
137
|
- test/test_rbcurse.rb
|
138
|
+
- examples/todo.rb
|
134
139
|
has_rdoc: true
|
135
140
|
homepage: http://rbcurse.rubyforge.org/
|
136
141
|
licenses: []
|
@@ -141,6 +146,7 @@ rdoc_options:
|
|
141
146
|
require_paths:
|
142
147
|
- lib
|
143
148
|
required_ruby_version: !ruby/object:Gem::Requirement
|
149
|
+
none: false
|
144
150
|
requirements:
|
145
151
|
- - ">="
|
146
152
|
- !ruby/object:Gem::Version
|
@@ -148,6 +154,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
148
154
|
- 0
|
149
155
|
version: "0"
|
150
156
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
|
+
none: false
|
151
158
|
requirements:
|
152
159
|
- - ">="
|
153
160
|
- !ruby/object:Gem::Version
|
@@ -157,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
164
|
requirements: []
|
158
165
|
|
159
166
|
rubyforge_project:
|
160
|
-
rubygems_version: 1.3.
|
167
|
+
rubygems_version: 1.3.7
|
161
168
|
signing_key:
|
162
169
|
specification_version: 3
|
163
170
|
summary: Ruby Curses Toolkit
|
@@ -177,6 +184,7 @@ test_files:
|
|
177
184
|
- examples/testchars.rb
|
178
185
|
- examples/testcombo.rb
|
179
186
|
- examples/testkeypress.rb
|
187
|
+
- examples/testlistbox.rb
|
180
188
|
- examples/testmenu.rb
|
181
189
|
- examples/testmulticomp.rb
|
182
190
|
- examples/testscroller.rb
|
@@ -200,4 +208,5 @@ test_files:
|
|
200
208
|
- examples/testtpane.rb
|
201
209
|
- examples/testtpane2.rb
|
202
210
|
- examples/testtpanetable.rb
|
211
|
+
- examples/todo.rb
|
203
212
|
- examples/viewtodo.rb
|