ruby-iup 0.0.1-i386-mswin32

Sign up to get free protection for your applications and to get access to all the features.
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
+