mrdialog 1.0.1
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.
- checksums.yaml +7 -0
- data/.document +5 -0
- data/ChangeLog.md +61 -0
- data/Gemfile +14 -0
- data/Gemfile.lock +82 -0
- data/LICENSE.txt +21 -0
- data/README.rdoc +52 -0
- data/Rakefile +62 -0
- data/VERSION +1 -0
- data/lib/mrdialog/mrdialog.rb +1245 -0
- data/lib/mrdialog.rb +3 -0
- data/pkg/mrdialog-1.0.1.gem +0 -0
- data/samples/buildlist.rb +77 -0
- data/samples/calendar.rb +33 -0
- data/samples/checklist.rb +67 -0
- data/samples/editbox.rb +60 -0
- data/samples/form1.rb +90 -0
- data/samples/form2.rb +170 -0
- data/samples/form3.rb +96 -0
- data/samples/fselect.rb +29 -0
- data/samples/gauge.rb +39 -0
- data/samples/infobox.rb +36 -0
- data/samples/inputbox.rb +36 -0
- data/samples/menubox.rb +72 -0
- data/samples/mixedform1.rb +120 -0
- data/samples/msgbox.rb +31 -0
- data/samples/password.rb +32 -0
- data/samples/password2.rb +39 -0
- data/samples/passwordform.rb +91 -0
- data/samples/pause.rb +48 -0
- data/samples/prgbox.rb +34 -0
- data/samples/program.rb +33 -0
- data/samples/progress.rb +32 -0
- data/samples/radiolist.rb +71 -0
- data/samples/shortlist +19 -0
- data/samples/timebox.rb +31 -0
- data/samples/treeview.rb +100 -0
- data/samples/treeview2.rb +80 -0
- data/samples/yesno.rb +39 -0
- data/test/helper.rb +34 -0
- data/test/test_mrdialog.rb +7 -0
- metadata +161 -0
data/samples/treeview.rb
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# muquit@muquit.com Apr-20-2014
|
4
|
+
require [File.expand_path(File.dirname(__FILE__)), '..', 'lib', 'mrdialog'].join('/')
|
5
|
+
require 'pp'
|
6
|
+
|
7
|
+
begin
|
8
|
+
ME = File.basename($0)
|
9
|
+
text = <<-EOF
|
10
|
+
This example is taken from dialog/samples/treeview1
|
11
|
+
shell script.
|
12
|
+
|
13
|
+
EOF
|
14
|
+
items = []
|
15
|
+
Struct.new("TreeviewData", :tag, :item, :status, :depth)
|
16
|
+
data = Struct::TreeviewData.new
|
17
|
+
|
18
|
+
data.tag = "tag1"
|
19
|
+
data.item = "Item number 1"
|
20
|
+
data.status = false
|
21
|
+
data.depth = 0
|
22
|
+
items.push(data.to_a)
|
23
|
+
|
24
|
+
data = Struct::TreeviewData.new
|
25
|
+
data.tag = "tag2"
|
26
|
+
data.item = "Item number 2"
|
27
|
+
data.status = false
|
28
|
+
data.depth = 1
|
29
|
+
items.push(data.to_a)
|
30
|
+
|
31
|
+
data = Struct::TreeviewData.new
|
32
|
+
data.tag = "tag3"
|
33
|
+
data.item = "Item number 3"
|
34
|
+
data.status = true
|
35
|
+
data.depth = 2
|
36
|
+
items.push(data.to_a)
|
37
|
+
|
38
|
+
data = Struct::TreeviewData.new
|
39
|
+
data.tag = "tag4"
|
40
|
+
data.item = "Item number 4"
|
41
|
+
data.status = false
|
42
|
+
data.depth = 1
|
43
|
+
items.push(data.to_a)
|
44
|
+
|
45
|
+
data = Struct::TreeviewData.new
|
46
|
+
data.tag = "tag5"
|
47
|
+
data.item = "Item number 5"
|
48
|
+
data.status = false
|
49
|
+
data.depth = 2
|
50
|
+
items.push(data.to_a)
|
51
|
+
|
52
|
+
data = Struct::TreeviewData.new
|
53
|
+
data.tag = "tag6"
|
54
|
+
data.item = "Item number 6"
|
55
|
+
data.status = false
|
56
|
+
data.depth = 3
|
57
|
+
items.push(data.to_a)
|
58
|
+
|
59
|
+
data = Struct::TreeviewData.new
|
60
|
+
data.tag = "tag7"
|
61
|
+
data.item = "Item number 7"
|
62
|
+
data.status = false
|
63
|
+
data.depth = 3
|
64
|
+
items.push(data.to_a)
|
65
|
+
|
66
|
+
data = Struct::TreeviewData.new
|
67
|
+
data.tag = "tag8"
|
68
|
+
data.item = "Item number 8"
|
69
|
+
data.status = false
|
70
|
+
data.depth = 4
|
71
|
+
items.push(data.to_a)
|
72
|
+
|
73
|
+
data = Struct::TreeviewData.new
|
74
|
+
data.tag = "tag9"
|
75
|
+
data.item = "Item number 9"
|
76
|
+
data.status = false
|
77
|
+
data.depth = 1
|
78
|
+
items.push(data.to_a)
|
79
|
+
|
80
|
+
dialog = MRDialog.new
|
81
|
+
dialog.clear = true
|
82
|
+
dialog.title = "TREEVIEW"
|
83
|
+
dialog.logger = Logger.new(ENV["HOME"] + "/dialog_" + ME + ".log")
|
84
|
+
|
85
|
+
height = 0
|
86
|
+
width = 0
|
87
|
+
listheight = 0
|
88
|
+
|
89
|
+
selected_tag = dialog.treeview(text, items, height, width, listheight)
|
90
|
+
exit_code = dialog.exit_code
|
91
|
+
puts "Exit code: #{exit_code}"
|
92
|
+
if exit_code == 0
|
93
|
+
puts "Selecetd tag: #{selected_tag}"
|
94
|
+
end
|
95
|
+
|
96
|
+
rescue => e
|
97
|
+
puts "#{$!}"
|
98
|
+
t = e.backtrace.join("\n\t")
|
99
|
+
puts "Error: #{t}"
|
100
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# muquit@muquit.com Apr-20-2014
|
4
|
+
require [File.expand_path(File.dirname(__FILE__)), '..', 'lib', 'mrdialog'].join('/')
|
5
|
+
require 'pp'
|
6
|
+
|
7
|
+
begin
|
8
|
+
ME = File.basename($0)
|
9
|
+
text = <<-EOF
|
10
|
+
This example is taken from dialog/samples/treeview2
|
11
|
+
shell script.
|
12
|
+
|
13
|
+
EOF
|
14
|
+
items = []
|
15
|
+
item_list = ''
|
16
|
+
input = []
|
17
|
+
input << "tag1:one:off:0"
|
18
|
+
input << "tag2:two:off:1"
|
19
|
+
input << "tag3:three:on:2"
|
20
|
+
input << "tag4:four:off:1"
|
21
|
+
input << "tag5:five:off:2"
|
22
|
+
input << "tag6:six:off:3"
|
23
|
+
input << "tag7:seven:off:3"
|
24
|
+
input << "tag8:eight:off:4"
|
25
|
+
input << "tag11:1one:off:0"
|
26
|
+
input << "tag12:1two:off:1"
|
27
|
+
input << "tag13:1three:on:2"
|
28
|
+
input << "tag14:1four:off:1"
|
29
|
+
input << "tag15:1five:off:2"
|
30
|
+
input << "tag16:1six:off:3"
|
31
|
+
input << "tag17:1seven:off:3"
|
32
|
+
input << "tag18:1eight:off:4"
|
33
|
+
input << "tag21:2one:off:0"
|
34
|
+
input << "tag22:2two:off:1"
|
35
|
+
input << "tag23:2three:on:2"
|
36
|
+
input << "tag24:2four:off:1"
|
37
|
+
input << "tag25:2five:off:2"
|
38
|
+
input << "tag26:2six:off:3"
|
39
|
+
input << "tag27:2seven:off:3"
|
40
|
+
input << "tag28:2eight:off:4"
|
41
|
+
input << "tag9:nine:off:1"
|
42
|
+
|
43
|
+
|
44
|
+
Struct.new("TreeviewData", :tag, :item, :status, :depth)
|
45
|
+
input.each do |ii|
|
46
|
+
data = Struct::TreeviewData.new
|
47
|
+
a = ii.split(/:/)
|
48
|
+
data.tag = a[0]
|
49
|
+
data.item = a[1]
|
50
|
+
if a[2] == 'on'
|
51
|
+
data.status = true
|
52
|
+
else
|
53
|
+
data.status = false
|
54
|
+
end
|
55
|
+
data.depth = a[3]
|
56
|
+
items.push(data.to_a)
|
57
|
+
end
|
58
|
+
|
59
|
+
dialog = MRDialog.new
|
60
|
+
dialog.clear = true
|
61
|
+
dialog.scrollbar = true
|
62
|
+
dialog.title = "TREEVIEW"
|
63
|
+
dialog.logger = Logger.new(ENV["HOME"] + "/dialog_" + ME + ".log")
|
64
|
+
|
65
|
+
height = 0
|
66
|
+
width = 0
|
67
|
+
listheight = 10
|
68
|
+
|
69
|
+
selected_tag = dialog.treeview(text, items, height, width, listheight)
|
70
|
+
exit_code = dialog.exit_code
|
71
|
+
puts "Exit code: #{exit_code}"
|
72
|
+
if exit_code == 0
|
73
|
+
puts "Selecetd tag: #{selected_tag}"
|
74
|
+
end
|
75
|
+
|
76
|
+
rescue => e
|
77
|
+
puts "#{$!}"
|
78
|
+
t = e.backtrace.join("\n\t")
|
79
|
+
puts "Error: #{t}"
|
80
|
+
end
|
data/samples/yesno.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# muquit@muquit.com Apr-01-2014
|
4
|
+
require [File.expand_path(File.dirname(__FILE__)), '..', 'lib', 'mrdialog'].join('/')
|
5
|
+
require 'pp'
|
6
|
+
|
7
|
+
class TestYesNo
|
8
|
+
ME = File.basename($0)
|
9
|
+
def initialize
|
10
|
+
end
|
11
|
+
|
12
|
+
def doit
|
13
|
+
text = <<EOF
|
14
|
+
Hi, this is a yes/no dialog box. You can use this to ask
|
15
|
+
questions that have an answer of either yes or no.
|
16
|
+
BTW, do you notice that long lines will be automatically
|
17
|
+
wrapped around so that they can fit in the box? You can
|
18
|
+
also control line breaking explicitly by inserting
|
19
|
+
'backslash n' at any place you like, but in this case,
|
20
|
+
auto wrap around will be disabled and you will have to
|
21
|
+
control line breaking yourself.
|
22
|
+
|
23
|
+
EOF
|
24
|
+
dialog = MRDialog.new
|
25
|
+
dialog.logger = Logger.new(ENV["HOME"] + "/dialog_" + ME + ".log")
|
26
|
+
dialog.clear = true
|
27
|
+
dialog.title = "YES/NO BOX"
|
28
|
+
# dialog.ascii_lines = true
|
29
|
+
|
30
|
+
yesno = dialog.yesno(text,0, 0)
|
31
|
+
|
32
|
+
puts "yesno: #{yesno}"
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
if __FILE__ == $0
|
38
|
+
TestYesNo.new.doit
|
39
|
+
end
|
data/test/helper.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'simplecov'
|
2
|
+
|
3
|
+
module SimpleCov::Configuration
|
4
|
+
def clean_filters
|
5
|
+
@filters = []
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
SimpleCov.configure do
|
10
|
+
clean_filters
|
11
|
+
load_adapter 'test_frameworks'
|
12
|
+
end
|
13
|
+
|
14
|
+
ENV["COVERAGE"] && SimpleCov.start do
|
15
|
+
add_filter "/.rvm/"
|
16
|
+
end
|
17
|
+
require 'rubygems'
|
18
|
+
require 'bundler'
|
19
|
+
begin
|
20
|
+
Bundler.setup(:default, :development)
|
21
|
+
rescue Bundler::BundlerError => e
|
22
|
+
$stderr.puts e.message
|
23
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
24
|
+
exit e.status_code
|
25
|
+
end
|
26
|
+
require 'test/unit'
|
27
|
+
require 'shoulda'
|
28
|
+
|
29
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
30
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
31
|
+
require 'mrdialog'
|
32
|
+
|
33
|
+
class Test::Unit::TestCase
|
34
|
+
end
|
metadata
ADDED
@@ -0,0 +1,161 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: mrdialog
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Aleks Clark
|
8
|
+
- Muhammad Muquit
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2014-04-20 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: shoulda
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - '>='
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: '0'
|
21
|
+
type: :development
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - '>='
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
28
|
+
- !ruby/object:Gem::Dependency
|
29
|
+
name: rdoc
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ~>
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: '3.12'
|
35
|
+
type: :development
|
36
|
+
prerelease: false
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - ~>
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '3.12'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: bundler
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ~>
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '1.0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ~>
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '1.0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: jeweler
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ~>
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 2.0.1
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ~>
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 2.0.1
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: simplecov
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - '>='
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - '>='
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
description: "A ruby gem for ncurses dialog program.\n This gem is based on rdialog
|
85
|
+
(http://rdialog.rubyforge.org/) by\n Aleks Clark. I added support for missing
|
86
|
+
widgets, fixed \n bugs and wrote the sample apps. I am \n also renaming
|
87
|
+
the class to MRDialog to avoid conflicts.\n Please look at ChangeLog.md for
|
88
|
+
details. "
|
89
|
+
email: muquit@gmail.com
|
90
|
+
executables: []
|
91
|
+
extensions: []
|
92
|
+
extra_rdoc_files:
|
93
|
+
- ChangeLog.md
|
94
|
+
- LICENSE.txt
|
95
|
+
- README.rdoc
|
96
|
+
files:
|
97
|
+
- .document
|
98
|
+
- ChangeLog.md
|
99
|
+
- Gemfile
|
100
|
+
- Gemfile.lock
|
101
|
+
- LICENSE.txt
|
102
|
+
- README.rdoc
|
103
|
+
- Rakefile
|
104
|
+
- VERSION
|
105
|
+
- lib/mrdialog.rb
|
106
|
+
- lib/mrdialog/mrdialog.rb
|
107
|
+
- pkg/mrdialog-1.0.1.gem
|
108
|
+
- samples/buildlist.rb
|
109
|
+
- samples/calendar.rb
|
110
|
+
- samples/checklist.rb
|
111
|
+
- samples/editbox.rb
|
112
|
+
- samples/form1.rb
|
113
|
+
- samples/form2.rb
|
114
|
+
- samples/form3.rb
|
115
|
+
- samples/fselect.rb
|
116
|
+
- samples/gauge.rb
|
117
|
+
- samples/infobox.rb
|
118
|
+
- samples/inputbox.rb
|
119
|
+
- samples/menubox.rb
|
120
|
+
- samples/mixedform1.rb
|
121
|
+
- samples/msgbox.rb
|
122
|
+
- samples/password.rb
|
123
|
+
- samples/password2.rb
|
124
|
+
- samples/passwordform.rb
|
125
|
+
- samples/pause.rb
|
126
|
+
- samples/prgbox.rb
|
127
|
+
- samples/program.rb
|
128
|
+
- samples/progress.rb
|
129
|
+
- samples/radiolist.rb
|
130
|
+
- samples/shortlist
|
131
|
+
- samples/timebox.rb
|
132
|
+
- samples/treeview.rb
|
133
|
+
- samples/treeview2.rb
|
134
|
+
- samples/yesno.rb
|
135
|
+
- test/helper.rb
|
136
|
+
- test/test_mrdialog.rb
|
137
|
+
homepage: http://github.com/muquit/mrdialog
|
138
|
+
licenses:
|
139
|
+
- MIT
|
140
|
+
metadata: {}
|
141
|
+
post_install_message:
|
142
|
+
rdoc_options: []
|
143
|
+
require_paths:
|
144
|
+
- lib
|
145
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
146
|
+
requirements:
|
147
|
+
- - '>='
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0'
|
150
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
151
|
+
requirements:
|
152
|
+
- - '>='
|
153
|
+
- !ruby/object:Gem::Version
|
154
|
+
version: '0'
|
155
|
+
requirements: []
|
156
|
+
rubyforge_project:
|
157
|
+
rubygems_version: 2.0.3
|
158
|
+
signing_key:
|
159
|
+
specification_version: 4
|
160
|
+
summary: A ruby gem for ncurses dialog program, based on the gem rdialog
|
161
|
+
test_files: []
|