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,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
+
@@ -0,0 +1,85 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+ item_help_cb = lambda do |ih|
5
+ Iup.Message("Warning", "Only Help and Exit items performs an operation")
6
+
7
+ Iup::DEFAULT
8
+ end
9
+
10
+
11
+ item_exit_cb = lambda do |ih|
12
+ Iup::CLOSE
13
+ end
14
+
15
+ # Creates a multiline */
16
+ text = Iup.Text()
17
+
18
+ # Sets value of the text and turns on expand */
19
+ text.attr = "VALUE = \"This text is here only to compose\", EXPAND = YES"
20
+
21
+ # Creates items of menu file */
22
+ item_new = Iup.Item("New")
23
+ item_open = Iup.Item("Open")
24
+ item_close = Iup.Item("Close")
25
+ item_exit = Iup.Item("Exit", "item_exit_act")
26
+
27
+ # Creates items of menu edit */
28
+ item_copy = Iup.Item("Copy")
29
+ item_paste = Iup.Item("Paste")
30
+
31
+ # Creates items for menu triangle */
32
+ item_scalenus = Iup.Item("Scalenus")
33
+ item_isoceles = Iup.Item("Isoceles")
34
+ item_equilateral = Iup.Item("Equilateral")
35
+
36
+ # Create menu triangle */
37
+ menu_triangle = Iup.Menu([item_equilateral, item_isoceles, item_scalenus])
38
+
39
+ # Creates submenu triangle */
40
+ submenu_triangle = Iup.Submenu("Triangle", menu_triangle)
41
+
42
+ # Creates items for menu create */
43
+ item_line = Iup.Item("Line")
44
+ item_circle = Iup.Item("Circle")
45
+
46
+ # Creates menu create */
47
+ menu_create = Iup.Menu([item_line, item_circle, submenu_triangle])
48
+
49
+ # Creates submenu create */
50
+ submenu_create = Iup.Submenu("Create", menu_create)
51
+
52
+ # Creates items of menu help */
53
+ item_help = Iup.Item("Help", "item_help_act")
54
+
55
+ # Creates three menus */
56
+ menu_file = Iup.Menu([item_new, item_open, item_close, Iup.Separator(), item_exit])
57
+ menu_edit = Iup.Menu([item_copy, item_paste, Iup.Separator(), submenu_create])
58
+ menu_help = Iup.Menu([item_help])
59
+
60
+ # Creates three submenus */
61
+ submenu_file = Iup.Submenu("File", menu_file)
62
+ submenu_edit = Iup.Submenu("Edit", menu_edit)
63
+ submenu_help = Iup.Submenu("Help", menu_help)
64
+
65
+ # Creates main menu with file menu */
66
+ menu = Iup.Menu([submenu_file, submenu_edit, submenu_help])
67
+
68
+ # Registers callbacks */
69
+ item_help.action = item_help_cb
70
+ item_exit.action = item_exit_cb
71
+
72
+ # Creates dialog with a text */
73
+ dlg = Iup.Dialog(text,:menu=>menu)
74
+
75
+ # Sets title and size of the dialog and associates a menu to it */
76
+ dlg.attr = "TITLE=\"Iup.Submenu Example\", SIZE = QUARTERxEIGHTH"
77
+
78
+ # Shows dialog in the center of the screen */
79
+ dlg.ShowXY(Iup::CENTER, Iup::CENTER)
80
+
81
+ # Initializes IUP main loop */
82
+ Iup.MainLoop()
83
+
84
+ dlg.Destroy()
85
+
@@ -0,0 +1,61 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+ password = ""
5
+
6
+ pwd = Iup.Text(:readonly=>"YES",:size=>"200x")
7
+
8
+ k_any = lambda do |ih, c|
9
+ case c
10
+ when
11
+ Iup::K_CR,
12
+ Iup::K_SP,
13
+ Iup::K_ESC,
14
+ Iup::K_INS,
15
+ Iup::K_DEL,
16
+ Iup::K_TAB,
17
+ Iup::K_HOME,
18
+ Iup::K_UP,
19
+ Iup::K_PGUP,
20
+ Iup::K_LEFT,
21
+ Iup::K_MIDDLE,
22
+ Iup::K_RIGHT,
23
+ Iup::K_END,
24
+ Iup::K_DOWN,
25
+ Iup::K_PGDN
26
+ return Iup::IGNORE
27
+ else
28
+ return Iup::DEFAULT
29
+ end
30
+ end
31
+
32
+ action = lambda do |ih, c, after|
33
+ size = password.size
34
+ case c
35
+ when Iup::K_BS
36
+ if (size==0)
37
+ return Iup::IGNORE
38
+ end
39
+ password.chop!
40
+ pwd.value = password
41
+ return Iup::DEFAULT
42
+ else
43
+ if (k_any.call(ih, c) == Iup::IGNORE)
44
+ return Iup::IGNORE
45
+ end
46
+ password += c.chr
47
+ end
48
+ pwd.value = password
49
+ Iup::K_asterisk
50
+ end
51
+
52
+
53
+ text = Iup.Text(:size=>"200x",:action=>action,:k_any=>k_any)
54
+
55
+ dlg = Iup.Dialog(Iup.Vbox([text, pwd]),:title=>"IupText")
56
+
57
+ dlg.ShowXY(Iup::CENTER, Iup::CENTER)
58
+
59
+ Iup.MainLoop()
60
+ dlg.Destroy()
61
+
@@ -0,0 +1,36 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+
5
+ text = Iup.Label("Timer example")
6
+
7
+ # Creating main dialog */
8
+ dialog = Iup.Dialog(Iup.Vbox([text]),:title=>"timer example",:size=>"200x200")
9
+ dialog.ShowXY(Iup::CENTER, Iup::CENTER)
10
+
11
+ timer1 = Iup.Timer()
12
+ timer2 = Iup.Timer()
13
+
14
+ timer_cb = lambda do |n|
15
+ if(n == timer1)
16
+ puts("timer 1 called")
17
+ end
18
+ if(n == timer2)
19
+ puts("timer 2 called")
20
+ return Iup::CLOSE
21
+ end
22
+
23
+ Iup::DEFAULT
24
+ end
25
+
26
+ timer1.time = 100
27
+ timer1.run = "YES"
28
+ timer1.action_cb = timer_cb
29
+
30
+ timer2.time = 400
31
+ timer2.run = "YES"
32
+ timer2.action_cb = timer_cb
33
+
34
+ Iup.MainLoop()
35
+ timer1.Destroy()
36
+ timer2.Destroy()
@@ -0,0 +1,110 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+ img_1 = [
5
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
6
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
7
+ 1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,
8
+ 1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,
9
+ 1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,
10
+ 1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,1,
11
+ 1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,
12
+ 1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,
13
+ 1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,
14
+ 1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,
15
+ 1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,
16
+ 1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,
17
+ 1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,
18
+ 1,1,1,2,2,2,2,2,2,2,2,2,1,1,1,1,
19
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
20
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
21
+ ]
22
+
23
+ img_2 = [
24
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
25
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
26
+ 1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,
27
+ 1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,
28
+ 1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,
29
+ 1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,
30
+ 1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,
31
+ 1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,
32
+ 1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,
33
+ 1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,
34
+ 1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,
35
+ 1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,
36
+ 1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,
37
+ 1,1,1,2,2,2,2,2,2,2,2,2,1,1,1,1,
38
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
39
+ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
40
+ ]
41
+
42
+
43
+
44
+ toggle1cb = lambda do |ih,v|
45
+ if(v == 1)
46
+ Iup.Message("Toggle 1","pressed")
47
+ else
48
+ Iup.Message("Toggle 1","released")
49
+ end
50
+
51
+ Iup::DEFAULT
52
+ end
53
+
54
+ img1 = Iup.Image(16,16, img_1)
55
+ img2 = Iup.Image(16,16, img_2)
56
+ img1["1"] = "255 255 255"
57
+ img1["2"] = "0 192 0"
58
+ img2["1"] = "255 255 255"
59
+ img2["2"] = "0 192 0"
60
+
61
+ toggle1 = Iup.Toggle("toggle with image")
62
+ toggle2 = Iup.Toggle("deactivated toggle with image")
63
+ toggle3 = Iup.Toggle("regular toggle")
64
+ toggle4 = Iup.Toggle("toggle with blue foreground color")
65
+ toggle5 = Iup.Toggle("toggle with red background color")
66
+ toggle6 = Iup.Toggle("toggle with black background color and green foreground color")
67
+ toggle7 = Iup.Toggle("deactivated toggle")
68
+ toggle8 = Iup.Toggle("toggle with Courier 14 Bold font")
69
+ toggle9 = Iup.Toggle("toggle with size EIGHTxEIGHT")
70
+
71
+ toggle1.action = toggle1cb
72
+
73
+ toggle1.image = img1 # Toggle 1 uses image
74
+ toggle2.image = img2 # Toggle 2 uses image
75
+ toggle2.active = "NO" # Toggle 2 inactive
76
+ toggle4.fgcolor = "0 0 255" # Toggle 4 has blue foreground color
77
+ toggle5.bgcolor = "255 0 0" # Toggle 5 has red background color
78
+ toggle6.fgcolor = "0 255 0" # Toggle 6 has green foreground color
79
+ toggle6.bgcolor = "0 0 0" # Toggle 6 has black background color
80
+ toggle7.active = "NO" # Toggle 7 inactive
81
+ toggle8.font = "COURIER_BOLD_14" # Toggle 8 has Courier 14 Bold font
82
+ toggle9.size = "EIGHTHxEIGHTH" # Toggle 9 has size EIGHTxEIGHT
83
+
84
+ # Creating box that contains the toggles
85
+ caixa =
86
+ Iup.Vbox([
87
+ toggle1,
88
+ toggle2,
89
+ toggle3,
90
+ toggle4,
91
+ toggle5,
92
+ toggle6,
93
+ toggle7,
94
+ toggle8,
95
+ toggle9])
96
+
97
+ toggles = Iup.Radio( caixa ) # Grouping toggles
98
+ toggles.expand = "YES"
99
+
100
+ # Dialog
101
+ dlg = Iup.Dialog(toggles)
102
+ dlg.tile = "IupToggle"
103
+ dlg.attr = "MARGIN=5x5, GAP=5, RESIZE=NO"
104
+
105
+ # Associates a menu to the dialog
106
+ dlg.ShowXY(Iup::CENTER, Iup::CENTER)
107
+ Iup.MainLoop()
108
+ dlg.Destroy()
109
+ img1.Destroy
110
+ img2.Destroy
@@ -0,0 +1,87 @@
1
+ require 'rubygems'
2
+ require 'iup'
3
+
4
+ # Creates frame 1
5
+ frm_1 = Iup.Frame(
6
+ Iup.Hbox([
7
+ Iup.Fill(),
8
+ vbox_1 = Iup.Vbox([
9
+ btn_11=Iup.Button("1"),
10
+ btn_12=Iup.Button("2"),
11
+ btn_13=Iup.Button("3")]),
12
+ Iup.Fill()])
13
+ )
14
+
15
+ # Sets title of frame 1
16
+ frm_1.title = "ALIGNMENT = ALEFT, GAP = 10"
17
+
18
+ # Sets attributes of buttons inside frame 1
19
+ btn_11.size = "20x30"
20
+ btn_12.size = "30x30"
21
+ btn_13.size = "40x30"
22
+
23
+ # Sets attributes of vbox 1
24
+ vbox_1.attr = "ALIGNMENT = ALEFT, GAP = 10"
25
+
26
+ # Creates frame 2
27
+ frm_2 = Iup.Frame(
28
+ Iup.Hbox([
29
+ Iup.Fill(),
30
+ vbox_2 = Iup.Vbox([
31
+ btn_21 = Iup.Button("1"),
32
+ btn_22 = Iup.Button("2"),
33
+ btn_23 = Iup.Button("3")]),
34
+ Iup.Fill()])
35
+ )
36
+
37
+ # Sets title of frame 1
38
+ frm_2.title = "ALIGNMENT = ACENTER, MARGIN = 15"
39
+
40
+ # Sets attributes of buttons inside frame 2
41
+ btn_21.size = "20x30"
42
+ btn_22.size = "30x30"
43
+ btn_23.size = "40x30"
44
+
45
+ # Sets attributes of vbox 2
46
+ vbox_2.attr = "ALIGNMENT = ACENTER, MARGIN = 15"
47
+
48
+ # Creates frame 3
49
+ frm_3 = Iup.Frame(
50
+ Iup.Hbox([
51
+ Iup.Fill(),
52
+ vbox_3 = Iup.Vbox([
53
+ btn_31=Iup.Button("1"),
54
+ btn_32=Iup.Button("2"),
55
+ btn_33=Iup.Button("3")]),
56
+ Iup.Fill()])
57
+ )
58
+
59
+ # Sets title of frame 3
60
+ frm_3.title = "ALIGNMENT = ARIGHT, SIZE = 20"
61
+
62
+ # Sets attributes of buttons inside frame 3
63
+ btn_31.size = "20x30"
64
+ btn_32.size = "30x30"
65
+ btn_33.size = "40x30"
66
+
67
+ # Sets attributes of vbox 3
68
+ vbox_3.attr = "ALIGNMENT = ARIGHT, SIZE = 20"
69
+
70
+ # Creates dialog with three frames inside a vbo_
71
+ dlg = Iup.Dialog(
72
+ Iup.Vbox([
73
+ frm_1,
74
+ frm_2,
75
+ frm_3])
76
+ )
77
+
78
+ # Sets title and size of the dialog
79
+ dlg.attr = "TITLE = \"Iup.Vbox Example\", SIZE = QUARTER"
80
+
81
+ # Shows dialog in the center of the screen
82
+ dlg.ShowXY(Iup::CENTER, Iup::CENTER)
83
+
84
+ # Initializes IUP main loop
85
+ Iup.MainLoop()
86
+
87
+ dlg.Destroy()