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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f050206d379e33d34c2f61575c5ba91b19555979
4
- data.tar.gz: 6effdac5ee31f2bada361bba6a52de620e075828
2
+ SHA256:
3
+ metadata.gz: 3836472466affef8783a15165b2e1281b65c29d15d621638ba8e06f816ffb364
4
+ data.tar.gz: 639199de30d0e7e88f6a05d7e2d957af06235b4b08f1cc3b86b7f81ab2896ef2
5
5
  SHA512:
6
- metadata.gz: e28ed64532834ab5fabdae62e1fc3caf5507da2631bc172e53a77315166ba7910da2578df286007fd02e9b9113f883bcc274ce8864694732393b4857e592d8c1
7
- data.tar.gz: 5edb479e5521f3e4953cc3bbd53d2aa8c38d8ee57035ca863d7e4227da66137672124e90aea01333bd27362e9b51a3c473f6d26b9ff800be26a59a21fac618dc
6
+ metadata.gz: 4d843ba26cb1bfd186bed6a06474ee928568adac9b207418c29ef7e3f760cfb313e5e01934901106bf4d7f69ea031e31763e536e6b80f1b14ea0075e08391a27
7
+ data.tar.gz: a668be2a8be9faeef2b3aa7219140abbf32247b1e4e01e180ee9720bb3f855ecff1c0637e0d064ef92d78cad3e262f86b56317ccc465eb15e89a1505ddf1e0d9
data/README.rdoc CHANGED
@@ -55,12 +55,36 @@ For some reason, it does not always find the header so symlink it:
55
55
 
56
56
  $ sudo ln -s /opt/local/include/newt.h /usr/include/
57
57
 
58
+ == Migrating from 0.9 to 1.0
59
+
60
+ The following changes break compatibility with version 0.9 and existing
61
+ programs using the ruby-newt library may need to be changed.
62
+
63
+ * The following method names have been renamed to create a more consistent
64
+ interface.
65
+ * +takesFocus+ has been renamed to +takes_focus+
66
+ * +setCurrentByKey+ has been renamed to +set_current_by_key+
67
+ * +setData+ has been renamed to +set_data+
68
+ * +clearSelection+ has been renamed to +clear_selection+
69
+ * The +get+/+set+ methods have been removed from the +Radiobutton+
70
+ component.
71
+ * The +get_current+ method for +Listbox+ has been generalized and the
72
+ +get_current_as_number+ and +get_current_as_string+ methods have been
73
+ removed.
74
+ * Garbage collection of components and forms has been implemented. This will
75
+ break applications that reuse components on multiple forms.
76
+ * The publicly global +CALLBACK_HASH+ has been removed. Applications that
77
+ modify this hash directly will break.
78
+ * The various _add_callback_ methods no longer return the previously set
79
+ callback when called with no parameters.
80
+
58
81
  == AUTHORS
59
82
 
60
83
  * Noritsugu Nakamura
61
84
  * Eric Sperano
62
85
  * Kosuke Asami
63
86
  * Lukas Zapletal
87
+ * Robert Gill
64
88
 
65
89
  == LICENSE
66
90
 
@@ -0,0 +1,108 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'newt'
5
+
6
+ def disable_callback(cs, en)
7
+ if cs.get == ' '
8
+ en.set_flags(Newt::FLAG_DISABLED, Newt::FLAGS_RESET)
9
+ else
10
+ en.set_flags(Newt::FLAG_DISABLED, Newt::FLAGS_SET)
11
+ end
12
+ Newt::Screen.refresh
13
+ end
14
+
15
+ Newt::Screen.new
16
+
17
+ Newt::Screen.draw_roottext(0, 0, 'Newt test program')
18
+ Newt::Screen.push_helpline('')
19
+ Newt::Screen.draw_roottext(-50, 0, 'More root text')
20
+
21
+ Newt::Screen.open_window(2, 2, 30, 10, 'first window')
22
+ Newt::Screen.open_window(10, 5, 65, 16, 'window 2')
23
+
24
+ f = Newt::Form.new
25
+ chklist = Newt::Form.new
26
+
27
+ b1 = Newt::Button.new(3, 1, 'Exit')
28
+ b2 = Newt::Button.new(18, 1, 'Update')
29
+ r1 = Newt::RadioButton.new(20, 10, 'Choice 1', 0, nil)
30
+ r2 = Newt::RadioButton.new(20, 11, 'Chc 2', 1, r1)
31
+ r3 = Newt::RadioButton.new(20, 12, 'Choice 3', 0, r2)
32
+ rsf = Newt::Form.new
33
+ rsf.add(r1, r2, r3)
34
+ rsf.set_background(Newt::COLORSET_CHECKBOX)
35
+
36
+ Newt::Screen.refresh
37
+
38
+ cs = []
39
+ (0...10).each do |i|
40
+ buf = format('Check %d', i)
41
+ cs[i] = Newt::Checkbox.new(3, 10 + i, buf)
42
+ chklist.add(cs[i])
43
+ end
44
+
45
+ l1 = Newt::Label.new(3, 6, 'Scale:')
46
+ l2 = Newt::Label.new(3, 7, 'Scrolls:')
47
+ l3 = Newt::Label.new(3, 8, 'Hidden:')
48
+ e1 = Newt::Entry.new(12, 6, '', 20, 0)
49
+ e2 = Newt::Entry.new(12, 7, 'Default', 20, Newt::FLAG_SCROLL)
50
+ e3 = Newt::Entry.new(12, 8, '', 20, Newt::FLAG_HIDDEN)
51
+
52
+ cs[0].callback( proc { disableCallback(cs[0], e1) } )
53
+ scale = Newt::Scale.new(3, 14, 32, 100)
54
+
55
+ chklist.set_height(3)
56
+
57
+ f.add(b1, b2, l1, l2, l3, e1, e2, e3, chklist)
58
+ f.add(rsf, scale)
59
+
60
+ lb = Newt::Listbox.new(45, 1, 6, Newt::FLAG_MULTIPLE | Newt::FLAG_BORDER |
61
+ Newt::FLAG_SCROLL)
62
+ lb.append('First', 1)
63
+ lb.append('Second', 2)
64
+ lb.append('Third', 3)
65
+ lb.append('Fourth', 4)
66
+ lb.append('Sixth', 6)
67
+ lb.append('Seventh', 7)
68
+ lb.append('Eighth', 8)
69
+ lb.append('Ninth', 9)
70
+ lb.append('Tenth', 10)
71
+
72
+ lb.insert('Fifth', 5, 4)
73
+ lb.insert('Eleventh', 11, 10)
74
+ lb.delete(11)
75
+
76
+ t = Newt::Textbox.new(45, 10, 17, 5, Newt::FLAG_WRAP)
77
+ t.set_text("This is some text does it look okay?\nThis should be alone.\nThis shouldn't be printed")
78
+
79
+ f.add(lb, t)
80
+
81
+ Newt::Screen.refresh
82
+
83
+ loop do
84
+ answer = f.run
85
+ if answer == b2
86
+ scale.set(e1.get.to_i)
87
+ Newt::Screen.refresh
88
+ answer = nil
89
+ end
90
+ break unless answer.nil?
91
+ end
92
+
93
+ Newt::Screen.pop_window
94
+ Newt::Screen.pop_window
95
+
96
+ Newt::Screen.finish
97
+
98
+ printf "got string 1: %s\n", e1.get
99
+ printf "got string 2: %s\n", e2.get
100
+ printf "got string 3: %s\n", e3.get
101
+
102
+ selected_list = lb.get_selection
103
+ if selected_list.count > 0
104
+ print "\nSelected listbox items:\n"
105
+ selected_list.each do |item|
106
+ puts item
107
+ end
108
+ end
data/examples/test-j.rb CHANGED
@@ -1,59 +1,55 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'rubygems'
4
- require "newt"
4
+ require 'newt'
5
5
 
6
- def disableCallback(cs, en)
7
- #STDERR.print cs.get, "\n"
6
+ def disable_callback(cs, en)
8
7
  if cs.get == ' '
9
- en.set_flags(Newt::FLAG_DISABLED, Newt::FLAGS_RESET)
8
+ en.set_flags(Newt::FLAG_DISABLED, Newt::FLAGS_RESET)
10
9
  else
11
- en.set_flags(Newt::FLAG_DISABLED, Newt::FLAGS_SET)
10
+ en.set_flags(Newt::FLAG_DISABLED, Newt::FLAGS_SET)
12
11
  end
13
- Newt::Screen.refresh()
12
+ Newt::Screen.refresh
14
13
  end
15
14
 
16
15
  Newt::Screen.new
17
16
 
18
- Newt::Screen.draw_roottext(0, 0, "Newt ¥Æ¥¹¥È¥×¥í¥°¥é¥à")
19
- Newt::Screen.push_helpline("")
20
- Newt::Screen.draw_roottext(-50, 0, "¥ë¡¼¥È¥Æ¥­¥¹¥È")
17
+ Newt::Screen.draw_roottext(0, 0, 'Newt ¥Æ¥¹¥È¥×¥í¥°¥é¥à')
18
+ Newt::Screen.push_helpline('')
19
+ Newt::Screen.draw_roottext(-50, 0, '¥ë¡¼¥È¥Æ¥­¥¹¥È')
21
20
 
22
- Newt::Screen.open_window(2, 2, 30, 10, "£±ÈÖÌܤΥ¦¥£¥ó¥É¥¦")
23
- Newt::Screen.open_window(10, 5, 65, 16, "¥¦¥£¥ó¥É¥¦£²")
21
+ Newt::Screen.open_window(2, 2, 30, 10, '£±ÈÖÌܤΥ¦¥£¥ó¥É¥¦')
22
+ Newt::Screen.open_window(10, 5, 65, 16, '¥¦¥£¥ó¥É¥¦£²')
24
23
 
25
24
  f = Newt::Form.new
26
25
  chklist = Newt::Form.new
27
26
 
28
- b1 = Newt::Button.new(3, 1, "½ªÎ»")
29
- b2 = Newt::Button.new(18, 1, "¹¹¿·")
30
- r1 = Newt::RadioButton.new(20, 10, "ÁªÂò»è£±", 0, nil)
31
- r2 = Newt::RadioButton.new(20, 11, "ÁªÂò»è£²", 1, r1)
32
- r3 = Newt::RadioButton.new(20, 12, "ÁªÂò»è£³", 0, r2)
27
+ b1 = Newt::Button.new(3, 1, '½ªÎ»')
28
+ b2 = Newt::Button.new(18, 1, '¹¹¿·')
29
+ r1 = Newt::RadioButton.new(20, 10, 'ÁªÂò»è£±', 0, nil)
30
+ r2 = Newt::RadioButton.new(20, 11, 'ÁªÂò»è£²', 1, r1)
31
+ r3 = Newt::RadioButton.new(20, 12, 'ÁªÂò»è£³', 0, r2)
33
32
  rsf = Newt::Form.new
34
- #[r1, r2, r3].each {|i| rsf.add(i)}
35
33
  rsf.add(r1, r2, r3)
36
34
  rsf.set_background(Newt::COLORSET_CHECKBOX)
37
35
 
38
36
  Newt::Screen.refresh
39
37
 
40
38
  cs = []
41
- for i in 0...10
42
- buf = sprintf("¥Á¥§¥Ã¥¯ %d", i)
39
+ (0...10).each do |i|
40
+ buf = format('¥Á¥§¥Ã¥¯ %d', i)
43
41
  cs[i] = Newt::Checkbox.new(3, 10 + i, buf, ' ', nil)
44
42
  chklist.add(cs[i])
45
43
  end
46
44
 
47
- l1 = Newt::Label.new(3, 6, "¥¹¥±¡¼¥ë:")
48
- l2 = Newt::Label.new(3, 7, "¥¹¥¯¥í¡¼¥ë:")
49
- l3 = Newt::Label.new(3, 8, "¥Ò¥É¥¥¥ó:")
50
- e1 = Newt::Entry.new(12, 6, "", 20, 0);
51
- e2 = Newt::Entry.new(12, 7, "ɸ½à", 20, Newt::FLAG_SCROLL)
52
- e3 = Newt::Entry.new(12, 8, "", 20, Newt::FLAG_HIDDEN)
45
+ l1 = Newt::Label.new(3, 6, '¥¹¥±¡¼¥ë:')
46
+ l2 = Newt::Label.new(3, 7, '¥¹¥¯¥í¡¼¥ë:')
47
+ l3 = Newt::Label.new(3, 8, '¥Ò¥É¥¥¥ó:')
48
+ e1 = Newt::Entry.new(12, 6, '', 20, 0)
49
+ e2 = Newt::Entry.new(12, 7, 'ɸ½à', 20, Newt::FLAG_SCROLL)
50
+ e3 = Newt::Entry.new(12, 8, '', 20, Newt::FLAG_HIDDEN)
53
51
 
54
- #cs[0].callback( proc { print "Hello!!\n" } )
55
52
  cs[0].callback( proc { disableCallback(cs[0], e1) } )
56
-
57
53
  scale = Newt::Scale.new(3, 14, 32, 100)
58
54
 
59
55
  chklist.set_height(3)
@@ -62,47 +58,40 @@ f.add(b1, b2, l1, l2, l3, e1, e2, e3, chklist)
62
58
  f.add(rsf, scale)
63
59
 
64
60
  lb = Newt::Listbox.new(45, 1, 6, Newt::FLAG_MULTIPLE | Newt::FLAG_BORDER |
65
- Newt::FLAG_SCROLL)
66
- lb.append("£±ÈÖÌÜ", 1)
67
- lb.append("£²ÈÖÌÜ", 2)
68
- lb.append("£³ÈÖÌÜ", 3)
69
- lb.append("£´ÈÖÌÜ", 4)
70
- lb.append("£¶ÈÖÌÜ", 6)
71
- lb.append("£·ÈÖÌÜ", 7)
72
- lb.append("£¸ÈÖÌÜ", 8)
73
- lb.append("£¹ÈÖÌÜ", 9)
74
- lb.append("£±£°ÈÖÌÜ", 10)
75
-
76
- lb.insert("£µÈÖÌÜ", 5, 4)
77
- lb.insert("£±£±ÈÖÌÜ", 11, 10)
61
+ Newt::FLAG_SCROLL)
62
+ lb.append('£±ÈÖÌÜ', 1)
63
+ lb.append('£²ÈÖÌÜ', 2)
64
+ lb.append('£³ÈÖÌÜ', 3)
65
+ lb.append('£´ÈÖÌÜ', 4)
66
+ lb.append('£¶ÈÖÌÜ', 6)
67
+ lb.append('£·ÈÖÌÜ', 7)
68
+ lb.append('£¸ÈÖÌÜ', 8)
69
+ lb.append('£¹ÈÖÌÜ', 9)
70
+ lb.append('£±£°ÈÖÌÜ', 10)
71
+
72
+ lb.insert('£µÈÖÌÜ', 5, 4)
73
+ lb.insert('£±£±ÈÖÌÜ', 11, 10)
78
74
  lb.delete(11)
79
75
 
80
76
  t = Newt::Textbox.new(45, 10, 17, 5, Newt::FLAG_WRAP)
81
- t.set_text("¤³¤ì¤Ï¥Æ¥­¥¹¥È¤Î¥µ¥ó¥×¥ë¤Ç¤¹¡£\nÀµ¾ï¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¤«¡©\n¤³¤ì¤ÏñÆÈ¹Ô¤Ç¤¹¡£\n¤³¤ì¤Ïɽ¼¨¤µ¤ì¤Æ¤Ï¤¤¤±¤Þ¤»¤ó")
77
+ t.set_text('¤³¤ì¤Ï¥Æ¥­¥¹¥È¤Î¥µ¥ó¥×¥ë¤Ç¤¹¡£\nÀµ¾ï¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¤«¡©\n¤³¤ì¤ÏñÆÈ¹Ô¤Ç¤¹¡£\n¤³¤ì¤Ïɽ¼¨¤µ¤ì¤Æ¤Ï¤¤¤±¤Þ¤»¤ó')
82
78
 
83
79
  f.add(lb, t)
84
80
 
85
81
  Newt::Screen.refresh
86
82
 
87
- begin
88
- answer = f.run()
89
-
90
- #p answer
91
- #p b2
83
+ loop do
84
+ answer = f.run
92
85
  if answer == b2
93
-
94
- scale.set(e1.get.to_i)
95
- Newt::Screen.refresh
96
- answer = nil
86
+ scale.set(e1.get.to_i)
87
+ Newt::Screen.refresh
88
+ answer = nil
97
89
  end
98
- end while answer == nil
99
-
100
- #selectedList = Newt::Listbox.get_selection(lb, &numsel)
101
- selectedList = true
102
- numsel = 0
90
+ break unless answer.nil?
91
+ end
103
92
 
104
- Newt::Screen.pop_window()
105
- Newt::Screen.pop_window()
93
+ Newt::Screen.pop_window
94
+ Newt::Screen.pop_window
106
95
 
107
96
  Newt::Screen.finish
108
97
 
@@ -110,9 +99,10 @@ printf "got string 1: %s\n", e1.get
110
99
  printf "got string 2: %s\n", e2.get
111
100
  printf "got string 3: %s\n", e3.get
112
101
 
113
- if selectedList
102
+ selected_list = lb.get_selection
103
+ if selected_list.count > 0
114
104
  print "\nSelected listbox items:\n"
115
- for i in 0...numsel
116
- #puts selectedList[i]
105
+ selected_list.each do |item|
106
+ puts item
117
107
  end
118
108
  end
@@ -0,0 +1,21 @@
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, 15, 'Button')
9
+
10
+ b1 = Newt::Button.new(1, 1, 'Button1')
11
+ b2 = Newt::Button.new(1, 6, 'Button2')
12
+
13
+ b = Newt::Button.new(1, 11, 'Exit')
14
+
15
+ f = Newt::Form.new
16
+ f.add(b1, b2, b)
17
+
18
+ f.run
19
+ ensure
20
+ Newt::Screen.finish
21
+ end
@@ -0,0 +1,27 @@
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, 11, 'Checkbox')
9
+
10
+ cb1 = Newt::Checkbox.new(1, 1, 'Checkbox1', 'A', nil)
11
+ cb2 = Newt::Checkbox.new(1, 2, 'Checkbox2', '', '+')
12
+ cb3 = Newt::Checkbox.new(1, 3, 'Checkbox3')
13
+ cb4 = Newt::Checkbox.new(1, 4, 'Checkbox4', nil, '')
14
+ cb5 = Newt::Checkbox.new(1, 5, 'Checkbox5')
15
+ b = Newt::Button.new(6, 7, 'Exit')
16
+
17
+ cb3.set('@')
18
+ cb5.set_flags(Newt::FLAG_DISABLED, Newt::FLAGS_SET)
19
+ f = Newt::Form.new
20
+ f.add(cb1, cb2, cb3, cb4, cb5, b)
21
+
22
+ f.run
23
+ ensure
24
+ Newt::Screen.finish
25
+ end
26
+
27
+ p cb1.get, cb2.get, cb3.get, cb4.get, cb5.get
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'newt'
5
+
6
+ begin
7
+ Newt::Screen.new
8
+
9
+ ct = Newt::CheckboxTree.new(1, 10, 4, Newt::FLAG_SCROLL)
10
+ ct.add('Checkbox1', 1, 0, Newt::ARG_APPEND)
11
+ ct.add('Checkbox2', 2, 0, Newt::ARG_APPEND)
12
+ ct.add('Checkbox3', 3, 0, Newt::ARG_APPEND)
13
+ ct.add('Checkbox4', 4, 0, 2, Newt::ARG_APPEND)
14
+ ct.add('Checkbox5', 5, 0, 2, Newt::ARG_APPEND)
15
+ b = Newt::Button.new(1, 15, 'Exit')
16
+
17
+ ct.set_width(30)
18
+ ct.set_entry(2, 'ITEM2')
19
+ f = Newt::Form.new
20
+ f.add(ct, b)
21
+
22
+ f.run
23
+ ensure
24
+ Newt::Screen.finish
25
+ end
26
+
27
+ p ct.get_selection
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rubygems'
4
+ require 'newt'
5
+
6
+ begin
7
+ Newt::Screen.new
8
+
9
+ ct = Newt::CheckboxTreeMulti.new(1, 10, 4, ' ab', Newt::FLAG_SCROLL)
10
+ ct.add('Checkbox1', 1, 0, Newt::ARG_APPEND)
11
+ ct.add('Checkbox2', 2, 0, Newt::ARG_APPEND)
12
+ ct.add('Checkbox3', 3, 0, Newt::ARG_APPEND)
13
+ ct.add('Checkbox4', 4, 0, 2, Newt::ARG_APPEND)
14
+ ct.add('Checkbox5', 5, 0, 2, Newt::ARG_APPEND)
15
+ b = Newt::Button.new(1, 15, 'Exit')
16
+
17
+ f = Newt::Form.new
18
+ f.add(ct, b)
19
+
20
+ f.run
21
+ ensure
22
+ Newt::Screen.finish
23
+ end
24
+
25
+ p ct.get_selection('a')
@@ -0,0 +1,21 @@
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, 10, 'CompactButton')
9
+
10
+ b1 = Newt::CompactButton.new(1, 1, 'Button1')
11
+ b2 = Newt::CompactButton.new(1, 3, 'Button2')
12
+
13
+ b = Newt::Button.new(5, 5, 'Exit')
14
+
15
+ f = Newt::Form.new
16
+ f.add(b1, b2, b)
17
+
18
+ f.run
19
+ ensure
20
+ Newt::Screen.finish
21
+ end