newt 0.9.7 → 1.0.0.pre1

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.
Files changed (81) hide show
  1. checksums.yaml +5 -5
  2. data/README.rdoc +24 -0
  3. data/examples/test-e.rb +108 -0
  4. data/examples/test-j.rb +50 -60
  5. data/examples/test_method/Button.rb +21 -0
  6. data/examples/test_method/Checkbox.rb +27 -0
  7. data/examples/test_method/CheckboxTree.rb +27 -0
  8. data/examples/test_method/CheckboxTreeMulti.rb +25 -0
  9. data/examples/test_method/CompactButton.rb +21 -0
  10. data/examples/test_method/Entry.rb +62 -0
  11. data/examples/test_method/Form.rb +23 -0
  12. data/examples/test_method/Form_ExitStruct.rb +35 -0
  13. data/examples/test_method/HelpCallback.rb +48 -0
  14. data/examples/test_method/Label.rb +26 -0
  15. data/examples/test_method/Listbox.rb +32 -0
  16. data/examples/test_method/Newt_FLAG_SCROLL.rb +3 -4
  17. data/examples/test_method/Newt_cursor.rb +30 -0
  18. data/examples/test_method/RadioButton.rb +23 -0
  19. data/examples/test_method/ReflowText.rb +8 -10
  20. data/examples/test_method/Scale.rb +27 -0
  21. data/examples/test_method/Screen_bell.rb +1 -1
  22. data/examples/test_method/Screen_cls.rb +1 -2
  23. data/examples/test_method/Screen_draw_roottext.rb +2 -3
  24. data/examples/test_method/Screen_init.rb +1 -2
  25. data/examples/test_method/Screen_pop_helpline.rb +2 -5
  26. data/examples/test_method/Screen_push_helpline.rb +2 -5
  27. data/examples/test_method/Screen_redraw_helpline.rb +2 -5
  28. data/examples/test_method/Screen_set_colors.rb +11 -13
  29. data/examples/test_method/Screen_size.rb +1 -1
  30. data/examples/test_method/Screen_win_menu.rb +3 -7
  31. data/examples/test_method/SuspendCallback.rb +33 -0
  32. data/examples/test_method/{Textbox_set_colors.rb → Textbox.rb} +8 -8
  33. data/examples/test_method/{TextboxReflowed_new.rb → TextboxReflowed.rb} +5 -8
  34. data/examples/test_method/Widget_callback.rb +76 -0
  35. data/examples/{memory.rb → test_method/memory.rb} +5 -5
  36. data/examples/testgrid-e.rb +80 -0
  37. data/examples/testgrid-j.rb +57 -62
  38. data/examples/testtree-e.rb +53 -0
  39. data/examples/testtree-j.rb +37 -39
  40. data/ext/ruby_newt/extconf.rb +3 -4
  41. data/ext/ruby_newt/ruby_newt.c +1001 -539
  42. data/lib/version.rb +1 -1
  43. metadata +31 -51
  44. data/examples/test.rb +0 -95
  45. data/examples/test_method/Button_new.rb +0 -22
  46. data/examples/test_method/Checkbox_get.rb +0 -25
  47. data/examples/test_method/Checkbox_new.rb +0 -22
  48. data/examples/test_method/Checkbox_set.rb +0 -28
  49. data/examples/test_method/Checkbox_set_flags.rb +0 -28
  50. data/examples/test_method/CompactButton_new.rb +0 -22
  51. data/examples/test_method/Entry_get.rb +0 -26
  52. data/examples/test_method/Entry_new.rb +0 -23
  53. data/examples/test_method/Entry_set.rb +0 -26
  54. data/examples/test_method/Entry_set_flags.rb +0 -31
  55. data/examples/test_method/Form_destroy.rb +0 -33
  56. data/examples/test_method/Form_set_background.rb +0 -23
  57. data/examples/test_method/Form_set_height.rb +0 -26
  58. data/examples/test_method/Form_set_width.rb +0 -26
  59. data/examples/test_method/Grid_new.rb +0 -26
  60. data/examples/test_method/Label_new.rb +0 -22
  61. data/examples/test_method/Label_setText.rb +0 -25
  62. data/examples/test_method/Label_set_colors.rb +0 -28
  63. data/examples/test_method/Listbox_clear.rb +0 -25
  64. data/examples/test_method/Listbox_current_bykey.rb +0 -29
  65. data/examples/test_method/Listbox_delete.rb +0 -27
  66. data/examples/test_method/Listbox_get_current.rb +0 -28
  67. data/examples/test_method/Listbox_get_current_string.rb +0 -28
  68. data/examples/test_method/Listbox_insert.rb +0 -24
  69. data/examples/test_method/Listbox_new.rb +0 -24
  70. data/examples/test_method/Listbox_select.rb +0 -27
  71. data/examples/test_method/Listbox_set.rb +0 -27
  72. data/examples/test_method/Listbox_set_current.rb +0 -26
  73. data/examples/test_method/Listbox_set_width.rb +0 -25
  74. data/examples/test_method/RadioButton_new.rb +0 -22
  75. data/examples/test_method/Scale_new.rb +0 -22
  76. data/examples/test_method/Scale_set.rb +0 -22
  77. data/examples/test_method/Textbox_get_num_lines.rb +0 -27
  78. data/examples/test_method/Textbox_new.rb +0 -22
  79. data/examples/test_method/Textbox_set_height.rb +0 -25
  80. data/examples/testgrid.rb +0 -84
  81. 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 "newt"
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, "Exit")
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 "newt"
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("This is a quite a bit of text. It is 40 " +
15
- "columns long, so some wrapping should be " +
16
- "done. Did you know that the quick, brown " +
17
- "fox jumped over the lazy dog?\n\n" +
18
- "In other news, it's pretty important that we " +
19
- "can properly force a line break.", 40, 5, 5)
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,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'rubygems'
4
- require "newt"
4
+ require 'newt'
5
5
 
6
6
  Newt::Screen.new
7
7
 
@@ -1,12 +1,11 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'rubygems'
4
- require "newt"
4
+ require 'newt'
5
5
 
6
6
  Newt::Screen.new
7
7
 
8
8
  Newt::Screen.init
9
9
  Newt::Screen.cls
10
10
 
11
-
12
11
  Newt::Screen.finish
@@ -1,16 +1,15 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'rubygems'
4
- require "newt"
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, "Test")
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,11 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'rubygems'
4
- require "newt"
4
+ require 'newt'
5
5
 
6
6
  Newt::Screen.new
7
7
 
8
8
  Newt::Screen.init
9
9
 
10
-
11
10
  Newt::Screen.finish
@@ -1,18 +1,15 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'rubygems'
4
- require "newt"
4
+ require 'newt'
5
5
 
6
6
  begin
7
7
  Newt::Screen.new
8
8
 
9
- #Newt::Screen.init
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