ruby-iup 0.1.0-x86-mswin32-60

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 (68) hide show
  1. data/CHANGES +3 -0
  2. data/MANIFEST +8 -0
  3. data/MIT-LICENSE +18 -0
  4. data/README +12 -0
  5. data/Rakefile +85 -0
  6. data/doc/README +10 -0
  7. data/doc/build_install.txt +74 -0
  8. data/examples/README +16 -0
  9. data/examples/ctrl/cbox.rb +220 -0
  10. data/examples/ctrl/checkboard.rb +33 -0
  11. data/examples/ctrl/degrade.rb +76 -0
  12. data/examples/ctrl/example1.rb +53 -0
  13. data/examples/ctrl/example2.rb +39 -0
  14. data/examples/ctrl/iupcolorbar.rb +95 -0
  15. data/examples/ctrl/iupcolorbrowser.rb +45 -0
  16. data/examples/ctrl/iupdial.rb +117 -0
  17. data/examples/ctrl/iupgauge.rb +242 -0
  18. data/examples/ctrl/iupgetcolor.rb +8 -0
  19. data/examples/ctrl/iupgetparam.rb +62 -0
  20. data/examples/ctrl/iupglcanvas.rb +172 -0
  21. data/examples/ctrl/iupmask.rb +13 -0
  22. data/examples/ctrl/iupmatrix.rb +39 -0
  23. data/examples/ctrl/iupplot2.rb +601 -0
  24. data/examples/ctrl/iuptabs.rb +22 -0
  25. data/examples/ctrl/iuptree.rb +190 -0
  26. data/examples/ctrl/iupval.rb +71 -0
  27. data/examples/ctrl/numbering.rb +46 -0
  28. data/examples/ctrl/sample.rb +166 -0
  29. data/examples/dlg/iupalarm.rb +16 -0
  30. data/examples/dlg/iupfiledlg.rb +19 -0
  31. data/examples/dlg/iupgetfile.rb +19 -0
  32. data/examples/dlg/iuplistdialog.rb +26 -0
  33. data/examples/dlg/iupmessage.rb +5 -0
  34. data/examples/dlg/iupscanf.rb +17 -0
  35. data/examples/elem/iupbutton.rb +180 -0
  36. data/examples/elem/iupcanvas.rb +29 -0
  37. data/examples/elem/iupcanvas2.rb +114 -0
  38. data/examples/elem/iupcanvas3.rb +52 -0
  39. data/examples/elem/iupdialog.rb +67 -0
  40. data/examples/elem/iupdialog2.rb +25 -0
  41. data/examples/elem/iupfill.rb +51 -0
  42. data/examples/elem/iupframe.rb +25 -0
  43. data/examples/elem/iuphbox.rb +68 -0
  44. data/examples/elem/iupimage.rb +113 -0
  45. data/examples/elem/iupitem.rb +60 -0
  46. data/examples/elem/iuplabel.rb +57 -0
  47. data/examples/elem/iuplist.rb +41 -0
  48. data/examples/elem/iuplist2.rb +125 -0
  49. data/examples/elem/iupmenu.rb +32 -0
  50. data/examples/elem/iupmultiline.rb +24 -0
  51. data/examples/elem/iupmultiline2.rb +156 -0
  52. data/examples/elem/iupradio.rb +32 -0
  53. data/examples/elem/iupseparator.rb +81 -0
  54. data/examples/elem/iupsubmenu.rb +85 -0
  55. data/examples/elem/iuptimer.rb +36 -0
  56. data/examples/elem/iuptoggle.rb +110 -0
  57. data/examples/elem/iupvbox.rb +87 -0
  58. data/examples/elem/iupzbox.rb +60 -0
  59. data/examples/elem/mdisample.rb +377 -0
  60. data/examples/elem/progressbar.rb +280 -0
  61. data/examples/elem/scrollbar.rb +66 -0
  62. data/examples/elem/tray.rb +90 -0
  63. data/examples/func/iupgetattribute.rb +32 -0
  64. data/examples/func/iupidle.rb +48 -0
  65. data/lib/iup.so +0 -0
  66. data/ruby-iup.gemspec +26 -0
  67. data/test/test_ruby_iup.rb +25 -0
  68. metadata +132 -0
@@ -0,0 +1,41 @@
1
+ require 'rubygems'
2
+ require "iup"
3
+
4
+ list_multiple_cb = lambda do |hi,t,i,v|
5
+ message = "Item #{i} - #{t} - #{v == 0 ? 'deselected' : 'selected'}"
6
+ Iup.Message("Competed in", message)
7
+
8
+ Iup::DEFAULT
9
+ end
10
+
11
+ list = Iup.List("list_act")
12
+ list.attr = "1=Gold, 2=Silver, 3=Bronze, 4=None,"+
13
+ "VALUE=4, SIZE=EIGHTHxEIGHTH"
14
+
15
+ frm_medal = Iup.Frame(list)
16
+ frm_medal.title = "Best medal"
17
+
18
+ list_multiple = Iup.List()
19
+
20
+ list_multiple.attr = "1=\"100m dash\", 2=\"Long jump\", 3=\"Javelin throw\", 4=\"110m hurdlers\", 5=\"Hammer throw\",6=\"High jump\","+
21
+ "MULTIPLE=YES, VALUE=\"+--+--\", SIZE=EIGHTHxEIGHTH"
22
+
23
+ list_multiple.action = list_multiple_cb
24
+
25
+ frm_sport = Iup.Frame(list_multiple)
26
+ frm_sport.title = "Competed in"
27
+
28
+ list_dropdown = Iup.List()
29
+ list_dropdown.attr = "1=\"Less than US$ 1000\", 2=\"US$ 2000\", 3=\"US$ 5000\", 4=\"US$ 10000\", 5=\"US$ 20000\", 6=\"US$ 50000\", 7=\"More than US$ 100000\","+
30
+ "DROPDOWN=YES, VISIBLE_ITEMS=5"
31
+
32
+ frm_prize = Iup.Frame(list_dropdown)
33
+ frm_prize.title = "Prizes won"
34
+
35
+ dlg = Iup.Dialog(Iup.Hbox([frm_medal, frm_sport, frm_prize]))
36
+ dlg.title = "IupList Example"
37
+ dlg.ShowXY(Iup::CENTER, Iup::CENTER)
38
+
39
+ Iup.MainLoop()
40
+ dlg.Destroy()
41
+
@@ -0,0 +1,125 @@
1
+ require 'rubygems'
2
+
3
+ require 'iup'
4
+
5
+ list_cb = lambda do |ih, t, i, v|
6
+ lbl = ih._label
7
+ lbl.title = t
8
+ Iup::DEFAULT
9
+ end
10
+
11
+ edit_cb = lambda do |ih, c, after|
12
+ lbl = ih._label
13
+ if(Iup.isxkey(c) && c != Iup::K_DEL)
14
+ return Iup::DEFAULT
15
+ end
16
+ lbl.title = after
17
+ Iup::DEFAULT
18
+ end
19
+
20
+ btclose_cb = lambda do |ih|
21
+ return Iup::CLOSE
22
+ end
23
+
24
+ bt_cb = lambda do |ih|
25
+ list = ih._list
26
+ Iup.Message("List", "Value=#{list.value}")
27
+ Iup::DEFAULT
28
+ end
29
+
30
+ getfocus_cb = lambda do |ih|
31
+ bt = ih._button
32
+ bt.bgcolor = "255 0 128"
33
+ Iup::DEFAULT
34
+ end
35
+
36
+ killfocus_cb = lambda do |ih|
37
+ bt = ih._button
38
+ bt.bgcolor = nil
39
+ Iup::DEFAULT
40
+ end
41
+
42
+ bt1 = Iup.Button("Drop+Edit")
43
+ bt1.action = bt_cb
44
+ bt2 = Iup.Button("Drop")
45
+ bt2.action = bt_cb
46
+ bt3 = Iup.Button("List+Edit")
47
+ bt3.action = bt_cb
48
+ bt4 = Iup.Button("List")
49
+ bt4.action = bt_cb
50
+
51
+ list1 = Iup.List()
52
+ list1.action = list_cb
53
+ list2 = Iup.List()
54
+ list2.action = list_cb
55
+ list3 = Iup.List()
56
+ list3.action = list_cb
57
+ list4 = Iup.List()
58
+ list4.action = list_cb
59
+
60
+ list1.attr = "1=\"US$ 1000\", 2=\"US$ 2000\", 3=\"US$ 30000000\", 4=\"US$ 4000\", 5=\"US$ 5000\", 6=\"US$ 6000\", 7=\"US$ 7000\","+
61
+ "EXPAND=HORIZONTAL, EDITBOX=YES, DROPDOWN=YES, VISIBLE_ITEMS=5"
62
+ list2.attr = "1=\"R$ 1000\", 2=\"R$ 2000\", 3=\"R$ 3000\", 4=\"R$ 4000\", 5=\"R$ 5000\", 6=\"R$ 6000\", 7=\"R$ 7000\","+
63
+ "EXPAND=HORIZONTAL, DROPDOWN=YES, VISIBLE_ITEMS=5"
64
+ list3.attr = "1=\"Char A\", 2=\"Char B\", 3=\"Char CCCCC\", 4=\"Char D\", 5=\"Char F\", 6=\"Char G\", 7=\"Char H\","+
65
+ "EXPAND=YES, EDITBOX=YES"
66
+ list4.attr = "1=\"Number 1\", 2=\"Number 2\", 3=\"Number 3\", 4=\"Number 4\", 5=\"Number 5\", 6=\"Number 6\", 7=\"Number 7\","+
67
+ "EXPAND=YES"
68
+
69
+ bt1._list = list1
70
+ bt2._list = list2
71
+ bt3._list = list3
72
+ bt4._list = list4
73
+
74
+ list1._button = bt1
75
+ list2._button = bt2
76
+ list3._button = bt3
77
+ list4._button = bt4
78
+
79
+ bt1.bgcolor = "192 192 192"
80
+ bt2.bgcolor = "192 192 192"
81
+ bt3.bgcolor = "192 192 192"
82
+ bt4.bgcolor = "192 192 192"
83
+
84
+ list1.getfocus_cb = getfocus_cb
85
+ list1.killfocus_cb = killfocus_cb
86
+ list2.getfocus_cb = getfocus_cb
87
+ list2.killfocus_cb = killfocus_cb
88
+ list3.getfocus_cb = getfocus_cb
89
+ list3.killfocus_cb = killfocus_cb
90
+ list4.getfocus_cb = getfocus_cb
91
+ list4.killfocus_cb = killfocus_cb
92
+
93
+ list1.list_edit_cb = edit_cb
94
+ list3.list_edit_cb = edit_cb
95
+
96
+ # list3.readonly = "YES"
97
+
98
+ box1 = Iup.Vbox([list1, bt1])
99
+ box2 = Iup.Vbox([list2, bt2])
100
+ box3 = Iup.Vbox([list3, bt3])
101
+ box4 = Iup.Vbox([list4, bt4])
102
+
103
+ lbl = Iup.Label("")
104
+ lbl.expand = "HORIZONTAL"
105
+
106
+ btok = Iup.Button(:title=>"OK",:action=>btclose_cb)
107
+
108
+ btcancel = Iup.Button(:title=>"Cancel",:action=>btclose_cb)
109
+
110
+ btok._list1 = list1
111
+ btok._list2 = list2
112
+ btok._list3 = list3
113
+ btok._list4 = list4
114
+
115
+ dlg = Iup.Dialog(Iup.Vbox([Iup.Hbox([box1, box2, box3, box4]), lbl, btok, btcancel]),:attr=>"MARGIN=10x10, GAP=10")
116
+ dlg.title = "IupList Example"
117
+ dlg._label = lbl
118
+ dlg.defaultenter = btok
119
+ dlg.defaultesc = btcancel
120
+
121
+ dlg.ShowXY(Iup::CENTER, Iup::CENTER)
122
+
123
+ Iup.MainLoop()
124
+ dlg.Destroy()
125
+
@@ -0,0 +1,32 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+ exit_cb = lambda do |ih|
5
+ Iup::CLOSE
6
+ end
7
+
8
+ item_open = Iup.Item("&Open")
9
+
10
+ item_save = Iup.Item("&Save")
11
+
12
+ item_undo = Iup.Item("&Undo")
13
+ item_undo.active = "NO"
14
+
15
+ item_exit = Iup.Item("E&xit")
16
+ item_exit.action = exit_cb
17
+
18
+ file_menu = Iup.Menu([item_open,
19
+ item_save,
20
+ Iup.Separator(),
21
+ item_undo,
22
+ item_exit])
23
+
24
+ sub1_menu = Iup.Submenu("&File", file_menu)
25
+
26
+ menu = Iup.Menu([sub1_menu])
27
+ dg = Iup.Dialog(Iup.Canvas(""))
28
+ dg.menu = menu
29
+
30
+ dg.Show()
31
+ Iup.MainLoop()
32
+ dg.Destroy()
@@ -0,0 +1,24 @@
1
+ require 'rubygems'
2
+
3
+ require 'iup'
4
+
5
+ mlaction = lambda do |ih,c,after|
6
+ if(c==Iup::K_DEL)
7
+ return Iup::IGNORE
8
+ else
9
+ return Iup::DEFAULT
10
+ end
11
+ end
12
+
13
+ ml = Iup.MultiLine(:action=>mlaction)
14
+ ml.expand = "YES"
15
+ ml.value = "I ignore the DEL key!"
16
+ ml.border = "YES"
17
+
18
+ dlg = Iup.Dialog(ml)
19
+ dlg.title = "IupMultiline"
20
+ dlg.size = "QUARTERxQUARTER"
21
+
22
+ dlg.Show()
23
+ Iup.MainLoop()
24
+ dlg.Destroy()
@@ -0,0 +1,156 @@
1
+ require 'rubygems'
2
+
3
+ require 'iup'
4
+
5
+
6
+
7
+ # Creates a multiline, a text and a list*/
8
+ mltline = Iup.MultiLine()
9
+ text = Iup.Text()
10
+ list = Iup.List()
11
+
12
+ # Turns on multiline expand ans text horizontal expand */
13
+ mltline.expand = "YES"
14
+ text.expand = "HORIZONTAL"
15
+
16
+ # Sets list items and dropdown */
17
+ list.attr = "1 = SET, 2 = GET, DROPDOWN = YES"
18
+
19
+
20
+ set_attribute = lambda do |attribute|
21
+ mltline[attribute] = text.value
22
+
23
+ string_message = "Attribute #{attribute} set with value #{text.value}"
24
+ Iup.Message("Set attribute", string_message)
25
+ Iup::DEFAULT
26
+ end
27
+
28
+ get_attribute = lambda do |attribute|
29
+ text.value = mltline[attribute]
30
+
31
+ string_message = "Attribute #{attribute} get with value #{text.value}"
32
+ Iup.Message("Get attribute", string_message)
33
+ Iup::DEFAULT
34
+ end
35
+
36
+ btn_append_cb = lambda do |ih|
37
+ if(list.value == '1')
38
+ set_attribute.call(Iup::APPEND)
39
+ else
40
+ get_attribute.call(Iup::APPEND)
41
+ end
42
+
43
+ Iup::DEFAULT
44
+ end
45
+
46
+ btn_insert_cb = lambda do |ih|
47
+ if(list.value == '1')
48
+ set_attribute.call(Iup::INSERT)
49
+ else
50
+ get_attribute.call(Iup::INSERT)
51
+ end
52
+
53
+ Iup::DEFAULT
54
+ end
55
+
56
+ btn_border_cb = lambda do |ih|
57
+ if(list.value == '1')
58
+ set_attribute.call(Iup::BORDER)
59
+ else
60
+ get_attribute.call(Iup::BORDER)
61
+ end
62
+ Iup::DEFAULT
63
+ end
64
+
65
+ btn_caret_cb = lambda do |ih|
66
+ if(list.value == '1')
67
+ set_attribute.call(Iup::CARET)
68
+ else
69
+ get_attribute.call(Iup::CARET)
70
+ end
71
+ Iup::DEFAULT
72
+ end
73
+
74
+ btn_readonly_cb = lambda do |ih|
75
+ if(list.value == '1')
76
+ set_attribute.call(Iup::READONLY)
77
+ else
78
+ get_attribute.call(Iup::READONLY)
79
+ end
80
+ Iup::DEFAULT
81
+ end
82
+
83
+ btn_selection_cb = lambda do |ih|
84
+ if(list.value == '1')
85
+ set_attribute.call(Iup::SELECTION)
86
+ else
87
+ get_attribute.call(Iup::SELECTION)
88
+ end
89
+ Iup::DEFAULT
90
+ end
91
+
92
+ btn_selectedtext_cb = lambda do |ih|
93
+ if(list.value == '1')
94
+ set_attribute.call(Iup::SELECTEDTEXT)
95
+ else
96
+ get_attribute.call(Iup::SELECTEDTEXT)
97
+ end
98
+ Iup::DEFAULT
99
+ end
100
+
101
+ btn_nc_cb = lambda do |ih|
102
+ if(list.value == '1')
103
+ set_attribute.call(Iup::NC)
104
+ else
105
+ get_attribute.call(Iup::NC)
106
+ end
107
+ Iup::DEFAULT
108
+ end
109
+
110
+ btn_value_cb = lambda do |ih|
111
+ if(list.value == '1')
112
+ set_attribute.call(Iup::VALUE)
113
+ else
114
+ get_attribute.call(Iup::VALUE)
115
+ end
116
+ Iup::DEFAULT
117
+ end
118
+
119
+ # Creates buttons */
120
+ btn_append = Iup.Button("Append")
121
+ btn_insert = Iup.Button("Insert")
122
+ btn_border = Iup.Button("Border")
123
+ btn_caret = Iup.Button("Caret")
124
+ btn_readonly = Iup.Button("Read only")
125
+ btn_selection = Iup.Button("Selection")
126
+ btn_selectedtext = Iup.Button("Selected Text")
127
+ btn_nc = Iup.Button("Number of characters")
128
+ btn_value = Iup.Button("Value")
129
+
130
+ # Registers callbacks */
131
+ btn_append.action = btn_append_cb
132
+ btn_insert.action = btn_insert_cb
133
+ btn_border.action = btn_border_cb
134
+ btn_caret.action = btn_caret_cb
135
+ btn_readonly.action = btn_readonly_cb
136
+ btn_selection.action = btn_selection_cb
137
+ btn_selectedtext.action = btn_selectedtext_cb
138
+ btn_nc.action = btn_nc_cb
139
+ btn_value.action = btn_value_cb
140
+
141
+ # Creates dialog */
142
+ dlg = Iup.Dialog(Iup.Vbox([mltline,
143
+ Iup.Hbox([text, list]),
144
+ Iup.Hbox([btn_append, btn_insert, btn_border, btn_caret, btn_readonly, btn_selection]),
145
+ Iup.Hbox([btn_selectedtext, btn_nc, btn_value])]))
146
+
147
+ # Sets title and size of the dialog */
148
+ dlg.attr = "TITLE=\"Iup.MultiLine Example\", SIZE=HALFxQUARTER"
149
+
150
+ # Shows dialog in the center of the screen */
151
+ dlg.ShowXY(Iup::CENTER, Iup::CENTER)
152
+
153
+ # Initializes IUP main loop */
154
+ Iup.MainLoop()
155
+
156
+ dlg.Destroy()
@@ -0,0 +1,32 @@
1
+ require 'rubygems'
2
+
3
+ require 'iup'
4
+
5
+ male = Iup.Toggle("Male")
6
+ female = Iup.Toggle("Female")
7
+
8
+ exclusive = Iup.Radio(
9
+ Iup.Vbox([
10
+ male,
11
+ female])
12
+ )
13
+ exclusive.value = female
14
+ exclusive.tip = "Two state button - Exclusive - RADIO"
15
+
16
+ frame = Iup.Frame(
17
+ exclusive
18
+ )
19
+ frame.title = "Gender"
20
+
21
+ dialog = Iup.Dialog(
22
+ Iup.Hbox([
23
+ Iup.Fill(),
24
+ frame,
25
+ Iup.Fill()])
26
+ )
27
+
28
+ dialog.attr = "SIZE=140, TITLE=IupRadio, RESIZE=NO, MINBOX=NO, MAXBOX=NO"
29
+
30
+ dialog.Show()
31
+ Iup.MainLoop()
32
+ dialog.Destroy()
@@ -0,0 +1,81 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+ def show_message()
5
+ Iup.Message("Warning", "This item performs no operation\nIt is here only to compose")
6
+ end
7
+
8
+ item_new_cb = lambda do |ih|
9
+ show_message()
10
+ Iup::DEFAULT
11
+ end
12
+
13
+ item_open_cb = lambda do |ih|
14
+ show_message()
15
+ Iup::DEFAULT
16
+ end
17
+
18
+ item_close_cb = lambda do |ih|
19
+ show_message()
20
+ Iup::DEFAULT
21
+ end
22
+
23
+ item_pagesetup_cb = lambda do |ih|
24
+ show_message()
25
+ Iup::DEFAULT
26
+ end
27
+
28
+ item_print_cb = lambda do |ih|
29
+ show_message()
30
+ Iup::DEFAULT
31
+ end
32
+
33
+ item_exit_cb = lambda do |ih|
34
+ Iup::CLOSE
35
+ end
36
+
37
+ # Creates a text */
38
+ text = Iup.Text()
39
+
40
+ # Sets value of the text and turns on expand */
41
+ text.attr = "VALUE = \"This text is here only to compose\", EXPAND = YES"
42
+
43
+ # Creates six items */
44
+ item_new = Iup.Item("New")
45
+ item_open = Iup.Item("Open")
46
+ item_close = Iup.Item("Close")
47
+ item_pagesetup = Iup.Item("Page Setup")
48
+ item_print = Iup.Item("Page Setup")
49
+ item_exit = Iup.Item("Exit")
50
+
51
+ # Registers callbacks */
52
+ item_new.action = item_new_cb
53
+ item_open.action = item_open_cb
54
+ item_close.action = item_close_cb
55
+ item_pagesetup.action = item_pagesetup_cb
56
+ item_print.action = item_print_cb
57
+ item_exit.action = item_exit_cb
58
+
59
+ # Creates file menu */
60
+ menu_file = Iup.Menu([item_new, item_open, item_close, Iup.Separator(), item_pagesetup, item_print, Iup.Separator(), item_exit])
61
+
62
+ # Creates file submenu */
63
+ submenu_file = Iup.Submenu("File", menu_file)
64
+
65
+ # Creates main menu with file menu */
66
+ menu = Iup.Menu([submenu_file])
67
+
68
+ # Creates dialog with a text */
69
+ dlg = Iup.Dialog(text,:menu=>menu)
70
+
71
+ # Sets title and size of the dialog and associates a menu to it */
72
+ dlg.attr = "TITLE=\"Iup.Separator Example\", SIZE = QUARTERxEIGHTH"
73
+
74
+ # Shows dialog in the center of the screen */
75
+ dlg.ShowXY(Iup::CENTER, Iup::CENTER)
76
+
77
+ # Initializes IUP main loop */
78
+ Iup.MainLoop()
79
+
80
+ dlg.Destroy()
81
+