newt 0.9.7 → 1.0.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.rdoc +24 -0
- data/examples/test-e.rb +108 -0
- data/examples/test-j.rb +50 -60
- data/examples/test_method/Button.rb +21 -0
- data/examples/test_method/Checkbox.rb +27 -0
- data/examples/test_method/CheckboxTree.rb +27 -0
- data/examples/test_method/CheckboxTreeMulti.rb +25 -0
- data/examples/test_method/CompactButton.rb +21 -0
- data/examples/test_method/Entry.rb +62 -0
- data/examples/test_method/Form.rb +23 -0
- data/examples/test_method/Form_ExitStruct.rb +35 -0
- data/examples/test_method/HelpCallback.rb +48 -0
- data/examples/test_method/Label.rb +26 -0
- data/examples/test_method/Listbox.rb +32 -0
- data/examples/test_method/Newt_FLAG_SCROLL.rb +3 -4
- data/examples/test_method/Newt_cursor.rb +30 -0
- data/examples/test_method/RadioButton.rb +23 -0
- data/examples/test_method/ReflowText.rb +8 -10
- data/examples/test_method/Scale.rb +27 -0
- data/examples/test_method/Screen_bell.rb +1 -1
- data/examples/test_method/Screen_cls.rb +1 -2
- data/examples/test_method/Screen_draw_roottext.rb +2 -3
- data/examples/test_method/Screen_init.rb +1 -2
- data/examples/test_method/Screen_pop_helpline.rb +2 -5
- data/examples/test_method/Screen_push_helpline.rb +2 -5
- data/examples/test_method/Screen_redraw_helpline.rb +2 -5
- data/examples/test_method/Screen_set_colors.rb +11 -13
- data/examples/test_method/Screen_size.rb +1 -1
- data/examples/test_method/Screen_win_menu.rb +3 -7
- data/examples/test_method/SuspendCallback.rb +33 -0
- data/examples/test_method/{Textbox_set_colors.rb → Textbox.rb} +8 -8
- data/examples/test_method/{TextboxReflowed_new.rb → TextboxReflowed.rb} +5 -8
- data/examples/test_method/Widget_callback.rb +76 -0
- data/examples/{memory.rb → test_method/memory.rb} +5 -5
- data/examples/testgrid-e.rb +80 -0
- data/examples/testgrid-j.rb +57 -62
- data/examples/testtree-e.rb +53 -0
- data/examples/testtree-j.rb +37 -39
- data/ext/ruby_newt/extconf.rb +3 -4
- data/ext/ruby_newt/ruby_newt.c +1001 -539
- data/lib/version.rb +1 -1
- metadata +31 -51
- data/examples/test.rb +0 -95
- data/examples/test_method/Button_new.rb +0 -22
- data/examples/test_method/Checkbox_get.rb +0 -25
- data/examples/test_method/Checkbox_new.rb +0 -22
- data/examples/test_method/Checkbox_set.rb +0 -28
- data/examples/test_method/Checkbox_set_flags.rb +0 -28
- data/examples/test_method/CompactButton_new.rb +0 -22
- data/examples/test_method/Entry_get.rb +0 -26
- data/examples/test_method/Entry_new.rb +0 -23
- data/examples/test_method/Entry_set.rb +0 -26
- data/examples/test_method/Entry_set_flags.rb +0 -31
- data/examples/test_method/Form_destroy.rb +0 -33
- data/examples/test_method/Form_set_background.rb +0 -23
- data/examples/test_method/Form_set_height.rb +0 -26
- data/examples/test_method/Form_set_width.rb +0 -26
- data/examples/test_method/Grid_new.rb +0 -26
- data/examples/test_method/Label_new.rb +0 -22
- data/examples/test_method/Label_setText.rb +0 -25
- data/examples/test_method/Label_set_colors.rb +0 -28
- data/examples/test_method/Listbox_clear.rb +0 -25
- data/examples/test_method/Listbox_current_bykey.rb +0 -29
- data/examples/test_method/Listbox_delete.rb +0 -27
- data/examples/test_method/Listbox_get_current.rb +0 -28
- data/examples/test_method/Listbox_get_current_string.rb +0 -28
- data/examples/test_method/Listbox_insert.rb +0 -24
- data/examples/test_method/Listbox_new.rb +0 -24
- data/examples/test_method/Listbox_select.rb +0 -27
- data/examples/test_method/Listbox_set.rb +0 -27
- data/examples/test_method/Listbox_set_current.rb +0 -26
- data/examples/test_method/Listbox_set_width.rb +0 -25
- data/examples/test_method/RadioButton_new.rb +0 -22
- data/examples/test_method/Scale_new.rb +0 -22
- data/examples/test_method/Scale_set.rb +0 -22
- data/examples/test_method/Textbox_get_num_lines.rb +0 -27
- data/examples/test_method/Textbox_new.rb +0 -22
- data/examples/test_method/Textbox_set_height.rb +0 -25
- data/examples/testgrid.rb +0 -84
- data/examples/testtree.rb +0 -54
@@ -0,0 +1,62 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# rubocop:disable Style/GlobalVars
|
3
|
+
|
4
|
+
require 'rubygems'
|
5
|
+
require 'newt'
|
6
|
+
|
7
|
+
$widget = nil
|
8
|
+
$data = nil
|
9
|
+
$chars = []
|
10
|
+
$cursor_positions = []
|
11
|
+
|
12
|
+
def global_callback(widget, data, char, cursor_pos)
|
13
|
+
$widget = widget
|
14
|
+
$data = data
|
15
|
+
$chars.push(char)
|
16
|
+
$cursor_positions.push(cursor_pos)
|
17
|
+
char
|
18
|
+
end
|
19
|
+
|
20
|
+
begin
|
21
|
+
ENTRY_NORMAL = Newt::COLORSET_CUSTOM 1
|
22
|
+
ENTRY_DISABLED = Newt::COLORSET_CUSTOM 2
|
23
|
+
|
24
|
+
Newt::Screen.new
|
25
|
+
Newt::Screen.set_color(ENTRY_NORMAL, 'black', 'red')
|
26
|
+
Newt::Screen.set_color(ENTRY_DISABLED, 'black', 'magenta')
|
27
|
+
Newt::Screen.centered_window(20, 10, 'Entry')
|
28
|
+
|
29
|
+
|
30
|
+
e1 = Newt::Entry.new(1, 1, 'Entry1', 10, 0)
|
31
|
+
e2 = Newt::Entry.new(1, 2, '', 10)
|
32
|
+
e3 = Newt::Entry.new(1, 3, 'disabled', 10, Newt::FLAG_DISABLED)
|
33
|
+
b = Newt::Button.new(6, 5, 'Exit')
|
34
|
+
|
35
|
+
e1.set_colors(ENTRY_NORMAL, ENTRY_DISABLED)
|
36
|
+
e2.set_filter(proc { |w, d, ch, curs|
|
37
|
+
$widget = w
|
38
|
+
$data = d
|
39
|
+
$chars.push(ch)
|
40
|
+
$cursor_positions.push(curs)
|
41
|
+
ch
|
42
|
+
}, 'Hello World!')
|
43
|
+
e2.set('new text', 0)
|
44
|
+
|
45
|
+
e3.set_flags(Newt::FLAG_DISABLED, Newt::FLAGS_TOGGLE)
|
46
|
+
e3.set_filter(:global_callback, 'Hello World!')
|
47
|
+
|
48
|
+
f = Newt::Form.new
|
49
|
+
f.add(e1, e2, e3, b)
|
50
|
+
|
51
|
+
f.run
|
52
|
+
ensure
|
53
|
+
Newt::Screen.finish
|
54
|
+
end
|
55
|
+
|
56
|
+
p e1.get, e2.get, e3.get
|
57
|
+
puts
|
58
|
+
puts "$widget = #{$widget}"
|
59
|
+
puts "$data = #{$data}"
|
60
|
+
puts "$chars = #{$chars}"
|
61
|
+
puts "$cursor_positions = #{$cursor_positions}"
|
62
|
+
# rubocop:enable Style/GlobalVars
|
@@ -0,0 +1,23 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'newt'
|
5
|
+
|
6
|
+
begin
|
7
|
+
Newt::Screen.new
|
8
|
+
|
9
|
+
b1 = Newt::Button.new(1, 5, 'Button1')
|
10
|
+
b2 = Newt::Button.new(1, 9, 'Button2')
|
11
|
+
|
12
|
+
b = Newt::Button.new(1, 13, 'Exit')
|
13
|
+
|
14
|
+
f = Newt::Form.new
|
15
|
+
f.set_background(7)
|
16
|
+
f.set_height(20)
|
17
|
+
f.set_width(50)
|
18
|
+
f.add(b1, b2, b)
|
19
|
+
|
20
|
+
f.run
|
21
|
+
ensure
|
22
|
+
Newt::Screen.finish
|
23
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'socket'
|
5
|
+
require 'newt'
|
6
|
+
|
7
|
+
socket = TCPServer.new(10000)
|
8
|
+
|
9
|
+
begin
|
10
|
+
Newt::Screen.new
|
11
|
+
|
12
|
+
b1 = Newt::Button.new(1, 5, 'Button1')
|
13
|
+
b2 = Newt::Button.new(1, 9, 'Button2')
|
14
|
+
|
15
|
+
b = Newt::Button.new(1, 13, 'Exit')
|
16
|
+
|
17
|
+
f = Newt::Form.new
|
18
|
+
f.set_timer(10000)
|
19
|
+
f.watch_fd(socket, Newt::FD_READ)
|
20
|
+
f.add_hotkey(?\e.ord)
|
21
|
+
f.add(b1, b2, b)
|
22
|
+
|
23
|
+
rv = f.run
|
24
|
+
ensure
|
25
|
+
Newt::Screen.finish
|
26
|
+
end
|
27
|
+
|
28
|
+
puts rv.inspect
|
29
|
+
puts 'Button1' if rv == b1
|
30
|
+
puts 'Button2' if b2 == rv
|
31
|
+
puts 'Exit' if rv == b
|
32
|
+
puts 'Exit button is current button' if b == f.get_current
|
33
|
+
puts 'Escape' if rv.reason == Newt::EXIT_HOTKEY && rv.key == ?\e.ord
|
34
|
+
puts 'Timeout' if rv.reason == Newt::EXIT_TIMER
|
35
|
+
puts 'FD Watch' if rv.reason == Newt::EXIT_FDREADY
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# rubocop:disable Style/GlobalVars
|
3
|
+
|
4
|
+
require 'rubygems'
|
5
|
+
require 'newt'
|
6
|
+
|
7
|
+
$help_called = false
|
8
|
+
$help_form = nil
|
9
|
+
$help_data = nil
|
10
|
+
|
11
|
+
def global_callback(form, data)
|
12
|
+
$help_called = true
|
13
|
+
$help_form = form
|
14
|
+
$help_data = data
|
15
|
+
|
16
|
+
Newt::Screen.centered_window(41, 6, 'Help')
|
17
|
+
l1 = Newt::Label.new(1, 1, "Form = #{form}")
|
18
|
+
l2 = Newt::Label.new(1, 2, "Data = #{data}")
|
19
|
+
l3 = Newt::Label.new(15, 4, 'Hit Escape')
|
20
|
+
|
21
|
+
f = Newt::Form.new
|
22
|
+
f.add(l1, l2, l3)
|
23
|
+
f.add_hotkey("\e".ord)
|
24
|
+
f.run
|
25
|
+
|
26
|
+
Newt::Screen.pop_window
|
27
|
+
end
|
28
|
+
|
29
|
+
begin
|
30
|
+
Newt::Screen.new
|
31
|
+
Newt::Screen.help_callback(:global_callback)
|
32
|
+
Newt::Screen.centered_window(20, 8, 'Help Callback')
|
33
|
+
|
34
|
+
l = Newt::Label.new(6, 1, 'Press F1')
|
35
|
+
b = Newt::Button.new(6, 3, 'Exit')
|
36
|
+
f = Newt::Form.new(nil, 'Hello World!')
|
37
|
+
f.add(l, b)
|
38
|
+
|
39
|
+
f.run
|
40
|
+
ensure
|
41
|
+
Newt::Screen.finish
|
42
|
+
end
|
43
|
+
|
44
|
+
puts "help_called: #{$help_called}"
|
45
|
+
puts "help_form: #{$help_form}"
|
46
|
+
puts "help_data: #{$help_data}"
|
47
|
+
puts "(help_form == f) ? #{$help_form == f}"
|
48
|
+
# rubocop:enable Style/GlobalVars
|
@@ -0,0 +1,26 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'newt'
|
5
|
+
|
6
|
+
begin
|
7
|
+
LABEL_COLOR = Newt::COLORSET_CUSTOM 1
|
8
|
+
|
9
|
+
Newt::Screen.new
|
10
|
+
Newt::Screen.set_color(LABEL_COLOR, 'green', 'cyan')
|
11
|
+
Newt::Screen.centered_window(18, 10, 'Label')
|
12
|
+
|
13
|
+
l1 = Newt::Label.new(1, 1, 'Label1')
|
14
|
+
l2 = Newt::Label.new(1, 3, 'Label2')
|
15
|
+
l2.set_text('New Label')
|
16
|
+
l2.set_colors(LABEL_COLOR)
|
17
|
+
|
18
|
+
b = Newt::Button.new(5, 5, 'Exit')
|
19
|
+
|
20
|
+
f = Newt::Form.new
|
21
|
+
f.add(l1, l2, b)
|
22
|
+
|
23
|
+
f.run
|
24
|
+
ensure
|
25
|
+
Newt::Screen.finish
|
26
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'newt'
|
5
|
+
|
6
|
+
begin
|
7
|
+
Newt::Screen.new
|
8
|
+
|
9
|
+
l1 = Newt::Listbox.new(1, 1, 10, Newt::FLAG_SCROLL)
|
10
|
+
1.upto(20) do |i|
|
11
|
+
l1.append("item #{i}", i)
|
12
|
+
end
|
13
|
+
l1.delete(5)
|
14
|
+
l1.insert('**INSERTED**', 100, 3)
|
15
|
+
l1.set(5, '**CHANGED**')
|
16
|
+
l1.set_current(3)
|
17
|
+
l1.select(l1.get_current, Newt::FLAGS_SET)
|
18
|
+
l1.select(9, Newt::FLAGS_SET)
|
19
|
+
l1.set_current_by_key(11)
|
20
|
+
l1.set_width(20)
|
21
|
+
|
22
|
+
b = Newt::Button.new(1, 12, 'Exit')
|
23
|
+
|
24
|
+
f = Newt::Form.new
|
25
|
+
f.add(l1, b)
|
26
|
+
|
27
|
+
f.run
|
28
|
+
ensure
|
29
|
+
Newt::Screen.finish
|
30
|
+
end
|
31
|
+
|
32
|
+
puts "number of list items = #{l1.item_count}"
|
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
|
-
require
|
4
|
+
require 'newt'
|
5
5
|
|
6
6
|
begin
|
7
7
|
Newt::Screen.new
|
@@ -9,13 +9,12 @@ begin
|
|
9
9
|
t = Newt::Textbox.new(1, 1, 20, 10, Newt::FLAG_SCROLL)
|
10
10
|
t.set_text("Line1\nLine2\nLine3\nLine4\nLine5\nLine6\nLine7\nLine8\nLine9\nLine10\nLine11\nLine12\nLine13\nLine14\nLine15\nLine16\nLine17")
|
11
11
|
|
12
|
-
b = Newt::Button.new(1, 15,
|
12
|
+
b = Newt::Button.new(1, 15, 'Exit')
|
13
13
|
|
14
14
|
f = Newt::Form.new
|
15
15
|
f.add(t, b)
|
16
16
|
|
17
|
-
f.run
|
18
|
-
|
17
|
+
f.run
|
19
18
|
ensure
|
20
19
|
Newt::Screen.finish
|
21
20
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'rubygems'
|
3
|
+
require 'newt'
|
4
|
+
|
5
|
+
begin
|
6
|
+
Newt::Screen.new
|
7
|
+
Newt::Screen.centered_window(45, 10, 'Cursor Test')
|
8
|
+
|
9
|
+
l = Newt::Listbox.new(5, 1, 5)
|
10
|
+
1.upto(3) do |i|
|
11
|
+
l.append("item #{i}", i)
|
12
|
+
end
|
13
|
+
|
14
|
+
b1 = Newt::Button.new(2, 5, 'Cursor On')
|
15
|
+
b2 = Newt::Button.new(17, 5, 'Cursor Off')
|
16
|
+
b3 = Newt::Button.new(33, 5, 'Exit')
|
17
|
+
|
18
|
+
f = Newt::Form.new
|
19
|
+
f.add(l, b1, b2, b3)
|
20
|
+
|
21
|
+
loop do
|
22
|
+
case f.run
|
23
|
+
when b1 then Newt::Screen.cursor_on
|
24
|
+
when b2 then Newt::Screen.cursor_off
|
25
|
+
else break
|
26
|
+
end
|
27
|
+
end
|
28
|
+
ensure
|
29
|
+
Newt::Screen.finish
|
30
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'newt'
|
5
|
+
|
6
|
+
begin
|
7
|
+
Newt::Screen.new
|
8
|
+
Newt::Screen.centered_window(20, 8, 'RadioButton')
|
9
|
+
|
10
|
+
rb1 = Newt::RadioButton.new(1, 1, 'Button1', 1)
|
11
|
+
rb2 = Newt::RadioButton.new(1, 2, 'Button2', 0, rb1)
|
12
|
+
|
13
|
+
b = Newt::Button.new(6, 4, 'Exit')
|
14
|
+
|
15
|
+
f = Newt::Form.new
|
16
|
+
f.add(rb1, rb2, b)
|
17
|
+
|
18
|
+
f.run
|
19
|
+
ensure
|
20
|
+
Newt::Screen.finish
|
21
|
+
end
|
22
|
+
|
23
|
+
puts "selected: #{rb1.get_current}"
|
@@ -1,23 +1,21 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
|
-
require
|
4
|
+
require 'newt'
|
5
5
|
|
6
|
-
text =
|
6
|
+
text = ''
|
7
7
|
width = 0
|
8
8
|
height = 0
|
9
9
|
|
10
10
|
begin
|
11
|
-
|
12
11
|
Newt::Screen.new
|
13
12
|
|
14
|
-
text, width, height = Newt.reflow_text(
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
13
|
+
text, width, height = Newt.reflow_text('This is a quite a bit of text. It is 40 ' \
|
14
|
+
'columns long, so some wrapping should be ' \
|
15
|
+
'done. Did you know that the quick, brown ' \
|
16
|
+
"fox jumped over the lazy dog?\n\n" \
|
17
|
+
"In other news, it's pretty important that we " \
|
18
|
+
'can properly force a line break.', 40, 5, 5)
|
21
19
|
ensure
|
22
20
|
Newt::Screen.finish
|
23
21
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'newt'
|
5
|
+
|
6
|
+
begin
|
7
|
+
SCALE_EMPTY = Newt::COLORSET_CUSTOM 1
|
8
|
+
SCALE_FULL = Newt::COLORSET_CUSTOM 2
|
9
|
+
|
10
|
+
Newt::Screen.new
|
11
|
+
Newt::Screen.set_color(SCALE_EMPTY, 'yellow', 'cyan')
|
12
|
+
Newt::Screen.set_color(SCALE_FULL, 'black', 'red')
|
13
|
+
Newt::Screen.centered_window(20, 8, 'Scale')
|
14
|
+
|
15
|
+
s = Newt::Scale.new(1, 1, 18, 100)
|
16
|
+
s.set(50)
|
17
|
+
s.set_colors(SCALE_EMPTY, SCALE_FULL)
|
18
|
+
|
19
|
+
b = Newt::Button.new(6, 4, 'Exit')
|
20
|
+
|
21
|
+
f = Newt::Form.new
|
22
|
+
f.add(s, b)
|
23
|
+
|
24
|
+
f.run
|
25
|
+
ensure
|
26
|
+
Newt::Screen.finish
|
27
|
+
end
|
@@ -1,16 +1,15 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
|
-
require
|
4
|
+
require 'newt'
|
5
5
|
|
6
6
|
begin
|
7
7
|
Newt::Screen.new
|
8
8
|
|
9
9
|
Newt::Screen.init
|
10
10
|
|
11
|
-
Newt::Screen.draw_roottext(1, 1,
|
11
|
+
Newt::Screen.draw_roottext(1, 1, 'Test')
|
12
12
|
Newt::Screen.wait_for_key
|
13
|
-
|
14
13
|
ensure
|
15
14
|
Newt::Screen.finish
|
16
15
|
end
|
@@ -1,18 +1,15 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
|
-
require
|
4
|
+
require 'newt'
|
5
5
|
|
6
6
|
begin
|
7
7
|
Newt::Screen.new
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
Newt::Screen.push_helpline("Hit Key!!")
|
9
|
+
Newt::Screen.push_helpline('Hit Key!!')
|
12
10
|
Newt::Screen.wait_for_key
|
13
11
|
Newt::Screen.pop_helpline
|
14
12
|
Newt::Screen.wait_for_key
|
15
|
-
|
16
13
|
ensure
|
17
14
|
Newt::Screen.finish
|
18
15
|
end
|