palaver 0.2.0 → 0.3.0
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.
- data/ReleaseNotes +28 -0
- data/examples/calendar.rb +4 -2
- data/examples/gauge.rb +24 -0
- data/examples/passwordbox.rb +7 -6
- data/examples/passwordform.rb +22 -0
- data/examples/yesno.rb +1 -1
- data/lib/palaver.rb +2 -0
- data/lib/palaver/base.rb +3 -0
- data/lib/palaver/baseform.rb +96 -0
- data/lib/palaver/calendar.rb +4 -4
- data/lib/palaver/checklist.rb +1 -1
- data/lib/palaver/dialog_factory.rb +37 -1
- data/lib/palaver/form.rb +4 -85
- data/lib/palaver/gauge.rb +35 -0
- data/lib/palaver/infobox.rb +1 -1
- data/lib/palaver/inputbox.rb +1 -1
- data/lib/palaver/menu.rb +1 -1
- data/lib/palaver/msgbox.rb +1 -1
- data/lib/palaver/passwordbox.rb +1 -15
- data/lib/palaver/passwordform.rb +10 -0
- data/lib/palaver/pathselect.rb +2 -2
- data/lib/palaver/pause.rb +1 -1
- data/lib/palaver/radiolist.rb +1 -1
- data/lib/palaver/textbox.rb +1 -1
- data/lib/palaver/yesno.rb +1 -1
- data/palaver.gemspec +1 -1
- metadata +10 -4
data/ReleaseNotes
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
Release notes for Palaver 0.3.0
|
2
|
+
===============================
|
3
|
+
|
4
|
+
New features:
|
5
|
+
|
6
|
+
- Support for the "passwordform" dialog (github issue #16)
|
7
|
+
- Support foor the "gaugle" dialog (githus issue #5)
|
8
|
+
- Support for options affecting multiple dialogs types in the DialogFactory instead of the
|
9
|
+
individual dialog classes.
|
10
|
+
- Support for the following options has been implemented for all currently support dialog types:
|
11
|
+
- ascii-lines
|
12
|
+
- no-lines
|
13
|
+
- aspect
|
14
|
+
- backtitle
|
15
|
+
- begin
|
16
|
+
- cancel-label
|
17
|
+
|
18
|
+
|
19
|
+
Incompatabilities with previous versions:
|
20
|
+
|
21
|
+
- The PasswordBox class no longer accepts the 'insecure' option, which has been moved to the
|
22
|
+
DialogFactory. See examples/passwordbox.rb.
|
23
|
+
|
24
|
+
|
25
|
+
Release notes for Palaver 0.2.0
|
26
|
+
===============================
|
27
|
+
|
28
|
+
Despite the version number, this was the first release of Palaver.
|
data/examples/calendar.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
require 'palaver'
|
2
2
|
require 'date'
|
3
3
|
|
4
|
-
dialog_factory = Palaver::DialogFactory.new
|
4
|
+
dialog_factory = Palaver::DialogFactory.new(:begin => [2,2],
|
5
|
+
:backtitle => "Defaults to a nasty period",
|
6
|
+
:cancel_label => "Forget it...")
|
5
7
|
|
6
8
|
# Using the hash based API with the calendar dialog
|
7
9
|
start_date = dialog_factory.calendar(:text => "Choose the start date", :date => Date.new(1939,9,1)).show
|
8
10
|
|
9
|
-
# Using the block based API with the calendar dialog. This probably doesn'
|
11
|
+
# Using the block based API with the calendar dialog. This probably doesn't make sense for a
|
10
12
|
# simple widget like the calendar.
|
11
13
|
end_date = dialog_factory.calendar { text "Choose the end date"; date Date.new(1945,9,2); }.show
|
12
14
|
|
data/examples/gauge.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'palaver'
|
2
|
+
|
3
|
+
early_finish = ARGV[0] ? ARGV[0].to_i : nil
|
4
|
+
|
5
|
+
dialog_factory = Palaver::DialogFactory.new(:backtitle => "Waiting for progress")
|
6
|
+
|
7
|
+
gauge = dialog_factory.gauge {
|
8
|
+
text "Gauge, block style"
|
9
|
+
inital_percentage 22
|
10
|
+
}
|
11
|
+
|
12
|
+
gauge.show
|
13
|
+
|
14
|
+
(22..100).each do |p|
|
15
|
+
if p == early_finish then
|
16
|
+
gauge.close
|
17
|
+
break
|
18
|
+
end
|
19
|
+
sleep_duration = p > 98 ? 10 : 0.1
|
20
|
+
sleep sleep_duration
|
21
|
+
gauge.percentage(p)
|
22
|
+
end
|
23
|
+
|
24
|
+
|
data/examples/passwordbox.rb
CHANGED
@@ -1,16 +1,17 @@
|
|
1
1
|
require 'palaver'
|
2
2
|
|
3
|
-
dialog_factory =
|
3
|
+
dialog_factory =
|
4
|
+
if ARGV[0] == "secure" then
|
5
|
+
Palaver::DialogFactory.new(:ascii_lines)
|
6
|
+
else
|
7
|
+
Palaver::DialogFactory.new(:insecure, :no_lines)
|
8
|
+
end
|
4
9
|
|
5
10
|
# Using the hash based API to ask for a password
|
6
11
|
hash_pw = dialog_factory.passwordbox(:text => "Please enter password, hash style").show
|
7
|
-
hash_pw_insec = dialog_factory.passwordbox(:text => "Please enter password, more usable hash style", :insecure => true).show
|
8
12
|
# Using the block based API to ask for a password
|
9
|
-
block_pw = dialog_factory.passwordbox{ text "Please enter
|
10
|
-
block_pw_insec = dialog_factory.passwordbox{ insecure; text "Please enter passwrod, more usable block style" }.show
|
13
|
+
block_pw = dialog_factory.passwordbox{ text "Please enter password, block style" }.show
|
11
14
|
|
12
15
|
puts "Hash password: #{hash_pw}"
|
13
|
-
puts "Hash password (entered in less secure way): #{hash_pw_insec}"
|
14
16
|
puts "Block password: #{block_pw}"
|
15
|
-
puts "Block parssword (entered ien less secure way): #{block_pw_insec}"
|
16
17
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'palaver'
|
2
|
+
|
3
|
+
|
4
|
+
dialog_factory =
|
5
|
+
if ARGV[0] == "secure" then
|
6
|
+
Palaver::DialogFactory.new
|
7
|
+
else
|
8
|
+
Palaver::DialogFactory.new(:insecure)
|
9
|
+
end
|
10
|
+
|
11
|
+
answers = dialog_factory.passwordform {
|
12
|
+
text "Foos and their secret texts"
|
13
|
+
height 10
|
14
|
+
form_height 5
|
15
|
+
entry :first, "First foo", 1, 0, "", 1, 15, 20, 200
|
16
|
+
entry :second, "Second foo", 1, 40, "", 1, 55, 20, 200
|
17
|
+
entry :third, "Third foo", 3, 0, "", 3, 15, 20, 200
|
18
|
+
}.show
|
19
|
+
|
20
|
+
answers.keys.each do |k|
|
21
|
+
puts "#{k}: #{answers[k]}"
|
22
|
+
end
|
data/examples/yesno.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'palaver'
|
2
2
|
|
3
|
-
dialog_factory = Palaver::DialogFactory.new
|
3
|
+
dialog_factory = Palaver::DialogFactory.new(:backtitle => "Yes/No questions R us", :aspect => 40)
|
4
4
|
|
5
5
|
# Using the hash based API, which makes most sense for this kind of dialog
|
6
6
|
likes_hash_based_api = dialog_factory.yesno(:text => "Do you like the hash based API?").show
|
data/lib/palaver.rb
CHANGED
data/lib/palaver/base.rb
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
# See LICENSE file for licensing information.
|
3
3
|
|
4
4
|
module Palaver
|
5
|
+
attr_reader :common_options
|
6
|
+
|
5
7
|
class Base
|
6
8
|
def initialize(options)
|
7
9
|
@text = nil
|
@@ -10,6 +12,7 @@ module Palaver
|
|
10
12
|
|
11
13
|
options.each do |option,value|
|
12
14
|
case option
|
15
|
+
when :common_options then @common_options = value
|
13
16
|
when :width then self.width(value)
|
14
17
|
when :height then self.height(value)
|
15
18
|
when :text then self.text(value)
|
@@ -0,0 +1,96 @@
|
|
1
|
+
# Copyright (c) 2012, Peter Allin <peter@peca.dk> All rights reserved.
|
2
|
+
# See LICENSE file for licensing information.
|
3
|
+
|
4
|
+
module Palaver
|
5
|
+
|
6
|
+
class BaseForm < Palaver::Base
|
7
|
+
def initialize(dialogcmd, options)
|
8
|
+
super(options)
|
9
|
+
@dialogcmd = dialogcmd
|
10
|
+
@entries = []
|
11
|
+
@form_height = nil
|
12
|
+
@simple_display_width = nil
|
13
|
+
@simple_text_length = nil
|
14
|
+
end
|
15
|
+
|
16
|
+
def show
|
17
|
+
text_width = @entries.map { |e| e.text_width }.max
|
18
|
+
@entries.each { |e| e.update_value_x text_width }
|
19
|
+
|
20
|
+
cmd_intro = "dialog #@common_options --#@dialogcmd '#@text' #@height #@width #@form_height "
|
21
|
+
cmd_entries = @entries.map { |e| e.to_cmd_s }.join(' ')
|
22
|
+
|
23
|
+
result = nil
|
24
|
+
with_tempfile do |tfpath|
|
25
|
+
cmd = "#{cmd_intro} #{cmd_entries} 2> #{tfpath}"
|
26
|
+
success = system cmd
|
27
|
+
result = read_dialog_output tfpath
|
28
|
+
end
|
29
|
+
|
30
|
+
return result
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
class Entry
|
36
|
+
attr_reader :field_id, :text
|
37
|
+
|
38
|
+
def initialize(id, text, text_y, text_x, default_value, value_y, value_x, field_length, input_length)
|
39
|
+
@field_id = id
|
40
|
+
@text = text
|
41
|
+
@text_y = text_y
|
42
|
+
@text_x = text_x
|
43
|
+
@default_value = default_value
|
44
|
+
@value_y = value_y
|
45
|
+
@value_x = value_x
|
46
|
+
@field_length = field_length
|
47
|
+
@input_length = input_length
|
48
|
+
end
|
49
|
+
|
50
|
+
def text_width
|
51
|
+
@text.length + 2
|
52
|
+
end
|
53
|
+
|
54
|
+
def update_value_x(min)
|
55
|
+
@value_x = [ @value_x ? @value_x : 0, min ].max
|
56
|
+
end
|
57
|
+
|
58
|
+
def to_cmd_s
|
59
|
+
"'#@text' #@text_y #@text_x '#@default_value' #@value_y #@value_x #@field_length #@input_length"
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def read_dialog_output(fname)
|
64
|
+
lines = File.read(fname).split("\n")
|
65
|
+
result = {}
|
66
|
+
lines.each_with_index { |l,i| result[@entries[i].field_id] = l }
|
67
|
+
return result
|
68
|
+
end
|
69
|
+
|
70
|
+
def form_height(val)
|
71
|
+
@form_height = val
|
72
|
+
end
|
73
|
+
|
74
|
+
def entry(id, title, text_y, text_x, default_value, value_y, value_x, field_length, input_length)
|
75
|
+
newentry = Entry.new(id, title, text_y, text_x, default_value, value_y, value_x, field_length, input_length)
|
76
|
+
@entries.push newentry
|
77
|
+
end
|
78
|
+
|
79
|
+
def simple_display_width(width)
|
80
|
+
@simple_display_width = width
|
81
|
+
end
|
82
|
+
|
83
|
+
def simple_text_length(length)
|
84
|
+
@simple_text_length = length
|
85
|
+
end
|
86
|
+
|
87
|
+
def simple_entry(id, title, default_value)
|
88
|
+
@simple_next_y = 1 if not @simple_next_y
|
89
|
+
newentry = Entry.new(id, title, @simple_next_y, 0, default_value, @simple_next_y, nil, @simple_display_width, @simple_text_length)
|
90
|
+
@entries.push newentry
|
91
|
+
@simple_next_y = @simple_next_y + 1
|
92
|
+
end
|
93
|
+
|
94
|
+
end
|
95
|
+
|
96
|
+
end
|
data/lib/palaver/calendar.rb
CHANGED
@@ -30,10 +30,10 @@ module Palaver
|
|
30
30
|
end
|
31
31
|
chosen_date = nil
|
32
32
|
with_tempfile do |tfpath|
|
33
|
-
cmd =
|
34
|
-
|
35
|
-
|
36
|
-
|
33
|
+
cmd = "dialog #@common_options --calendar '%s' %d %d %d %d %d 2> %s" % [ @text,
|
34
|
+
@height, @width,
|
35
|
+
day, month, year,
|
36
|
+
tfpath ]
|
37
37
|
success = system cmd
|
38
38
|
chosen_date = Date.strptime(File.read(tfpath), "%d/%m/%Y") if success
|
39
39
|
end
|
data/lib/palaver/checklist.rb
CHANGED
@@ -12,7 +12,7 @@ module Palaver
|
|
12
12
|
def show
|
13
13
|
choices = nil
|
14
14
|
with_tempfile do |fname|
|
15
|
-
cmd = "dialog --checklist '#@text' #@height #@width #@list_height #{options_string_with_status} 2> #{fname}"
|
15
|
+
cmd = "dialog #@common_options --checklist '#@text' #@height #@width #@list_height #{options_string_with_status} 2> #{fname}"
|
16
16
|
success = system cmd
|
17
17
|
if success then
|
18
18
|
choices = File.read(fname).split(" ").map { |s| s[1..-2] }
|
@@ -17,15 +17,51 @@ module Palaver
|
|
17
17
|
:passwordbox => PasswordBox,
|
18
18
|
:dselect => DSelect,
|
19
19
|
:fselect => FSelect,
|
20
|
-
:form => Form
|
20
|
+
:form => Form,
|
21
|
+
:passwordform => PasswordForm,
|
22
|
+
:gauge => Gauge
|
21
23
|
}
|
22
24
|
|
25
|
+
def initialize(*options)
|
26
|
+
options.each do |option|
|
27
|
+
case option
|
28
|
+
when :insecure then @insecure = true
|
29
|
+
when :ascii_lines then @ascii_lines = true
|
30
|
+
when :no_lines then @no_lines = true
|
31
|
+
end
|
32
|
+
|
33
|
+
if option.class == Hash then
|
34
|
+
option.each do |k,v|
|
35
|
+
case k
|
36
|
+
when :aspect then @aspect = v
|
37
|
+
when :backtitle then @backtitle = v
|
38
|
+
when :begin then @begin = v
|
39
|
+
when :cancel_label then @cancel_label = v
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def common_options
|
47
|
+
options = []
|
48
|
+
options.push("--insecure") if @insecure
|
49
|
+
options.push("--ascii-lines") if @ascii_lines
|
50
|
+
options.push("--no-lines") if @no_lines
|
51
|
+
options.push("--aspect #@aspect") if @aspect
|
52
|
+
options.push("--backtitle '#@backtitle'") if @backtitle
|
53
|
+
options.push("--begin #{@begin[0]} #{@begin[1]}") if @begin
|
54
|
+
options.push("--cancel-label '#@cancel_label'") if @cancel_label
|
55
|
+
return options.join(" ")
|
56
|
+
end
|
57
|
+
|
23
58
|
private
|
24
59
|
|
25
60
|
def method_missing(methodsym, *args, &block)
|
26
61
|
if @@dialog_types.has_key? methodsym then
|
27
62
|
c = @@dialog_types[methodsym]
|
28
63
|
options = args.size == 1 ? args[0] : {}
|
64
|
+
options[:common_options] = common_options
|
29
65
|
return make_dialog(c, options, &block)
|
30
66
|
else
|
31
67
|
raise NoMethodError.new("Undefined method: #{methodsym} for #{self}", methodsym)
|
data/lib/palaver/form.rb
CHANGED
@@ -1,95 +1,14 @@
|
|
1
1
|
# Copyright (c) 2012, Peter Allin <peter@peca.dk> All rights reserved.
|
2
2
|
# See LICENSE file for licensing information.
|
3
3
|
|
4
|
+
require 'palaver/baseform.rb'
|
5
|
+
|
4
6
|
module Palaver
|
5
7
|
|
6
|
-
class Form < Palaver::
|
8
|
+
class Form < Palaver::BaseForm
|
7
9
|
def initialize(options)
|
8
|
-
super(options)
|
9
|
-
@entries = []
|
10
|
-
@form_height = nil
|
11
|
-
@simple_display_width = nil
|
12
|
-
@simple_text_length = nil
|
13
|
-
end
|
14
|
-
|
15
|
-
def show
|
16
|
-
text_width = @entries.map { |e| e.text_width }.max
|
17
|
-
@entries.each { |e| e.update_value_x text_width }
|
18
|
-
|
19
|
-
cmd_intro = "dialog --form '#@text' #@height #@width #@form_height "
|
20
|
-
cmd_entries = @entries.map { |e| e.to_cmd_s }.join(' ')
|
21
|
-
|
22
|
-
result = nil
|
23
|
-
with_tempfile do |tfpath|
|
24
|
-
cmd = "#{cmd_intro} #{cmd_entries} 2> #{tfpath}"
|
25
|
-
success = system cmd
|
26
|
-
result = read_dialog_output tfpath
|
27
|
-
end
|
28
|
-
|
29
|
-
return result
|
30
|
-
end
|
31
|
-
|
32
|
-
private
|
33
|
-
|
34
|
-
class Entry
|
35
|
-
attr_reader :field_id, :text
|
36
|
-
|
37
|
-
def initialize(id, text, text_y, text_x, default_value, value_y, value_x, field_length, input_length)
|
38
|
-
@field_id = id
|
39
|
-
@text = text
|
40
|
-
@text_y = text_y
|
41
|
-
@text_x = text_x
|
42
|
-
@default_value = default_value
|
43
|
-
@value_y = value_y
|
44
|
-
@value_x = value_x
|
45
|
-
@field_length = field_length
|
46
|
-
@input_length = input_length
|
47
|
-
end
|
48
|
-
|
49
|
-
def text_width
|
50
|
-
@text.length + 2
|
51
|
-
end
|
52
|
-
|
53
|
-
def update_value_x(min)
|
54
|
-
@value_x = [ @value_x ? @value_x : 0, min ].max
|
55
|
-
end
|
56
|
-
|
57
|
-
def to_cmd_s
|
58
|
-
"'#@text' #@text_y #@text_x '#@default_value' #@value_y #@value_x #@field_length #@input_length"
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
def read_dialog_output(fname)
|
63
|
-
lines = File.read(fname).split("\n")
|
64
|
-
result = {}
|
65
|
-
lines.each_with_index { |l,i| result[@entries[i].field_id] = l }
|
66
|
-
return result
|
10
|
+
super("form", options)
|
67
11
|
end
|
68
|
-
|
69
|
-
def form_height(val)
|
70
|
-
@form_height = val
|
71
|
-
end
|
72
|
-
|
73
|
-
def entry(id, title, text_y, text_x, default_value, value_y, value_x, field_length, input_length)
|
74
|
-
newentry = Entry.new(id, title, text_y, text_x, default_value, value_y, value_x, field_length, input_length)
|
75
|
-
@entries.push newentry
|
76
|
-
end
|
77
|
-
|
78
|
-
def simple_display_width(width)
|
79
|
-
@simple_display_width = width
|
80
|
-
end
|
81
|
-
|
82
|
-
def simple_text_length(length)
|
83
|
-
@simple_text_length = length
|
84
|
-
end
|
85
|
-
|
86
|
-
def simple_entry(id, title, default_value)
|
87
|
-
@simple_next_y = 1 if not @simple_next_y
|
88
|
-
newentry = Entry.new(id, title, @simple_next_y, 0, default_value, @simple_next_y, nil, @simple_display_width, @simple_text_length)
|
89
|
-
@entries.push newentry
|
90
|
-
@simple_next_y = @simple_next_y + 1
|
91
|
-
end
|
92
|
-
|
93
12
|
end
|
94
13
|
|
95
14
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# Copyright (c) 2012, Peter Allin <peter@peca.dk> All rights reserved.
|
2
|
+
# See LICENSE file for licensing information.
|
3
|
+
|
4
|
+
module Palaver
|
5
|
+
class Gauge < Palaver::Base
|
6
|
+
|
7
|
+
def initialize(options)
|
8
|
+
@inital_percentage = 0
|
9
|
+
super(options)
|
10
|
+
end
|
11
|
+
|
12
|
+
def show
|
13
|
+
cmd = "dialog #@common_options --gauge '#@text' #@height #@width #@inital_percentage"
|
14
|
+
@pipe = IO.popen(cmd,"w")
|
15
|
+
end
|
16
|
+
|
17
|
+
def percentage(p)
|
18
|
+
if @pipe then
|
19
|
+
@pipe.puts p
|
20
|
+
else
|
21
|
+
@inital_percentage = p
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def close
|
26
|
+
@pipe.close
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def inital_percentage(percentage)
|
32
|
+
@inital_percentage = percentage
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
data/lib/palaver/infobox.rb
CHANGED
data/lib/palaver/inputbox.rb
CHANGED
@@ -22,7 +22,7 @@ module Palaver
|
|
22
22
|
def show
|
23
23
|
answer = nil
|
24
24
|
with_tempfile do |fname|
|
25
|
-
cmd = "dialog --inputbox '#@text' #@height #@width '#@initial' 2> #{fname}"
|
25
|
+
cmd = "dialog #@common_options --inputbox '#@text' #@height #@width '#@initial' 2> #{fname}"
|
26
26
|
success = system cmd
|
27
27
|
if success then
|
28
28
|
answer = File.read(fname)
|
data/lib/palaver/menu.rb
CHANGED
@@ -12,7 +12,7 @@ module Palaver
|
|
12
12
|
def show
|
13
13
|
chosen = nil
|
14
14
|
with_tempfile do |fname|
|
15
|
-
cmd = "dialog --menu '#@text' #@height #@width #@list_height #{options_string_no_status} 2> #{fname}"
|
15
|
+
cmd = "dialog #@common_options --menu '#@text' #@height #@width #@list_height #{options_string_no_status} 2> #{fname}"
|
16
16
|
sucess = system cmd
|
17
17
|
if sucess then
|
18
18
|
chosen = File.read(fname)
|
data/lib/palaver/msgbox.rb
CHANGED
data/lib/palaver/passwordbox.rb
CHANGED
@@ -5,26 +5,12 @@ module Palaver
|
|
5
5
|
class PasswordBox < Palaver::Base
|
6
6
|
def initialize(options)
|
7
7
|
super(options)
|
8
|
-
@insecure = false
|
9
|
-
|
10
|
-
options.each do |option,value|
|
11
|
-
case option
|
12
|
-
when :insecure then self.insecure(value)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
def insecure(should_be_insecure=true)
|
18
|
-
@insecure = should_be_insecure
|
19
8
|
end
|
20
9
|
|
21
|
-
|
22
10
|
def show
|
23
11
|
answer = nil
|
24
12
|
with_tempfile do |fname|
|
25
|
-
|
26
|
-
cmd = "dialog #{insecure} --passwordbox '#@text' #@height #@width 2> #{fname}"
|
27
|
-
#puts cmd
|
13
|
+
cmd = "dialog #@common_options --passwordbox '#@text' #@height #@width 2> #{fname}"
|
28
14
|
success = system cmd
|
29
15
|
if success then
|
30
16
|
answer = File.read(fname)
|
data/lib/palaver/pathselect.rb
CHANGED
@@ -20,10 +20,10 @@ module Palaver
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def show
|
23
|
-
raise "
|
23
|
+
raise "Can't open a #{dialog_name} dialog with a path" if not @path
|
24
24
|
chosen_file = nil
|
25
25
|
with_tempfile do |tfpath|
|
26
|
-
cmd = "dialog --#{dialog_name} '#@path' #@height #@width 2> #{tfpath}"
|
26
|
+
cmd = "dialog #@common_options --#{dialog_name} '#@path' #@height #@width 2> #{tfpath}"
|
27
27
|
puts cmd
|
28
28
|
success = system cmd
|
29
29
|
chosen_file = File.read(tfpath) if success
|
data/lib/palaver/pause.rb
CHANGED
data/lib/palaver/radiolist.rb
CHANGED
@@ -12,7 +12,7 @@ module Palaver
|
|
12
12
|
def show
|
13
13
|
chosen = nil
|
14
14
|
with_tempfile do |fname|
|
15
|
-
cmd = "dialog --radiolist '#@text' #@height #@width #@list_height #{options_string_with_status} 2> #{fname}"
|
15
|
+
cmd = "dialog #@common_options --radiolist '#@text' #@height #@width #@list_height #{options_string_with_status} 2> #{fname}"
|
16
16
|
sucess = system cmd
|
17
17
|
if sucess then
|
18
18
|
chosen = File.read(fname)
|
data/lib/palaver/textbox.rb
CHANGED
data/lib/palaver/yesno.rb
CHANGED
data/palaver.gemspec
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: palaver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 3
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.3.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Peter Allin
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-
|
18
|
+
date: 2012-09-23 00:00:00 Z
|
19
19
|
dependencies: []
|
20
20
|
|
21
21
|
description: Uses the 'dialog' program to create Ruby applications with text based user interfaces
|
@@ -32,35 +32,41 @@ files:
|
|
32
32
|
- LICENSE
|
33
33
|
- README.md
|
34
34
|
- Rakefile
|
35
|
+
- ReleaseNotes
|
35
36
|
- examples/calendar.rb
|
36
37
|
- examples/checklist.rb
|
37
38
|
- examples/dselect.rb
|
38
39
|
- examples/form.rb
|
39
40
|
- examples/form_simple.rb
|
40
41
|
- examples/fselect.rb
|
42
|
+
- examples/gauge.rb
|
41
43
|
- examples/infobox.rb
|
42
44
|
- examples/inputbox.rb
|
43
45
|
- examples/menu.rb
|
44
46
|
- examples/msgbox.rb
|
45
47
|
- examples/passwordbox.rb
|
48
|
+
- examples/passwordform.rb
|
46
49
|
- examples/pause.rb
|
47
50
|
- examples/radiolist.rb
|
48
51
|
- examples/textbox.rb
|
49
52
|
- examples/yesno.rb
|
50
53
|
- lib/palaver.rb
|
51
54
|
- lib/palaver/base.rb
|
55
|
+
- lib/palaver/baseform.rb
|
52
56
|
- lib/palaver/calendar.rb
|
53
57
|
- lib/palaver/checklist.rb
|
54
58
|
- lib/palaver/dialog_factory.rb
|
55
59
|
- lib/palaver/dselect.rb
|
56
60
|
- lib/palaver/form.rb
|
57
61
|
- lib/palaver/fselect.rb
|
62
|
+
- lib/palaver/gauge.rb
|
58
63
|
- lib/palaver/infobox.rb
|
59
64
|
- lib/palaver/inputbox.rb
|
60
65
|
- lib/palaver/list_with_options.rb
|
61
66
|
- lib/palaver/menu.rb
|
62
67
|
- lib/palaver/msgbox.rb
|
63
68
|
- lib/palaver/passwordbox.rb
|
69
|
+
- lib/palaver/passwordform.rb
|
64
70
|
- lib/palaver/pathselect.rb
|
65
71
|
- lib/palaver/pause.rb
|
66
72
|
- lib/palaver/radiolist.rb
|