ruby-iup 0.0.1-i386-mswin32

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 (138) hide show
  1. data/doc/README +10 -0
  2. data/doc/build_install.txt +77 -0
  3. data/examples/README +16 -0
  4. data/examples/ctrl/cbox.rb +221 -0
  5. data/examples/ctrl/checkboard.rb +33 -0
  6. data/examples/ctrl/degrade.rb +73 -0
  7. data/examples/ctrl/example1.rb +53 -0
  8. data/examples/ctrl/example2.rb +39 -0
  9. data/examples/ctrl/iupcolorbar.rb +95 -0
  10. data/examples/ctrl/iupcolorbrowser.rb +45 -0
  11. data/examples/ctrl/iupdial.rb +117 -0
  12. data/examples/ctrl/iupgauge.rb +242 -0
  13. data/examples/ctrl/iupgetcolor.rb +8 -0
  14. data/examples/ctrl/iupgetparam.rb +62 -0
  15. data/examples/ctrl/iupglcanvas.rb +172 -0
  16. data/examples/ctrl/iupmask.rb +15 -0
  17. data/examples/ctrl/iupmatrix.rb +39 -0
  18. data/examples/ctrl/iupplot2.rb +603 -0
  19. data/examples/ctrl/iuptabs.rb +22 -0
  20. data/examples/ctrl/iuptree.rb +190 -0
  21. data/examples/ctrl/iupval.rb +71 -0
  22. data/examples/ctrl/numbering.rb +46 -0
  23. data/examples/ctrl/sample.rb +166 -0
  24. data/examples/dlg/iupalarm.rb +14 -0
  25. data/examples/dlg/iupfiledlg.rb +19 -0
  26. data/examples/dlg/iupgetfile.rb +19 -0
  27. data/examples/dlg/iuplistdialog.rb +26 -0
  28. data/examples/dlg/iupmessage.rb +5 -0
  29. data/examples/dlg/iupscanf.rb +17 -0
  30. data/examples/elem/iupbutton.rb +197 -0
  31. data/examples/elem/iupcanvas.rb +27 -0
  32. data/examples/elem/iupcanvas2.rb +113 -0
  33. data/examples/elem/iupcanvas3.rb +62 -0
  34. data/examples/elem/iupdialog.rb +71 -0
  35. data/examples/elem/iupdialog2.rb +25 -0
  36. data/examples/elem/iupfill.rb +51 -0
  37. data/examples/elem/iupframe.rb +25 -0
  38. data/examples/elem/iuphbox.rb +68 -0
  39. data/examples/elem/iupimage.rb +113 -0
  40. data/examples/elem/iupitem.rb +60 -0
  41. data/examples/elem/iuplabel.rb +57 -0
  42. data/examples/elem/iuplist.rb +41 -0
  43. data/examples/elem/iuplist2.rb +125 -0
  44. data/examples/elem/iupmenu.rb +32 -0
  45. data/examples/elem/iupmultiline.rb +24 -0
  46. data/examples/elem/iupmultiline2.rb +156 -0
  47. data/examples/elem/iupradio.rb +32 -0
  48. data/examples/elem/iupseparator.rb +81 -0
  49. data/examples/elem/iupsubmenu.rb +85 -0
  50. data/examples/elem/iuptext.rb +61 -0
  51. data/examples/elem/iuptimer.rb +36 -0
  52. data/examples/elem/iuptoggle.rb +110 -0
  53. data/examples/elem/iupvbox.rb +87 -0
  54. data/examples/elem/iupzbox.rb +60 -0
  55. data/examples/elem/mdisample.rb +376 -0
  56. data/examples/elem/progressbar.rb +294 -0
  57. data/examples/elem/scrollbar.rb +66 -0
  58. data/examples/elem/tray.rb +90 -0
  59. data/examples/func/iupgetattribute.rb +32 -0
  60. data/examples/func/iupidle.rb +48 -0
  61. data/ext/extconf.rb +27 -0
  62. data/ext/iup-win32/cd.dll +0 -0
  63. data/ext/iup-win32/cd.lib +0 -0
  64. data/ext/iup-win32/cdcontextplus.dll +0 -0
  65. data/ext/iup-win32/cdcontextplus.lib +0 -0
  66. data/ext/iup-win32/cdlua51.lib +0 -0
  67. data/ext/iup-win32/cdluacontextplus51.lib +0 -0
  68. data/ext/iup-win32/cdluaim51.lib +0 -0
  69. data/ext/iup-win32/cdluapdf51.lib +0 -0
  70. data/ext/iup-win32/cdpdf.dll +0 -0
  71. data/ext/iup-win32/cdpdf.lib +0 -0
  72. data/ext/iup-win32/freetype6.dll +0 -0
  73. data/ext/iup-win32/freetype6.lib +0 -0
  74. data/ext/iup-win32/im.dll +0 -0
  75. data/ext/iup-win32/im_avi.dll +0 -0
  76. data/ext/iup-win32/im_capture.dll +0 -0
  77. data/ext/iup-win32/im_ecw.dll +0 -0
  78. data/ext/iup-win32/im_fftw.dll +0 -0
  79. data/ext/iup-win32/im_jp2.dll +0 -0
  80. data/ext/iup-win32/im_process.dll +0 -0
  81. data/ext/iup-win32/im_wmv.dll +0 -0
  82. data/ext/iup-win32/iup.dll +0 -0
  83. data/ext/iup-win32/iup.lib +0 -0
  84. data/ext/iup-win32/iup_pplot.dll +0 -0
  85. data/ext/iup-win32/iup_pplot.lib +0 -0
  86. data/ext/iup-win32/iupcd.dll +0 -0
  87. data/ext/iup-win32/iupcd.lib +0 -0
  88. data/ext/iup-win32/iupcontrols.dll +0 -0
  89. data/ext/iup-win32/iupcontrols.lib +0 -0
  90. data/ext/iup-win32/iupgl.dll +0 -0
  91. data/ext/iup-win32/iupgl.lib +0 -0
  92. data/ext/iup-win32/iupim.dll +0 -0
  93. data/ext/iup-win32/iupim.lib +0 -0
  94. data/ext/iup-win32/iupimglib.dll +0 -0
  95. data/ext/iup-win32/iupimglib.lib +0 -0
  96. data/ext/iup-win32/iuplua51.lib +0 -0
  97. data/ext/iup-win32/iuplua_pplot51.lib +0 -0
  98. data/ext/iup-win32/iupluacd51.lib +0 -0
  99. data/ext/iup-win32/iupluacontrols51.lib +0 -0
  100. data/ext/iup-win32/iupluagl51.lib +0 -0
  101. data/ext/iup-win32/iupluaim51.lib +0 -0
  102. data/ext/iup-win32/iupluaimglib51.lib +0 -0
  103. data/ext/iup-win32/iupluaole51.lib +0 -0
  104. data/ext/iup-win32/iupole.dll +0 -0
  105. data/ext/iup-win32/iupole.lib +0 -0
  106. data/ext/iup-win32/iupstub.lib +0 -0
  107. data/ext/iup-win32/pdflib.dll +0 -0
  108. data/ext/iup-win32/pdflib.lib +0 -0
  109. data/ext/iup.c +1261 -0
  110. data/ext/mkrf_conf.rb +72 -0
  111. data/ext/rb_cd.h +1525 -0
  112. data/ext/rb_iup.h +2446 -0
  113. data/ext/rb_iup_pplot.h +129 -0
  114. data/ext/rb_iupcb.h +13 -0
  115. data/ext/rb_iupcbox.h +40 -0
  116. data/ext/rb_iupcells.h +15 -0
  117. data/ext/rb_iupcolorbar.h +17 -0
  118. data/ext/rb_iupcompat.h +237 -0
  119. data/ext/rb_iupcontrols.h +28 -0
  120. data/ext/rb_iupdef.h +3 -0
  121. data/ext/rb_iupdial.h +24 -0
  122. data/ext/rb_iupgauge.h +15 -0
  123. data/ext/rb_iupgc.h +18 -0
  124. data/ext/rb_iupgetparam.h +72 -0
  125. data/ext/rb_iupgl.h +58 -0
  126. data/ext/rb_iupim.h +25 -0
  127. data/ext/rb_iupmask.h +189 -0
  128. data/ext/rb_iupmatrix.h +80 -0
  129. data/ext/rb_iupole.h +24 -0
  130. data/ext/rb_iupsbox.h +23 -0
  131. data/ext/rb_iupspeech.h +25 -0
  132. data/ext/rb_iupspin.h +29 -0
  133. data/ext/rb_iuptabs.h +29 -0
  134. data/ext/rb_iuptree.h +94 -0
  135. data/ext/rb_iupval.h +24 -0
  136. data/lib/README +1 -0
  137. data/lib/iup.so +0 -0
  138. metadata +187 -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
+