wxruby3 0.9.1-x64-mingw-ucrt → 0.9.3-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 (740) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/INSTALL.md +35 -29
  4. data/README.md +24 -15
  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/aui/aui_tab_ctrl.rb +18 -0
  21. data/lib/wx/aui/auinotebook.rb +6 -2
  22. data/lib/wx/aui/require.rb +1 -0
  23. data/lib/wx/core/app.rb +2 -2
  24. data/lib/wx/core/bitmap_combobox.rb +17 -21
  25. data/lib/wx/core/collapsible_pane.rb +1 -1
  26. data/lib/wx/core/combobox.rb +13 -3
  27. data/lib/wx/core/controlwithitems.rb +40 -128
  28. data/lib/wx/core/enum.rb +17 -1
  29. data/lib/wx/core/event.rb +6 -1
  30. data/lib/wx/core/events/evt_list.rb +5 -4
  31. data/lib/wx/core/evthandler.rb +8 -2
  32. data/lib/wx/core/generic_validator.rb +312 -0
  33. data/lib/wx/core/listbox.rb +2 -2
  34. data/lib/wx/core/log.rb +1 -1
  35. data/lib/wx/core/menu.rb +10 -0
  36. data/lib/wx/core/notebook.rb +6 -2
  37. data/lib/wx/core/owner_drawn_combobox.rb +45 -0
  38. data/lib/wx/core/size.rb +4 -0
  39. data/lib/wx/core/sizer.rb +12 -2
  40. data/lib/wx/core/standard_paths.rb +22 -0
  41. data/lib/wx/core/task_bar_button.rb +19 -0
  42. data/lib/wx/core/text_entry.rb +4 -1
  43. data/lib/wx/core/textctrl.rb +11 -1
  44. data/lib/wx/core/{treectrl.rb → tree_ctrl.rb} +31 -12
  45. data/lib/wx/core/validator.rb +70 -5
  46. data/lib/wx/core/window.rb +13 -7
  47. data/lib/wx/doc/app.rb +48 -38
  48. data/lib/wx/doc/art_locator.rb +48 -43
  49. data/lib/wx/doc/aui/auimanager.rb +16 -8
  50. data/lib/wx/doc/aui/auinotebook.rb +20 -5
  51. data/lib/wx/doc/clipboard.rb +11 -7
  52. data/lib/wx/doc/colour_dialog.rb +14 -10
  53. data/lib/wx/doc/comboctrl.rb +18 -0
  54. data/lib/wx/doc/controlwithitems.rb +34 -8
  55. data/lib/wx/doc/data_object.rb +2 -2
  56. data/lib/wx/doc/date_picker_ctrl.rb +23 -0
  57. data/lib/wx/doc/editable_listbox.rb +44 -0
  58. data/lib/wx/doc/enum.rb +15 -0
  59. data/lib/wx/doc/event.rb +12 -0
  60. data/lib/wx/doc/evthandler.rb +113 -108
  61. data/lib/wx/doc/extra/12_client_data.md +89 -0
  62. data/lib/wx/doc/extra/13_validators.md +139 -0
  63. data/lib/wx/doc/font.rb +1 -0
  64. data/lib/wx/doc/gc_dc.rb +6 -1
  65. data/lib/wx/doc/gdi_common.rb +4 -0
  66. data/lib/wx/doc/gen/about_dialog_info.rb +26 -2
  67. data/lib/wx/doc/gen/accelerator.rb +19 -4
  68. data/lib/wx/doc/gen/accessible.rb +48 -47
  69. data/lib/wx/doc/gen/activity_indicator.rb +10 -4
  70. data/lib/wx/doc/gen/animation.rb +19 -3
  71. data/lib/wx/doc/gen/animation_ctrl.rb +16 -7
  72. data/lib/wx/doc/gen/any_button.rb +22 -1
  73. data/lib/wx/doc/gen/app.rb +41 -5
  74. data/lib/wx/doc/gen/app_traits.rb +65 -15
  75. data/lib/wx/doc/gen/art_provider.rb +33 -7
  76. data/lib/wx/doc/gen/aui/aui_dock_art.rb +18 -3
  77. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +2 -0
  78. data/lib/wx/doc/gen/aui/aui_manager.rb +35 -8
  79. data/lib/wx/doc/gen/aui/aui_manager_event.rb +11 -4
  80. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +4 -0
  81. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +3 -0
  82. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +8 -1
  83. data/lib/wx/doc/gen/aui/aui_notebook.rb +31 -7
  84. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +5 -4
  85. data/lib/wx/doc/gen/aui/aui_pane_info.rb +38 -2
  86. data/lib/wx/doc/gen/aui/aui_tab_art.rb +9 -3
  87. data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +2 -1
  88. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +20 -6
  89. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +4 -2
  90. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +5 -7
  91. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +5 -1
  92. data/lib/wx/doc/gen/aui/event_list.rb +164 -160
  93. data/lib/wx/doc/gen/banner_window.rb +8 -1
  94. data/lib/wx/doc/gen/bitmap.rb +94 -16
  95. data/lib/wx/doc/gen/bitmap_button.rb +16 -8
  96. data/lib/wx/doc/gen/bitmap_combo_box.rb +20 -10
  97. data/lib/wx/doc/gen/book_ctrl_base.rb +31 -4
  98. data/lib/wx/doc/gen/book_ctrl_event.rb +9 -3
  99. data/lib/wx/doc/gen/box_sizer.rb +5 -1
  100. data/lib/wx/doc/gen/brush.rb +20 -2
  101. data/lib/wx/doc/gen/busy_info.rb +10 -2
  102. data/lib/wx/doc/gen/button.rb +31 -11
  103. data/lib/wx/doc/gen/calculate_layout_event.rb +5 -3
  104. data/lib/wx/doc/gen/calendar_ctrl.rb +38 -13
  105. data/lib/wx/doc/gen/calendar_date_attr.rb +2 -1
  106. data/lib/wx/doc/gen/calendar_event.rb +5 -2
  107. data/lib/wx/doc/gen/caret.rb +3 -1
  108. data/lib/wx/doc/gen/check_box.rb +17 -7
  109. data/lib/wx/doc/gen/check_list_box.rb +8 -6
  110. data/lib/wx/doc/gen/choice.rb +28 -9
  111. data/lib/wx/doc/gen/choicebook.rb +7 -7
  112. data/lib/wx/doc/gen/client_dc.rb +6 -2
  113. data/lib/wx/doc/gen/clipboard.rb +16 -3
  114. data/lib/wx/doc/gen/collapsible_pane.rb +9 -7
  115. data/lib/wx/doc/gen/collapsible_pane_event.rb +3 -3
  116. data/lib/wx/doc/gen/colour.rb +28 -4
  117. data/lib/wx/doc/gen/colour_dialog.rb +15 -7
  118. data/lib/wx/doc/gen/colour_picker_ctrl.rb +13 -10
  119. data/lib/wx/doc/gen/colour_picker_event.rb +5 -5
  120. data/lib/wx/doc/gen/combo_box.rb +36 -14
  121. data/lib/wx/doc/gen/combo_ctrl.rb +117 -295
  122. data/lib/wx/doc/gen/command_link_button.rb +12 -5
  123. data/lib/wx/doc/gen/context_help_button.rb +13 -3
  124. data/lib/wx/doc/gen/control.rb +22 -8
  125. data/lib/wx/doc/gen/control_with_items.rb +45 -10
  126. data/lib/wx/doc/gen/core.rb +4 -4
  127. data/lib/wx/doc/gen/cursor.rb +10 -8
  128. data/lib/wx/doc/gen/data_format.rb +7 -1
  129. data/lib/wx/doc/gen/data_object.rb +42 -18
  130. data/lib/wx/doc/gen/date_event.rb +3 -2
  131. data/lib/wx/doc/gen/date_picker_ctrl.rb +18 -8
  132. data/lib/wx/doc/gen/dc.rb +238 -36
  133. data/lib/wx/doc/gen/defs.rb +51 -51
  134. data/lib/wx/doc/gen/dial_up_event.rb +2 -1
  135. data/lib/wx/doc/gen/dial_up_manager.rb +25 -5
  136. data/lib/wx/doc/gen/dialog.rb +72 -13
  137. data/lib/wx/doc/gen/dir_dialog.rb +22 -5
  138. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +2 -0
  139. data/lib/wx/doc/gen/dir_picker_ctrl.rb +14 -10
  140. data/lib/wx/doc/gen/drag_drop.rb +28 -7
  141. data/lib/wx/doc/gen/drag_image.rb +13 -2
  142. data/lib/wx/doc/gen/editable_list_box.rb +7 -5
  143. data/lib/wx/doc/gen/event.rb +57 -26
  144. data/lib/wx/doc/gen/event_blocker.rb +2 -3
  145. data/lib/wx/doc/gen/event_filter.rb +3 -0
  146. data/lib/wx/doc/gen/event_list.rb +1656 -1652
  147. data/lib/wx/doc/gen/events.rb +305 -173
  148. data/lib/wx/doc/gen/evt_handler.rb +49 -3
  149. data/lib/wx/doc/gen/ext_help_controller.rb +10 -1
  150. data/lib/wx/doc/gen/file_ctrl.rb +28 -10
  151. data/lib/wx/doc/gen/file_ctrl_event.rb +7 -4
  152. data/lib/wx/doc/gen/file_dialog.rb +44 -14
  153. data/lib/wx/doc/gen/file_dialog_custom_control.rb +19 -0
  154. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +11 -3
  155. data/lib/wx/doc/gen/file_dir_picker_event.rb +4 -4
  156. data/lib/wx/doc/gen/file_picker_ctrl.rb +12 -9
  157. data/lib/wx/doc/gen/file_system.rb +54 -15
  158. data/lib/wx/doc/gen/find_dialog_event.rb +6 -4
  159. data/lib/wx/doc/gen/find_replace_data.rb +2 -1
  160. data/lib/wx/doc/gen/find_replace_dialog.rb +4 -1
  161. data/lib/wx/doc/gen/flex_grid_sizer.rb +13 -1
  162. data/lib/wx/doc/gen/font.rb +103 -20
  163. data/lib/wx/doc/gen/font_data.rb +16 -3
  164. data/lib/wx/doc/gen/font_dialog.rb +6 -1
  165. data/lib/wx/doc/gen/font_picker_ctrl.rb +14 -7
  166. data/lib/wx/doc/gen/font_picker_event.rb +3 -3
  167. data/lib/wx/doc/gen/frame.rb +73 -15
  168. data/lib/wx/doc/gen/fs_file.rb +39 -10
  169. data/lib/wx/doc/gen/gauge.rb +19 -8
  170. data/lib/wx/doc/gen/gb_sizer_item.rb +5 -1
  171. data/lib/wx/doc/gen/gcdc.rb +3 -2
  172. data/lib/wx/doc/gen/gdi_common.rb +80 -11
  173. data/lib/wx/doc/gen/gdi_object.rb +1 -1
  174. data/lib/wx/doc/gen/generic_dir_ctrl.rb +13 -7
  175. data/lib/wx/doc/gen/graphics_context.rb +86 -10
  176. data/lib/wx/doc/gen/graphics_object.rb +35 -6
  177. data/lib/wx/doc/gen/grid/event_list.rb +168 -164
  178. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +3 -0
  179. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +16 -3
  180. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +1 -1
  181. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +2 -1
  182. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +2 -1
  183. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +1 -1
  184. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +2 -1
  185. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +2 -1
  186. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +2 -1
  187. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +2 -1
  188. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +10 -1
  189. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +2 -1
  190. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +2 -1
  191. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +1 -1
  192. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +2 -1
  193. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +2 -1
  194. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +1 -1
  195. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +7 -1
  196. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +1 -1
  197. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +1 -1
  198. data/lib/wx/doc/gen/grid/grid_ctrl.rb +256 -12
  199. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +6 -4
  200. data/lib/wx/doc/gen/grid/grid_event.rb +6 -4
  201. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +4 -4
  202. data/lib/wx/doc/gen/grid/grid_size_event.rb +4 -4
  203. data/lib/wx/doc/gen/grid/grid_string_table.rb +8 -0
  204. data/lib/wx/doc/gen/grid/grid_table_base.rb +28 -3
  205. data/lib/wx/doc/gen/grid/grid_table_message.rb +2 -0
  206. data/lib/wx/doc/gen/grid_bag_sizer.rb +21 -7
  207. data/lib/wx/doc/gen/grid_sizer.rb +11 -1
  208. data/lib/wx/doc/gen/gui_event_loop.rb +13 -3
  209. data/lib/wx/doc/gen/header_ctrl.rb +110 -11
  210. data/lib/wx/doc/gen/header_ctrl_event.rb +4 -2
  211. data/lib/wx/doc/gen/help_controller.rb +14 -3
  212. data/lib/wx/doc/gen/help_provider.rb +22 -4
  213. data/lib/wx/doc/gen/html/event_list.rb +41 -37
  214. data/lib/wx/doc/gen/html/html_cell.rb +48 -6
  215. data/lib/wx/doc/gen/html/html_cell_event.rb +5 -4
  216. data/lib/wx/doc/gen/html/html_easy_printing.rb +20 -3
  217. data/lib/wx/doc/gen/html/html_help_controller.rb +26 -2
  218. data/lib/wx/doc/gen/html/html_help_data.rb +8 -1
  219. data/lib/wx/doc/gen/html/html_help_window.rb +9 -1
  220. data/lib/wx/doc/gen/html/html_link_event.rb +3 -3
  221. data/lib/wx/doc/gen/html/html_list_box.rb +54 -16
  222. data/lib/wx/doc/gen/html/html_printout.rb +7 -1
  223. data/lib/wx/doc/gen/html/html_window.rb +43 -6
  224. data/lib/wx/doc/gen/hyperlink_ctrl.rb +9 -8
  225. data/lib/wx/doc/gen/hyperlink_event.rb +3 -3
  226. data/lib/wx/doc/gen/icon.rb +23 -29
  227. data/lib/wx/doc/gen/icon_location.rb +1 -1
  228. data/lib/wx/doc/gen/image.rb +143 -20
  229. data/lib/wx/doc/gen/image_list.rb +25 -6
  230. data/lib/wx/doc/gen/info_bar.rb +14 -2
  231. data/lib/wx/doc/gen/keyboard_state.rb +11 -1
  232. data/lib/wx/doc/gen/list_box.rb +46 -17
  233. data/lib/wx/doc/gen/list_ctrl.rb +165 -29
  234. data/lib/wx/doc/gen/list_event.rb +13 -4
  235. data/lib/wx/doc/gen/listbook.rb +7 -7
  236. data/lib/wx/doc/gen/locale.rb +68 -4
  237. data/lib/wx/doc/gen/log.rb +58 -12
  238. data/lib/wx/doc/gen/mdi_client_window.rb +11 -2
  239. data/lib/wx/doc/gen/mdi_frame.rb +51 -7
  240. data/lib/wx/doc/gen/media_ctrl.rb +43 -18
  241. data/lib/wx/doc/gen/media_event.rb +6 -4
  242. data/lib/wx/doc/gen/memory_dc.rb +16 -6
  243. data/lib/wx/doc/gen/menu.rb +81 -26
  244. data/lib/wx/doc/gen/menu_bar.rb +74 -15
  245. data/lib/wx/doc/gen/menu_item.rb +67 -19
  246. data/lib/wx/doc/gen/message_dialog.rb +17 -8
  247. data/lib/wx/doc/gen/mini_frame.rb +14 -5
  248. data/lib/wx/doc/gen/mirror_dc.rb +1 -2
  249. data/lib/wx/doc/gen/mouse_state.rb +1 -1
  250. data/lib/wx/doc/gen/multi_choice_dialog.rb +9 -4
  251. data/lib/wx/doc/gen/non_owned_window.rb +4 -1
  252. data/lib/wx/doc/gen/notebook.rb +27 -9
  253. data/lib/wx/doc/gen/num_validator.rb +37 -0
  254. data/lib/wx/doc/gen/number_entry_dialog.rb +5 -1
  255. data/lib/wx/doc/gen/object.rb +3 -1
  256. data/lib/wx/doc/gen/owner_drawn_combo_box.rb +340 -0
  257. data/lib/wx/doc/gen/paint_dc.rb +1 -1
  258. data/lib/wx/doc/gen/palette.rb +5 -1
  259. data/lib/wx/doc/gen/panel.rb +25 -8
  260. data/lib/wx/doc/gen/pen.rb +46 -8
  261. data/lib/wx/doc/gen/pg/event_list.rb +97 -93
  262. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +4 -1
  263. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +12 -1
  264. data/lib/wx/doc/gen/pg/pg_cell.rb +11 -3
  265. data/lib/wx/doc/gen/pg/pg_editor.rb +161 -16
  266. data/lib/wx/doc/gen/pg/pg_multi_button.rb +3 -2
  267. data/lib/wx/doc/gen/pg/pg_properties.rb +632 -83
  268. data/lib/wx/doc/gen/pg/pg_property.rb +381 -77
  269. data/lib/wx/doc/gen/pg/pg_validation_info.rb +11 -4
  270. data/lib/wx/doc/gen/pg/property_grid.rb +123 -20
  271. data/lib/wx/doc/gen/pg/property_grid_event.rb +41 -9
  272. data/lib/wx/doc/gen/pg/property_grid_interface.rb +273 -34
  273. data/lib/wx/doc/gen/pg/property_grid_manager.rb +62 -10
  274. data/lib/wx/doc/gen/pg/property_grid_page.rb +33 -8
  275. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +18 -4
  276. data/lib/wx/doc/gen/picker_base.rb +22 -5
  277. data/lib/wx/doc/gen/platform_info.rb +35 -9
  278. data/lib/wx/doc/gen/popup_window.rb +7 -5
  279. data/lib/wx/doc/gen/progress_dialog.rb +5 -0
  280. data/lib/wx/doc/gen/property_sheet_dialog.rb +20 -4
  281. data/lib/wx/doc/gen/prt/event_list.rb +8 -4
  282. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +3 -1
  283. data/lib/wx/doc/gen/prt/post_script_dc.rb +3 -2
  284. data/lib/wx/doc/gen/prt/preview_frame.rb +5 -1
  285. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +4 -0
  286. data/lib/wx/doc/gen/prt/print_data.rb +31 -3
  287. data/lib/wx/doc/gen/prt/print_dialog.rb +5 -1
  288. data/lib/wx/doc/gen/prt/printer.rb +87 -11
  289. data/lib/wx/doc/gen/prt/printer_dc.rb +3 -1
  290. data/lib/wx/doc/gen/query_layout_info_event.rb +10 -3
  291. data/lib/wx/doc/gen/radio_box.rb +28 -10
  292. data/lib/wx/doc/gen/radio_button.rb +22 -9
  293. data/lib/wx/doc/gen/rbn/event_list.rb +127 -123
  294. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +82 -3
  295. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +26 -4
  296. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +3 -2
  297. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +50 -12
  298. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +3 -2
  299. data/lib/wx/doc/gen/rbn/ribbon_control.rb +11 -1
  300. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +21 -11
  301. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +2 -2
  302. data/lib/wx/doc/gen/rbn/ribbon_page.rb +12 -1
  303. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +16 -4
  304. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +3 -3
  305. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +27 -3
  306. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +3 -1
  307. data/lib/wx/doc/gen/rearrange_ctrl.rb +5 -2
  308. data/lib/wx/doc/gen/rearrange_list.rb +12 -4
  309. data/lib/wx/doc/gen/region.rb +104 -17
  310. data/lib/wx/doc/gen/region_iterator.rb +1 -1
  311. data/lib/wx/doc/gen/rtc/event_list.rb +116 -112
  312. data/lib/wx/doc/gen/rtc/rich_text_box.rb +27 -9
  313. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +45 -11
  314. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +1 -1
  315. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +23 -14
  316. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +84 -7
  317. data/lib/wx/doc/gen/rtc/rich_text_event.rb +8 -4
  318. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +8 -2
  319. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +8 -3
  320. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +4 -2
  321. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +6 -3
  322. data/lib/wx/doc/gen/rtc/rich_text_image.rb +7 -2
  323. data/lib/wx/doc/gen/rtc/rich_text_object.rb +82 -17
  324. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +54 -11
  325. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +15 -2
  326. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +14 -9
  327. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +4 -1
  328. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +4 -3
  329. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +2 -2
  330. data/lib/wx/doc/gen/sash_event.rb +13 -4
  331. data/lib/wx/doc/gen/sash_layout_window.rb +21 -4
  332. data/lib/wx/doc/gen/sash_window.rb +6 -4
  333. data/lib/wx/doc/gen/screen_dc.rb +1 -1
  334. data/lib/wx/doc/gen/scroll_bar.rb +28 -10
  335. data/lib/wx/doc/gen/scrolled_canvas.rb +48 -10
  336. data/lib/wx/doc/gen/scrolled_control.rb +48 -10
  337. data/lib/wx/doc/gen/scrolled_window.rb +48 -10
  338. data/lib/wx/doc/gen/search_ctrl.rb +14 -9
  339. data/lib/wx/doc/gen/simplebook.rb +8 -1
  340. data/lib/wx/doc/gen/single_choice_dialog.rb +9 -4
  341. data/lib/wx/doc/gen/sizer.rb +91 -16
  342. data/lib/wx/doc/gen/sizer_item.rb +21 -4
  343. data/lib/wx/doc/gen/slider.rb +50 -17
  344. data/lib/wx/doc/gen/spin_button.rb +24 -10
  345. data/lib/wx/doc/gen/spin_ctrl.rb +35 -9
  346. data/lib/wx/doc/gen/spin_ctrl_double.rb +13 -7
  347. data/lib/wx/doc/gen/spin_double_event.rb +6 -4
  348. data/lib/wx/doc/gen/spin_event.rb +4 -3
  349. data/lib/wx/doc/gen/splash_screen.rb +3 -2
  350. data/lib/wx/doc/gen/splitter_event.rb +12 -4
  351. data/lib/wx/doc/gen/splitter_window.rb +100 -18
  352. data/lib/wx/doc/gen/static_bitmap.rb +109 -7
  353. data/lib/wx/doc/gen/static_box.rb +15 -7
  354. data/lib/wx/doc/gen/static_box_sizer.rb +3 -2
  355. data/lib/wx/doc/gen/static_line.rb +7 -4
  356. data/lib/wx/doc/gen/static_text.rb +10 -6
  357. data/lib/wx/doc/gen/status_bar.rb +32 -8
  358. data/lib/wx/doc/gen/stc/event_list.rb +212 -208
  359. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +207 -13
  360. data/lib/wx/doc/gen/stc/styled_text_event.rb +31 -6
  361. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +7 -1
  362. data/lib/wx/doc/gen/svg_file_dc.rb +15 -7
  363. data/lib/wx/doc/gen/system_options.rb +14 -6
  364. data/lib/wx/doc/gen/system_settings.rb +9 -3
  365. data/lib/wx/doc/gen/task_bar_button.rb +324 -0
  366. data/lib/wx/doc/gen/task_bar_icon.rb +26 -8
  367. data/lib/wx/doc/gen/task_bar_icon_event.rb +5 -3
  368. data/lib/wx/doc/gen/text_attr.rb +47 -5
  369. data/lib/wx/doc/gen/text_ctrl.rb +114 -25
  370. data/lib/wx/doc/gen/text_entry.rb +69 -11
  371. data/lib/wx/doc/gen/text_entry_dialog.rb +14 -2
  372. data/lib/wx/doc/gen/text_validator.rb +58 -9
  373. data/lib/wx/doc/gen/time_picker_ctrl.rb +11 -6
  374. data/lib/wx/doc/gen/timer.rb +14 -2
  375. data/lib/wx/doc/gen/timer_event.rb +2 -2
  376. data/lib/wx/doc/gen/tip_provider.rb +6 -1
  377. data/lib/wx/doc/gen/toggle_button.rb +73 -6
  378. data/lib/wx/doc/gen/tool_bar.rb +141 -25
  379. data/lib/wx/doc/gen/tool_tip.rb +41 -5
  380. data/lib/wx/doc/gen/toolbook.rb +6 -4
  381. data/lib/wx/doc/gen/top_level_window.rb +100 -23
  382. data/lib/wx/doc/gen/tree_ctrl.rb +89 -16
  383. data/lib/wx/doc/gen/tree_event.rb +9 -4
  384. data/lib/wx/doc/gen/treebook.rb +16 -4
  385. data/lib/wx/doc/gen/ui_action_simulator.rb +10 -2
  386. data/lib/wx/doc/gen/utils.rb +94 -7
  387. data/lib/wx/doc/gen/v_list_box.rb +27 -2
  388. data/lib/wx/doc/gen/v_scrolled_window.rb +21 -4
  389. data/lib/wx/doc/gen/validator.rb +10 -14
  390. data/lib/wx/doc/gen/variant.rb +7 -0
  391. data/lib/wx/doc/gen/window.rb +415 -57
  392. data/lib/wx/doc/gen/window_dc.rb +2 -1
  393. data/lib/wx/doc/gen/window_disabler.rb +6 -2
  394. data/lib/wx/doc/gen/with_images.rb +13 -2
  395. data/lib/wx/doc/gen/wizard.rb +22 -4
  396. data/lib/wx/doc/gen/wizard_event.rb +5 -4
  397. data/lib/wx/doc/gen/wizard_page.rb +7 -2
  398. data/lib/wx/doc/gen/wizard_page_simple.rb +5 -1
  399. data/lib/wx/doc/gen/wrap_sizer.rb +5 -1
  400. data/lib/wx/doc/gen/xml_node.rb +33 -4
  401. data/lib/wx/doc/gen/xml_resource.rb +40 -5
  402. data/lib/wx/doc/generic_validator.rb +95 -0
  403. data/lib/wx/doc/graphics_context.rb +1 -0
  404. data/lib/wx/doc/grid/grid.rb +22 -1
  405. data/lib/wx/doc/help_controller.rb +11 -7
  406. data/lib/wx/doc/html/html_help_controller.rb +12 -4
  407. data/lib/wx/doc/html/simple_html_listbox.rb +22 -0
  408. data/lib/wx/doc/list_ctrl.rb +33 -29
  409. data/lib/wx/doc/menu.rb +20 -0
  410. data/lib/wx/doc/notebook.rb +21 -0
  411. data/lib/wx/doc/num_validator.rb +387 -0
  412. data/lib/wx/doc/owner_drawn_combobox.rb +96 -0
  413. data/lib/wx/doc/pg/events.rb +13 -9
  414. data/lib/wx/doc/pg/numeric_property_validator.rb +33 -0
  415. data/lib/wx/doc/pg/pg_property.rb +18 -0
  416. data/lib/wx/doc/progress_dialog.rb +36 -32
  417. data/lib/wx/doc/prt/page_setup_dialog.rb +20 -12
  418. data/lib/wx/doc/prt/print_data.rb +13 -5
  419. data/lib/wx/doc/prt/print_dialog.rb +31 -23
  420. data/lib/wx/doc/prt/printer.rb +20 -12
  421. data/lib/wx/doc/radio_box.rb +19 -15
  422. data/lib/wx/doc/rbn/ribbon_bar.rb +13 -5
  423. data/lib/wx/doc/rbn/ribbon_button_bar.rb +13 -5
  424. data/lib/wx/doc/rbn/ribbon_gallery.rb +13 -5
  425. data/lib/wx/doc/rbn/ribbon_tool_bar.rb +13 -5
  426. data/lib/wx/doc/region_iterator.rb +32 -28
  427. data/lib/wx/doc/rtc/rich_text_composite_object.rb +24 -0
  428. data/lib/wx/doc/rtc/rich_text_ctrl.rb +24 -0
  429. data/lib/wx/doc/rtc/rich_text_paragraph.rb +24 -0
  430. data/lib/wx/doc/rtc/richtext_buffer.rb +27 -19
  431. data/lib/wx/doc/rtc/richtext_printing.rb +17 -9
  432. data/lib/wx/doc/rtc/richtext_style_sheet.rb +17 -9
  433. data/lib/wx/doc/sizer.rb +20 -0
  434. data/lib/wx/doc/static_bitmap.rb +25 -0
  435. data/lib/wx/doc/stc/styled_text_ctrl.rb +24 -0
  436. data/lib/wx/doc/stream.rb +39 -35
  437. data/lib/wx/doc/system_settings.rb +30 -26
  438. data/lib/wx/doc/text_validator.rb +23 -9
  439. data/lib/wx/doc/textctrl.rb +16 -0
  440. data/lib/wx/doc/tree_ctrl.rb +95 -0
  441. data/lib/wx/doc/treebook.rb +9 -5
  442. data/lib/wx/doc/v_list_box.rb +9 -5
  443. data/lib/wx/doc/validator.rb +113 -0
  444. data/lib/wx/doc/variant.rb +164 -160
  445. data/lib/wx/doc/window.rb +87 -47
  446. data/lib/wx/doc/window_disabler.rb +10 -6
  447. data/lib/wx/grid/grid.rb +27 -4
  448. data/lib/wx/html/events/evt_list.rb +0 -10
  449. data/lib/wx/html/simple_html_listbox.rb +24 -91
  450. data/lib/wx/keyword_defs.rb +34 -2
  451. data/lib/wx/pg/pg_property.rb +22 -0
  452. data/lib/wx/rbn/ribbon_gallery.rb +0 -21
  453. data/lib/wx/rtc/require.rb +3 -0
  454. data/lib/wx/rtc/rich_text_composite_object.rb +25 -0
  455. data/lib/wx/rtc/rich_text_ctrl.rb +25 -0
  456. data/lib/wx/rtc/rich_text_paragraph.rb +25 -0
  457. data/lib/wx/stc/require.rb +1 -0
  458. data/lib/wx/stc/styled_text_ctrl.rb +25 -0
  459. data/lib/wx/version.rb +1 -1
  460. data/lib/wxruby_aui.so +0 -0
  461. data/lib/wxruby_core.so +0 -0
  462. data/lib/wxruby_grid.so +0 -0
  463. data/lib/wxruby_html.so +0 -0
  464. data/lib/wxruby_pg.so +0 -0
  465. data/lib/wxruby_prt.so +0 -0
  466. data/lib/wxruby_rbn.so +0 -0
  467. data/lib/wxruby_rtc.so +0 -0
  468. data/lib/wxruby_stc.so +0 -0
  469. data/rakelib/lib/config/linux.rb +0 -3
  470. data/rakelib/lib/config/macosx.rb +2 -2
  471. data/rakelib/lib/config/mingw.rb +13 -1
  472. data/rakelib/lib/config/unixish.rb +1 -1
  473. data/rakelib/lib/config.rb +14 -4
  474. data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +74 -2
  475. data/rakelib/yard/templates/default/fulldoc/html/full_list.erb +38 -0
  476. data/rakelib/yard/templates/default/fulldoc/html/setup.rb +39 -0
  477. data/rakelib/yard/templates/default/tags/html/wxrb_require.erb +10 -0
  478. data/rakelib/yard/templates/default/tags/setup.rb +16 -0
  479. data/rakelib/yard/yard-custom-templates.rb +3 -0
  480. data/samples/aui/aui.rb +1237 -1233
  481. data/samples/calendar/calendar.rb +293 -289
  482. data/samples/controls/get_item_sample.rb +83 -79
  483. data/samples/controls/htlbox.rb +331 -327
  484. data/samples/dialogs/dialogs.rb +682 -694
  485. data/samples/dialogs/wizard.rb +52 -55
  486. data/samples/dragdrop/dragdrop.rb +146 -142
  487. data/samples/drawing/bitmap.rb +29 -26
  488. data/samples/drawing/bitmap_image.rb +84 -80
  489. data/samples/drawing/graphics_drawing.rb +209 -205
  490. data/samples/drawing/image_prt.rb +344 -340
  491. data/samples/drawing/maths_images.rb +18 -1
  492. data/samples/drawing/rmagic_bitmap_image.rb +88 -84
  493. data/samples/etc/caret.rb +306 -0
  494. data/samples/etc/miniframe.rb +65 -60
  495. data/samples/etc/sash.rb +109 -105
  496. data/samples/etc/scrollwin.rb +86 -80
  497. data/samples/etc/system_settings.rb +216 -209
  498. data/samples/event/activation.rb +72 -67
  499. data/samples/event/event.rb +160 -153
  500. data/samples/event/threaded.rb +8 -1
  501. data/samples/event/update_ui_event.rb +67 -60
  502. data/samples/grid/grid.rb +188 -181
  503. data/samples/grid/gridtablebase.rb +136 -129
  504. data/samples/html/html.rb +208 -204
  505. data/samples/mdi/mdi.rb +59 -54
  506. data/samples/minimal/minimal.rb +54 -51
  507. data/samples/minimal/nothing.rb +1 -0
  508. data/samples/printing/printing.rb +367 -377
  509. data/samples/printing/printing2.rb +203 -198
  510. data/samples/propgrid/propgrid.rb +2312 -2308
  511. data/samples/propgrid/propgrid_minimal.rb +57 -50
  512. data/samples/ribbon/ribbon.rb +780 -774
  513. data/samples/sampler/ext.rb +0 -33
  514. data/samples/sampler/sample.rb +4 -9
  515. data/samples/sampler.rb +1 -1
  516. data/samples/splash/splash.rb +118 -116
  517. data/samples/text/rich_textctrl.rb +207 -201
  518. data/samples/text/richtext.rb +1409 -1405
  519. data/samples/text/scintilla.rb +137 -128
  520. data/samples/text/textctrl.rb +89 -83
  521. data/samples/text/unicode.rb +175 -168
  522. data/samples/treectrl/treectrl.rb +1430 -1426
  523. data/samples/widgets/activityindicator.rb +95 -0
  524. data/samples/widgets/art/widgets/activityindicator.xpm +278 -0
  525. data/samples/widgets/art/widgets/bmpbtn.xpm +37 -0
  526. data/samples/widgets/art/widgets/bmpcombobox.xpm +54 -0
  527. data/samples/widgets/art/widgets/button.xpm +54 -0
  528. data/samples/widgets/art/widgets/checkbox.xpm +54 -0
  529. data/samples/{bigdemo/icons → widgets/art/widgets}/choice.xpm +1 -1
  530. data/samples/widgets/art/widgets/choicebk.xpm +54 -0
  531. data/samples/widgets/art/widgets/clrpicker.xpm +193 -0
  532. data/samples/widgets/art/widgets/combobox.xpm +54 -0
  533. data/samples/widgets/art/widgets/datepick.xpm +200 -0
  534. data/samples/widgets/art/widgets/dirctrl.xpm +54 -0
  535. data/samples/widgets/art/widgets/dirpicker.xpm +213 -0
  536. data/samples/widgets/art/widgets/filepicker.xpm +214 -0
  537. data/samples/widgets/art/widgets/fontpicker.xpm +185 -0
  538. data/samples/widgets/art/widgets/gauge.xpm +54 -0
  539. data/samples/widgets/art/widgets/header.xpm +54 -0
  540. data/samples/widgets/art/widgets/hyperlnk.xpm +54 -0
  541. data/samples/widgets/art/widgets/listbook.xpm +54 -0
  542. data/samples/widgets/art/widgets/listbox.xpm +54 -0
  543. data/samples/widgets/art/widgets/native.xpm +81 -0
  544. data/samples/widgets/art/widgets/notebook.xpm +54 -0
  545. data/samples/widgets/art/widgets/odcombobox.xpm +54 -0
  546. data/samples/widgets/art/widgets/radiobox.xpm +54 -0
  547. data/samples/widgets/art/widgets/scrolbar.xpm +54 -0
  548. data/samples/widgets/art/widgets/slider.xpm +54 -0
  549. data/samples/widgets/art/widgets/spinbtn.xpm +40 -0
  550. data/samples/widgets/art/widgets/statbmp.xpm +40 -0
  551. data/samples/widgets/art/widgets/statbox.xpm +54 -0
  552. data/samples/widgets/art/widgets/stattext.xpm +54 -0
  553. data/samples/widgets/art/widgets/text.xpm +54 -0
  554. data/samples/widgets/art/widgets/timepick.xpm +207 -0
  555. data/samples/widgets/art/widgets/toggle.xpm +54 -0
  556. data/samples/widgets/art/widgets/toucan.png +0 -0
  557. data/samples/widgets/bmpcombobox.rb +651 -0
  558. data/samples/widgets/button.rb +462 -0
  559. data/samples/widgets/checkbox.rb +211 -0
  560. data/samples/widgets/choice.rb +287 -0
  561. data/samples/widgets/clrpicker.rb +156 -0
  562. data/samples/widgets/combobox.rb +516 -0
  563. data/samples/widgets/datepick.rb +215 -0
  564. data/samples/widgets/dirctrl.rb +265 -0
  565. data/samples/widgets/dirpicker.rb +158 -0
  566. data/samples/widgets/editlbox.rb +122 -0
  567. data/samples/widgets/filectrl.rb +216 -0
  568. data/samples/widgets/filepicker.rb +214 -0
  569. data/samples/widgets/fontpicker.rb +135 -0
  570. data/samples/widgets/gauge.rb +311 -0
  571. data/samples/widgets/headerctrl.rb +236 -0
  572. data/samples/widgets/hyperlink.rb +203 -0
  573. data/samples/widgets/itemcontainer.rb +185 -0
  574. data/samples/widgets/listbox.rb +473 -0
  575. data/samples/widgets/notebook.rb +488 -0
  576. data/samples/widgets/odcombobox.rb +608 -0
  577. data/samples/widgets/radiobox.rb +328 -0
  578. data/samples/widgets/searchctrl.rb +159 -0
  579. data/samples/widgets/slider.rb +594 -0
  580. data/samples/widgets/spinbtn.rb +443 -0
  581. data/samples/widgets/statbmp.rb +130 -0
  582. data/samples/widgets/static.rb +436 -0
  583. data/samples/widgets/textctrl.rb +700 -0
  584. data/samples/widgets/timepick.rb +148 -0
  585. data/samples/widgets/tn_widgets.png +0 -0
  586. data/samples/widgets/toggle.rb +385 -0
  587. data/samples/widgets/widgets.rb +1233 -0
  588. data/samples/xrc/custom_xrc_sample.rb +47 -41
  589. data/samples/xrc/xrc_sample.rb +53 -47
  590. data/tests/media/beep_lo.wav +0 -0
  591. data/tests/test_event_handling.rb +52 -34
  592. data/tests/test_events.rb +7 -0
  593. data/tests/test_item_data.rb +24 -0
  594. data/tests/test_list_ctrl.rb +1 -1
  595. data/tests/test_media_ctrl.rb +38 -0
  596. data/tests/test_menu.rb +69 -0
  597. data/tests/test_pg.rb +27 -0
  598. data/tests/test_richtext.rb +45 -0
  599. data/tests/test_sizer.rb +59 -0
  600. data/tests/test_std_controls.rb +42 -1
  601. data/tests/test_styled_text_ctrl.rb +46 -0
  602. data/tests/test_tree_ctrl.rb +138 -0
  603. data/tests/test_validators.rb +805 -0
  604. data/tests/test_window.rb +12 -0
  605. data/tests/testapp_noframe.rb +1 -1
  606. metadata +113 -138
  607. data/lib/wx/core/choice.rb +0 -14
  608. data/lib/wx/core/combo_ctrl.rb +0 -110
  609. data/samples/bigdemo/About.rbw +0 -39
  610. data/samples/bigdemo/ColorPanel.rbw +0 -23
  611. data/samples/bigdemo/GridSimple.rbw +0 -78
  612. data/samples/bigdemo/MDIDemo.rbw +0 -57
  613. data/samples/bigdemo/PopupMenu.rbw +0 -146
  614. data/samples/bigdemo/ShapedWindow.rbw +0 -128
  615. data/samples/bigdemo/Sizers.rbw +0 -541
  616. data/samples/bigdemo/bigdemo.rb +0 -817
  617. data/samples/bigdemo/demoTemplate.rbw +0 -33
  618. data/samples/bigdemo/helpfile.htb +0 -0
  619. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  620. data/samples/bigdemo/icons/Test 015.png +0 -0
  621. data/samples/bigdemo/icons/choice.bmp +0 -0
  622. data/samples/bigdemo/icons/combo.bmp +0 -0
  623. data/samples/bigdemo/icons/combo.xpm +0 -27
  624. data/samples/bigdemo/icons/copy.xpm +0 -25
  625. data/samples/bigdemo/icons/cut.xpm +0 -24
  626. data/samples/bigdemo/icons/gauge.bmp +0 -0
  627. data/samples/bigdemo/icons/gauge.xpm +0 -27
  628. data/samples/bigdemo/icons/help.xpm +0 -25
  629. data/samples/bigdemo/icons/list.bmp +0 -0
  630. data/samples/bigdemo/icons/list.xpm +0 -27
  631. data/samples/bigdemo/icons/mondrian.ico +0 -0
  632. data/samples/bigdemo/icons/mondrian.xpm +0 -44
  633. data/samples/bigdemo/icons/new.xpm +0 -24
  634. data/samples/bigdemo/icons/ogl.ico +0 -0
  635. data/samples/bigdemo/icons/ogl.xpm +0 -45
  636. data/samples/bigdemo/icons/open.xpm +0 -26
  637. data/samples/bigdemo/icons/paste.bmp +0 -0
  638. data/samples/bigdemo/icons/paste.xpm +0 -38
  639. data/samples/bigdemo/icons/pointy.png +0 -0
  640. data/samples/bigdemo/icons/preview.xpm +0 -26
  641. data/samples/bigdemo/icons/print.xpm +0 -26
  642. data/samples/bigdemo/icons/radio.bmp +0 -0
  643. data/samples/bigdemo/icons/radio.xpm +0 -27
  644. data/samples/bigdemo/icons/robert.xpm +0 -415
  645. data/samples/bigdemo/icons/sashtest.ico +0 -0
  646. data/samples/bigdemo/icons/save.xpm +0 -25
  647. data/samples/bigdemo/icons/smiles.bmp +0 -0
  648. data/samples/bigdemo/icons/smiles.xpm +0 -39
  649. data/samples/bigdemo/icons/smiley.ico +0 -0
  650. data/samples/bigdemo/icons/smiley.xpm +0 -42
  651. data/samples/bigdemo/icons/stattext.xpm +0 -24
  652. data/samples/bigdemo/icons/test2.bmp +0 -0
  653. data/samples/bigdemo/icons/test2.png +0 -0
  654. data/samples/bigdemo/icons/test2.xpm +0 -79
  655. data/samples/bigdemo/icons/text.bmp +0 -0
  656. data/samples/bigdemo/icons/text.xpm +0 -27
  657. data/samples/bigdemo/icons/tog1.bmp +0 -0
  658. data/samples/bigdemo/icons/tog1.xpm +0 -38
  659. data/samples/bigdemo/icons/tog2.bmp +0 -0
  660. data/samples/bigdemo/icons/tog2.xpm +0 -38
  661. data/samples/bigdemo/icons/wxruby-128x128.png +0 -0
  662. data/samples/bigdemo/icons/wxwin.ico +0 -0
  663. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  664. data/samples/bigdemo/icons/wxwin16x16.xpm +0 -25
  665. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  666. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  667. data/samples/bigdemo/run.rb +0 -98
  668. data/samples/bigdemo/tips.txt +0 -7
  669. data/samples/bigdemo/utils.rb +0 -20
  670. data/samples/bigdemo/wxArtProvider.rbw +0 -282
  671. data/samples/bigdemo/wxBitmapButton.rbw +0 -65
  672. data/samples/bigdemo/wxButton.rbw +0 -64
  673. data/samples/bigdemo/wxCalendarCtrl.rbw +0 -59
  674. data/samples/bigdemo/wxCheckBox.rbw +0 -50
  675. data/samples/bigdemo/wxCheckListBox.rbw +0 -65
  676. data/samples/bigdemo/wxChoice.rbw +0 -47
  677. data/samples/bigdemo/wxChoicebook.rbw +0 -78
  678. data/samples/bigdemo/wxColourDialog.rbw +0 -33
  679. data/samples/bigdemo/wxComboBox.rbw +0 -77
  680. data/samples/bigdemo/wxCursor.rbw +0 -136
  681. data/samples/bigdemo/wxDialog.rbw +0 -74
  682. data/samples/bigdemo/wxDirDialog.rbw +0 -29
  683. data/samples/bigdemo/wxDragImage.rbw +0 -70
  684. data/samples/bigdemo/wxFileDialog.rbw +0 -37
  685. data/samples/bigdemo/wxFileDialog_Save.rbw +0 -35
  686. data/samples/bigdemo/wxFindReplaceDialog.rbw +0 -82
  687. data/samples/bigdemo/wxFontDialog.rbw +0 -200
  688. data/samples/bigdemo/wxFrame.rbw +0 -53
  689. data/samples/bigdemo/wxGauge.rbw +0 -65
  690. data/samples/bigdemo/wxGenericDirCtrl.rbw +0 -74
  691. data/samples/bigdemo/wxGrid.rbw +0 -66
  692. data/samples/bigdemo/wxHtmlHelpController.rbw +0 -52
  693. data/samples/bigdemo/wxListBox.rbw +0 -140
  694. data/samples/bigdemo/wxListCtrl_virtual.rbw +0 -112
  695. data/samples/bigdemo/wxMDIWindows.rbw +0 -50
  696. data/samples/bigdemo/wxMenu.rbw +0 -247
  697. data/samples/bigdemo/wxMessageDialog.rbw +0 -27
  698. data/samples/bigdemo/wxMiniFrame.rbw +0 -70
  699. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +0 -29
  700. data/samples/bigdemo/wxNotebook.rbw +0 -136
  701. data/samples/bigdemo/wxProgressDialog.rbw +0 -43
  702. data/samples/bigdemo/wxRadioBox.rbw +0 -72
  703. data/samples/bigdemo/wxRadioButton.rbw +0 -125
  704. data/samples/bigdemo/wxSashWindow.rbw +0 -141
  705. data/samples/bigdemo/wxScrolledMessageDialog.rbw +0 -57
  706. data/samples/bigdemo/wxScrolledWindow.rbw +0 -199
  707. data/samples/bigdemo/wxSingleChoiceDialog.rbw +0 -33
  708. data/samples/bigdemo/wxSlider.rbw +0 -42
  709. data/samples/bigdemo/wxSpinButton.rbw +0 -50
  710. data/samples/bigdemo/wxSpinCtrl.rbw +0 -51
  711. data/samples/bigdemo/wxSplitterWindow.rbw +0 -63
  712. data/samples/bigdemo/wxStaticBitmap.rbw +0 -47
  713. data/samples/bigdemo/wxStaticText.rbw +0 -55
  714. data/samples/bigdemo/wxStatusBar.rbw +0 -126
  715. data/samples/bigdemo/wxTextCtrl.rbw +0 -149
  716. data/samples/bigdemo/wxTextEntryDialog.rbw +0 -31
  717. data/samples/bigdemo/wxToggleButton.rbw +0 -49
  718. data/samples/bigdemo/wxToolBar.rbw +0 -131
  719. data/samples/bigdemo/wxTreeCtrl.rbw +0 -191
  720. data/samples/caret/caret.rb +0 -298
  721. data/samples/caret/mondrian.xpm +0 -44
  722. data/samples/controls/books.rb +0 -189
  723. data/samples/controls/choice.xpm +0 -27
  724. data/samples/controls/combo.xpm +0 -27
  725. data/samples/controls/controls.rb +0 -1099
  726. data/samples/controls/gauge.xpm +0 -27
  727. data/samples/controls/list.xpm +0 -27
  728. data/samples/controls/mondrian.ico +0 -0
  729. data/samples/controls/mondrian.xpm +0 -44
  730. data/samples/controls/radio.xpm +0 -27
  731. data/samples/controls/stattext.xpm +0 -24
  732. data/samples/controls/test2.bmp +0 -0
  733. data/samples/controls/text.xpm +0 -27
  734. data/samples/controls/tn_books.png +0 -0
  735. data/samples/controls/tn_controls.png +0 -0
  736. data/samples/etc/choice.rb +0 -87
  737. data/samples/etc/tn_choice.png +0 -0
  738. data/samples/text/mondrian.ico +0 -0
  739. data/samples/text/mondrian.xpm +0 -44
  740. /data/samples/{caret → etc}/tn_caret.png +0 -0
@@ -11,51 +11,57 @@
11
11
 
12
12
  require 'wx'
13
13
 
14
- # Basic Frame Class. This creates the dialog window
15
- class SimpleFrame < Wx::Frame
16
- def initialize
17
- super nil, :title => "Custom XRC Dialog Sample", :pos => [50, 50], :size => [300, 300]
18
-
19
- txt = "Choose 'Open Dialog' from the menu to see a dialog made with XRC"
20
- Wx::StaticText.new self, :label => txt, :pos => [20, 20]
21
-
22
- # Create a new menu
23
- self.menu_bar = Wx::MenuBar.new
24
- menu = Wx::Menu.new
25
- menu.append Wx::ID_OPEN, "Open Dialog"
26
- menu.append Wx::ID_EXIT, "Quit"
27
- menu_bar.append(menu,"File")
28
-
29
- # Assign the menu events
30
- evt_menu(Wx::ID_OPEN) { (dlg = $xml.load_dialog(self, 'SAMPLE_DIALOG').setup_dialog).show_modal; dlg.destroy }
31
- evt_menu(Wx::ID_EXIT) { close }
14
+ module XrcCustom
15
+
16
+ # Basic Frame Class. This creates the dialog window
17
+ class SimpleFrame < Wx::Frame
18
+ def initialize
19
+ super nil, :title => "Custom XRC Dialog Sample", :pos => [50, 50], :size => [300, 300]
20
+
21
+ self.icon = Wx.Icon(:sample, Wx::BITMAP_TYPE_XPM, art_path: File.join(__dir__, '..'))
22
+
23
+ txt = "Choose 'Open Dialog' from the menu to see a dialog made with XRC"
24
+ Wx::StaticText.new self, :label => txt, :pos => [20, 20]
25
+
26
+ # Create a new menu
27
+ self.menu_bar = Wx::MenuBar.new
28
+ menu = Wx::Menu.new
29
+ menu.append Wx::ID_OPEN, "Open Dialog"
30
+ menu.append Wx::ID_EXIT, "Quit"
31
+ menu_bar.append(menu,"File")
32
+
33
+ # Assign the menu events
34
+ evt_menu(Wx::ID_OPEN) { (dlg = $xml.load_dialog(self, 'SAMPLE_DIALOG').setup_dialog).show_modal; dlg.destroy }
35
+ evt_menu(Wx::ID_EXIT) { close }
36
+ end
32
37
  end
33
- end
34
38
 
35
- # Dialog subclass. The components within the dialog are loaded from XRC.
36
- class CustomDialog < Wx::Dialog
37
- def setup_dialog
38
- # Get the buttons. The xrcid method turns a string identifier
39
- # used in an xml file into a numeric identifier as used in
40
- # wxruby.
41
- @ok = find_window_by_id( Wx::xrcid('wxID_OK') )
42
- @cancel = find_window_by_id( Wx::xrcid('wxID_CANCEL') )
43
- @message = find_window_by_id( Wx::xrcid('SAMPLE_MESSAGE') )
44
-
45
- # Bind the buttons to event handlers
46
- evt_button(@ok) { end_modal(Wx::ID_OK) }
47
- evt_button(@cancel) { end_modal(Wx::ID_CANCEL) }
48
- evt_button(@message) do
49
- Wx::message_box("And now a message from our sponsors.")
39
+ # Dialog subclass. The components within the dialog are loaded from XRC.
40
+ class CustomDialog < Wx::Dialog
41
+ def setup_dialog
42
+ # Get the buttons. The xrcid method turns a string identifier
43
+ # used in an xml file into a numeric identifier as used in
44
+ # wxruby.
45
+ @ok = find_window_by_id( Wx::xrcid('wxID_OK') )
46
+ @cancel = find_window_by_id( Wx::xrcid('wxID_CANCEL') )
47
+ @message = find_window_by_id( Wx::xrcid('SAMPLE_MESSAGE') )
48
+
49
+ # Bind the buttons to event handlers
50
+ evt_button(@ok) { end_modal(Wx::ID_OK) }
51
+ evt_button(@cancel) { end_modal(Wx::ID_CANCEL) }
52
+ evt_button(@message) do
53
+ Wx::message_box("And now a message from our sponsors.")
54
+ end
55
+ self
50
56
  end
51
- self
52
57
  end
53
- end
54
58
 
55
- class CustomDialogXmlFactory < Wx::XmlSubclassFactory
56
- def create(subclass)
57
- subclass == 'CustomDialog' ? CustomDialog.new : nil
59
+ class CustomDialogXmlFactory < Wx::XmlSubclassFactory
60
+ def create(subclass)
61
+ subclass == 'CustomDialog' ? CustomDialog.new : nil
62
+ end
58
63
  end
64
+
59
65
  end
60
66
 
61
67
  module CustomXrcSample
@@ -71,13 +77,13 @@ module CustomXrcSample
71
77
 
72
78
  def self.activate
73
79
  # add the CustomDialog XML factory
74
- Wx::XmlResource.add_subclass_factory(CustomDialogXmlFactory.new)
80
+ Wx::XmlResource.add_subclass_factory(XrcCustom::CustomDialogXmlFactory.new)
75
81
  # Get a new resources object
76
82
  xrc_file = File.join( File.dirname(__FILE__), 'custom_dialog.xrc' )
77
83
  $xml = Wx::XmlResource.new(xrc_file)
78
84
 
79
85
  # Show the main frame.
80
- main = SimpleFrame.new
86
+ main = XrcCustom::SimpleFrame.new
81
87
  main.show(true)
82
88
  main
83
89
  end
@@ -11,56 +11,62 @@
11
11
 
12
12
  require 'wx'
13
13
 
14
- # Basic Frame Class. This creates the dialog window
15
- class SimpleFrame < Wx::Frame
16
- def initialize()
17
- super nil, :title => "XRC Dialog Sample", :pos => [50, 50], :size => [300, 300]
18
-
19
- txt = "Choose 'Open Dialog' from the menu to see a dialog made with XRC"
20
- Wx::StaticText.new self, :label => txt, :pos => [20, 20]
21
-
22
- # Create a new menu
23
- self.menu_bar = Wx::MenuBar.new
24
- menu = Wx::Menu.new
25
- menu.append Wx::ID_OPEN, "Open Dialog"
26
- menu.append Wx::ID_EXIT, "Quit"
27
- menu_bar.append(menu,"File")
28
-
29
- # Assign the menu events
30
- evt_menu(Wx::ID_OPEN) { SimpleDialog(self) }
31
- evt_menu(Wx::ID_EXIT) { close }
14
+ module Xrc
15
+
16
+ # Basic Frame Class. This creates the dialog window
17
+ class SimpleFrame < Wx::Frame
18
+ def initialize()
19
+ super nil, :title => "XRC Dialog Sample", :pos => [50, 50], :size => [300, 300]
20
+
21
+ self.icon = Wx.Icon(:sample, Wx::BITMAP_TYPE_XPM, art_path: File.join(__dir__, '..'))
22
+
23
+ txt = "Choose 'Open Dialog' from the menu to see a dialog made with XRC"
24
+ Wx::StaticText.new self, :label => txt, :pos => [20, 20]
25
+
26
+ # Create a new menu
27
+ self.menu_bar = Wx::MenuBar.new
28
+ menu = Wx::Menu.new
29
+ menu.append Wx::ID_OPEN, "Open Dialog"
30
+ menu.append Wx::ID_EXIT, "Quit"
31
+ menu_bar.append(menu,"File")
32
+
33
+ # Assign the menu events
34
+ evt_menu(Wx::ID_OPEN) { Xrc.SimpleDialog(self) }
35
+ evt_menu(Wx::ID_EXIT) { close }
36
+ end
32
37
  end
33
- end
34
38
 
35
- # Dialog subclass. The components within the dialog are loaded from XRC.
36
- class SimpleDialog < Wx::Dialog
37
- def initialize(parent)
38
- # To load a layout defined in XRC into a Ruby subclass of Dialog,
39
- # first call the empty constructor. All the details of size,
40
- # title, position and so on are loaded from the XRC by the call to
41
- # load_frame_subclass. Using a non-empty constructor will cause
42
- # errors on GTK.
43
- super()
44
-
45
- # Load the dialog from XRC. We define $xml in on_init.
46
- # We could use XmlResource.get() over and over again, but
47
- # honestly, thats just too much work.
48
- $xml.load_dialog_subclass(self,parent,'SAMPLE_DIALOG')
49
-
50
- # Get the buttons. The xrcid method turns a string identifier
51
- # used in an xml file into a numeric identifier as used in
52
- # wxruby.
53
- @ok = find_window_by_id( Wx::xrcid('wxID_OK') )
54
- @cancel = find_window_by_id( Wx::xrcid('wxID_CANCEL') )
55
- @message = find_window_by_id( Wx::xrcid('SAMPLE_MESSAGE') )
56
-
57
- # Bind the buttons to event handlers
58
- evt_button(@ok) { end_modal(Wx::ID_OK) }
59
- evt_button(@cancel) { end_modal(Wx::ID_CANCEL) }
60
- evt_button(@message) do
61
- Wx::message_box("And now a message from our sponsors.")
39
+ # Dialog subclass. The components within the dialog are loaded from XRC.
40
+ class SimpleDialog < Wx::Dialog
41
+ def initialize(parent)
42
+ # To load a layout defined in XRC into a Ruby subclass of Dialog,
43
+ # first call the empty constructor. All the details of size,
44
+ # title, position and so on are loaded from the XRC by the call to
45
+ # load_frame_subclass. Using a non-empty constructor will cause
46
+ # errors on GTK.
47
+ super()
48
+
49
+ # Load the dialog from XRC. We define $xml in on_init.
50
+ # We could use XmlResource.get() over and over again, but
51
+ # honestly, that's just too much work.
52
+ $xml.load_dialog_subclass(self,parent,'SAMPLE_DIALOG')
53
+
54
+ # Get the buttons. The xrcid method turns a string identifier
55
+ # used in an xml file into a numeric identifier as used in
56
+ # wxruby.
57
+ @ok = find_window_by_id( Wx::xrcid('wxID_OK') )
58
+ @cancel = find_window_by_id( Wx::xrcid('wxID_CANCEL') )
59
+ @message = find_window_by_id( Wx::xrcid('SAMPLE_MESSAGE') )
60
+
61
+ # Bind the buttons to event handlers
62
+ evt_button(@ok) { end_modal(Wx::ID_OK) }
63
+ evt_button(@cancel) { end_modal(Wx::ID_CANCEL) }
64
+ evt_button(@message) do
65
+ Wx::message_box("And now a message from our sponsors.")
66
+ end
62
67
  end
63
68
  end
69
+
64
70
  end
65
71
 
66
72
  module XrcSample
@@ -79,7 +85,7 @@ module XrcSample
79
85
  $xml = Wx::XmlResource.new(xrc_file)
80
86
 
81
87
  # Show the main frame.
82
- main = SimpleFrame.new()
88
+ main = Xrc::SimpleFrame.new()
83
89
  main.show(true)
84
90
  main
85
91
  end
Binary file
@@ -13,10 +13,13 @@ class EventHandlingTests < Test::Unit::TestCase
13
13
  end
14
14
  end
15
15
 
16
+ CLIENT_DATA = {one: 'first'}
17
+
16
18
  class TestCmdEvent < Wx::CommandEvent
17
19
  EVT_TEST_CMD_EVENT = Wx::EvtHandler.register_class(self, nil, 'evt_test_cmd_event', 0)
18
20
  def initialize(id=0)
19
21
  super(EVT_TEST_CMD_EVENT, id)
22
+ set_client_object(CLIENT_DATA.dup) if id > 0
20
23
  end
21
24
  end
22
25
 
@@ -27,11 +30,18 @@ class EventHandlingTests < Test::Unit::TestCase
27
30
  super(parent)
28
31
  @test_event = false
29
32
  @test_cmd_event = false
33
+ @test_client_data = false
30
34
 
31
35
  evt_test_event { |evt| @test_event = true; evt.skip if evt.id > 0 }
32
- evt_test_cmd_event { |evt| @test_cmd_event = true; evt.skip if evt.id > 0 }
36
+ evt_test_cmd_event do |evt|
37
+ @test_cmd_event = true
38
+ if evt.id > 0
39
+ @test_client_data = (evt.get_client_data == CLIENT_DATA)
40
+ evt.skip
41
+ end
42
+ end
33
43
  end
34
- attr_reader :test_event, :test_cmd_event
44
+ attr_reader :test_event, :test_cmd_event, :test_client_data
35
45
 
36
46
  def reset
37
47
  @test_event = false
@@ -83,85 +93,93 @@ class EventHandlingTests < Test::Unit::TestCase
83
93
 
84
94
  def test_cmd_event
85
95
  win = TestFrame.new
86
- assert(!win.test_cmd_event)
87
- assert(!win.child.test_cmd_event)
96
+ assert_false(win.test_cmd_event)
97
+ assert_false(win.child.test_cmd_event)
88
98
  win.child.event_handler.process_event(TestCmdEvent.new)
89
- assert(!win.test_cmd_event)
90
- assert(win.child.test_cmd_event)
99
+ assert_false(win.test_cmd_event)
100
+ assert_true(win.child.test_cmd_event)
101
+ assert_false(win.child.test_client_data)
91
102
  win.reset
92
103
  win.child.event_handler.process_event(TestCmdEvent.new(1))
93
- assert(win.test_cmd_event)
94
- assert(win.child.test_cmd_event)
104
+ assert_true(win.test_cmd_event)
105
+ assert_true(win.child.test_cmd_event)
106
+ assert_true(win.child.test_client_data)
95
107
  win.reset
96
108
  win.event_handler.process_event(TestCmdEvent.new)
97
- assert(win.test_cmd_event)
98
- assert(!win.child.test_cmd_event)
109
+ assert_true(win.test_cmd_event)
110
+ assert_false(win.child.test_cmd_event)
99
111
  win.destroy
100
112
  Wx.get_app.yield
101
113
  end
102
114
 
103
115
  def test_queue_event
104
116
  win = TestFrame.new
105
- assert(!win.test_cmd_event)
106
- assert(!win.child.test_cmd_event)
117
+ assert_false(win.test_cmd_event)
118
+ assert_false(win.child.test_cmd_event)
107
119
  win.child.event_handler.queue_event(TestCmdEvent.new)
108
120
  Wx.get_app.yield
109
- assert(!win.test_cmd_event)
110
- assert(win.child.test_cmd_event)
121
+ assert_false(win.test_cmd_event)
122
+ assert_true(win.child.test_cmd_event)
123
+ assert_false(win.child.test_client_data)
111
124
  win.reset
112
125
  win.child.event_handler.queue_event(TestCmdEvent.new(1))
113
126
  Wx.get_app.yield
114
- assert(win.test_cmd_event)
115
- assert(win.child.test_cmd_event)
127
+ assert_true(win.test_cmd_event)
128
+ assert_true(win.child.test_cmd_event)
129
+ assert_true(win.child.test_client_data)
116
130
  win.reset
117
131
  win.event_handler.queue_event(TestCmdEvent.new)
118
132
  Wx.get_app.yield
119
- assert(win.test_cmd_event)
120
- assert(!win.child.test_cmd_event)
133
+ assert_true(win.test_cmd_event)
134
+ assert_false(win.child.test_cmd_event)
121
135
  win.destroy
122
136
  Wx.get_app.yield
123
137
  end
124
138
 
125
139
  def test_pending_event
126
140
  win = TestFrame.new
127
- assert(!win.test_cmd_event)
128
- assert(!win.child.test_cmd_event)
141
+ assert_false(win.test_cmd_event)
142
+ assert_false(win.child.test_cmd_event)
129
143
  win.child.event_handler.add_pending_event(TestCmdEvent.new)
130
144
  Wx.get_app.yield
131
- assert(!win.test_cmd_event)
132
- assert(win.child.test_cmd_event)
145
+ assert_false(win.test_cmd_event)
146
+ assert_true(win.child.test_cmd_event)
147
+ assert_false(win.child.test_client_data)
133
148
  win.reset
134
149
  win.child.event_handler.add_pending_event(TestCmdEvent.new(1))
135
150
  Wx.get_app.yield
136
- assert(win.test_cmd_event)
137
- assert(win.child.test_cmd_event)
151
+ assert_true(win.test_cmd_event)
152
+ assert_true(win.child.test_cmd_event)
153
+ assert_true(win.child.test_client_data)
138
154
  win.reset
139
155
  win.event_handler.add_pending_event(TestCmdEvent.new)
140
156
  Wx.get_app.yield
141
- assert(win.test_cmd_event)
142
- assert(!win.child.test_cmd_event)
157
+ assert_true(win.test_cmd_event)
158
+ assert_false(win.child.test_cmd_event)
143
159
  win.destroy
144
160
  Wx.get_app.yield
145
161
  end
146
162
 
147
163
  def test_post_event
148
164
  win = TestFrame.new
149
- assert(!win.test_cmd_event)
150
- assert(!win.child.test_cmd_event)
165
+ assert_false(win.test_cmd_event)
166
+ assert_false(win.child.test_cmd_event)
151
167
  Wx.post_event(win.child.event_handler, TestCmdEvent.new)
152
168
  Wx.get_app.yield
153
- assert(!win.test_cmd_event)
154
- assert(win.child.test_cmd_event)
169
+ assert_false(win.test_cmd_event)
170
+ assert_true(win.child.test_cmd_event)
171
+ assert_false(win.child.test_client_data)
155
172
  win.reset
156
173
  Wx.post_event(win.child.event_handler, TestCmdEvent.new(1))
157
174
  Wx.get_app.yield
158
- assert(win.test_cmd_event)
159
- assert(win.child.test_cmd_event)
175
+ assert_true(win.test_cmd_event)
176
+ assert_true(win.child.test_cmd_event)
177
+ assert_true(win.child.test_client_data)
160
178
  win.reset
161
179
  Wx.post_event(win.event_handler, TestCmdEvent.new)
162
180
  Wx.get_app.yield
163
- assert(win.test_cmd_event)
164
- assert(!win.child.test_cmd_event)
181
+ assert_true(win.test_cmd_event)
182
+ assert_false(win.child.test_cmd_event)
165
183
  win.destroy
166
184
  Wx.get_app.yield
167
185
  end
data/tests/test_events.rb CHANGED
@@ -20,19 +20,26 @@ class EventTests < Test::Unit::TestCase
20
20
  end
21
21
 
22
22
  def test_command_event
23
+ GC.start
23
24
  evt = Wx::CommandEvent.new(100, 1)
25
+ evt.set_client_object({one: 'first'})
24
26
  assert_equal(100, evt.event_type)
25
27
  assert_equal(1, evt.id)
28
+ assert_equal({one: 'first'}, evt.get_client_object)
26
29
  assert(evt.should_propagate)
30
+ GC.start
27
31
  evt.skip
28
32
  assert(evt.skipped)
29
33
  evt.string = 'CommandEvent Test'
30
34
  assert_equal('CommandEvent Test', evt.string)
31
35
  evt_dup = evt.clone
36
+ GC.start
32
37
  assert_not_equal(evt, evt_dup)
33
38
  assert_equal(evt.event_type, evt_dup.event_type)
34
39
  assert_equal(evt.id, evt_dup.id)
35
40
  assert_equal(evt.string, evt_dup.string)
41
+ assert_equal({one: 'first'}, evt.get_client_object)
42
+ assert_equal({one: 'first'}, evt_dup.get_client_object)
36
43
  end
37
44
 
38
45
  def test_event_clone
@@ -22,6 +22,9 @@ class TestItemData < Test::Unit::TestCase
22
22
  end
23
23
 
24
24
  def do_control_with_items_assertions(f)
25
+ f.control.set_client_object([:client, :object])
26
+ assert_equal([:client, :object], f.control.client_object)
27
+
25
28
  assert_retrievable_data(f.control, 0, { 'b' => 'B' })
26
29
  assert_retrievable_data(f.control, 1, 'string item data')
27
30
  assert_retrievable_data(f.control, 2, 42.3)
@@ -87,10 +90,31 @@ class TestItemData < Test::Unit::TestCase
87
90
 
88
91
  GC.start
89
92
 
93
+ klass = Class.new do
94
+ def initialize(list)
95
+ @list = list
96
+ @list << self
97
+ end
98
+ def client_data_unlinked
99
+ @list.delete(self)
100
+ end
101
+ end
102
+ data_list = []
103
+ 10.times { |i| f.control.append("test #{i}", klass.new(data_list)) }
104
+
105
+ assert_equal(10, data_list.size)
106
+ assert_equal(28, f.control.count)
107
+ assert_kind_of(klass, f.control.get_item_data(27))
108
+
90
109
  # clear all
91
110
  f.control.clear
92
111
  assert_equal(0, f.control.count)
93
112
 
113
+ assert_equal(0, data_list.size)
114
+
115
+ # still there?
116
+ assert_equal([:client, :object], f.control.client_object)
117
+
94
118
  GC.start
95
119
  end
96
120
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  require_relative './lib/wxframe_runner'
6
6
 
7
- class ButtonTests < WxRuby::Test::GUITests
7
+ class ListCtrlTests < WxRuby::Test::GUITests
8
8
 
9
9
  def setup
10
10
  super
@@ -0,0 +1,38 @@
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
+ # test seems to deadlock for WXGTK
8
+ if Wx.has_feature?(:USE_MEDIACTRL)
9
+
10
+ require 'uri'
11
+
12
+ class MediaCtrlTests < WxRuby::Test::GUITests
13
+
14
+ def setup
15
+ super
16
+ @media = Wx::MediaCtrl.new(frame_win)
17
+ end
18
+
19
+ def cleanup
20
+ @media.destroy
21
+ super
22
+ end
23
+
24
+ attr_reader :media
25
+
26
+ def test_uri
27
+ # just checking if Ruby URI is properly mapped
28
+ # it doesn't seem the mediactrl returns a very consistent result whether the resource is not a media file
29
+ # or if it is a non-existing file so only check whether it is a boolean return.
30
+ uri = URI("file://#{File.join(__dir__, 'media/beep_lo.wav')}")
31
+ assert_boolean(media.load(uri))
32
+ uri = URI("file://#{File.join(__dir__, 'art/test_art/image/wxruby.png')}")
33
+ assert_boolean(media.load(uri))
34
+ end
35
+
36
+ end
37
+
38
+ end
@@ -0,0 +1,69 @@
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 MenuTests < WxRuby::Test::GUITests
8
+
9
+ def setup
10
+ super
11
+ @menu = Wx::Menu.new
12
+ @menu.append(Wx::ID_HIGHEST+1, 'Item 1', 'Test menuitem 1')
13
+ @menu.append(Wx::ID_HIGHEST+2, 'Item 2', 'Test menuitem 2')
14
+ @menu.append_separator
15
+ @menu.append_check_item(Wx::ID_HIGHEST+3, 'Check 3', 'Test menuitem 3')
16
+ @menu.append_separator
17
+ @menu.append_radio_item(Wx::ID_HIGHEST+4, 'Radio 4', 'Test menuitem 4')
18
+ @menu.append_radio_item(Wx::ID_HIGHEST+5, 'Radio 5', 'Test menuitem 5')
19
+ @menu.append_radio_item(Wx::ID_HIGHEST+6, 'Radio 6', 'Test menuitem 6')
20
+ frame_win.menu_bar = Wx::MenuBar.new
21
+ frame_win.menu_bar.append(@menu, "&Test")
22
+ end
23
+
24
+ def cleanup
25
+ frame_win.menu_bar = nil
26
+ super
27
+ end
28
+
29
+ attr_reader :menu
30
+
31
+ def test_basic
32
+ assert_equal(8, menu.get_menu_item_count)
33
+ check, pos = menu.find_child_item(Wx::ID_HIGHEST+3)
34
+ assert_not_nil(check)
35
+ assert_equal(3, pos)
36
+ assert_equal('Check 3', check.item_label)
37
+ assert_false(check.checked?)
38
+ check.check
39
+ assert_true(check.checked?)
40
+ radio, pos = menu.find_child_item(Wx::ID_HIGHEST+5)
41
+ assert_not_nil(radio)
42
+ assert_equal(6, pos)
43
+ assert_equal('Radio 5', radio.item_label)
44
+ assert_false(radio.checked?)
45
+ radio.check
46
+ assert_true(radio.checked?)
47
+ radio, pos = menu.find_child_item(Wx::ID_HIGHEST+4)
48
+ assert_false(radio.checked?)
49
+ radio, pos = menu.find_child_item(Wx::ID_HIGHEST+6)
50
+ assert_false(radio.checked?)
51
+ radio.check
52
+ assert_true(radio.checked?)
53
+ radio, pos = menu.find_child_item(Wx::ID_HIGHEST+5)
54
+ assert_false(radio.checked?)
55
+ end
56
+
57
+ def test_enumerate
58
+ radio, pos = menu.find_child_item(Wx::ID_HIGHEST+4)
59
+ assert_true(radio.checked?) # first by default checked
60
+ menu.each_item do |mi|
61
+ mi.check if mi.id == (Wx::ID_HIGHEST+5)
62
+ end
63
+ radio, pos = menu.find_child_item(Wx::ID_HIGHEST+4)
64
+ assert_false(radio.checked?)
65
+ radio = menu.each_item.detect { |mi| mi.id == (Wx::ID_HIGHEST+5) }
66
+ assert_true(radio.checked?)
67
+ end
68
+
69
+ end
data/tests/test_pg.rb ADDED
@@ -0,0 +1,27 @@
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 PGChoicesTests < WxRuby::Test::GUITests
8
+
9
+ def test_enum_labels
10
+ texts = %w[Red Blue Green Yellow Black White]
11
+ choices = Wx::PG::PGChoices.new(texts)
12
+ choices.each_label { |lbl| assert_equal(texts.shift, lbl) }
13
+ end
14
+
15
+ def test_enum_entries
16
+ texts = %w[Flag1 Flag2 Flag3 Flag4]
17
+ choices = Wx::PG::PGChoices.new
18
+ texts.each_with_index do |s, i|
19
+ choices.add(s, 1 << i)
20
+ end
21
+ choices.each_entry.each_with_index do |entry, ix|
22
+ assert_equal(1 << ix, entry.value)
23
+ assert_equal(texts[ix], entry.get_text)
24
+ end
25
+ end
26
+
27
+ end
@@ -67,6 +67,51 @@ class RichTextCtrlWriteTests < WxRuby::Test::GUITests
67
67
  assert_equal('Second Line', richtext.get_line_text(1))
68
68
  end
69
69
 
70
+ def test_enumerate_lines
71
+ richtext.write_text <<~__HEREDOC
72
+ This is line 1.
73
+ This is line 2.
74
+ This is line 3.
75
+ __HEREDOC
76
+ assert_equal(4, richtext.get_number_of_lines)
77
+ richtext.each_line.each_with_index do |txt, lnr|
78
+ if lnr < 3
79
+ assert("This is line #{lnr+1}.", txt)
80
+ else
81
+ assert('', txt)
82
+ end
83
+ end
84
+ line_enum = richtext.each_line
85
+ txt = line_enum.detect { |l| l.index('2') }
86
+ assert_equal('This is line 2.', txt)
87
+ para = richtext.buffer.get_child_at_position(0)
88
+ assert_kind_of(Wx::RTC::RichTextParagraph, para)
89
+ assert_equal(1, para.get_lines.size)
90
+ para.each_line do |rtl|
91
+ txt = para.get_text_for_range(rtl.get_range)
92
+ assert("This is line 1.", txt)
93
+ end
94
+ end
95
+
96
+ def test_enumerate_children
97
+ richtext.write_text <<~__HEREDOC
98
+ This is line 1.
99
+ This is line 2.
100
+ This is line 3.
101
+ __HEREDOC
102
+ richtext.write_image(Wx.Bitmap(:wxruby, Wx::BitmapType::BITMAP_TYPE_PNG, art_section: 'test_art'))
103
+ assert_equal(4, richtext.buffer.get_child_count)
104
+ richtext.buffer.each_child.each_with_index do |c, i|
105
+ if i<3
106
+ assert_kind_of(Wx::RTC::RichTextParagraph, c)
107
+ assert_equal(1, c.get_lines.size)
108
+ else
109
+ assert_equal(1, c.get_child_count)
110
+ c.each_child { |cc| assert_kind_of(Wx::RTC::RichTextImage, cc) }
111
+ end
112
+ end
113
+ end
114
+
70
115
  def test_write_image
71
116
  assert_nothing_raised { richtext.write_image(Wx.Bitmap(:wxruby, Wx::BitmapType::BITMAP_TYPE_PNG, art_section: 'test_art')) }
72
117
  img_obj = richtext.buffer.get_leaf_object_at_position(0)