wxruby3 0.9.0.pre.rc.2-x64-mingw-ucrt → 0.9.0.pre.rc.3-x64-mingw-ucrt

Sign up to get free protection for your applications and to get access to all the features.
Files changed (341) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +30 -8
  3. data/README.md +3 -3
  4. data/ext/wxbase32u_gcc_custom.dll +0 -0
  5. data/ext/wxbase32u_net_gcc_custom.dll +0 -0
  6. data/ext/wxbase32u_xml_gcc_custom.dll +0 -0
  7. data/ext/wxmsw32u_aui_gcc_custom.dll +0 -0
  8. data/ext/wxmsw32u_core_gcc_custom.dll +0 -0
  9. data/ext/wxmsw32u_gl_gcc_custom.dll +0 -0
  10. data/ext/wxmsw32u_html_gcc_custom.dll +0 -0
  11. data/ext/wxmsw32u_media_gcc_custom.dll +0 -0
  12. data/ext/wxmsw32u_propgrid_gcc_custom.dll +0 -0
  13. data/ext/wxmsw32u_qa_gcc_custom.dll +0 -0
  14. data/ext/wxmsw32u_ribbon_gcc_custom.dll +0 -0
  15. data/ext/wxmsw32u_richtext_gcc_custom.dll +0 -0
  16. data/ext/wxmsw32u_stc_gcc_custom.dll +0 -0
  17. data/ext/wxmsw32u_webview_gcc_custom.dll +0 -0
  18. data/ext/wxmsw32u_xrc_gcc_custom.dll +0 -0
  19. data/lib/wx/core/event_loop.rb +7 -0
  20. data/lib/wx/core/image.rb +33 -0
  21. data/lib/wx/core/listctrl.rb +17 -13
  22. data/lib/wx/core/log.rb +90 -0
  23. data/lib/wx/doc/bitmap.rb +11 -15
  24. data/lib/wx/doc/event_loop.rb +7 -0
  25. data/lib/wx/doc/extra/00_starting.md +6 -6
  26. data/lib/wx/doc/extra/02_lifecycles.md +9 -8
  27. data/lib/wx/doc/extra/09_exceptions.md +1 -1
  28. data/lib/wx/doc/extra/11_drawing_and_dc.md +4 -4
  29. data/lib/wx/doc/font.rb +1 -1
  30. data/lib/wx/doc/functions.rb +51 -23
  31. data/lib/wx/doc/gc_dc.rb +1 -1
  32. data/lib/wx/doc/gen/about_dialog_info.rb +1 -1
  33. data/lib/wx/doc/gen/accelerator.rb +6 -6
  34. data/lib/wx/doc/gen/accessible.rb +6 -2
  35. data/lib/wx/doc/gen/activity_indicator.rb +5 -5
  36. data/lib/wx/doc/gen/animation.rb +7 -7
  37. data/lib/wx/doc/gen/animation_ctrl.rb +7 -6
  38. data/lib/wx/doc/gen/any_button.rb +1 -1
  39. data/lib/wx/doc/gen/app.rb +17 -11
  40. data/lib/wx/doc/gen/art_provider.rb +61 -1
  41. data/lib/wx/doc/gen/aui/aui_dock_art.rb +12 -12
  42. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +6 -6
  43. data/lib/wx/doc/gen/aui/aui_manager.rb +45 -27
  44. data/lib/wx/doc/gen/aui/aui_manager_event.rb +12 -6
  45. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +6 -6
  46. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +6 -6
  47. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +10 -10
  48. data/lib/wx/doc/gen/aui/aui_notebook.rb +34 -7
  49. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +17 -2
  50. data/lib/wx/doc/gen/aui/aui_pane_info.rb +51 -51
  51. data/lib/wx/doc/gen/aui/aui_tab_art.rb +6 -6
  52. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +33 -18
  53. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +16 -16
  54. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +4 -4
  55. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +4 -4
  56. data/lib/wx/doc/gen/bitmap.rb +32 -26
  57. data/lib/wx/doc/gen/bitmap_button.rb +10 -6
  58. data/lib/wx/doc/gen/bitmap_combo_box.rb +12 -7
  59. data/lib/wx/doc/gen/book_ctrl_base.rb +7 -3
  60. data/lib/wx/doc/gen/book_ctrl_event.rb +2 -2
  61. data/lib/wx/doc/gen/box_sizer.rb +1 -1
  62. data/lib/wx/doc/gen/brush.rb +16 -4
  63. data/lib/wx/doc/gen/busy_info.rb +1 -1
  64. data/lib/wx/doc/gen/button.rb +19 -7
  65. data/lib/wx/doc/gen/calculate_layout_event.rb +2 -1
  66. data/lib/wx/doc/gen/calendar_ctrl.rb +28 -16
  67. data/lib/wx/doc/gen/calendar_date_attr.rb +2 -2
  68. data/lib/wx/doc/gen/calendar_event.rb +3 -3
  69. data/lib/wx/doc/gen/caret.rb +2 -2
  70. data/lib/wx/doc/gen/check_box.rb +10 -6
  71. data/lib/wx/doc/gen/check_list_box.rb +8 -7
  72. data/lib/wx/doc/gen/choice.rb +7 -6
  73. data/lib/wx/doc/gen/choicebook.rb +12 -6
  74. data/lib/wx/doc/gen/client_dc.rb +1 -1
  75. data/lib/wx/doc/gen/clipboard.rb +1 -1
  76. data/lib/wx/doc/gen/collapsible_pane.rb +9 -6
  77. data/lib/wx/doc/gen/collapsible_pane_event.rb +2 -1
  78. data/lib/wx/doc/gen/colour.rb +16 -6
  79. data/lib/wx/doc/gen/colour_dialog.rb +6 -6
  80. data/lib/wx/doc/gen/colour_picker_ctrl.rb +15 -9
  81. data/lib/wx/doc/gen/colour_picker_event.rb +7 -4
  82. data/lib/wx/doc/gen/combo_box.rb +22 -13
  83. data/lib/wx/doc/gen/context_help_button.rb +4 -3
  84. data/lib/wx/doc/gen/control.rb +9 -6
  85. data/lib/wx/doc/gen/core.rb +5 -2
  86. data/lib/wx/doc/gen/cursor.rb +16 -11
  87. data/lib/wx/doc/gen/data_format.rb +2 -2
  88. data/lib/wx/doc/gen/data_object.rb +23 -16
  89. data/lib/wx/doc/gen/date_event.rb +3 -3
  90. data/lib/wx/doc/gen/date_picker_ctrl.rb +11 -6
  91. data/lib/wx/doc/gen/dc.rb +37 -12
  92. data/lib/wx/doc/gen/defs.rb +16 -16
  93. data/lib/wx/doc/gen/dialog.rb +19 -5
  94. data/lib/wx/doc/gen/dir_dialog.rb +6 -2
  95. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +2 -2
  96. data/lib/wx/doc/gen/dir_picker_ctrl.rb +14 -9
  97. data/lib/wx/doc/gen/drag_drop.rb +15 -15
  98. data/lib/wx/doc/gen/drag_image.rb +6 -6
  99. data/lib/wx/doc/gen/editable_list_box.rb +7 -3
  100. data/lib/wx/doc/gen/event.rb +44 -13
  101. data/lib/wx/doc/gen/event_blocker.rb +1 -1
  102. data/lib/wx/doc/gen/event_filter.rb +5 -2
  103. data/lib/wx/doc/gen/event_list.rb +15 -15
  104. data/lib/wx/doc/gen/events.rb +215 -79
  105. data/lib/wx/doc/gen/evt_handler.rb +1 -1
  106. data/lib/wx/doc/gen/ext_help_controller.rb +1 -1
  107. data/lib/wx/doc/gen/file_dialog.rb +16 -7
  108. data/lib/wx/doc/gen/file_dir_picker_event.rb +5 -3
  109. data/lib/wx/doc/gen/file_picker_ctrl.rb +16 -8
  110. data/lib/wx/doc/gen/find_dialog_event.rb +7 -2
  111. data/lib/wx/doc/gen/find_replace_data.rb +1 -1
  112. data/lib/wx/doc/gen/find_replace_dialog.rb +1 -1
  113. data/lib/wx/doc/gen/flex_grid_sizer.rb +12 -6
  114. data/lib/wx/doc/gen/font.rb +30 -29
  115. data/lib/wx/doc/gen/font_data.rb +9 -5
  116. data/lib/wx/doc/gen/font_dialog.rb +3 -3
  117. data/lib/wx/doc/gen/font_picker_ctrl.rb +10 -6
  118. data/lib/wx/doc/gen/font_picker_event.rb +2 -1
  119. data/lib/wx/doc/gen/frame.rb +34 -11
  120. data/lib/wx/doc/gen/fs_file.rb +4 -17
  121. data/lib/wx/doc/gen/gauge.rb +11 -7
  122. data/lib/wx/doc/gen/gcdc.rb +5 -1
  123. data/lib/wx/doc/gen/gdi_common.rb +35 -33
  124. data/lib/wx/doc/gen/gdi_object.rb +1 -1
  125. data/lib/wx/doc/gen/generic_dir_ctrl.rb +13 -7
  126. data/lib/wx/doc/gen/graphics_context.rb +29 -28
  127. data/lib/wx/doc/gen/graphics_object.rb +1 -1
  128. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +2 -2
  129. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +10 -10
  130. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +1 -1
  131. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +1 -1
  132. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +1 -1
  133. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +1 -1
  134. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +2 -2
  135. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +1 -1
  136. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +1 -1
  137. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +1 -1
  138. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +13 -10
  139. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +1 -1
  140. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +1 -1
  141. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +1 -1
  142. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +1 -1
  143. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +1 -1
  144. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +1 -1
  145. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +12 -12
  146. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +1 -1
  147. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +1 -1
  148. data/lib/wx/doc/gen/grid/grid_ctrl.rb +32 -18
  149. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +5 -3
  150. data/lib/wx/doc/gen/grid/grid_event.rb +20 -3
  151. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +7 -3
  152. data/lib/wx/doc/gen/grid/grid_size_event.rb +9 -3
  153. data/lib/wx/doc/gen/grid/grid_string_table.rb +2 -2
  154. data/lib/wx/doc/gen/grid/grid_table_base.rb +7 -7
  155. data/lib/wx/doc/gen/grid/grid_table_message.rb +5 -5
  156. data/lib/wx/doc/gen/grid_bag_sizer.rb +5 -5
  157. data/lib/wx/doc/gen/grid_sizer.rb +4 -4
  158. data/lib/wx/doc/gen/gui_event_loop.rb +132 -0
  159. data/lib/wx/doc/gen/help_controller.rb +18 -12
  160. data/lib/wx/doc/gen/html/html_cell.rb +36 -18
  161. data/lib/wx/doc/gen/html/html_cell_event.rb +5 -3
  162. data/lib/wx/doc/gen/html/html_easy_printing.rb +9 -4
  163. data/lib/wx/doc/gen/html/html_help_controller.rb +34 -8
  164. data/lib/wx/doc/gen/html/html_help_data.rb +3 -3
  165. data/lib/wx/doc/gen/html/html_help_frame.rb +6 -6
  166. data/lib/wx/doc/gen/html/html_help_window.rb +12 -8
  167. data/lib/wx/doc/gen/html/html_link_event.rb +4 -3
  168. data/lib/wx/doc/gen/html/html_list_box.rb +15 -7
  169. data/lib/wx/doc/gen/html/html_printout.rb +15 -5
  170. data/lib/wx/doc/gen/html/html_window.rb +19 -8
  171. data/lib/wx/doc/gen/hyperlink_ctrl.rb +12 -7
  172. data/lib/wx/doc/gen/hyperlink_event.rb +2 -1
  173. data/lib/wx/doc/gen/icon.rb +14 -14
  174. data/lib/wx/doc/gen/image.rb +119 -64
  175. data/lib/wx/doc/gen/image_list.rb +10 -6
  176. data/lib/wx/doc/gen/keyboard_state.rb +7 -7
  177. data/lib/wx/doc/gen/list_box.rb +30 -21
  178. data/lib/wx/doc/gen/list_ctrl.rb +169 -78
  179. data/lib/wx/doc/gen/list_event.rb +24 -2
  180. data/lib/wx/doc/gen/listbook.rb +12 -6
  181. data/lib/wx/doc/gen/locale.rb +11 -36
  182. data/lib/wx/doc/gen/log.rb +122 -45
  183. data/lib/wx/doc/gen/mdi_client_window.rb +2 -2
  184. data/lib/wx/doc/gen/mdi_frame.rb +15 -9
  185. data/lib/wx/doc/gen/media_ctrl.rb +7 -4
  186. data/lib/wx/doc/gen/media_event.rb +8 -2
  187. data/lib/wx/doc/gen/memory_dc.rb +23 -27
  188. data/lib/wx/doc/gen/menu.rb +9 -9
  189. data/lib/wx/doc/gen/menu_bar.rb +4 -4
  190. data/lib/wx/doc/gen/menu_item.rb +115 -34
  191. data/lib/wx/doc/gen/message_dialog.rb +48 -30
  192. data/lib/wx/doc/gen/mini_frame.rb +12 -3
  193. data/lib/wx/doc/gen/mouse_state.rb +1 -1
  194. data/lib/wx/doc/gen/multi_choice_dialog.rb +4 -2
  195. data/lib/wx/doc/gen/non_owned_window.rb +6 -7
  196. data/lib/wx/doc/gen/notebook.rb +20 -15
  197. data/lib/wx/doc/gen/number_entry_dialog.rb +2 -2
  198. data/lib/wx/doc/gen/object.rb +2 -2
  199. data/lib/wx/doc/gen/palette.rb +3 -3
  200. data/lib/wx/doc/gen/panel.rb +4 -3
  201. data/lib/wx/doc/gen/pen.rb +25 -12
  202. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +1 -1
  203. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +3 -3
  204. data/lib/wx/doc/gen/pg/pg_cell.rb +12 -12
  205. data/lib/wx/doc/gen/pg/pg_editor.rb +76 -74
  206. data/lib/wx/doc/gen/pg/pg_multi_button.rb +3 -3
  207. data/lib/wx/doc/gen/pg/pg_properties.rb +221 -138
  208. data/lib/wx/doc/gen/pg/pg_property.rb +103 -54
  209. data/lib/wx/doc/gen/pg/pg_validation_info.rb +1 -1
  210. data/lib/wx/doc/gen/pg/property_grid.rb +19 -19
  211. data/lib/wx/doc/gen/pg/property_grid_event.rb +18 -5
  212. data/lib/wx/doc/gen/pg/property_grid_interface.rb +36 -24
  213. data/lib/wx/doc/gen/pg/property_grid_manager.rb +12 -12
  214. data/lib/wx/doc/gen/pg/property_grid_page.rb +12 -11
  215. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +8 -8
  216. data/lib/wx/doc/gen/picker_base.rb +12 -11
  217. data/lib/wx/doc/gen/platform_info.rb +7 -7
  218. data/lib/wx/doc/gen/popup_window.rb +6 -6
  219. data/lib/wx/doc/gen/progress_dialog.rb +1 -1
  220. data/lib/wx/doc/gen/property_sheet_dialog.rb +19 -17
  221. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +2 -2
  222. data/lib/wx/doc/gen/prt/preview_frame.rb +4 -1
  223. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +1 -1
  224. data/lib/wx/doc/gen/prt/print_data.rb +24 -18
  225. data/lib/wx/doc/gen/prt/print_dialog.rb +4 -4
  226. data/lib/wx/doc/gen/prt/printer.rb +22 -22
  227. data/lib/wx/doc/gen/query_layout_info_event.rb +2 -1
  228. data/lib/wx/doc/gen/radio_box.rb +12 -10
  229. data/lib/wx/doc/gen/radio_button.rb +8 -6
  230. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +39 -39
  231. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +25 -7
  232. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +5 -5
  233. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +9 -2
  234. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +5 -5
  235. data/lib/wx/doc/gen/rbn/ribbon_control.rb +4 -4
  236. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +6 -2
  237. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +5 -5
  238. data/lib/wx/doc/gen/rbn/ribbon_page.rb +5 -5
  239. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +12 -6
  240. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +5 -5
  241. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +4 -2
  242. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +5 -5
  243. data/lib/wx/doc/gen/region.rb +9 -8
  244. data/lib/wx/doc/gen/region_iterator.rb +2 -2
  245. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +92 -92
  246. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +56 -34
  247. data/lib/wx/doc/gen/rtc/rich_text_event.rb +23 -4
  248. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +6 -6
  249. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +9 -5
  250. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +6 -2
  251. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +12 -12
  252. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +1 -1
  253. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +2 -2
  254. data/lib/wx/doc/gen/sash_event.rb +3 -1
  255. data/lib/wx/doc/gen/sash_layout_window.rb +5 -3
  256. data/lib/wx/doc/gen/sash_window.rb +8 -3
  257. data/lib/wx/doc/gen/scroll_bar.rb +29 -8
  258. data/lib/wx/doc/gen/scrolled_canvas.rb +41 -23
  259. data/lib/wx/doc/gen/scrolled_control.rb +41 -23
  260. data/lib/wx/doc/gen/scrolled_window.rb +41 -23
  261. data/lib/wx/doc/gen/search_ctrl.rb +15 -8
  262. data/lib/wx/doc/gen/simplebook.rb +2 -2
  263. data/lib/wx/doc/gen/single_choice_dialog.rb +4 -2
  264. data/lib/wx/doc/gen/sizer.rb +29 -28
  265. data/lib/wx/doc/gen/slider.rb +49 -16
  266. data/lib/wx/doc/gen/spin_button.rb +15 -9
  267. data/lib/wx/doc/gen/spin_ctrl.rb +12 -6
  268. data/lib/wx/doc/gen/spin_event.rb +5 -2
  269. data/lib/wx/doc/gen/splash_screen.rb +16 -12
  270. data/lib/wx/doc/gen/splitter_event.rb +6 -2
  271. data/lib/wx/doc/gen/splitter_window.rb +20 -4
  272. data/lib/wx/doc/gen/static_bitmap.rb +5 -5
  273. data/lib/wx/doc/gen/static_box.rb +36 -32
  274. data/lib/wx/doc/gen/static_box_sizer.rb +13 -10
  275. data/lib/wx/doc/gen/static_line.rb +5 -4
  276. data/lib/wx/doc/gen/static_text.rb +12 -6
  277. data/lib/wx/doc/gen/status_bar.rb +14 -5
  278. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +55 -7
  279. data/lib/wx/doc/gen/stc/styled_text_event.rb +224 -49
  280. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +11 -2
  281. data/lib/wx/doc/gen/svg_file_dc.rb +3 -3
  282. data/lib/wx/doc/gen/system_options.rb +11 -1
  283. data/lib/wx/doc/gen/system_settings.rb +3 -3
  284. data/lib/wx/doc/gen/task_bar_icon.rb +10 -2
  285. data/lib/wx/doc/gen/task_bar_icon_event.rb +3 -3
  286. data/lib/wx/doc/gen/text_attr.rb +11 -7
  287. data/lib/wx/doc/gen/text_ctrl.rb +61 -92
  288. data/lib/wx/doc/gen/text_entry.rb +28 -40
  289. data/lib/wx/doc/gen/text_entry_dialog.rb +19 -19
  290. data/lib/wx/doc/gen/text_validator.rb +0 -11
  291. data/lib/wx/doc/gen/time_picker_ctrl.rb +6 -5
  292. data/lib/wx/doc/gen/timer.rb +8 -4
  293. data/lib/wx/doc/gen/timer_event.rb +19 -26
  294. data/lib/wx/doc/gen/tip_provider.rb +1 -1
  295. data/lib/wx/doc/gen/toggle_button.rb +6 -5
  296. data/lib/wx/doc/gen/tool_bar.rb +41 -24
  297. data/lib/wx/doc/gen/tool_tip.rb +2 -2
  298. data/lib/wx/doc/gen/toolbook.rb +6 -3
  299. data/lib/wx/doc/gen/top_level_window.rb +35 -25
  300. data/lib/wx/doc/gen/tree_ctrl.rb +63 -13
  301. data/lib/wx/doc/gen/tree_event.rb +23 -2
  302. data/lib/wx/doc/gen/treebook.rb +6 -2
  303. data/lib/wx/doc/gen/ui_action_simulator.rb +1 -1
  304. data/lib/wx/doc/gen/utils.rb +9 -3
  305. data/lib/wx/doc/gen/v_list_box.rb +2 -2
  306. data/lib/wx/doc/gen/v_scrolled_window.rb +2 -2
  307. data/lib/wx/doc/gen/validator.rb +7 -5
  308. data/lib/wx/doc/gen/variant.rb +34 -97
  309. data/lib/wx/doc/gen/window.rb +157 -102
  310. data/lib/wx/doc/gen/window_dc.rb +1 -1
  311. data/lib/wx/doc/gen/with_images.rb +1 -1
  312. data/lib/wx/doc/gen/wizard.rb +17 -4
  313. data/lib/wx/doc/gen/wizard_event.rb +9 -2
  314. data/lib/wx/doc/gen/wizard_page.rb +1 -1
  315. data/lib/wx/doc/gen/wizard_page_simple.rb +7 -7
  316. data/lib/wx/doc/gen/xml_node.rb +3 -3
  317. data/lib/wx/doc/gen/xml_resource.rb +12 -9
  318. data/lib/wx/doc/image.rb +42 -12
  319. data/lib/wx/doc/list_ctrl.rb +32 -0
  320. data/lib/wx/doc/log.rb +28 -0
  321. data/lib/wx/doc/prt/printer_dc.rb +2 -2
  322. data/lib/wx/doc/scaled_dc.rb +1 -1
  323. data/lib/wx/doc/text_validator.rb +12 -0
  324. data/lib/wx/version.rb +1 -1
  325. data/lib/wxruby_aui.so +0 -0
  326. data/lib/wxruby_core.so +0 -0
  327. data/lib/wxruby_grid.so +0 -0
  328. data/lib/wxruby_html.so +0 -0
  329. data/lib/wxruby_pg.so +0 -0
  330. data/lib/wxruby_prt.so +0 -0
  331. data/lib/wxruby_rbn.so +0 -0
  332. data/lib/wxruby_rtc.so +0 -0
  333. data/lib/wxruby_stc.so +0 -0
  334. data/tests/test_art.rb +9 -0
  335. data/tests/test_box_sizer.rb +161 -0
  336. data/tests/test_grid_sizer.rb +148 -0
  337. data/tests/test_list_ctrl.rb +53 -0
  338. data/tests/test_log.rb +163 -0
  339. data/tests/test_std_controls.rb +58 -0
  340. data/tests/test_timer.rb +95 -0
  341. metadata +13 -2
@@ -63,12 +63,19 @@ module Wx
63
63
  #
64
64
  # The following event-handler methods redirect the events to member method or handler blocks for {Wx::WizardEvent} events.
65
65
  # Event handler methods:
66
+ #
66
67
  # - {Wx::EvtHandler#evt_wizard_page_changed}(id, meth = nil, &block): The page has been just changed (this event cannot be vetoed).
68
+ #
67
69
  # - {Wx::EvtHandler#evt_wizard_page_changing}(id, meth = nil, &block): The page is being changed (this event can be vetoed).
70
+ #
68
71
  # - {Wx::EvtHandler#evt_wizard_before_page_changed}(id, meth = nil, &block): Called after Next is clicked but before GetNext is called. Unlike EVT_WIZARD_CHANGING, the handler for this function can change state that might affect the return value of GetNext. This event can be vetoed.
72
+ #
69
73
  # - {Wx::EvtHandler#evt_wizard_page_shown}(id, meth = nil, &block): The page was shown and laid out (this event cannot be vetoed).
74
+ #
70
75
  # - {Wx::EvtHandler#evt_wizard_cancel}(id, meth = nil, &block): The user attempted to cancel the wizard (this event may also be vetoed).
76
+ #
71
77
  # - {Wx::EvtHandler#evt_wizard_help}(id, meth = nil, &block): The wizard help button was pressed.
78
+ #
72
79
  # - {Wx::EvtHandler#evt_wizard_finished}(id, meth = nil, &block): The wizard finished button was pressed.
73
80
  #
74
81
  # ===
@@ -82,11 +89,11 @@ module Wx
82
89
 
83
90
  # Constructor.
84
91
  # It is not normally used by the user code as the objects of this type are constructed by {Wx::Wizard}.
85
- # @param type [Integer]
92
+ # @param type [Wx::AUI::AuiMDIChildFrame::EventType]
86
93
  # @param id [Integer]
87
94
  # @param direction [true,false]
88
95
  # @param page [Wx::WizardPage]
89
- # @return [WizardEvent]
96
+ # @return [Wx::WizardEvent]
90
97
  def initialize(type=Wx::EVT_NULL, id=Wx::StandardID::ID_ANY, direction=true, page=0) end
91
98
 
92
99
  # Return the direction in which the page is changing: for EVT_WIZARD_PAGE_CHANGING, return true if we're going forward or false otherwise and for EVT_WIZARD_PAGE_CHANGED return true if we came from the previous page and false if we returned from the next one.
@@ -23,7 +23,7 @@ module Wx
23
23
  class WizardPage < Panel
24
24
 
25
25
  # Default constructor.
26
- # @return [WizardPage]
26
+ # @return [Wx::WizardPage]
27
27
  def initialize; end
28
28
 
29
29
  # Creates the wizard page.
@@ -19,7 +19,7 @@ module Wx
19
19
 
20
20
  # @overload initialize()
21
21
  # Default constructor.
22
- # @return [WizardPageSimple]
22
+ # @return [Wx::WizardPageSimple]
23
23
  # @overload initialize(parent, prev=nil, next_=nil, bitmap=(Wx::BitmapBundle.new()))
24
24
  # Constructor takes the previous and next pages.
25
25
  # They may be modified later by {Wx::WizardPageSimple#set_prev} or {Wx::WizardPageSimple#set_next}.
@@ -27,7 +27,7 @@ module Wx
27
27
  # @param prev [Wx::WizardPage]
28
28
  # @param next_ [Wx::WizardPage]
29
29
  # @param bitmap [Wx::BitmapBundle,Wx::Bitmap,Wx::Icon,Wx::Image]
30
- # @return [WizardPageSimple]
30
+ # @return [Wx::WizardPageSimple]
31
31
  def initialize(*args) end
32
32
 
33
33
  # Creates the wizard page.
@@ -42,11 +42,11 @@ module Wx
42
42
  # A helper chaining this page with the next one.
43
43
  # Notice that this method returns a reference to the next page, so the calls to it can, in turn, be chained:
44
44
  #
45
- # ```
46
- # wxWizardPageSimple* firstPage = new FirstPage;
47
- # (*firstPage).Chain(new SecondPage)
48
- # .Chain(new ThirdPage)
49
- # .Chain(new LastPage);
45
+ # ```ruby
46
+ # firstPage = FirstPage.new # derived from Wx::WizardPageSimple
47
+ # firstPage.chain(SecondPage.new)
48
+ # .chain(ThirdPage.new)
49
+ # .chain(LastPage.new)
50
50
  # ```
51
51
  #
52
52
  # This makes this method the simplest way to define the order of changes in fully static wizards, i.e. in those where the order doesn't depend on the choices made by the user in the wizard pages during run-time.
@@ -114,12 +114,12 @@ module Wx
114
114
  # @param name [String] The name of the node. This is the string which appears between angular brackets.
115
115
  # @param content [String] The content of the node. Only meaningful when type is {Wx::XmlNodeType::XML_TEXT_NODE} or {Wx::XmlNodeType::XML_CDATA_SECTION_NODE}.
116
116
  # @param lineNo [Integer] Number of line this node was present at in input file or -1.
117
- # @return [XmlNode]
117
+ # @return [Wx::XmlNode]
118
118
  # @overload initialize(node)
119
119
  # Copy constructor.
120
120
  # Note that this does NOT copy siblings and parent pointer, i.e. {Wx::XmlNode#get_parent} and {Wx::XmlNode#get_next} will return NULL after using copy ctor and are never unmodified by {Wx::operator=()}. On the other hand, it DOES copy children and attributes.
121
121
  # @param node [Wx::XmlNode]
122
- # @return [XmlNode]
122
+ # @return [Wx::XmlNode]
123
123
  def initialize(*args) end
124
124
 
125
125
  # Appends an attribute with given name and value to the list of attributes for this node.
@@ -193,7 +193,7 @@ module Wx
193
193
  alias_method :next_, :get_next
194
194
 
195
195
  # Returns the content of the first child node of type {Wx::XmlNodeType::XML_TEXT_NODE} or {Wx::XmlNodeType::XML_CDATA_SECTION_NODE}.
196
- # This function is very useful since the XML snippet <code>"tagnametagcontent/tagname"</code> is represented by expat with the following tag tree:
196
+ # This function is very useful since the XML snippet <code>"<tagname>tagcontent</tagname>"</code> is represented by expat with the following tag tree:
197
197
  #
198
198
  # ```
199
199
  # wxXML_ELEMENT_NODE name="tagname", content=""
@@ -48,12 +48,12 @@ module Wx
48
48
  # @param filemask [String] The XRC file, archive file, or wildcard specification that will be used to load all resource files inside a zip archive.
49
49
  # @param flags [Integer] One or more value of the {Wx::XmlResourceFlags} enumeration.
50
50
  # @param domain [String] The name of the gettext catalog to search for translatable strings. By default all loaded catalogs will be searched. This provides a way to allow the strings to only come from a specific catalog.
51
- # @return [XmlResource]
51
+ # @return [Wx::XmlResource]
52
52
  # @overload initialize(flags=Wx::XmlResourceFlags::XRC_USE_LOCALE, domain=(''))
53
53
  # Constructor.
54
54
  # @param flags [Integer] One or more value of the {Wx::XmlResourceFlags} enumeration.
55
55
  # @param domain [String] The name of the gettext catalog to search for translatable strings. By default all loaded catalogs will be searched. This provides a way to allow the strings to only come from a specific catalog.
56
- # @return [XmlResource]
56
+ # @return [Wx::XmlResource]
57
57
  def initialize(*args) end
58
58
 
59
59
  # Attaches an unknown control to the given panel/window/dialog.
@@ -104,9 +104,10 @@ module Wx
104
104
 
105
105
  # Loads resources from XML files that match given filemask.
106
106
  # Example:
107
- # ```
108
- # if (!wxXmlResource::Get()->Load("rc/*.xrc"))
109
- # wxLogError("Couldn't load resources!");
107
+ # ```ruby
108
+ # if !Wx::XmlResource.get.load('rc/*.xrc')
109
+ # Wx.log_error("Couldn't load resources!")
110
+ # end
110
111
  # ```
111
112
  #
112
113
  # If {Wx::USE_FILESYS} is enabled, this method understands {Wx::FileSystem} URLs (see Wx::FileSystem#find_first).
@@ -151,10 +152,12 @@ module Wx
151
152
  # parent points to parent window (if any).
152
153
  # This form is used to finish creation of an already existing instance (the main reason for this is that you may want to use derived class with a new event table). Example:
153
154
  #
154
- # ```
155
- # MyDialog dlg;
156
- # wxXmlResource::Get()->LoadDialog(&dlg, mainFrame, "my_dialog");
157
- # dlg.ShowModal();
155
+ # ```ruby
156
+ # dlg = MyDialog.new
157
+ # Wx::XmlResource.get.load_dialog_subclass(dlg, main_frame, 'my_dialog')
158
+ # dlg.show_modal
159
+ #
160
+ # dlg.destroy
158
161
  # ```
159
162
  # @param dlg [Wx::Dialog]
160
163
  # @param parent [Wx::Window]
data/lib/wx/doc/image.rb CHANGED
@@ -11,23 +11,53 @@ module Wx
11
11
  # @return [Array<String>]
12
12
  def self.extensions; end
13
13
 
14
+ # Returns an array with the supported mime types of the available image handlers.
15
+ # @return [Array<String>]
16
+ def self.mime_types; end
17
+
14
18
  # returns a Hash with all supported extensions per available BitmapType
15
19
  # @return [Hash]
16
20
  def self.handler_extensions; end
17
21
 
18
- # Searches for an art file with basename 'name' and creates an Image if found.
19
- # Raises an ArgumentError if not found.
20
- # Wx::ArtLocator::find_art is used to look up the art file using ::Kernel#caller_locations to
21
- # determine the values for the 'art_path' and 'art_owner' arguments ('art_path' is set to the
22
- # absolute path to the folder holding the caller's code and 'art_owner' to the basename of the
23
- # caller's source file). The 'art_type' argument is set to <code>:icon</code>.
24
- # @param [String,Symbol] name base name of art file
25
- # @param [Wx::BitmapType,nil] bmp_type bitmap type for art file (nil means any supported type)
26
- # @param [Integer] index Index of the image to load in the case that the image file contains multiple images. This is only used by GIF, ICO and TIFF handlers. The default value (-1) means "choose the default image" and is interpreted as the first image (index=0) by the GIF and TIFF handler and as the largest and most colourful one by the ICO handler.
27
- # @return [Wx::Image]
28
- # @see Wx::ArtLocator::find_art
29
- def self.Image(name, bmp_type = nil, index=-1); end
22
+ module Histogram
23
+
24
+ # Calculate an image histogram key from given RGB values.
25
+ # @param [Integer] r Red value
26
+ # @param [Integer] g Green value
27
+ # @param [Integer] b Blue value
28
+ # @return [Integer] key value
29
+ def make_key(r,g,b) end
30
+
31
+ # Find first colour that is not used in the image and has higher RGB values than RGB(r, g, b)
32
+ # @param [Integer] r Red value
33
+ # @param [Integer] g Green value
34
+ # @param [Integer] b Blue value
35
+ # @return [Array(Integer,Integer,Integer),nil] RGB values of first unused colour or nil if none found
36
+ def find_first_unused_colour(r=1, g=0, b=0) end
37
+
38
+ end
39
+
40
+ # Computes the histogram of the image and fills a hash table, indexed
41
+ # with integer keys built as 0xRRGGBB, containing pairs (Array) of integer values.
42
+ # For each pair the first value is the index of the first pixel in the colour in the image
43
+ # and the second value the number of pixels having the colour in the image.
44
+ # The returned Hash object is extended with the {Wx::Image::Histogram} mixin.
45
+ # @return [Hash] hash object extended with {Wx::Image::Histogram}
46
+ def compute_histogram; end
30
47
 
31
48
  end
32
49
 
50
+ # Searches for an art file with basename 'name' and creates an Image if found.
51
+ # Raises an ArgumentError if not found.
52
+ # Wx::ArtLocator::find_art is used to look up the art file using ::Kernel#caller_locations to
53
+ # determine the values for the 'art_path' and 'art_owner' arguments ('art_path' is set to the
54
+ # absolute path to the folder holding the caller's code and 'art_owner' to the basename of the
55
+ # caller's source file). The 'art_type' argument is set to <code>:icon</code>.
56
+ # @param [String,Symbol] name base name of art file
57
+ # @param [Wx::BitmapType,nil] bmp_type bitmap type for art file (nil means any supported type)
58
+ # @param [Integer] index Index of the image to load in the case that the image file contains multiple images. This is only used by GIF, ICO and TIFF handlers. The default value (-1) means "choose the default image" and is interpreted as the first image (index=0) by the GIF and TIFF handler and as the largest and most colourful one by the ICO handler.
59
+ # @return [Wx::Image]
60
+ # @see Wx::ArtLocator::find_art
61
+ def self.Image(name, bmp_type = nil, index=-1); end
62
+
33
63
  end
@@ -0,0 +1,32 @@
1
+
2
+ class Wx::ListCtrl
3
+
4
+ include Enumerable
5
+
6
+ # Iterates all items in the list control passing each item (id) to the given block.
7
+ # @yieldparam [Integer] item
8
+ # @return [Object] result of last block iteration
9
+ def each(&block) end
10
+
11
+ # Iterates all selected items in the list control (like #get_next_item(item, Wx::LIST_NEXT_ALL, Wx::LIST_STATE_SELECTED))
12
+ # passing each item (id) to the given block.
13
+ # @yieldparam [Integer] item
14
+ # @return [Object] result of last block iteration
15
+ def each_selected(&block) end
16
+
17
+ # Returns array of selected items.
18
+ # @return [Array<Integer>] selected items
19
+ def get_selections; end
20
+
21
+ # Call this function to sort the items in the list control.
22
+ # The sorting method will call the given block repeatedly to compare two items from the list
23
+ # passing the <b>item data</b> for each item as well as the `data` argument given to the #sort_items method.
24
+ # The block should return 0 if the items are equal, negative value if the first item is less than the second
25
+ # one and positive value if the first one is greater than the second one.
26
+ # @param [Object] data user data to pass on to the sorting block
27
+ # @yieldparam [Object] item_data1 data for first item
28
+ # @yieldparam [Object] item_data2 data for second item
29
+ # @yieldparam [Object] data propagated data argument
30
+ def sort_items(data = nil, &block) end
31
+
32
+ end
data/lib/wx/doc/log.rb ADDED
@@ -0,0 +1,28 @@
1
+
2
+ module Wx
3
+
4
+ class Log
5
+
6
+ # Sets the current component for log info to the given value before executing the
7
+ # given block and restores the previous component value after the block returns.
8
+ # @param [String] comp component value for log info
9
+ def self.for_component(comp, &block) end
10
+
11
+ end
12
+
13
+ class LogStderr
14
+
15
+ # Creates a new LogStderr for the given file handle.
16
+ # Possible values are 2 for `stderr` and 1 for `stdout`.
17
+ # @param [Integer] fh file stream handle
18
+ def initialize(fh = 2) end
19
+ end
20
+
21
+ class LogNull
22
+
23
+ # Suspends logging before executing the given block and restarts logging when the block returns.
24
+ def self.no_log(&block) end
25
+
26
+ end
27
+
28
+ end
@@ -8,7 +8,7 @@ module Wx::PRT
8
8
  # @param [Wx::PRT::PrintData] print_data print_data defining the print settings
9
9
  # @yieldparam [Wx::PrinterDC] dc the PrinterDC instance to paint on
10
10
  # @return [Object] result of the block
11
- def self.draw_on(win) end
11
+ def self.draw_on(print_data) end
12
12
 
13
13
  end
14
14
 
@@ -19,7 +19,7 @@ module Wx::PRT
19
19
  # @param [Wx::PRT::PrintData] print_data print_data defining the print settings
20
20
  # @yieldparam [Wx::PostScriptDC] dc the PostScriptDC instance to paint on
21
21
  # @return [Object] result of the block
22
- def self.draw_on(win) end
22
+ def self.draw_on(print_data) end
23
23
 
24
24
  end
25
25
 
@@ -1,5 +1,5 @@
1
1
 
2
- class Wx
2
+ module Wx
3
3
 
4
4
  class ScaledDC < Wx::DC
5
5
 
@@ -0,0 +1,12 @@
1
+
2
+ class Wx::TextValidator
3
+
4
+ # @overload initialize(validator)
5
+ # Copy constructor.
6
+ # @param [Wx::TextValidator] validator validator to copy
7
+ # @overload initialize(style=Wx::FILTER_NONE)
8
+ # Constructor taking a style.
9
+ # @param [Integer] style One or more of the {Wx::TextValidatorStyle} styles. See #set_style.
10
+ def initialize(*args) end
11
+
12
+ end
data/lib/wx/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Wx
2
- WXRUBY_VERSION = '0.9.0-rc.2'
2
+ WXRUBY_VERSION = '0.9.0-rc.3'
3
3
  end
data/lib/wxruby_aui.so CHANGED
Binary file
data/lib/wxruby_core.so CHANGED
Binary file
data/lib/wxruby_grid.so CHANGED
Binary file
data/lib/wxruby_html.so CHANGED
Binary file
data/lib/wxruby_pg.so CHANGED
Binary file
data/lib/wxruby_prt.so CHANGED
Binary file
data/lib/wxruby_rbn.so CHANGED
Binary file
data/lib/wxruby_rtc.so CHANGED
Binary file
data/lib/wxruby_stc.so CHANGED
Binary file
data/tests/test_art.rb CHANGED
@@ -76,6 +76,15 @@ class TestArt < Test::Unit::TestCase
76
76
  end
77
77
  end
78
78
 
79
+ def test_image_histogram
80
+ img = Wx.Image(:wxruby, Wx::BitmapType::BITMAP_TYPE_JPEG)
81
+ img_hist = img.compute_histogram
82
+ assert(img_hist.is_a?(::Hash))
83
+ assert(img_hist.is_a?(Wx::Image::Histogram))
84
+ assert(img_hist.size > 0)
85
+ assert(img_hist.values.all? { |index, value| index>=0 && value>=1 })
86
+ end
87
+
79
88
  def test_art
80
89
  art = nil
81
90
  assert_nothing_raised do
@@ -0,0 +1,161 @@
1
+
2
+ require_relative './lib/wxframe_runner'
3
+
4
+ class BoxSizerTests < WxRuby::Test::GUITests
5
+
6
+ def setup
7
+ super
8
+ @win = Wx::Window.new(test_frame, Wx::ID_ANY)
9
+ @sizer = Wx::HBoxSizer.new
10
+ @win.set_client_size(127, 35)
11
+ @win.sizer = @sizer
12
+ end
13
+
14
+ def cleanup
15
+ test_frame.destroy_children
16
+ @win = nil
17
+ @sizer = nil
18
+ super
19
+ end
20
+
21
+ attr_reader :win, :sizer
22
+
23
+ def test_size
24
+ sizeTotal = win.get_client_size
25
+ sizeChild = sizeTotal / 2
26
+
27
+ child = Wx::Window.new(win, Wx::ID_ANY, Wx::DEFAULT_POSITION, sizeChild)
28
+ sizer.add(child)
29
+ win.layout
30
+ assert(child.size == sizeChild)
31
+
32
+ sizer.clear
33
+ sizer.add(child, Wx::SizerFlags.new(1))
34
+ win.layout
35
+ assert(child.size == [sizeTotal.x, sizeChild.y])
36
+
37
+ sizer.clear
38
+ sizer.add(child, Wx::SizerFlags.new(1).expand)
39
+ win.layout
40
+ assert(child.size == sizeTotal)
41
+
42
+ sizer.clear
43
+ sizer.add(child, Wx::SizerFlags.new)
44
+ sizer.set_item_min_size(child, sizeTotal*2)
45
+ win.layout
46
+ assert(child.size == sizeTotal)
47
+
48
+ sizer.clear
49
+ sizer.add(child, Wx::SizerFlags.new.expand)
50
+ sizer.set_item_min_size(child, sizeTotal*2)
51
+ win.layout
52
+ assert(child.size == sizeTotal)
53
+ end
54
+
55
+ class << self
56
+
57
+ def _ltd(*args)
58
+ @ltd_klass ||= Struct.new(:prop, :minsize, :x, :sizes, :dont_permute) do
59
+ def add_to_sizer(sizer, win, n)
60
+ sizer.add(win, Wx::SizerFlags.new(prop[n]))
61
+ sizer.set_item_min_size(win, Wx::Size.new(minsize[n], -1))
62
+ end
63
+ end
64
+ @ltd_klass.new(*args)
65
+ end
66
+
67
+ end
68
+
69
+ LayoutTestData = [
70
+ # some really simple cases (no need to permute those, they're
71
+ # symmetrical anyhow)
72
+ _ltd( [ 1, 1, 1, ], [ 50, 50, 50, ], 150, [ 50, 50, 50, ], true ),
73
+ _ltd( [ 2, 2, 2, ], [ 50, 50, 50, ], 600, [ 200, 200, 200, ], true ),
74
+
75
+ # items with different proportions and min sizes when there is enough
76
+ # space to lay them out
77
+ _ltd( [ 1, 2, 3, ], [ 0, 0, 0, ], 600, [ 100, 200, 300, ] ),
78
+ _ltd( [ 1, 2, 3, ], [ 100, 100, 100, ], 600, [ 100, 200, 300, ] ),
79
+ _ltd( [ 1, 2, 3, ], [ 100, 50, 50, ], 600, [ 100, 200, 300, ] ),
80
+ _ltd( [ 0, 1, 1, ], [ 200, 100, 100, ], 600, [ 200, 200, 200, ] ),
81
+ _ltd( [ 0, 1, 2, ], [ 300, 100, 100, ], 600, [ 300, 100, 200, ] ),
82
+ _ltd( [ 0, 1, 1, ], [ 100, 50, 50, ], 300, [ 100, 100, 100, ] ),
83
+ _ltd( [ 0, 1, 2, ], [ 100, 50, 50, ], 400, [ 100, 100, 200, ] ),
84
+
85
+ # cases when there is not enough space to lay out the items correctly
86
+ # while still respecting their min sizes
87
+ _ltd( [ 0, 1, 1, ], [ 100, 150, 50, ], 300, [ 100, 150, 50, ] ),
88
+ _ltd( [ 1, 2, 3, ], [ 100, 100, 100, ], 300, [ 100, 100, 100, ] ),
89
+ _ltd( [ 1, 2, 3, ], [ 100, 50, 50, ], 300, [ 100, 80, 120, ] ),
90
+ _ltd( [ 1, 2, 3, ], [ 100, 10, 10, ], 150, [ 100, 20, 30, ] ),
91
+
92
+ # cases when there is not enough space even for the min sizes (don't
93
+ # permute in these cases as the layout does depend on the item order
94
+ # because the first ones have priority)
95
+ _ltd( [ 1, 2, 3, ], [ 100, 50, 50, ], 150, [ 100, 50, 0, ], true ),
96
+ _ltd( [ 1, 2, 3, ], [ 100, 100, 100, ], 200, [ 100, 100, 0, ], true ),
97
+ _ltd( [ 1, 2, 3, ], [ 100, 100, 100, ], 150, [ 100, 50, 0, ], true ),
98
+ _ltd( [ 1, 2, 3, ], [ 100, 100, 100, ], 50, [ 50, 0, 0, ], true ),
99
+ _ltd( [ 1, 2, 3, ], [ 100, 100, 100, ], 0, [ 0, 0, 0, ], true ),
100
+ ]
101
+
102
+ def test_size_3
103
+ child = [Wx::Window.new(win, Wx::ID_ANY),
104
+ Wx::Window.new(win, Wx::ID_ANY),
105
+ Wx::Window.new(win, Wx::ID_ANY)]
106
+
107
+ LayoutTestData.each_with_index do |ltd, i|
108
+ # the results shouldn't depend on the order of items except in the
109
+ # case when there is not enough space for even the fixed width items
110
+ # (in which case the first ones might get enough of it but not the
111
+ # last ones) so test a couple of permutations of test data unless
112
+ # specifically disabled for this test case
113
+ 3.times do |p|
114
+ case p
115
+ when 0
116
+ # nothing, use original data
117
+ when 1
118
+ # exchange first and last elements
119
+ ltd.prop[0], ltd.prop[2] = ltd.prop[2], ltd.prop[0]
120
+ ltd.minsize[0], ltd.minsize[2] = ltd.minsize[2], ltd.minsize[0]
121
+ ltd.sizes[0], ltd.sizes[2] = ltd.sizes[2], ltd.sizes[0]
122
+ when 2
123
+ # exchange the original third and second elements
124
+ ltd.prop[0], ltd.prop[1] = ltd.prop[1], ltd.prop[0]
125
+ ltd.minsize[0], ltd.minsize[1] = ltd.minsize[1], ltd.minsize[0]
126
+ ltd.sizes[0], ltd.sizes[1] = ltd.sizes[1], ltd.sizes[0]
127
+ end
128
+
129
+ sizer.clear
130
+
131
+ child.each_with_index { |c, j| ltd.add_to_sizer(sizer, c, j) }
132
+
133
+ win.set_client_size(ltd.x, -1)
134
+ win.layout
135
+
136
+ child.each_with_index do |c, j|
137
+ assert_equal(ltd.sizes[j], c.size.x,
138
+ "test #{i}, permutation #{p}: wrong size for child #{j} for total size #{ltd.x}")
139
+ end
140
+
141
+ # don't try other permutations if explicitly disabled
142
+ break if ltd.dont_permute
143
+ end
144
+ end
145
+ end
146
+
147
+ def test_min_size
148
+ child = Wx::Window.new(win, Wx::ID_ANY)
149
+ child.set_initial_size([10, -1])
150
+ sizer.add(child)
151
+
152
+ # Setting minimal size explicitly must make get_min_size() return at least
153
+ # this size even if it needs a much smaller one.
154
+ sizer.set_min_size(100, 0)
155
+ assert(sizer.get_min_size.x == 100)
156
+
157
+ sizer.layout
158
+ assert(sizer.min_size.x == 100)
159
+ end
160
+
161
+ end