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

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 (703) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +30 -8
  3. data/README.md +3 -3
  4. data/ext/mkrf_conf_bingem.rb +4 -1
  5. data/ext/wxbase32u_gcc_custom.dll +0 -0
  6. data/ext/wxbase32u_net_gcc_custom.dll +0 -0
  7. data/ext/wxbase32u_xml_gcc_custom.dll +0 -0
  8. data/ext/wxmsw32u_aui_gcc_custom.dll +0 -0
  9. data/ext/wxmsw32u_core_gcc_custom.dll +0 -0
  10. data/ext/wxmsw32u_gl_gcc_custom.dll +0 -0
  11. data/ext/wxmsw32u_html_gcc_custom.dll +0 -0
  12. data/ext/wxmsw32u_media_gcc_custom.dll +0 -0
  13. data/ext/wxmsw32u_propgrid_gcc_custom.dll +0 -0
  14. data/ext/wxmsw32u_qa_gcc_custom.dll +0 -0
  15. data/ext/wxmsw32u_ribbon_gcc_custom.dll +0 -0
  16. data/ext/wxmsw32u_richtext_gcc_custom.dll +0 -0
  17. data/ext/wxmsw32u_stc_gcc_custom.dll +0 -0
  18. data/ext/wxmsw32u_webview_gcc_custom.dll +0 -0
  19. data/ext/wxmsw32u_xrc_gcc_custom.dll +0 -0
  20. data/lib/wx/accessors.rb +10 -2
  21. data/lib/wx/aui/auifloatframe.rb +20 -0
  22. data/lib/wx/aui/auimanager.rb +3 -0
  23. data/lib/wx/aui/auinotebook.rb +17 -0
  24. data/lib/wx/aui/events/evt_list.rb +7 -7
  25. data/lib/wx/aui/require.rb +5 -1
  26. data/lib/wx/aui.rb +4 -1
  27. data/lib/wx/core/acceleratortable.rb +8 -0
  28. data/lib/wx/core/animation.rb +8 -0
  29. data/lib/wx/core/app.rb +8 -0
  30. data/lib/wx/core/array_ext.rb +7 -0
  31. data/lib/wx/core/art_locator.rb +7 -0
  32. data/lib/wx/core/artprovider.rb +9 -0
  33. data/lib/wx/core/bitmap.rb +16 -4
  34. data/lib/wx/core/bitmap_combobox.rb +7 -0
  35. data/lib/wx/core/brush.rb +7 -0
  36. data/lib/wx/core/busycursor.rb +9 -0
  37. data/lib/wx/core/choice.rb +7 -0
  38. data/lib/wx/core/choicedlg.rb +7 -0
  39. data/lib/wx/core/clientdc.rb +9 -0
  40. data/lib/wx/core/clipboard.rb +8 -0
  41. data/lib/wx/core/collapsible_pane.rb +8 -1
  42. data/lib/wx/core/colour.rb +8 -0
  43. data/lib/wx/core/combo_ctrl.rb +110 -0
  44. data/lib/wx/core/combobox.rb +7 -0
  45. data/lib/wx/core/config.rb +303 -0
  46. data/lib/wx/core/controlwithitems.rb +12 -1
  47. data/lib/wx/core/cursor.rb +14 -4
  48. data/lib/wx/core/data_object.rb +7 -0
  49. data/lib/wx/core/dataformat.rb +9 -0
  50. data/lib/wx/core/datetime.rb +14 -0
  51. data/lib/wx/core/dc.rb +7 -0
  52. data/lib/wx/core/dialog.rb +18 -1
  53. data/lib/wx/core/enum.rb +7 -0
  54. data/lib/wx/core/event.rb +7 -0
  55. data/lib/wx/core/event_blocker.rb +7 -0
  56. data/lib/wx/core/event_loop.rb +14 -0
  57. data/lib/wx/core/events/evt_list.rb +76 -0
  58. data/lib/wx/core/evthandler.rb +8 -0
  59. data/lib/wx/core/ext.rb +7 -0
  60. data/lib/wx/core/file_dialog.rb +23 -0
  61. data/lib/wx/core/find_replace_dialog.rb +7 -0
  62. data/lib/wx/core/functions.rb +8 -0
  63. data/lib/wx/core/gauge.rb +10 -1
  64. data/lib/wx/core/genericdirctrl.rb +9 -0
  65. data/lib/wx/core/hboxsizer.rb +16 -0
  66. data/lib/wx/core/helpcontroller.rb +8 -0
  67. data/lib/wx/core/helpcontrollerhelpprovider.rb +9 -0
  68. data/lib/wx/core/helpprovider.rb +10 -1
  69. data/lib/wx/core/icon.rb +17 -6
  70. data/lib/wx/core/id_helper.rb +7 -0
  71. data/lib/wx/core/image.rb +49 -4
  72. data/lib/wx/core/imagelist.rb +8 -1
  73. data/lib/wx/core/listbox.rb +7 -0
  74. data/lib/wx/core/listctrl.rb +26 -13
  75. data/lib/wx/core/locale.rb +8 -0
  76. data/lib/wx/core/log.rb +114 -0
  77. data/lib/wx/core/menu.rb +9 -0
  78. data/lib/wx/core/menu_bar.rb +7 -0
  79. data/lib/wx/core/menuitem.rb +9 -0
  80. data/lib/wx/core/notebook.rb +9 -0
  81. data/lib/wx/core/object.rb +9 -0
  82. data/lib/wx/core/paintdc.rb +7 -0
  83. data/lib/wx/core/pen.rb +7 -0
  84. data/lib/wx/core/pen_info.rb +7 -0
  85. data/lib/wx/core/platform_info.rb +7 -0
  86. data/lib/wx/core/point.rb +8 -0
  87. data/lib/wx/core/real_point.rb +8 -0
  88. data/lib/wx/core/rect.rb +9 -0
  89. data/lib/wx/core/region_iterator.rb +7 -0
  90. data/lib/wx/core/simplehelpprovider.rb +9 -0
  91. data/lib/wx/core/size.rb +8 -0
  92. data/lib/wx/core/sizer.rb +9 -0
  93. data/lib/wx/core/splash_screen.rb +22 -2
  94. data/lib/wx/core/text_entry.rb +7 -0
  95. data/lib/wx/core/textctrl.rb +86 -5
  96. data/lib/wx/core/timer.rb +9 -0
  97. data/lib/wx/core/toolbar.rb +9 -0
  98. data/lib/wx/core/toolbartool.rb +8 -0
  99. data/lib/wx/core/treectrl.rb +9 -0
  100. data/lib/wx/core/v_list_box.rb +7 -0
  101. data/lib/wx/core/validator.rb +7 -0
  102. data/lib/wx/core/variant.rb +7 -0
  103. data/lib/wx/core/vboxsizer.rb +16 -0
  104. data/lib/wx/core/window.rb +8 -0
  105. data/lib/wx/core/window_update_locker.rb +9 -0
  106. data/lib/wx/core/xmlresource.rb +8 -0
  107. data/lib/wx/core.rb +4 -1
  108. data/lib/wx/doc/app.rb +7 -1
  109. data/lib/wx/doc/array_ext.rb +6 -0
  110. data/lib/wx/doc/art_locator.rb +7 -0
  111. data/lib/wx/doc/aui/auimanager.rb +6 -0
  112. data/lib/wx/doc/aui/auinotebook.rb +6 -0
  113. data/lib/wx/doc/bitmap.rb +19 -15
  114. data/lib/wx/doc/brush.rb +6 -0
  115. data/lib/wx/doc/busy_info.rb +6 -0
  116. data/lib/wx/doc/client_dc.rb +6 -0
  117. data/lib/wx/doc/clipboard.rb +6 -0
  118. data/lib/wx/doc/colour_dialog.rb +6 -0
  119. data/lib/wx/doc/config.rb +190 -0
  120. data/lib/wx/doc/const.rb +7 -0
  121. data/lib/wx/doc/controlwithitems.rb +6 -0
  122. data/lib/wx/doc/core.rb +6 -0
  123. data/lib/wx/doc/cursor.rb +13 -5
  124. data/lib/wx/doc/data_object.rb +6 -0
  125. data/lib/wx/doc/datetime.rb +16 -0
  126. data/lib/wx/doc/dc.rb +6 -0
  127. data/lib/wx/doc/enum.rb +8 -1
  128. data/lib/wx/doc/event.rb +12 -0
  129. data/lib/wx/doc/event_blocker.rb +6 -0
  130. data/lib/wx/doc/event_loop.rb +13 -0
  131. data/lib/wx/doc/events.rb +6 -0
  132. data/lib/wx/doc/evthandler.rb +8 -0
  133. data/lib/wx/doc/extra/00_starting.md +6 -6
  134. data/lib/wx/doc/extra/01_packages.md +52 -51
  135. data/lib/wx/doc/extra/02_lifecycles.md +9 -8
  136. data/lib/wx/doc/extra/05_event-handling.md +37 -12
  137. data/lib/wx/doc/extra/06_geometry.md +5 -5
  138. data/lib/wx/doc/extra/07_colour_and_font.md +2 -2
  139. data/lib/wx/doc/extra/09_exceptions.md +2 -2
  140. data/lib/wx/doc/extra/10_art.md +18 -12
  141. data/lib/wx/doc/extra/11_drawing_and_dc.md +8 -8
  142. data/lib/wx/doc/font.rb +7 -1
  143. data/lib/wx/doc/font_data.rb +16 -0
  144. data/lib/wx/doc/functions.rb +60 -24
  145. data/lib/wx/doc/gc_dc.rb +7 -1
  146. data/lib/wx/doc/gdi_common.rb +8 -1
  147. data/lib/wx/doc/gen/about_dialog_info.rb +10 -10
  148. data/lib/wx/doc/gen/accelerator.rb +8 -13
  149. data/lib/wx/doc/gen/accessible.rb +27 -23
  150. data/lib/wx/doc/gen/activity_indicator.rb +7 -7
  151. data/lib/wx/doc/gen/animation.rb +20 -20
  152. data/lib/wx/doc/gen/animation_ctrl.rb +14 -13
  153. data/lib/wx/doc/gen/any_button.rb +3 -3
  154. data/lib/wx/doc/gen/app.rb +25 -88
  155. data/lib/wx/doc/gen/app_traits.rb +381 -0
  156. data/lib/wx/doc/gen/art_provider.rb +64 -4
  157. data/lib/wx/doc/gen/aui/aui_dock_art.rb +12 -12
  158. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +6 -6
  159. data/lib/wx/doc/gen/aui/aui_manager.rb +57 -41
  160. data/lib/wx/doc/gen/aui/aui_manager_event.rb +16 -10
  161. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +19 -20
  162. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +7 -7
  163. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +12 -12
  164. data/lib/wx/doc/gen/aui/aui_notebook.rb +136 -26
  165. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +17 -2
  166. data/lib/wx/doc/gen/aui/aui_pane_info.rb +95 -95
  167. data/lib/wx/doc/gen/aui/aui_tab_art.rb +17 -17
  168. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +61 -46
  169. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +18 -18
  170. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +6 -6
  171. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +11 -11
  172. data/lib/wx/doc/gen/aui/event_list.rb +7 -0
  173. data/lib/wx/doc/gen/banner_window.rb +98 -0
  174. data/lib/wx/doc/gen/bitmap.rb +56 -81
  175. data/lib/wx/doc/gen/bitmap_button.rb +13 -9
  176. data/lib/wx/doc/gen/bitmap_combo_box.rb +14 -9
  177. data/lib/wx/doc/gen/book_ctrl_base.rb +20 -16
  178. data/lib/wx/doc/gen/book_ctrl_event.rb +2 -2
  179. data/lib/wx/doc/gen/box_sizer.rb +1 -1
  180. data/lib/wx/doc/gen/brush.rb +24 -12
  181. data/lib/wx/doc/gen/busy_info.rb +1 -1
  182. data/lib/wx/doc/gen/button.rb +23 -11
  183. data/lib/wx/doc/gen/calculate_layout_event.rb +2 -1
  184. data/lib/wx/doc/gen/calendar_ctrl.rb +34 -22
  185. data/lib/wx/doc/gen/calendar_date_attr.rb +13 -13
  186. data/lib/wx/doc/gen/calendar_event.rb +4 -10
  187. data/lib/wx/doc/gen/caret.rb +6 -6
  188. data/lib/wx/doc/gen/check_box.rb +19 -15
  189. data/lib/wx/doc/gen/check_list_box.rb +10 -9
  190. data/lib/wx/doc/gen/choice.rb +10 -9
  191. data/lib/wx/doc/gen/choicebook.rb +13 -7
  192. data/lib/wx/doc/gen/client_dc.rb +1 -1
  193. data/lib/wx/doc/gen/clipboard.rb +10 -10
  194. data/lib/wx/doc/gen/collapsible_pane.rb +13 -10
  195. data/lib/wx/doc/gen/collapsible_pane_event.rb +5 -4
  196. data/lib/wx/doc/gen/colour.rb +42 -32
  197. data/lib/wx/doc/gen/colour_dialog.rb +12 -12
  198. data/lib/wx/doc/gen/colour_picker_ctrl.rb +16 -10
  199. data/lib/wx/doc/gen/colour_picker_event.rb +7 -4
  200. data/lib/wx/doc/gen/combo_box.rb +29 -20
  201. data/lib/wx/doc/gen/combo_ctrl.rb +960 -0
  202. data/lib/wx/doc/gen/command_link_button.rb +110 -0
  203. data/lib/wx/doc/gen/config_base.rb +10 -0
  204. data/lib/wx/doc/gen/context_help_button.rb +7 -6
  205. data/lib/wx/doc/gen/control.rb +12 -9
  206. data/lib/wx/doc/gen/control_with_items.rb +5 -5
  207. data/lib/wx/doc/gen/core.rb +8 -5
  208. data/lib/wx/doc/gen/cursor.rb +18 -18
  209. data/lib/wx/doc/gen/data_format.rb +5 -5
  210. data/lib/wx/doc/gen/data_object.rb +32 -25
  211. data/lib/wx/doc/gen/date_event.rb +3 -3
  212. data/lib/wx/doc/gen/date_picker_ctrl.rb +16 -11
  213. data/lib/wx/doc/gen/dc.rb +162 -74
  214. data/lib/wx/doc/gen/defs.rb +16 -16
  215. data/lib/wx/doc/gen/dialog.rb +65 -22
  216. data/lib/wx/doc/gen/dir_dialog.rb +6 -2
  217. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +3 -3
  218. data/lib/wx/doc/gen/dir_picker_ctrl.rb +17 -12
  219. data/lib/wx/doc/gen/drag_drop.rb +26 -52
  220. data/lib/wx/doc/gen/drag_image.rb +13 -38
  221. data/lib/wx/doc/gen/editable_list_box.rb +9 -5
  222. data/lib/wx/doc/gen/event.rb +55 -32
  223. data/lib/wx/doc/gen/event_blocker.rb +1 -1
  224. data/lib/wx/doc/gen/event_filter.rb +5 -2
  225. data/lib/wx/doc/gen/event_list.rb +117 -19
  226. data/lib/wx/doc/gen/events.rb +351 -215
  227. data/lib/wx/doc/gen/evt_handler.rb +8 -8
  228. data/lib/wx/doc/gen/ext_help_controller.rb +9 -9
  229. data/lib/wx/doc/gen/file_dialog.rb +20 -9
  230. data/lib/wx/doc/gen/file_dialog_custom_control.rb +146 -0
  231. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +159 -0
  232. data/lib/wx/doc/gen/file_dir_picker_event.rb +5 -3
  233. data/lib/wx/doc/gen/file_picker_ctrl.rb +19 -11
  234. data/lib/wx/doc/gen/file_system.rb +250 -0
  235. data/lib/wx/doc/gen/find_dialog_event.rb +7 -2
  236. data/lib/wx/doc/gen/find_replace_data.rb +1 -1
  237. data/lib/wx/doc/gen/find_replace_dialog.rb +2 -2
  238. data/lib/wx/doc/gen/flex_grid_sizer.rb +16 -10
  239. data/lib/wx/doc/gen/font.rb +90 -94
  240. data/lib/wx/doc/gen/font_data.rb +15 -11
  241. data/lib/wx/doc/gen/font_dialog.rb +5 -5
  242. data/lib/wx/doc/gen/font_picker_ctrl.rb +11 -7
  243. data/lib/wx/doc/gen/font_picker_event.rb +2 -1
  244. data/lib/wx/doc/gen/frame.rb +36 -27
  245. data/lib/wx/doc/gen/fs_file.rb +65 -38
  246. data/lib/wx/doc/gen/gauge.rb +14 -10
  247. data/lib/wx/doc/gen/gb_sizer_item.rb +12 -26
  248. data/lib/wx/doc/gen/gcdc.rb +5 -1
  249. data/lib/wx/doc/gen/gdi_common.rb +43 -41
  250. data/lib/wx/doc/gen/gdi_object.rb +1 -1
  251. data/lib/wx/doc/gen/generic_dir_ctrl.rb +19 -13
  252. data/lib/wx/doc/gen/graphics_context.rb +320 -88
  253. data/lib/wx/doc/gen/graphics_object.rb +48 -102
  254. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +4 -2
  255. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +41 -56
  256. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +3 -1
  257. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +3 -1
  258. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +4 -2
  259. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +3 -1
  260. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +7 -12
  261. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +3 -1
  262. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +3 -1
  263. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +3 -1
  264. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +19 -14
  265. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +3 -1
  266. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +3 -1
  267. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +3 -1
  268. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +3 -1
  269. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +3 -1
  270. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +3 -1
  271. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +15 -13
  272. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +3 -1
  273. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +3 -1
  274. data/lib/wx/doc/gen/grid/grid_ctrl.rb +446 -189
  275. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +5 -3
  276. data/lib/wx/doc/gen/grid/grid_event.rb +26 -9
  277. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +15 -11
  278. data/lib/wx/doc/gen/grid/grid_size_event.rb +13 -7
  279. data/lib/wx/doc/gen/grid/grid_string_table.rb +8 -8
  280. data/lib/wx/doc/gen/grid/grid_table_base.rb +21 -21
  281. data/lib/wx/doc/gen/grid/grid_table_message.rb +5 -5
  282. data/lib/wx/doc/gen/grid_bag_sizer.rb +15 -15
  283. data/lib/wx/doc/gen/grid_sizer.rb +4 -4
  284. data/lib/wx/doc/gen/gui_event_loop.rb +132 -0
  285. data/lib/wx/doc/gen/header_ctrl.rb +755 -0
  286. data/lib/wx/doc/gen/header_ctrl_event.rb +131 -0
  287. data/lib/wx/doc/gen/help_controller.rb +25 -19
  288. data/lib/wx/doc/gen/help_provider.rb +3 -3
  289. data/lib/wx/doc/gen/html/html_cell.rb +100 -59
  290. data/lib/wx/doc/gen/html/html_cell_event.rb +7 -5
  291. data/lib/wx/doc/gen/html/html_easy_printing.rb +14 -9
  292. data/lib/wx/doc/gen/html/html_help_controller.rb +60 -46
  293. data/lib/wx/doc/gen/html/html_help_data.rb +5 -5
  294. data/lib/wx/doc/gen/html/html_help_window.rb +33 -35
  295. data/lib/wx/doc/gen/html/html_link_event.rb +4 -3
  296. data/lib/wx/doc/gen/html/html_list_box.rb +21 -13
  297. data/lib/wx/doc/gen/html/html_printout.rb +16 -6
  298. data/lib/wx/doc/gen/html/html_window.rb +54 -39
  299. data/lib/wx/doc/gen/hyperlink_ctrl.rb +15 -10
  300. data/lib/wx/doc/gen/hyperlink_event.rb +2 -1
  301. data/lib/wx/doc/gen/icon.rb +24 -24
  302. data/lib/wx/doc/gen/icon_location.rb +1 -1
  303. data/lib/wx/doc/gen/image.rb +164 -114
  304. data/lib/wx/doc/gen/image_list.rb +24 -30
  305. data/lib/wx/doc/gen/info_bar.rb +152 -0
  306. data/lib/wx/doc/gen/keyboard_state.rb +24 -24
  307. data/lib/wx/doc/gen/list_box.rb +40 -31
  308. data/lib/wx/doc/gen/list_ctrl.rb +223 -167
  309. data/lib/wx/doc/gen/list_event.rb +25 -3
  310. data/lib/wx/doc/gen/listbook.rb +13 -7
  311. data/lib/wx/doc/gen/locale.rb +22 -71
  312. data/lib/wx/doc/gen/log.rb +133 -106
  313. data/lib/wx/doc/gen/mdi_client_window.rb +3 -3
  314. data/lib/wx/doc/gen/mdi_frame.rb +23 -17
  315. data/lib/wx/doc/gen/media_ctrl.rb +22 -19
  316. data/lib/wx/doc/gen/media_event.rb +8 -2
  317. data/lib/wx/doc/gen/memory_dc.rb +26 -33
  318. data/lib/wx/doc/gen/menu.rb +24 -25
  319. data/lib/wx/doc/gen/menu_bar.rb +11 -28
  320. data/lib/wx/doc/gen/menu_item.rb +127 -46
  321. data/lib/wx/doc/gen/message_dialog.rb +54 -36
  322. data/lib/wx/doc/gen/mini_frame.rb +14 -5
  323. data/lib/wx/doc/gen/mouse_state.rb +51 -11
  324. data/lib/wx/doc/gen/multi_choice_dialog.rb +4 -2
  325. data/lib/wx/doc/gen/non_owned_window.rb +8 -9
  326. data/lib/wx/doc/gen/notebook.rb +27 -22
  327. data/lib/wx/doc/gen/number_entry_dialog.rb +3 -3
  328. data/lib/wx/doc/gen/object.rb +3 -14
  329. data/lib/wx/doc/gen/palette.rb +15 -17
  330. data/lib/wx/doc/gen/panel.rb +8 -7
  331. data/lib/wx/doc/gen/pen.rb +50 -37
  332. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +3 -3
  333. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +17 -17
  334. data/lib/wx/doc/gen/pg/pg_cell.rb +13 -16
  335. data/lib/wx/doc/gen/pg/pg_editor.rb +95 -93
  336. data/lib/wx/doc/gen/pg/pg_multi_button.rb +64 -89
  337. data/lib/wx/doc/gen/pg/pg_properties.rb +379 -349
  338. data/lib/wx/doc/gen/pg/pg_property.rb +260 -307
  339. data/lib/wx/doc/gen/pg/pg_validation_info.rb +3 -3
  340. data/lib/wx/doc/gen/pg/property_grid.rb +49 -49
  341. data/lib/wx/doc/gen/pg/property_grid_event.rb +24 -11
  342. data/lib/wx/doc/gen/pg/property_grid_interface.rb +75 -69
  343. data/lib/wx/doc/gen/pg/property_grid_manager.rb +51 -54
  344. data/lib/wx/doc/gen/pg/property_grid_page.rb +22 -30
  345. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +17 -26
  346. data/lib/wx/doc/gen/picker_base.rb +17 -16
  347. data/lib/wx/doc/gen/platform_info.rb +180 -20
  348. data/lib/wx/doc/gen/popup_window.rb +8 -8
  349. data/lib/wx/doc/gen/progress_dialog.rb +3 -3
  350. data/lib/wx/doc/gen/property_sheet_dialog.rb +20 -18
  351. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +2 -2
  352. data/lib/wx/doc/gen/prt/preview_frame.rb +18 -2
  353. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +1 -1
  354. data/lib/wx/doc/gen/prt/print_data.rb +68 -62
  355. data/lib/wx/doc/gen/prt/print_dialog.rb +4 -4
  356. data/lib/wx/doc/gen/prt/printer.rb +44 -49
  357. data/lib/wx/doc/gen/query_layout_info_event.rb +6 -5
  358. data/lib/wx/doc/gen/radio_box.rb +21 -19
  359. data/lib/wx/doc/gen/radio_button.rb +13 -11
  360. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +67 -67
  361. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +38 -20
  362. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +5 -5
  363. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +22 -15
  364. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +6 -6
  365. data/lib/wx/doc/gen/rbn/ribbon_control.rb +11 -11
  366. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +14 -16
  367. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +5 -5
  368. data/lib/wx/doc/gen/rbn/ribbon_page.rb +12 -12
  369. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +24 -22
  370. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +5 -5
  371. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +17 -15
  372. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +6 -6
  373. data/lib/wx/doc/gen/rearrange_ctrl.rb +60 -0
  374. data/lib/wx/doc/gen/rearrange_list.rb +99 -0
  375. data/lib/wx/doc/gen/region.rb +35 -43
  376. data/lib/wx/doc/gen/region_iterator.rb +3 -3
  377. data/lib/wx/doc/gen/rtc/rich_text_box.rb +423 -0
  378. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +626 -1538
  379. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +37 -0
  380. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +525 -0
  381. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +488 -503
  382. data/lib/wx/doc/gen/rtc/rich_text_event.rb +31 -12
  383. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +18 -18
  384. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +282 -0
  385. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +23 -19
  386. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +9 -18
  387. data/lib/wx/doc/gen/rtc/rich_text_image.rb +328 -0
  388. data/lib/wx/doc/gen/rtc/rich_text_object.rb +2849 -0
  389. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +1174 -0
  390. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +29 -29
  391. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +305 -0
  392. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +183 -0
  393. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +3 -3
  394. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +34 -37
  395. data/lib/wx/doc/gen/sash_event.rb +8 -6
  396. data/lib/wx/doc/gen/sash_layout_window.rb +13 -11
  397. data/lib/wx/doc/gen/sash_window.rb +14 -9
  398. data/lib/wx/doc/gen/scroll_bar.rb +33 -12
  399. data/lib/wx/doc/gen/scrolled_canvas.rb +49 -37
  400. data/lib/wx/doc/gen/scrolled_control.rb +49 -37
  401. data/lib/wx/doc/gen/scrolled_window.rb +49 -37
  402. data/lib/wx/doc/gen/search_ctrl.rb +20 -13
  403. data/lib/wx/doc/gen/simplebook.rb +7 -7
  404. data/lib/wx/doc/gen/single_choice_dialog.rb +5 -4
  405. data/lib/wx/doc/gen/sizer.rb +69 -73
  406. data/lib/wx/doc/gen/sizer_item.rb +5 -5
  407. data/lib/wx/doc/gen/slider.rb +51 -18
  408. data/lib/wx/doc/gen/spin_button.rb +17 -11
  409. data/lib/wx/doc/gen/spin_ctrl.rb +15 -9
  410. data/lib/wx/doc/gen/spin_ctrl_double.rb +146 -0
  411. data/lib/wx/doc/gen/spin_double_event.rb +53 -0
  412. data/lib/wx/doc/gen/spin_event.rb +5 -2
  413. data/lib/wx/doc/gen/splash_screen.rb +16 -12
  414. data/lib/wx/doc/gen/splitter_event.rb +6 -2
  415. data/lib/wx/doc/gen/splitter_window.rb +36 -16
  416. data/lib/wx/doc/gen/static_bitmap.rb +9 -9
  417. data/lib/wx/doc/gen/static_box.rb +41 -37
  418. data/lib/wx/doc/gen/static_box_sizer.rb +13 -10
  419. data/lib/wx/doc/gen/static_line.rb +8 -7
  420. data/lib/wx/doc/gen/static_text.rb +15 -9
  421. data/lib/wx/doc/gen/status_bar.rb +53 -10
  422. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +200 -184
  423. data/lib/wx/doc/gen/stc/styled_text_event.rb +229 -54
  424. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +11 -2
  425. data/lib/wx/doc/gen/svg_file_dc.rb +8 -8
  426. data/lib/wx/doc/gen/system_options.rb +13 -3
  427. data/lib/wx/doc/gen/system_settings.rb +9 -9
  428. data/lib/wx/doc/gen/task_bar_icon.rb +17 -9
  429. data/lib/wx/doc/gen/task_bar_icon_event.rb +3 -3
  430. data/lib/wx/doc/gen/text_attr.rb +67 -61
  431. data/lib/wx/doc/gen/text_ctrl.rb +58 -113
  432. data/lib/wx/doc/gen/text_entry.rb +44 -56
  433. data/lib/wx/doc/gen/text_entry_dialog.rb +23 -23
  434. data/lib/wx/doc/gen/text_validator.rb +3 -19
  435. data/lib/wx/doc/gen/time_picker_ctrl.rb +11 -10
  436. data/lib/wx/doc/gen/timer.rb +13 -9
  437. data/lib/wx/doc/gen/timer_event.rb +19 -26
  438. data/lib/wx/doc/gen/tip_provider.rb +3 -3
  439. data/lib/wx/doc/gen/toggle_button.rb +10 -9
  440. data/lib/wx/doc/gen/tool_bar.rb +71 -61
  441. data/lib/wx/doc/gen/tool_tip.rb +2 -10
  442. data/lib/wx/doc/gen/toolbook.rb +12 -9
  443. data/lib/wx/doc/gen/top_level_window.rb +53 -113
  444. data/lib/wx/doc/gen/tree_ctrl.rb +83 -33
  445. data/lib/wx/doc/gen/tree_event.rb +24 -3
  446. data/lib/wx/doc/gen/treebook.rb +20 -16
  447. data/lib/wx/doc/gen/ui_action_simulator.rb +20 -19
  448. data/lib/wx/doc/gen/utils.rb +20 -14
  449. data/lib/wx/doc/gen/v_list_box.rb +11 -11
  450. data/lib/wx/doc/gen/v_scrolled_window.rb +9 -9
  451. data/lib/wx/doc/gen/validator.rb +10 -8
  452. data/lib/wx/doc/gen/variant.rb +56 -119
  453. data/lib/wx/doc/gen/window.rb +314 -224
  454. data/lib/wx/doc/gen/window_dc.rb +1 -1
  455. data/lib/wx/doc/gen/with_images.rb +2 -2
  456. data/lib/wx/doc/gen/wizard.rb +21 -8
  457. data/lib/wx/doc/gen/wizard_event.rb +11 -4
  458. data/lib/wx/doc/gen/wizard_page.rb +3 -3
  459. data/lib/wx/doc/gen/wizard_page_simple.rb +8 -8
  460. data/lib/wx/doc/gen/wrap_sizer.rb +65 -0
  461. data/lib/wx/doc/gen/xml_node.rb +13 -13
  462. data/lib/wx/doc/gen/xml_resource.rb +24 -21
  463. data/lib/wx/doc/graphics_context.rb +59 -39
  464. data/lib/wx/doc/grid/grid.rb +16 -1
  465. data/lib/wx/doc/hboxsizer.rb +33 -0
  466. data/lib/wx/doc/help_controller.rb +6 -0
  467. data/lib/wx/doc/html/html_help_controller.rb +6 -0
  468. data/lib/wx/doc/icon.rb +13 -5
  469. data/lib/wx/doc/id_helper.rb +6 -0
  470. data/lib/wx/doc/image.rb +50 -12
  471. data/lib/wx/doc/list_ctrl.rb +38 -0
  472. data/lib/wx/doc/log.rb +45 -0
  473. data/lib/wx/doc/memory_dc.rb +6 -0
  474. data/lib/wx/doc/mirror_dc.rb +6 -0
  475. data/lib/wx/doc/pen.rb +6 -0
  476. data/lib/wx/doc/pg/events.rb +6 -0
  477. data/lib/wx/doc/pg/pg_property.rb +17 -0
  478. data/lib/wx/doc/pg/pgeditor.rb +6 -0
  479. data/lib/wx/doc/pg/property_grid.rb +6 -0
  480. data/lib/wx/doc/pg/property_grid_interface.rb +6 -0
  481. data/lib/wx/doc/progress_dialog.rb +6 -0
  482. data/lib/wx/doc/prt/page_setup_dialog.rb +6 -0
  483. data/lib/wx/doc/prt/print_data.rb +6 -0
  484. data/lib/wx/doc/prt/print_dialog.rb +6 -0
  485. data/lib/wx/doc/prt/printer.rb +6 -0
  486. data/lib/wx/doc/prt/printer_dc.rb +8 -2
  487. data/lib/wx/doc/radio_box.rb +6 -0
  488. data/lib/wx/doc/rbn/ribbon_bar.rb +6 -0
  489. data/lib/wx/doc/rbn/ribbon_button_bar.rb +6 -0
  490. data/lib/wx/doc/rbn/ribbon_gallery.rb +6 -0
  491. data/lib/wx/doc/rbn/ribbon_tool_bar.rb +6 -0
  492. data/lib/wx/doc/region_iterator.rb +6 -0
  493. data/lib/wx/doc/rtc/richtext_buffer.rb +28 -0
  494. data/lib/wx/doc/rtc/richtext_formatting_dialog.rb +68 -0
  495. data/lib/wx/doc/rtc/richtext_printing.rb +6 -0
  496. data/lib/wx/doc/rtc/richtext_style_sheet.rb +20 -0
  497. data/lib/wx/doc/scaled_dc.rb +7 -1
  498. data/lib/wx/doc/screen_dc.rb +6 -0
  499. data/lib/wx/doc/stock_objects.rb +6 -0
  500. data/lib/wx/doc/stream.rb +6 -0
  501. data/lib/wx/doc/svg_file_dc.rb +6 -0
  502. data/lib/wx/doc/system_settings.rb +6 -0
  503. data/lib/wx/doc/text_validator.rb +18 -0
  504. data/lib/wx/doc/textctrl.rb +89 -0
  505. data/lib/wx/doc/tree_event.rb +20 -0
  506. data/lib/wx/doc/treebook.rb +6 -0
  507. data/lib/wx/doc/v_list_box.rb +6 -0
  508. data/lib/wx/doc/variant.rb +6 -0
  509. data/lib/wx/doc/vboxsizer.rb +33 -0
  510. data/lib/wx/doc/window.rb +6 -0
  511. data/lib/wx/doc/window_disabler.rb +6 -0
  512. data/lib/wx/doc/xml_resource.rb +8 -0
  513. data/lib/wx/global_const.rb +4 -1
  514. data/lib/wx/grid/grid.rb +23 -3
  515. data/lib/wx/grid/keyword_defs.rb +8 -1
  516. data/lib/wx/grid/require.rb +4 -1
  517. data/lib/wx/grid.rb +4 -1
  518. data/lib/wx/helpers.rb +8 -1
  519. data/lib/wx/html/htmlhelpcontroller.rb +29 -3
  520. data/lib/wx/html/htmlwindow.rb +23 -12
  521. data/lib/wx/html/keyword_defs.rb +8 -1
  522. data/lib/wx/html/require.rb +4 -1
  523. data/lib/wx/html/simple_html_listbox.rb +3 -0
  524. data/lib/wx/html.rb +4 -1
  525. data/lib/wx/keyword_ctors.rb +22 -3
  526. data/lib/wx/keyword_defs.rb +55 -3
  527. data/lib/wx/pg/events.rb +4 -1
  528. data/lib/wx/pg/keyword_defs.rb +8 -1
  529. data/lib/wx/pg/pg_editor.rb +3 -0
  530. data/lib/wx/pg/pg_properties.rb +4 -1
  531. data/lib/wx/pg/pg_property.rb +18 -5
  532. data/lib/wx/pg/property_grid.rb +4 -1
  533. data/lib/wx/pg/property_grid_interface.rb +3 -0
  534. data/lib/wx/pg/require.rb +4 -1
  535. data/lib/wx/pg.rb +4 -1
  536. data/lib/wx/prt/keyword_defs.rb +8 -1
  537. data/lib/wx/prt/page_setup_dialog.rb +3 -0
  538. data/lib/wx/prt/previewframe.rb +5 -0
  539. data/lib/wx/prt/require.rb +4 -1
  540. data/lib/wx/prt.rb +4 -1
  541. data/lib/wx/rbn/events.rb +4 -1
  542. data/lib/wx/rbn/keyword_defs.rb +8 -1
  543. data/lib/wx/rbn/require.rb +5 -1
  544. data/lib/wx/rbn/ribbon_art_provider.rb +3 -1
  545. data/lib/wx/rbn/ribbon_bar.rb +3 -0
  546. data/lib/wx/rbn/ribbon_button_bar.rb +3 -0
  547. data/lib/wx/rbn/ribbon_control.rb +3 -0
  548. data/lib/wx/rbn/ribbon_gallery.rb +10 -0
  549. data/lib/wx/rbn/ribbon_page.rb +3 -0
  550. data/lib/wx/rbn/ribbon_panel.rb +3 -0
  551. data/lib/wx/rbn/ribbon_tool_bar.rb +3 -0
  552. data/lib/wx/rbn.rb +4 -1
  553. data/lib/wx/rtc/ext.rb +4 -1
  554. data/lib/wx/rtc/keyword_defs.rb +18 -7
  555. data/lib/wx/rtc/require.rb +8 -1
  556. data/lib/wx/rtc/richtext_buffer.rb +36 -0
  557. data/lib/wx/rtc/richtext_formatting_dialog.rb +88 -0
  558. data/lib/wx/rtc/richtext_style_organiser_dialog.rb +46 -0
  559. data/lib/wx/rtc/symbol_picker_dialog.rb +47 -0
  560. data/lib/wx/rtc.rb +5 -1
  561. data/lib/wx/stc/keyword_defs.rb +8 -1
  562. data/lib/wx/stc/require.rb +4 -1
  563. data/lib/wx/stc.rb +4 -1
  564. data/lib/wx/version.rb +5 -1
  565. data/lib/wx/wxruby/base.rb +4 -1
  566. data/lib/wx/wxruby/cmd/sampler.rb +4 -1
  567. data/lib/wx/wxruby/cmd/test.rb +4 -1
  568. data/lib/wx.rb +4 -1
  569. data/lib/wxruby_aui.so +0 -0
  570. data/lib/wxruby_core.so +0 -0
  571. data/lib/wxruby_grid.so +0 -0
  572. data/lib/wxruby_html.so +0 -0
  573. data/lib/wxruby_pg.so +0 -0
  574. data/lib/wxruby_prt.so +0 -0
  575. data/lib/wxruby_rbn.so +0 -0
  576. data/lib/wxruby_rtc.so +0 -0
  577. data/lib/wxruby_stc.so +0 -0
  578. data/rakelib/install.rb +4 -1
  579. data/rakelib/lib/config/cygwin.rb +4 -1
  580. data/rakelib/lib/config/linux.rb +4 -1
  581. data/rakelib/lib/config/macosx.rb +5 -2
  582. data/rakelib/lib/config/mingw.rb +4 -1
  583. data/rakelib/lib/config/netbsd.rb +4 -1
  584. data/rakelib/lib/config/unixish.rb +10 -7
  585. data/rakelib/lib/config.rb +7 -2
  586. data/rakelib/lib/ext/enum_chain.rb +4 -1
  587. data/rakelib/prepost.rake +4 -1
  588. data/rakelib/prepost.rb +4 -1
  589. data/samples/aui/aui.rb +8 -3
  590. data/samples/bigdemo/bigdemo.rb +9 -2
  591. data/samples/bigdemo/run.rb +9 -2
  592. data/samples/bigdemo/utils.rb +9 -1
  593. data/samples/calendar/calendar.rb +9 -4
  594. data/samples/caret/caret.rb +8 -3
  595. data/samples/controls/books.rb +8 -2
  596. data/samples/controls/controls.rb +33 -77
  597. data/samples/controls/get_item_sample.rb +8 -2
  598. data/samples/controls/htlbox.rb +10 -3
  599. data/samples/dialogs/dialogs.rb +9 -4
  600. data/samples/dialogs/wizard.rb +8 -3
  601. data/samples/dragdrop/dragdrop.rb +8 -3
  602. data/samples/drawing/bitmap.rb +8 -3
  603. data/samples/drawing/bitmap_image.rb +8 -3
  604. data/samples/drawing/graphics_drawing.rb +44 -33
  605. data/samples/drawing/image_prt.rb +8 -2
  606. data/samples/drawing/maths_images.rb +8 -3
  607. data/samples/drawing/rmagic_bitmap_image.rb +8 -3
  608. data/samples/etc/choice.rb +8 -3
  609. data/samples/etc/miniframe.rb +8 -3
  610. data/samples/etc/sash.rb +8 -3
  611. data/samples/etc/scrollwin.rb +8 -3
  612. data/samples/etc/system_settings.rb +8 -3
  613. data/samples/event/activation.rb +8 -3
  614. data/samples/event/event.rb +8 -3
  615. data/samples/event/threaded.rb +8 -3
  616. data/samples/event/update_ui_event.rb +8 -3
  617. data/samples/grid/grid.rb +9 -3
  618. data/samples/grid/gridtablebase.rb +8 -3
  619. data/samples/html/html.rb +8 -3
  620. data/samples/mdi/mdi.rb +8 -3
  621. data/samples/minimal/minimal.rb +8 -3
  622. data/samples/minimal/nothing.rb +8 -3
  623. data/samples/printing/printing.rb +8 -3
  624. data/samples/printing/printing2.rb +8 -2
  625. data/samples/propgrid/propgrid.rb +4 -1
  626. data/samples/propgrid/propgrid_minimal.rb +4 -2
  627. data/samples/propgrid/sample_props.rb +4 -1
  628. data/samples/ribbon/ribbon.rb +4 -1
  629. data/samples/sampler/editor.rb +4 -1
  630. data/samples/sampler/ext.rb +4 -1
  631. data/samples/sampler/sample.rb +13 -4
  632. data/samples/sampler/stc_editor.rb +4 -1
  633. data/samples/sampler/txt_editor.rb +4 -1
  634. data/samples/sampler.rb +11 -3
  635. data/samples/splash/splash.rb +4 -2
  636. data/samples/text/art/richtext/alignleft.xpm +24 -0
  637. data/samples/text/art/richtext/alignright.xpm +24 -0
  638. data/samples/text/art/richtext/bold.xpm +24 -0
  639. data/samples/text/art/richtext/centre.xpm +24 -0
  640. data/samples/text/art/richtext/copy.xpm +45 -0
  641. data/samples/text/art/richtext/cut.xpm +47 -0
  642. data/samples/text/art/richtext/font.xpm +25 -0
  643. data/samples/text/art/richtext/idea.xpm +47 -0
  644. data/samples/text/art/richtext/indentless.xpm +25 -0
  645. data/samples/text/art/richtext/indentmore.xpm +25 -0
  646. data/samples/text/art/richtext/italic.xpm +25 -0
  647. data/samples/text/art/richtext/open.xpm +58 -0
  648. data/samples/text/art/richtext/paste.xpm +47 -0
  649. data/samples/text/art/richtext/redo.xpm +59 -0
  650. data/samples/text/art/richtext/save.xpm +43 -0
  651. data/samples/text/art/richtext/smiley.xpm +42 -0
  652. data/samples/text/art/richtext/underline.xpm +25 -0
  653. data/samples/text/art/richtext/undo.xpm +59 -0
  654. data/samples/text/art/richtext/zebra.xpm +409 -0
  655. data/samples/text/rich_textctrl.rb +8 -3
  656. data/samples/text/richtext.rb +1824 -0
  657. data/samples/text/scintilla.rb +8 -3
  658. data/samples/text/textctrl.rb +21 -4
  659. data/samples/text/tn_richtext.png +0 -0
  660. data/samples/text/unicode.rb +9 -4
  661. data/samples/treectrl/treectrl.rb +10 -5
  662. data/samples/xrc/custom_xrc_sample.rb +8 -3
  663. data/samples/xrc/xrc_sample.rb +8 -3
  664. data/tests/art/test_art/bitmap/wxruby-128x128.png +0 -0
  665. data/tests/art/test_art/bitmap/wxruby-256x256.png +0 -0
  666. data/tests/art/test_art/bitmap/wxruby-64x64.png +0 -0
  667. data/tests/lib/item_container_tests.rb +3 -0
  668. data/tests/lib/text_entry_tests.rb +3 -0
  669. data/tests/lib/wxapp_runner.rb +3 -0
  670. data/tests/lib/wxframe_runner.rb +81 -3
  671. data/tests/test_app_event_filter.rb +3 -0
  672. data/tests/test_app_traits.rb +33 -0
  673. data/tests/test_art.rb +31 -0
  674. data/tests/test_art_provider.rb +3 -0
  675. data/tests/test_aui.rb +65 -0
  676. data/tests/test_basic.rb +5 -1
  677. data/tests/test_box_sizer.rb +164 -0
  678. data/tests/test_clipboard.rb +3 -0
  679. data/tests/test_config.rb +150 -0
  680. data/tests/test_dc.rb +3 -0
  681. data/tests/test_dialog.rb +3 -0
  682. data/tests/test_event_handling.rb +3 -0
  683. data/tests/test_events.rb +3 -0
  684. data/tests/test_ext_controls.rb +286 -3
  685. data/tests/test_file_dialog.rb +55 -0
  686. data/tests/test_font.rb +8 -5
  687. data/tests/test_gdi_object.rb +3 -0
  688. data/tests/test_geometry.rb +4 -0
  689. data/tests/test_grid_sizer.rb +151 -0
  690. data/tests/test_intl.rb +3 -0
  691. data/tests/test_item_data.rb +3 -0
  692. data/tests/test_list_ctrl.rb +56 -0
  693. data/tests/test_log.rb +226 -0
  694. data/tests/test_proof_check.rb +52 -0
  695. data/tests/test_richtext.rb +204 -0
  696. data/tests/test_std_controls.rb +99 -31
  697. data/tests/test_timer.rb +98 -0
  698. data/tests/test_variant.rb +3 -0
  699. data/tests/test_window.rb +10 -8
  700. data/tests/testapp.rb +4 -0
  701. data/tests/testapp_noframe.rb +4 -0
  702. metadata +87 -3
  703. data/lib/wx/doc/gen/html/html_help_frame.rb +0 -112
@@ -1,7 +1,12 @@
1
- #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+ #
5
+ # Some parts are
6
+ # Copyright 2004-2007, wxRuby development team
7
+ # released under the MIT-like wxRuby2 license
8
+
3
9
  # Adapted for wxRuby3
4
- # Copyright (c) M.J.N. Corino, The Netherlands
5
10
  ###
6
11
 
7
12
  require 'wx'
@@ -1,7 +1,12 @@
1
- #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+ #
5
+ # Some parts are
6
+ # Copyright 2004-2007, wxRuby development team
7
+ # released under the MIT-like wxRuby2 license
8
+
3
9
  # Adapted for wxRuby3
4
- # Copyright (c) M.J.N. Corino, The Netherlands
5
10
  ###
6
11
 
7
12
  require 'wx'
@@ -45,6 +50,9 @@ class TextCtrlFrame < Wx::Frame
45
50
  sizer = Wx::BoxSizer.new(Wx::VERTICAL)
46
51
 
47
52
  @textctrl = InformativeTextCtrl.new(panel)
53
+ if Wx.has_feature?(:USE_SPELLCHECK)
54
+ @textctrl.enable_proof_check(Wx::TextProofOptions.default)
55
+ end
48
56
  populate_textctrl
49
57
  sizer.add(@textctrl, 2, Wx::GROW|Wx::ALL, 2)
50
58
 
@@ -55,6 +63,8 @@ class TextCtrlFrame < Wx::Frame
55
63
  @log = LogTextCtrl.new(panel)
56
64
  sizer.add(@log, 1, Wx::GROW|Wx::ALL, 2)
57
65
  panel.sizer = sizer
66
+
67
+ construct_menus
58
68
  end
59
69
 
60
70
  def populate_textctrl
@@ -86,6 +96,13 @@ class TextCtrlFrame < Wx::Frame
86
96
 
87
97
  def on_click
88
98
  @log.value = @textctrl.report
99
+ if Wx.has_feature?(:USE_SPELLCHECK)
100
+ if @textctrl.get_proof_check_options.is_spell_check_enabled
101
+ @textctrl.enable_proof_check(Wx::TextProofOptions.disable)
102
+ else
103
+ @textctrl.enable_proof_check(Wx::TextProofOptions.default)
104
+ end
105
+ end
89
106
  end
90
107
 
91
108
  def on_quit
@@ -95,7 +112,7 @@ class TextCtrlFrame < Wx::Frame
95
112
  def on_about
96
113
  msg = sprintf("This is the About dialog of the textctrl sample.\n" \
97
114
  "Welcome to %s", Wx::WXWIDGETS_VERSION)
98
- message_box(msg, "About Minimal", Wx::OK|Wx::ICON_INFORMATION, self)
115
+ Wx.message_box(msg, "About Minimal", Wx::OK|Wx::ICON_INFORMATION, self)
99
116
  end
100
117
  end
101
118
 
Binary file
@@ -1,8 +1,13 @@
1
- #!/usr/bin/env ruby
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+ #
5
+ # Some parts are
6
+ # Copyright 2004-2007, wxRuby development team
7
+ # released under the MIT-like wxRuby2 license
8
+
2
9
  # encoding: UTF-8
3
- # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
4
10
  # Adapted for wxRuby3
5
- # Copyright (c) M.J.N. Corino, The Netherlands
6
11
  ###
7
12
 
8
13
 
@@ -225,7 +230,7 @@ module UnicodeSample
225
230
  def self.activate
226
231
  frame = IConvFrame.new("Unicode demonstration - ",
227
232
  Wx::Point.new(50, 50),
228
- Wx::Size.new(450, 450) )
233
+ Wx::Size.new(450, 600) )
229
234
 
230
235
  frame.show(true)
231
236
  frame
@@ -1,7 +1,12 @@
1
- #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+ #
5
+ # Some parts are
6
+ # Copyright 2004-2007, wxRuby development team
7
+ # released under the MIT-like wxRuby2 license
8
+
3
9
  # Adapted for wxRuby3
4
- # Copyright (c) M.J.N. Corino, The Netherlands
5
10
  ###
6
11
 
7
12
  require 'wx'
@@ -1079,7 +1084,7 @@ class MyFrame < Wx::Frame
1079
1084
 
1080
1085
  # set our text control as the log target
1081
1086
  logWindow = Wx::LogTextCtrl.new(@textctrl)
1082
- Wx::Log::set_active_target(logWindow)
1087
+ @old_log_tgt = Wx::Log::set_active_target(logWindow)
1083
1088
 
1084
1089
  # @splitter.split_horizontally(@treectrl, @textctrl, 500)
1085
1090
 
@@ -1677,7 +1682,7 @@ class MyFrame < Wx::Frame
1677
1682
  end
1678
1683
 
1679
1684
  def on_close(event)
1680
- Wx::Log::active_target = nil
1685
+ Wx::Log::active_target = @old_log_tgt
1681
1686
  destroy
1682
1687
  end
1683
1688
 
@@ -1,7 +1,12 @@
1
- #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+ #
5
+ # Some parts are
6
+ # Copyright 2004-2007, wxRuby development team
7
+ # released under the MIT-like wxRuby2 license
8
+
3
9
  # Adapted for wxRuby3
4
- # Copyright (c) M.J.N. Corino, The Netherlands
5
10
  ###
6
11
 
7
12
  require 'wx'
@@ -1,7 +1,12 @@
1
- #!/usr/bin/env ruby
2
- # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+ #
5
+ # Some parts are
6
+ # Copyright 2004-2007, wxRuby development team
7
+ # released under the MIT-like wxRuby2 license
8
+
3
9
  # Adapted for wxRuby3
4
- # Copyright (c) M.J.N. Corino, The Netherlands
5
10
  ###
6
11
 
7
12
  require 'wx'
@@ -1,3 +1,6 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
1
4
 
2
5
  module ItemContainerTests
3
6
 
@@ -1,3 +1,6 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
1
4
 
2
5
  module TextEntryTests
3
6
 
@@ -1,3 +1,6 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
1
4
 
2
5
  require 'test/unit'
3
6
  require 'test/unit/ui/console/testrunner'
@@ -1,3 +1,6 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
1
4
 
2
5
  require_relative './wxapp_runner'
3
6
 
@@ -69,7 +72,18 @@ module WxRuby
69
72
 
70
73
  class GUITests < ::Test::Unit::TestCase
71
74
 
72
- def test_frame
75
+ setup
76
+ def base_setup
77
+ 10.times { Wx.get_app.yield }
78
+ end
79
+
80
+ cleanup
81
+ def base_cleanup
82
+ 10.times { Wx.get_app.yield }
83
+ GC.start
84
+ end
85
+
86
+ def frame_win
73
87
  Wx.get_app.frame
74
88
  end
75
89
 
@@ -83,14 +97,14 @@ module WxRuby
83
97
  @count +=1
84
98
  end
85
99
 
86
- def wait_event(msec)
100
+ def wait_event(msec, reset=true)
87
101
  start = Time.now
88
102
  msec /= 1000.0
89
103
  while (Time.now - start) < msec
90
104
  Wx.get_app.yield
91
105
  if @count > 0
92
106
  raise StandardError.new("Too many events. Expected a single one.") unless @count == 1
93
- @count = 0
107
+ @count = 0 if reset
94
108
  return true
95
109
  end
96
110
  sleep(50.0/1000.0)
@@ -99,6 +113,65 @@ module WxRuby
99
113
  end
100
114
  end
101
115
 
116
+ class UISimulator < Wx::UIActionSimulator
117
+
118
+ def mouse_move(*args)
119
+ super
120
+ Wx::get_app.yield
121
+ end
122
+
123
+ def mouse_down(button = Wx::MouseButton::MOUSE_BTN_LEFT)
124
+ super
125
+ Wx::get_app.yield
126
+ end
127
+
128
+ def mouse_up(button = Wx::MouseButton::MOUSE_BTN_LEFT)
129
+ super
130
+ Wx::get_app.yield
131
+ end
132
+
133
+ def mouse_click(button = Wx::MouseButton::MOUSE_BTN_LEFT)
134
+ super
135
+ Wx::get_app.yield
136
+ end
137
+
138
+ def mouse_dbl_click(button = Wx::MouseButton::MOUSE_BTN_LEFT)
139
+ super
140
+ Wx::get_app.yield
141
+ end
142
+
143
+ def mouse_drag_drop(x1, y1, x2, y2, button = Wx::MouseButton::MOUSE_BTN_LEFT)
144
+ super
145
+ Wx::get_app.yield
146
+ end
147
+
148
+ def key_down(keycode, modifiers = Wx::KeyModifier::MOD_NONE)
149
+ super
150
+ Wx::get_app.yield
151
+ end
152
+
153
+ def key_up(keycode, modifiers = Wx::KeyModifier::MOD_NONE)
154
+ super
155
+ Wx::get_app.yield
156
+ end
157
+
158
+ def char(keycode, modifiers = Wx::KeyModifier::MOD_NONE)
159
+ super
160
+ Wx::get_app.yield
161
+ end
162
+
163
+ def select(text)
164
+ super
165
+ Wx::get_app.yield
166
+ end
167
+
168
+ def text(text)
169
+ super
170
+ Wx::get_app.yield
171
+ end
172
+
173
+ end
174
+
102
175
  def self.has_ui_simulator?
103
176
  Wx.has_feature?(:USE_UIACTIONSIMULATOR) && (Wx::PLATFORM != 'WXOSX' || Wx::WXWIDGETS_VERSION >= '3.3')
104
177
  end
@@ -107,6 +180,11 @@ module WxRuby
107
180
  GUITests.has_ui_simulator?
108
181
  end
109
182
 
183
+ def get_ui_simulator
184
+ raise 'Wx::UIActionSimulator is NOT supported on this platform!' unless has_ui_simulator?
185
+ @ui_sim ||= UISimulator.new
186
+ end
187
+
110
188
  def count_events(win, evt, id1=Wx::ID_ANY, id2=nil)
111
189
  return 0 unless block_given?
112
190
  evt_count = EventCounter.new
@@ -1,3 +1,6 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
1
4
 
2
5
  require_relative './lib/wxapp_runner'
3
6
 
@@ -0,0 +1,33 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+ require_relative './lib/wxapp_runner'
6
+
7
+ class AppTraitsTests < Test::Unit::TestCase
8
+
9
+ def test_traits
10
+ traits = Wx.get_app.get_traits
11
+ assert_not_nil(traits)
12
+ assert_kind_of(Wx::AppTraits, traits)
13
+ port_id, ver_major, ver_minor, ver_micro = traits.get_toolkit_version
14
+ port = case port_id
15
+ when Wx::PortId::PORT_GTK; 'WXGTK'
16
+ when Wx::PortId::PORT_MAC; 'WXOSX'
17
+ when Wx::PortId::PORT_MSW; 'WXMSW'
18
+ else
19
+ nil
20
+ end
21
+ assert_equal(Wx::PLATFORM, port)
22
+ assert_true(Wx::PlatformInfo.instance.check_toolkit_version(ver_major, ver_minor, ver_micro))
23
+
24
+ std_paths = traits.get_standard_paths
25
+ assert_not_nil(std_paths)
26
+ assert_kind_of(Wx::StandardPaths, std_paths)
27
+ assert_not_empty(std_paths.config_dir)
28
+ assert_not_empty(std_paths.data_dir)
29
+ assert_not_empty(std_paths.documents_dir)
30
+ assert_not_empty(std_paths.app_documents_dir)
31
+ end
32
+
33
+ end
data/tests/test_art.rb CHANGED
@@ -1,3 +1,6 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
1
4
 
2
5
  require_relative './lib/wxapp_runner'
3
6
 
@@ -43,6 +46,19 @@ class TestArt < Test::Unit::TestCase
43
46
  end
44
47
  end
45
48
 
49
+ def test_bitmap_bundle
50
+ bmps = []
51
+ bmps << Wx.Bitmap(:wxruby)
52
+ bmps << Wx.Bitmap('wxruby-64x64')
53
+ bmps << Wx.Bitmap('wxruby-128x128')
54
+ bmps << Wx.Bitmap('wxruby-256x256')
55
+ bundle = assert_nothing_raised { Wx::BitmapBundle.from_bitmaps(bmps) }
56
+ assert_instance_of(Wx::BitmapBundle, bundle)
57
+ assert_true(bundle.ok?)
58
+ assert_equal(Wx::Size.new(32,32), bundle.default_size)
59
+ assert_instance_of(Wx::Bitmap, bundle.get_bitmap([256,256]))
60
+ end
61
+
46
62
  if Wx::PLATFORM == 'WXMSW'
47
63
 
48
64
  def test_cursors
@@ -76,6 +92,15 @@ class TestArt < Test::Unit::TestCase
76
92
  end
77
93
  end
78
94
 
95
+ def test_image_histogram
96
+ img = Wx.Image(:wxruby, Wx::BitmapType::BITMAP_TYPE_JPEG)
97
+ img_hist = img.compute_histogram
98
+ assert(img_hist.is_a?(::Hash))
99
+ assert(img_hist.is_a?(Wx::Image::Histogram))
100
+ assert(img_hist.size > 0)
101
+ assert(img_hist.values.all? { |index, value| index>=0 && value>=1 })
102
+ end
103
+
79
104
  def test_art
80
105
  art = nil
81
106
  assert_nothing_raised do
@@ -86,6 +111,12 @@ class TestArt < Test::Unit::TestCase
86
111
  assert_equal('sample', File.basename(art, '.*'))
87
112
  img = Wx::Image.new(art)
88
113
  assert { img.ok? }
114
+ img = Wx.Image(:sample, art_section: 'my_art')
115
+ assert { img.ok? }
116
+ bmp = Wx.Bitmap(:sample, art_section: 'my_art')
117
+ assert { bmp.ok? }
118
+ icon = Wx.Icon(:sample, art_section: 'my_art')
119
+ assert { icon.ok? }
89
120
  end
90
121
 
91
122
  end
@@ -1,3 +1,6 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
1
4
 
2
5
  require_relative './lib/wxapp_runner'
3
6
 
data/tests/test_aui.rb ADDED
@@ -0,0 +1,65 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+ require_relative './lib/wxframe_runner'
6
+
7
+ class Issue141Test < WxRuby::Test::GUITests
8
+
9
+ class AUIFrame < Wx::Frame
10
+ def initialize(parent, id=Wx::ID_ANY, title="Ruby Test Dialog",
11
+ pos=Wx::DEFAULT_POSITION, size=Wx::DEFAULT_SIZE,
12
+ style=Wx::DEFAULT_DIALOG_STYLE)
13
+
14
+ super(parent, id, title, pos, size, style)
15
+
16
+ dlg_sizer = Wx::BoxSizer.new(Wx::VERTICAL)
17
+
18
+ box_sizer_2 = Wx::BoxSizer.new(Wx::HORIZONTAL)
19
+
20
+ @notebook = Wx::AUI::AuiNotebook.new(self, Wx::ID_ANY,
21
+ Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::AUI_NB_TOP|
22
+ Wx::AUI_NB_TAB_SPLIT|Wx::AUI_NB_TAB_MOVE|Wx::AUI_NB_SCROLL_BUTTONS|
23
+ Wx::AUI_NB_CLOSE_ON_ACTIVE_TAB|Wx::AUI_NB_MIDDLE_CLICK_CLOSE)
24
+ box_sizer_2.add(@notebook, Wx::SizerFlags.new.border(Wx::ALL))
25
+
26
+ page = Wx::Panel.new(@notebook, Wx::ID_ANY, Wx::DEFAULT_POSITION,
27
+ Wx::DEFAULT_SIZE, Wx::TAB_TRAVERSAL)
28
+ @notebook.add_page(page, "page #1")
29
+ page.set_background_colour(Wx::SystemSettings.get_colour(
30
+ Wx::SYS_COLOUR_BTNFACE))
31
+
32
+ page_sizer = Wx::BoxSizer.new(Wx::VERTICAL)
33
+
34
+ box_sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
35
+
36
+ @static_text = Wx::StaticText.new(page, Wx::ID_ANY,
37
+ "What hath Ruby wrought?")
38
+ box_sizer.add(@static_text, Wx::SizerFlags.new.border(Wx::ALL))
39
+
40
+ page_sizer.add(box_sizer, Wx::SizerFlags.new.border(Wx::ALL))
41
+ page.set_sizer_and_fit(page_sizer)
42
+
43
+ dlg_sizer.add(box_sizer_2, Wx::SizerFlags.new.border(Wx::ALL))
44
+
45
+ set_sizer_and_fit(dlg_sizer)
46
+ centre(Wx::BOTH)
47
+ end
48
+ end
49
+
50
+ def setup
51
+ super
52
+ end
53
+
54
+ def test_aui_frame
55
+ GC.start
56
+ aui_frame = AUIFrame.new(frame_win)
57
+ aui_frame.show
58
+ GC.start
59
+ aui_frame.destroy
60
+ Wx.get_app.yield
61
+ # in case of regressions this should segfault
62
+ GC.start
63
+ end
64
+
65
+ end
data/tests/test_basic.rb CHANGED
@@ -1,10 +1,14 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  require 'test/unit'
2
6
  require 'wx'
3
7
 
4
8
  class BasicTests < Test::Unit::TestCase
5
9
 
6
10
  def test_versions
7
- assert_equal(Wx::WXRUBY_VERSION, "#{Wx::WXRUBY_MAJOR}.#{Wx::WXRUBY_MINOR}.#{Wx::WXRUBY_RELEASE}-#{Wx::WXRUBY_RELEASE_TYPE}")
11
+ assert_equal(Wx::WXRUBY_VERSION, "#{Wx::WXRUBY_MAJOR}.#{Wx::WXRUBY_MINOR}.#{Wx::WXRUBY_RELEASE}#{Wx::WXRUBY_RELEASE_TYPE.empty? ? '' : '-'+Wx::WXRUBY_RELEASE_TYPE}")
8
12
  assert_equal(Wx::WXWIDGETS_VERSION, "#{Wx::WXWIDGETS_MAJOR_VERSION}.#{Wx::WXWIDGETS_MINOR_VERSION}.#{Wx::WXWIDGETS_RELEASE_NUMBER}")
9
13
  end
10
14
 
@@ -0,0 +1,164 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+ require_relative './lib/wxframe_runner'
6
+
7
+ class BoxSizerTests < WxRuby::Test::GUITests
8
+
9
+ def setup
10
+ super
11
+ @win = Wx::Window.new(frame_win, Wx::ID_ANY)
12
+ @sizer = Wx::HBoxSizer.new
13
+ @win.set_client_size(127, 35)
14
+ @win.sizer = @sizer
15
+ end
16
+
17
+ def cleanup
18
+ frame_win.destroy_children
19
+ @win = nil
20
+ @sizer = nil
21
+ super
22
+ end
23
+
24
+ attr_reader :win, :sizer
25
+
26
+ def test_size
27
+ sizeTotal = win.get_client_size
28
+ sizeChild = sizeTotal / 2
29
+
30
+ child = Wx::Window.new(win, Wx::ID_ANY, Wx::DEFAULT_POSITION, sizeChild)
31
+ sizer.add(child)
32
+ win.layout
33
+ assert(child.size == sizeChild)
34
+
35
+ sizer.clear
36
+ sizer.add(child, Wx::SizerFlags.new(1))
37
+ win.layout
38
+ assert(child.size == [sizeTotal.x, sizeChild.y])
39
+
40
+ sizer.clear
41
+ sizer.add(child, Wx::SizerFlags.new(1).expand)
42
+ win.layout
43
+ assert(child.size == sizeTotal)
44
+
45
+ sizer.clear
46
+ sizer.add(child, Wx::SizerFlags.new)
47
+ sizer.set_item_min_size(child, sizeTotal*2)
48
+ win.layout
49
+ assert(child.size == sizeTotal)
50
+
51
+ sizer.clear
52
+ sizer.add(child, Wx::SizerFlags.new.expand)
53
+ sizer.set_item_min_size(child, sizeTotal*2)
54
+ win.layout
55
+ assert(child.size == sizeTotal)
56
+ end
57
+
58
+ class << self
59
+
60
+ def _ltd(*args)
61
+ @ltd_klass ||= Struct.new(:prop, :minsize, :x, :sizes, :dont_permute) do
62
+ def add_to_sizer(sizer, win, n)
63
+ sizer.add(win, Wx::SizerFlags.new(prop[n]))
64
+ sizer.set_item_min_size(win, Wx::Size.new(minsize[n], -1))
65
+ end
66
+ end
67
+ @ltd_klass.new(*args)
68
+ end
69
+
70
+ end
71
+
72
+ LayoutTestData = [
73
+ # some really simple cases (no need to permute those, they're
74
+ # symmetrical anyhow)
75
+ _ltd( [ 1, 1, 1, ], [ 50, 50, 50, ], 150, [ 50, 50, 50, ], true ),
76
+ _ltd( [ 2, 2, 2, ], [ 50, 50, 50, ], 600, [ 200, 200, 200, ], true ),
77
+
78
+ # items with different proportions and min sizes when there is enough
79
+ # space to lay them out
80
+ _ltd( [ 1, 2, 3, ], [ 0, 0, 0, ], 600, [ 100, 200, 300, ] ),
81
+ _ltd( [ 1, 2, 3, ], [ 100, 100, 100, ], 600, [ 100, 200, 300, ] ),
82
+ _ltd( [ 1, 2, 3, ], [ 100, 50, 50, ], 600, [ 100, 200, 300, ] ),
83
+ _ltd( [ 0, 1, 1, ], [ 200, 100, 100, ], 600, [ 200, 200, 200, ] ),
84
+ _ltd( [ 0, 1, 2, ], [ 300, 100, 100, ], 600, [ 300, 100, 200, ] ),
85
+ _ltd( [ 0, 1, 1, ], [ 100, 50, 50, ], 300, [ 100, 100, 100, ] ),
86
+ _ltd( [ 0, 1, 2, ], [ 100, 50, 50, ], 400, [ 100, 100, 200, ] ),
87
+
88
+ # cases when there is not enough space to lay out the items correctly
89
+ # while still respecting their min sizes
90
+ _ltd( [ 0, 1, 1, ], [ 100, 150, 50, ], 300, [ 100, 150, 50, ] ),
91
+ _ltd( [ 1, 2, 3, ], [ 100, 100, 100, ], 300, [ 100, 100, 100, ] ),
92
+ _ltd( [ 1, 2, 3, ], [ 100, 50, 50, ], 300, [ 100, 80, 120, ] ),
93
+ _ltd( [ 1, 2, 3, ], [ 100, 10, 10, ], 150, [ 100, 20, 30, ] ),
94
+
95
+ # cases when there is not enough space even for the min sizes (don't
96
+ # permute in these cases as the layout does depend on the item order
97
+ # because the first ones have priority)
98
+ _ltd( [ 1, 2, 3, ], [ 100, 50, 50, ], 150, [ 100, 50, 0, ], true ),
99
+ _ltd( [ 1, 2, 3, ], [ 100, 100, 100, ], 200, [ 100, 100, 0, ], true ),
100
+ _ltd( [ 1, 2, 3, ], [ 100, 100, 100, ], 150, [ 100, 50, 0, ], true ),
101
+ _ltd( [ 1, 2, 3, ], [ 100, 100, 100, ], 50, [ 50, 0, 0, ], true ),
102
+ _ltd( [ 1, 2, 3, ], [ 100, 100, 100, ], 0, [ 0, 0, 0, ], true ),
103
+ ]
104
+
105
+ def test_size_3
106
+ child = [Wx::Window.new(win, Wx::ID_ANY),
107
+ Wx::Window.new(win, Wx::ID_ANY),
108
+ Wx::Window.new(win, Wx::ID_ANY)]
109
+
110
+ LayoutTestData.each_with_index do |ltd, i|
111
+ # the results shouldn't depend on the order of items except in the
112
+ # case when there is not enough space for even the fixed width items
113
+ # (in which case the first ones might get enough of it but not the
114
+ # last ones) so test a couple of permutations of test data unless
115
+ # specifically disabled for this test case
116
+ 3.times do |p|
117
+ case p
118
+ when 0
119
+ # nothing, use original data
120
+ when 1
121
+ # exchange first and last elements
122
+ ltd.prop[0], ltd.prop[2] = ltd.prop[2], ltd.prop[0]
123
+ ltd.minsize[0], ltd.minsize[2] = ltd.minsize[2], ltd.minsize[0]
124
+ ltd.sizes[0], ltd.sizes[2] = ltd.sizes[2], ltd.sizes[0]
125
+ when 2
126
+ # exchange the original third and second elements
127
+ ltd.prop[0], ltd.prop[1] = ltd.prop[1], ltd.prop[0]
128
+ ltd.minsize[0], ltd.minsize[1] = ltd.minsize[1], ltd.minsize[0]
129
+ ltd.sizes[0], ltd.sizes[1] = ltd.sizes[1], ltd.sizes[0]
130
+ end
131
+
132
+ sizer.clear
133
+
134
+ child.each_with_index { |c, j| ltd.add_to_sizer(sizer, c, j) }
135
+
136
+ win.set_client_size(ltd.x, -1)
137
+ win.layout
138
+
139
+ child.each_with_index do |c, j|
140
+ assert_equal(ltd.sizes[j], c.size.x,
141
+ "test #{i}, permutation #{p}: wrong size for child #{j} for total size #{ltd.x}")
142
+ end
143
+
144
+ # don't try other permutations if explicitly disabled
145
+ break if ltd.dont_permute
146
+ end
147
+ end
148
+ end
149
+
150
+ def test_min_size
151
+ child = Wx::Window.new(win, Wx::ID_ANY)
152
+ child.set_initial_size([10, -1])
153
+ sizer.add(child)
154
+
155
+ # Setting minimal size explicitly must make get_min_size() return at least
156
+ # this size even if it needs a much smaller one.
157
+ sizer.set_min_size(100, 0)
158
+ assert(sizer.get_min_size.x == 100)
159
+
160
+ sizer.layout
161
+ assert(sizer.min_size.x == 100)
162
+ end
163
+
164
+ end
@@ -1,3 +1,6 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
1
4
 
2
5
  require_relative './lib/wxapp_runner'
3
6