ruby-iup 0.1.0-x86-mswin32-60

Sign up to get free protection for your applications and to get access to all the features.
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,22 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+ vbox1 = Iup.Vbox([Iup.Label("Inside Tab A"), Iup.Button("Button A")],:tabtitle=>"Tab A")
5
+ vbox2 = Iup.Vbox([Iup.Label("Inside Tab B"), Iup.Button("Button B")],:tabtitle=>"Tab B")
6
+
7
+ tabs1 = Iup.Tabs([vbox1, vbox2])
8
+
9
+ vbox1 = Iup.Vbox([Iup.Label("Inside Tab C"), Iup.Button("Button C")],:tabtitle=>"Tab C")
10
+ vbox2 = Iup.Vbox([Iup.Label("Inside Tab D"), Iup.Button("Button D")],:tabtitle=>"Tab D")
11
+
12
+ tabs2 = Iup.Tabs([vbox1, vbox2],:tabtype=>"LEFT")
13
+
14
+ box = Iup.Hbox([tabs1, tabs2],:margin=>"10x10",:gap=>10)
15
+
16
+ dlg = Iup.Dialog(box,:title=>"IupTabs",:size=>"200x80")
17
+
18
+ dlg.ShowXY(Iup::CENTER, Iup::CENTER)
19
+
20
+ Iup.MainLoop()
21
+ dlg.Destroy()
22
+
@@ -0,0 +1,190 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+
5
+ class IupTreeTest
6
+ # Initializes IupTree and registers callbacks */
7
+
8
+
9
+ def init_tree()
10
+
11
+
12
+ # Callback called when a leaf is added by the menu. */
13
+ addleaf = lambda do |h|
14
+ id = @tree.value
15
+ @tree["addleaf#{id}"] = ""
16
+ @tree.redraw = "YES"
17
+ Iup::DEFAULT
18
+ end
19
+
20
+ # Callback called when a branch is added by the menu. */
21
+ addbranch = lambda do |h|
22
+ id = @tree.value
23
+ @tree["addbranch#{id}"] = ""
24
+ @tree.redraw = "YES"
25
+ Iup::DEFAULT
26
+ end
27
+
28
+ selectnode = lambda do |h|
29
+ @tree.value = h.title
30
+ @tree.redraw = "YES"
31
+ return Iup::DEFAULT
32
+ end
33
+
34
+ # Callback called when a node is removed by the menu. */
35
+ removenode = lambda do |h|
36
+ @tree.delnode = "MARKED"
37
+ @tree.redraw = "YES"
38
+ Iup::DEFAULT
39
+ end
40
+
41
+ # from the menu */
42
+ renamenode = lambda do |h|
43
+ Iup::DEFAULT
44
+ end
45
+
46
+ text_cb = lambda do |ih,c,after|
47
+ if (c == Iup::K_ESC)
48
+ return Iup::CLOSE
49
+ end
50
+
51
+ if (c == Iup::K_CR)
52
+ @tree.name = after
53
+ @tree.redraw = "YES"
54
+ return Iup::CLOSE
55
+ end
56
+ Iup::DEFAULT
57
+ end
58
+
59
+ executeleaf_cb = lambda do |ih,id|
60
+ puts "executeleaf_cb (#{id})"
61
+ Iup::DEFAULT
62
+ end
63
+
64
+ renamenode_cb = lambda do |ih,id,name|
65
+ puts "renamenode_cb (#{id}=#{name})"
66
+ Iup::DEFAULT
67
+ end
68
+
69
+ rename_cb = lambda do |ih,id,name|
70
+ puts "rename_cb (#{id}=#{name})"
71
+ if (name == "fool")
72
+ return Iup::IGNORE
73
+ end
74
+ Iup::DEFAULT
75
+ end
76
+
77
+ branchopen_cb = lambda do |ih,id|
78
+ puts "branchopen_cb (#{id})"
79
+ Iup::DEFAULT
80
+ end
81
+
82
+ branchclose_cb = lambda do |ih,id|
83
+ puts "branchclose_cb (#{id})"
84
+ Iup::DEFAULT
85
+ end
86
+
87
+ dragdrop_cb = lambda do |ih, drag_id, drop_id, isshift, iscontrol|
88
+ puts "dragdrop_cb (#{drag_id})->(#{drop_id})"
89
+ Iup::DEFAULT
90
+ end
91
+
92
+ # Callback called when a key is hit */
93
+ k_any_cb = lambda do |ih,c|
94
+ if (c == Iup::K_DEL)
95
+ @tree.delnode = "MARKED"
96
+ @tree.redraw = "YES"
97
+ end
98
+
99
+ Iup::DEFAULT
100
+ end
101
+
102
+
103
+ # Callback called when the right mouse button is pressed */
104
+ rightclick_cb = lambda do |h,id|
105
+
106
+ popup_menu = Iup.Menu([
107
+ Iup.Item("Add Leaf",addleaf),
108
+ Iup.Item("Add Branch",addbranch),
109
+ Iup.Item("Rename Node",renamenode),
110
+ Iup.Item("Remove Node",removenode),
111
+ Iup.Submenu("Selection", Iup.Menu([
112
+ Iup.Item("ROOT", selectnode),
113
+ Iup.Item("LAST", selectnode),
114
+ Iup.Item("PGUP", selectnode),
115
+ Iup.Item("PGDN", selectnode),
116
+ Iup.Item("NEXT", selectnode),
117
+ Iup.Item("PREVIOUS", selectnode),
118
+ Iup.Separator(),
119
+ Iup.Item("INVERT", selectnode),
120
+ Iup.Item("BLOCK", selectnode),
121
+ Iup.Item("CLEARALL", selectnode),
122
+ Iup.Item("MARKALL", selectnode),
123
+ Iup.Item("INVERTALL", selectnode)
124
+ ]))
125
+ ])
126
+
127
+ h.value = id.to_s
128
+ popup_menu.Popup(Iup::MOUSEPOS,Iup::MOUSEPOS)
129
+
130
+ popup_menu.Destroy()
131
+
132
+ Iup::DEFAULT
133
+ end
134
+
135
+ @tree = Iup.Tree()
136
+ @tree.executeleaf_cb = executeleaf_cb
137
+ @tree.renamenode_cb = renamenode_cb
138
+ @tree.rename_cb = rename_cb
139
+ @tree.branchclose_cb = branchclose_cb
140
+ @tree.branchopen_cb = branchopen_cb
141
+ @tree.dragdrop_cb = dragdrop_cb
142
+ @tree.rightclick_cb = rightclick_cb
143
+ @tree.k_any = k_any_cb
144
+ end
145
+
146
+ # Initializes the dialog */
147
+ def init_dlg()
148
+ box = Iup.Vbox([Iup.Hbox([@tree, Iup.Button("teste", "xx") ])])
149
+ @dlg = Iup.Dialog(box,:title=>"IupTree",:size=>"QUARTERxTHIRD")
150
+ box.margin = "20x20"
151
+ @dlg.bgcolor = "192 192 192"
152
+ end
153
+
154
+ # Initializes the Iup.Tree's attributes */
155
+ def init_tree_atributes()
156
+ @tree.font = "COURIER_NORMAL_10"
157
+ @tree.name = "Figures"
158
+ @tree.addbranch = "3D"
159
+ @tree.addbranch = "2D"
160
+ @tree.addleaf = "test"
161
+ @tree.addbranch1 = "parallelogram"
162
+ @tree.addleaf2 = "diamond"
163
+ @tree.addleaf2 = "square"
164
+ @tree.addbranch1 = "triangle"
165
+ @tree.addleaf2 = "scalenus"
166
+ @tree.addleaf2 = "isoceles"
167
+ @tree.addleaf2 = "equilateral"
168
+ @tree.value = 6
169
+ @tree.ctrl = "YES"
170
+ @tree.shift = "YES"
171
+ @tree.addexpanded = "NO"
172
+ @tree.showdragdrop = "YES"
173
+ @tree.showrename = "YES"
174
+
175
+ @tree.redraw = "YES"
176
+ end
177
+
178
+ def initialize
179
+ init_tree() # Initializes Iup.Tree */
180
+ init_dlg() # Initializes the dialog */
181
+ @dlg.ShowXY(Iup::CENTER,Iup::CENTER) # Displays the dialog */
182
+ init_tree_atributes() # Initializes attributes, can be done here or anywhere */
183
+
184
+ Iup.MainLoop() # Main loop */
185
+ @dlg.Destroy()
186
+ end
187
+ end
188
+
189
+ test = IupTreeTest.new
190
+
@@ -0,0 +1,71 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+ val_v = Iup.Val("VERTICAL")
5
+ val_h = Iup.Val("HORIZONTAL")
6
+ lbl_v = Iup.Label(:title=>"VALUE=",:size=>"50x")
7
+ lbl_h = Iup.Label(:title=>"VALUE=",:size=>"50x")
8
+ val_v.showticks = 5
9
+
10
+ dlg_val = Iup.Dialog(
11
+ Iup.Hbox([
12
+ Iup.Hbox([val_v,lbl_v],:alignment=>"ACENTER"),
13
+ Iup.Vbox([val_h,lbl_h],:alignment=>"ACENTER")])
14
+ )
15
+
16
+ mousemove = lambda do |c,a|
17
+ buffer = "VALUE=%.2g" % a
18
+
19
+ case(c.type)
20
+ when 'VERTICAL'
21
+ lbl_v.title = buffer
22
+ when 'HORIZONTAL'
23
+ lbl_h.title = buffer
24
+ end
25
+
26
+ Iup::DEFAULT
27
+ end
28
+
29
+ button_press = lambda do |c,a|
30
+ case(c.type)
31
+ when 'VERTICAL'
32
+ lbl_v.fgcolor = "255 0 0"
33
+ when 'HORIZONTAL'
34
+ lbl_h.fgcolor = "255 0 0"
35
+ end
36
+
37
+ mousemove.call(c, a)
38
+
39
+ Iup::DEFAULT
40
+ end
41
+
42
+ button_release = lambda do |c,a|
43
+ type = c.type
44
+
45
+ case(type = c.type)
46
+ when 'VERTICAL'
47
+ lbl_v.fgcolor = "0 0 0"
48
+ when 'HORIZONTAL'
49
+ lbl_h.fgcolor = "0 0 0"
50
+ end
51
+
52
+ mousemove.call(c, a)
53
+
54
+ Iup::DEFAULT
55
+ end
56
+
57
+
58
+ val_v.button_press_cb = button_press
59
+ val_v.button_release_cb = button_release
60
+ val_v.mousemove_cb = mousemove
61
+
62
+ val_h.button_press_cb = button_press
63
+ val_h.button_release_cb = button_release
64
+ val_h.mousemove_cb = mousemove
65
+
66
+ dlg_val.title = "IupVal"
67
+ dlg_val.margin = "10x10"
68
+ dlg_val.ShowXY(Iup::CENTER,Iup::CENTER)
69
+
70
+ Iup.MainLoop
71
+ dlg_val.Destroy
@@ -0,0 +1,46 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+
5
+ def create()
6
+ nlines_cb = lambda {|h| 20 }
7
+ ncols_cb = lambda {|h| 50 }
8
+ height_cb = lambda {|h,i| 30 }
9
+ width_cb = lambda {|h,j| 70 }
10
+ mouseclick_cb = lambda do |h,b,m,i,j,x,y,r|
11
+ Iup.Message("Hi!","CLICK: #{b}: (#{i}, #{j})")
12
+ Iup::DEFAULT
13
+ end
14
+
15
+ draw_cb = lambda do |h,i,j,xmin,xmax,ymin,ymax,cnv|
16
+ xm = (xmax + xmin) / 2
17
+ ym = (ymax + ymin) / 2
18
+
19
+ cnv.CanvasSetForeground(Cd.EncodeColor((i*20),(j*100),(i+100)))
20
+ cnv.CanvasBox(xmin, xmax, ymin, ymax)
21
+ cnv.CanvasTextAlignment(Cd::CENTER)
22
+ cnv.CanvasSetForeground(Cd::BLACK)
23
+ cnv.CanvasText(xm, ym, "(#{i}, #{j})")
24
+
25
+ Iup::DEFAULT
26
+ end
27
+
28
+ cells = Iup.Cells()
29
+ cells.mouseclick_cb = mouseclick_cb
30
+ cells.draw_cb = draw_cb
31
+ cells.width_cb = width_cb
32
+ cells.height_cb = height_cb
33
+ cells.nlines_cb = nlines_cb
34
+ cells.boxed = "NO"
35
+ cells
36
+ end
37
+
38
+ cells = create()
39
+ dlg = Iup.Dialog(cells)
40
+
41
+ dlg.rastersize = "500x500"
42
+ dlg.title = "IupCells"
43
+
44
+ dlg.ShowXY(Iup::CENTER,Iup::CENTER)
45
+ Iup.MainLoop
46
+ dlg.Destroy
@@ -0,0 +1,166 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+ class Sample
5
+
6
+ def init_dialog()
7
+ @img_bits1 = [
8
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,
9
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,
10
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,
11
+ 1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,
12
+ 1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,
13
+ 1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,
14
+ 1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,
15
+ 1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,
16
+ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
17
+ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
18
+ 2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
19
+ 2,2,2,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
20
+ 2,2,2,0,2,0,2,0,2,2,0,2,2,2,0,0,0,2,2,2,0,0,2,0,2,2,0,0,0,2,2,2,
21
+ 2,2,2,0,2,0,0,2,0,0,2,0,2,0,2,2,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2,
22
+ 2,2,2,0,2,0,2,2,0,2,2,0,2,2,2,2,2,0,2,0,2,2,2,0,2,0,2,2,2,0,2,2,
23
+ 2,2,2,0,2,0,2,2,0,2,2,0,2,2,0,0,0,0,2,0,2,2,2,0,2,0,0,0,0,0,2,2,
24
+ 2,2,2,0,2,0,2,2,0,2,2,0,2,0,2,2,2,0,2,0,2,2,2,0,2,0,2,2,2,2,2,2,
25
+ 2,2,2,0,2,0,2,2,0,2,2,0,2,0,2,2,2,0,2,0,2,2,0,0,2,0,2,2,2,0,2,2,
26
+ 2,2,2,0,2,0,2,2,0,2,2,0,2,2,0,0,0,0,2,2,0,0,2,0,2,2,0,0,0,2,2,2,
27
+ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,2,2,2,2,2,
28
+ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,2,2,0,2,2,2,2,2,2,2,2,
29
+ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,2,2,2,2,2,2,2,2,2,
30
+ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
31
+ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
32
+ 1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,
33
+ 1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,
34
+ 1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,
35
+ 1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
36
+ 1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
37
+ 1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
38
+ 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
39
+ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
40
+ ]
41
+
42
+ @img_bits2 =
43
+ [
44
+ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,
45
+ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,
46
+ 2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,
47
+ 2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,
48
+ 2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,
49
+ 2,2,2,2,2,2,2,2,2,2,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,
50
+ 2,2,2,2,2,2,2,2,2,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,
51
+ 2,2,2,2,2,2,2,2,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,
52
+ 3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
53
+ 3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
54
+ 3,3,3,0,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
55
+ 3,3,3,0,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
56
+ 3,3,3,0,3,0,3,0,3,3,0,3,3,3,1,1,0,3,3,3,0,0,3,0,3,3,0,0,0,3,3,3,
57
+ 3,3,3,0,3,0,0,3,0,0,3,0,3,0,1,1,3,0,3,0,3,3,0,0,3,0,3,3,3,0,3,3,
58
+ 3,3,3,0,3,0,3,3,0,3,3,0,3,3,1,1,3,0,3,0,3,3,3,0,3,0,3,3,3,0,3,3,
59
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
60
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
61
+ 3,3,3,0,3,0,3,3,0,3,3,0,3,0,1,1,3,0,3,0,3,3,0,0,3,0,3,3,3,0,3,3,
62
+ 3,3,3,0,3,0,3,3,0,3,3,0,3,3,1,1,0,0,3,3,0,0,3,0,3,3,0,0,0,3,3,3,
63
+ 3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,0,3,3,3,3,3,3,3,3,
64
+ 3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,0,3,3,3,0,3,3,3,3,3,3,3,3,
65
+ 3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,0,0,0,3,3,3,3,3,3,3,3,3,
66
+ 3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
67
+ 3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,
68
+ 2,2,2,2,2,2,2,3,3,3,3,3,3,3,1,1,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,
69
+ 2,2,2,2,2,2,3,3,3,3,3,3,3,3,1,1,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,
70
+ 2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,
71
+ 2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
72
+ 2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
73
+ 2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
74
+ 2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,
75
+ 3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
76
+ ]
77
+
78
+ img = Iup.Image(32,32, @img_bits1)
79
+ Iup.SetHandle("img1", img)
80
+ img["0"] = "0 0 0"
81
+ img["1"] = "BGCOLOR"
82
+ img["2"] = "255 0 0"
83
+
84
+ img = Iup.Image(32,32, @img_bits2)
85
+ Iup.SetHandle("img2", img)
86
+ img["0"] = "0 0 0"
87
+ img["1"] = "0 255 0"
88
+ img["2"] = "BGCOLOR"
89
+ img["3"] = "255 0 0"
90
+
91
+ mnu = Iup.Menu([
92
+ Iup.Submenu("IupSubmenu 1",Iup.Menu([
93
+ Iup.Item(:title=>"IupItem 1 Checked",:value=>"ON"),
94
+ Iup.Separator(),
95
+ Iup.Item(:title=>"IupItem 2 Disabled",:active=>"NO")])),
96
+ Iup.Item(:title=>"IupItem 3"),
97
+ Iup.Item(:title=>"IupItem 4")])
98
+ Iup.SetHandle("mnu",mnu)
99
+
100
+ _frm_1 = Iup.Frame(
101
+ Iup.Vbox([
102
+ Iup.Button("Button Text"),
103
+ Iup.Button(:title=>"",:image=>"img1"),
104
+ Iup.Button(:title=>"",:image=>"img1",:impress=>"img2")]
105
+ ),:title=>"IupButton")
106
+
107
+ _frm_2 = Iup.Frame(
108
+ Iup.Vbox([
109
+ Iup.Label("Label Text"),
110
+ Iup.Label(:title=>"",:separator=>"HORIZONTAL"),
111
+ Iup.Label(:title=>"",:image=>"img1")
112
+ ]),:title=>"IupLabel")
113
+
114
+ _frm_3 = Iup.Frame(
115
+ Iup.Vbox([
116
+ Iup.Toggle(:title=>"Toggle Text",:value=>"ON"),
117
+ Iup.Toggle(:title=>"",:image=>"img1",:impress=>"img2"),
118
+ Iup.Frame(Iup.Radio(Iup.Vbox([
119
+ Iup.Toggle(:title=>"Toggle Text"),
120
+ Iup.Toggle(:title=>"Toggle Text")])),:title=>"IupRadio")
121
+ ]),:title=>"IupToggle")
122
+ _text_1 = Iup.Text(:value=>"IupText Text",:size=>"80x")
123
+
124
+ _ml_1 = Iup.MultiLine(:value=>"IupMultiline Text\nSecond Line\nThird Line",:expand=>"YES",:size=>"80x60")
125
+
126
+ _frm_4 = Iup.Frame(Iup.Vbox([_text_1,_ml_1]),:title=>"IupText/IupMultiline")
127
+
128
+ _list_1 = Iup.List(:expand=>"YES",:value=>1)
129
+ _list_1["1"]="Item 1 Text"
130
+ _list_1["2"]="Item 2 Text"
131
+ _list_1["3"]="Item 3 Text"
132
+
133
+ _list_2 = Iup.List(:dropdown=>"YES",:expand=>"YES",:value=>2)
134
+ _list_2["1"]="Item 1 Text"
135
+ _list_2["2"]="Item 2 Text"
136
+ _list_2["3"]="Item 3 Text"
137
+
138
+ _list_3 = Iup.List(:editbox=>"YES",:expand=>"YES",:value=>3)
139
+ _list_3["1"]="Item 1 Text"
140
+ _list_3["2"]="Item 2 Text"
141
+ _list_3["3"]="Item 3 Text"
142
+
143
+ _frm_5 = Iup.Frame(Iup.Vbox([_list_1,_list_2,_list_3]),:title=>"IupList")
144
+
145
+ _hbox_1 = Iup.Hbox([_frm_1,_frm_2,_frm_3,_frm_4,_frm_5])
146
+
147
+ _cnv_1 = Iup.Canvas(:ttle=>"do_nothing",:posx=>0.0,:posy=>0.0,:bgcolor=>"128 255 0")
148
+
149
+ _vbox_1 = Iup.Vbox([_hbox_1,_cnv_1],:margin=>"5x5",:alignment=>"ARIGHT",:gap=>5)
150
+
151
+ dlg = Iup.Dialog(_vbox_1)
152
+ dlg.menu = "mnu"
153
+ dlg.title = "IupDialog Title"
154
+ dlg
155
+ end
156
+
157
+ def initialize
158
+ dlg = init_dialog
159
+ dlg.Show
160
+ Iup.MainLoop
161
+ end
162
+ end
163
+
164
+ test = Sample.new
165
+
166
+