wxruby3 0.9.2-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 (646) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +35 -29
  3. data/README.md +24 -15
  4. data/ext/wxbase32u_gcc_custom.dll +0 -0
  5. data/ext/wxbase32u_net_gcc_custom.dll +0 -0
  6. data/ext/wxbase32u_xml_gcc_custom.dll +0 -0
  7. data/ext/wxmsw32u_aui_gcc_custom.dll +0 -0
  8. data/ext/wxmsw32u_core_gcc_custom.dll +0 -0
  9. data/ext/wxmsw32u_gl_gcc_custom.dll +0 -0
  10. data/ext/wxmsw32u_html_gcc_custom.dll +0 -0
  11. data/ext/wxmsw32u_media_gcc_custom.dll +0 -0
  12. data/ext/wxmsw32u_propgrid_gcc_custom.dll +0 -0
  13. data/ext/wxmsw32u_qa_gcc_custom.dll +0 -0
  14. data/ext/wxmsw32u_ribbon_gcc_custom.dll +0 -0
  15. data/ext/wxmsw32u_richtext_gcc_custom.dll +0 -0
  16. data/ext/wxmsw32u_stc_gcc_custom.dll +0 -0
  17. data/ext/wxmsw32u_webview_gcc_custom.dll +0 -0
  18. data/ext/wxmsw32u_xrc_gcc_custom.dll +0 -0
  19. data/lib/wx/core/bitmap_combobox.rb +17 -21
  20. data/lib/wx/core/combobox.rb +13 -3
  21. data/lib/wx/core/controlwithitems.rb +40 -130
  22. data/lib/wx/core/enum.rb +17 -1
  23. data/lib/wx/core/event.rb +6 -1
  24. data/lib/wx/core/events/evt_list.rb +5 -4
  25. data/lib/wx/core/evthandler.rb +8 -2
  26. data/lib/wx/core/generic_validator.rb +312 -0
  27. data/lib/wx/core/listbox.rb +2 -2
  28. data/lib/wx/core/log.rb +1 -1
  29. data/lib/wx/core/owner_drawn_combobox.rb +45 -0
  30. data/lib/wx/core/size.rb +4 -0
  31. data/lib/wx/core/sizer.rb +1 -2
  32. data/lib/wx/core/standard_paths.rb +22 -0
  33. data/lib/wx/core/text_entry.rb +4 -1
  34. data/lib/wx/core/validator.rb +70 -5
  35. data/lib/wx/core/window.rb +3 -7
  36. data/lib/wx/doc/art_locator.rb +1 -0
  37. data/lib/wx/doc/comboctrl.rb +18 -0
  38. data/lib/wx/doc/controlwithitems.rb +16 -0
  39. data/lib/wx/doc/date_picker_ctrl.rb +23 -0
  40. data/lib/wx/doc/editable_listbox.rb +44 -0
  41. data/lib/wx/doc/enum.rb +15 -0
  42. data/lib/wx/doc/event.rb +12 -0
  43. data/lib/wx/doc/extra/12_client_data.md +89 -0
  44. data/lib/wx/doc/extra/13_validators.md +139 -0
  45. data/lib/wx/doc/gdi_common.rb +4 -0
  46. data/lib/wx/doc/gen/about_dialog_info.rb +25 -0
  47. data/lib/wx/doc/gen/accelerator.rb +7 -1
  48. data/lib/wx/doc/gen/accessible.rb +13 -0
  49. data/lib/wx/doc/gen/activity_indicator.rb +7 -0
  50. data/lib/wx/doc/gen/animation.rb +12 -0
  51. data/lib/wx/doc/gen/animation_ctrl.rb +10 -0
  52. data/lib/wx/doc/gen/any_button.rb +17 -1
  53. data/lib/wx/doc/gen/app.rb +35 -1
  54. data/lib/wx/doc/gen/app_traits.rb +38 -5
  55. data/lib/wx/doc/gen/art_provider.rb +14 -0
  56. data/lib/wx/doc/gen/aui/aui_dock_art.rb +12 -0
  57. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +1 -0
  58. data/lib/wx/doc/gen/aui/aui_manager.rb +24 -1
  59. data/lib/wx/doc/gen/aui/aui_manager_event.rb +9 -1
  60. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +3 -0
  61. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +2 -0
  62. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +3 -1
  63. data/lib/wx/doc/gen/aui/aui_notebook.rb +20 -2
  64. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +2 -1
  65. data/lib/wx/doc/gen/aui/aui_pane_info.rb +30 -1
  66. data/lib/wx/doc/gen/aui/aui_tab_art.rb +6 -0
  67. data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +1 -0
  68. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +11 -0
  69. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +2 -0
  70. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +2 -1
  71. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +4 -0
  72. data/lib/wx/doc/gen/banner_window.rb +7 -0
  73. data/lib/wx/doc/gen/bitmap.rb +64 -3
  74. data/lib/wx/doc/gen/bitmap_button.rb +6 -1
  75. data/lib/wx/doc/gen/bitmap_combo_box.rb +9 -3
  76. data/lib/wx/doc/gen/book_ctrl_base.rb +17 -2
  77. data/lib/wx/doc/gen/book_ctrl_event.rb +3 -1
  78. data/lib/wx/doc/gen/box_sizer.rb +5 -0
  79. data/lib/wx/doc/gen/brush.rb +16 -1
  80. data/lib/wx/doc/gen/busy_info.rb +8 -0
  81. data/lib/wx/doc/gen/button.rb +11 -3
  82. data/lib/wx/doc/gen/calculate_layout_event.rb +4 -0
  83. data/lib/wx/doc/gen/calendar_ctrl.rb +22 -0
  84. data/lib/wx/doc/gen/calendar_date_attr.rb +1 -0
  85. data/lib/wx/doc/gen/calendar_event.rb +3 -1
  86. data/lib/wx/doc/gen/caret.rb +3 -0
  87. data/lib/wx/doc/gen/check_box.rb +10 -0
  88. data/lib/wx/doc/gen/check_list_box.rb +3 -0
  89. data/lib/wx/doc/gen/choice.rb +14 -2
  90. data/lib/wx/doc/gen/choicebook.rb +1 -0
  91. data/lib/wx/doc/gen/client_dc.rb +1 -0
  92. data/lib/wx/doc/gen/clipboard.rb +9 -0
  93. data/lib/wx/doc/gen/collapsible_pane.rb +3 -0
  94. data/lib/wx/doc/gen/collapsible_pane_event.rb +1 -0
  95. data/lib/wx/doc/gen/colour.rb +20 -0
  96. data/lib/wx/doc/gen/colour_dialog.rb +10 -0
  97. data/lib/wx/doc/gen/colour_picker_ctrl.rb +4 -0
  98. data/lib/wx/doc/gen/colour_picker_event.rb +1 -0
  99. data/lib/wx/doc/gen/combo_box.rb +20 -1
  100. data/lib/wx/doc/gen/combo_ctrl.rb +54 -295
  101. data/lib/wx/doc/gen/command_link_button.rb +8 -0
  102. data/lib/wx/doc/gen/context_help_button.rb +7 -1
  103. data/lib/wx/doc/gen/control.rb +12 -0
  104. data/lib/wx/doc/gen/control_with_items.rb +45 -9
  105. data/lib/wx/doc/gen/core.rb +2 -2
  106. data/lib/wx/doc/gen/cursor.rb +4 -0
  107. data/lib/wx/doc/gen/data_format.rb +1 -0
  108. data/lib/wx/doc/gen/data_object.rb +27 -5
  109. data/lib/wx/doc/gen/date_event.rb +2 -1
  110. data/lib/wx/doc/gen/date_picker_ctrl.rb +7 -1
  111. data/lib/wx/doc/gen/dc.rb +87 -3
  112. data/lib/wx/doc/gen/dial_up_event.rb +2 -0
  113. data/lib/wx/doc/gen/dial_up_manager.rb +12 -0
  114. data/lib/wx/doc/gen/dialog.rb +42 -3
  115. data/lib/wx/doc/gen/dir_dialog.rb +6 -1
  116. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +1 -0
  117. data/lib/wx/doc/gen/dir_picker_ctrl.rb +5 -0
  118. data/lib/wx/doc/gen/drag_drop.rb +20 -0
  119. data/lib/wx/doc/gen/drag_image.rb +7 -0
  120. data/lib/wx/doc/gen/editable_list_box.rb +5 -3
  121. data/lib/wx/doc/gen/event.rb +26 -11
  122. data/lib/wx/doc/gen/event_blocker.rb +2 -1
  123. data/lib/wx/doc/gen/event_filter.rb +3 -0
  124. data/lib/wx/doc/gen/event_list.rb +4 -4
  125. data/lib/wx/doc/gen/events.rb +165 -26
  126. data/lib/wx/doc/gen/evt_handler.rb +40 -2
  127. data/lib/wx/doc/gen/ext_help_controller.rb +9 -0
  128. data/lib/wx/doc/gen/file_ctrl.rb +11 -2
  129. data/lib/wx/doc/gen/file_ctrl_event.rb +5 -1
  130. data/lib/wx/doc/gen/file_dialog.rb +13 -0
  131. data/lib/wx/doc/gen/file_dialog_custom_control.rb +12 -0
  132. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +9 -0
  133. data/lib/wx/doc/gen/file_dir_picker_event.rb +2 -1
  134. data/lib/wx/doc/gen/file_picker_ctrl.rb +4 -0
  135. data/lib/wx/doc/gen/file_system.rb +17 -1
  136. data/lib/wx/doc/gen/find_dialog_event.rb +2 -1
  137. data/lib/wx/doc/gen/find_replace_data.rb +1 -0
  138. data/lib/wx/doc/gen/find_replace_dialog.rb +3 -0
  139. data/lib/wx/doc/gen/flex_grid_sizer.rb +13 -0
  140. data/lib/wx/doc/gen/font.rb +75 -3
  141. data/lib/wx/doc/gen/font_data.rb +14 -0
  142. data/lib/wx/doc/gen/font_dialog.rb +6 -0
  143. data/lib/wx/doc/gen/font_picker_ctrl.rb +8 -0
  144. data/lib/wx/doc/gen/font_picker_event.rb +1 -0
  145. data/lib/wx/doc/gen/frame.rb +24 -7
  146. data/lib/wx/doc/gen/fs_file.rb +22 -0
  147. data/lib/wx/doc/gen/gauge.rb +8 -0
  148. data/lib/wx/doc/gen/gb_sizer_item.rb +5 -0
  149. data/lib/wx/doc/gen/gcdc.rb +2 -0
  150. data/lib/wx/doc/gen/gdi_common.rb +50 -0
  151. data/lib/wx/doc/gen/gdi_object.rb +1 -0
  152. data/lib/wx/doc/gen/generic_dir_ctrl.rb +7 -0
  153. data/lib/wx/doc/gen/graphics_context.rb +36 -7
  154. data/lib/wx/doc/gen/graphics_object.rb +24 -0
  155. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +2 -0
  156. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +14 -2
  157. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +1 -0
  158. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +1 -0
  159. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +2 -0
  160. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +1 -0
  161. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +2 -0
  162. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +1 -0
  163. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +1 -0
  164. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +1 -0
  165. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +9 -0
  166. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +1 -0
  167. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +1 -0
  168. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +1 -0
  169. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +2 -0
  170. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +2 -0
  171. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +1 -0
  172. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +6 -0
  173. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +1 -0
  174. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +1 -0
  175. data/lib/wx/doc/gen/grid/grid_ctrl.rb +229 -7
  176. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +4 -1
  177. data/lib/wx/doc/gen/grid/grid_event.rb +4 -1
  178. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +2 -1
  179. data/lib/wx/doc/gen/grid/grid_size_event.rb +2 -1
  180. data/lib/wx/doc/gen/grid/grid_string_table.rb +7 -0
  181. data/lib/wx/doc/gen/grid/grid_table_base.rb +27 -1
  182. data/lib/wx/doc/gen/grid/grid_table_message.rb +1 -0
  183. data/lib/wx/doc/gen/grid_bag_sizer.rb +24 -4
  184. data/lib/wx/doc/gen/grid_sizer.rb +11 -0
  185. data/lib/wx/doc/gen/gui_event_loop.rb +12 -0
  186. data/lib/wx/doc/gen/header_ctrl.rb +106 -0
  187. data/lib/wx/doc/gen/header_ctrl_event.rb +5 -1
  188. data/lib/wx/doc/gen/help_controller.rb +11 -0
  189. data/lib/wx/doc/gen/help_provider.rb +12 -3
  190. data/lib/wx/doc/gen/html/html_cell.rb +25 -0
  191. data/lib/wx/doc/gen/html/html_cell_event.rb +3 -1
  192. data/lib/wx/doc/gen/html/html_easy_printing.rb +13 -1
  193. data/lib/wx/doc/gen/html/html_help_controller.rb +18 -0
  194. data/lib/wx/doc/gen/html/html_help_data.rb +5 -0
  195. data/lib/wx/doc/gen/html/html_help_window.rb +8 -0
  196. data/lib/wx/doc/gen/html/html_link_event.rb +1 -0
  197. data/lib/wx/doc/gen/html/html_list_box.rb +49 -9
  198. data/lib/wx/doc/gen/html/html_printout.rb +7 -0
  199. data/lib/wx/doc/gen/html/html_window.rb +31 -0
  200. data/lib/wx/doc/gen/hyperlink_ctrl.rb +2 -1
  201. data/lib/wx/doc/gen/hyperlink_event.rb +1 -0
  202. data/lib/wx/doc/gen/icon.rb +19 -1
  203. data/lib/wx/doc/gen/icon_location.rb +1 -0
  204. data/lib/wx/doc/gen/image.rb +67 -10
  205. data/lib/wx/doc/gen/image_list.rb +12 -2
  206. data/lib/wx/doc/gen/info_bar.rb +12 -0
  207. data/lib/wx/doc/gen/keyboard_state.rb +11 -0
  208. data/lib/wx/doc/gen/list_box.rb +20 -3
  209. data/lib/wx/doc/gen/list_ctrl.rb +89 -0
  210. data/lib/wx/doc/gen/list_event.rb +11 -1
  211. data/lib/wx/doc/gen/listbook.rb +1 -0
  212. data/lib/wx/doc/gen/locale.rb +22 -0
  213. data/lib/wx/doc/gen/log.rb +42 -0
  214. data/lib/wx/doc/gen/mdi_client_window.rb +4 -1
  215. data/lib/wx/doc/gen/mdi_frame.rb +27 -4
  216. data/lib/wx/doc/gen/media_ctrl.rb +17 -0
  217. data/lib/wx/doc/gen/media_event.rb +2 -1
  218. data/lib/wx/doc/gen/memory_dc.rb +10 -0
  219. data/lib/wx/doc/gen/menu.rb +48 -7
  220. data/lib/wx/doc/gen/menu_bar.rb +32 -13
  221. data/lib/wx/doc/gen/menu_item.rb +26 -0
  222. data/lib/wx/doc/gen/message_dialog.rb +10 -0
  223. data/lib/wx/doc/gen/mini_frame.rb +5 -2
  224. data/lib/wx/doc/gen/mirror_dc.rb +1 -0
  225. data/lib/wx/doc/gen/mouse_state.rb +1 -0
  226. data/lib/wx/doc/gen/multi_choice_dialog.rb +3 -1
  227. data/lib/wx/doc/gen/non_owned_window.rb +3 -0
  228. data/lib/wx/doc/gen/notebook.rb +11 -1
  229. data/lib/wx/doc/gen/num_validator.rb +37 -0
  230. data/lib/wx/doc/gen/number_entry_dialog.rb +4 -0
  231. data/lib/wx/doc/gen/object.rb +3 -0
  232. data/lib/wx/doc/gen/owner_drawn_combo_box.rb +340 -0
  233. data/lib/wx/doc/gen/paint_dc.rb +1 -0
  234. data/lib/wx/doc/gen/palette.rb +5 -0
  235. data/lib/wx/doc/gen/panel.rb +10 -2
  236. data/lib/wx/doc/gen/pen.rb +30 -1
  237. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +2 -1
  238. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +4 -1
  239. data/lib/wx/doc/gen/pg/pg_cell.rb +6 -1
  240. data/lib/wx/doc/gen/pg/pg_editor.rb +61 -15
  241. data/lib/wx/doc/gen/pg/pg_multi_button.rb +2 -0
  242. data/lib/wx/doc/gen/pg/pg_properties.rb +198 -81
  243. data/lib/wx/doc/gen/pg/pg_property.rb +129 -52
  244. data/lib/wx/doc/gen/pg/pg_validation_info.rb +2 -0
  245. data/lib/wx/doc/gen/pg/property_grid.rb +56 -14
  246. data/lib/wx/doc/gen/pg/property_grid_event.rb +16 -6
  247. data/lib/wx/doc/gen/pg/property_grid_interface.rb +98 -37
  248. data/lib/wx/doc/gen/pg/property_grid_manager.rb +29 -7
  249. data/lib/wx/doc/gen/pg/property_grid_page.rb +11 -4
  250. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +7 -2
  251. data/lib/wx/doc/gen/picker_base.rb +11 -1
  252. data/lib/wx/doc/gen/platform_info.rb +31 -0
  253. data/lib/wx/doc/gen/popup_window.rb +5 -0
  254. data/lib/wx/doc/gen/progress_dialog.rb +4 -0
  255. data/lib/wx/doc/gen/property_sheet_dialog.rb +7 -1
  256. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +2 -0
  257. data/lib/wx/doc/gen/prt/post_script_dc.rb +1 -0
  258. data/lib/wx/doc/gen/prt/preview_frame.rb +4 -0
  259. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +1 -0
  260. data/lib/wx/doc/gen/prt/print_data.rb +27 -0
  261. data/lib/wx/doc/gen/prt/print_dialog.rb +4 -0
  262. data/lib/wx/doc/gen/prt/printer.rb +42 -5
  263. data/lib/wx/doc/gen/prt/printer_dc.rb +2 -0
  264. data/lib/wx/doc/gen/query_layout_info_event.rb +9 -0
  265. data/lib/wx/doc/gen/radio_box.rb +19 -0
  266. data/lib/wx/doc/gen/radio_button.rb +9 -0
  267. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +63 -0
  268. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +23 -0
  269. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +2 -1
  270. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +35 -9
  271. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +2 -1
  272. data/lib/wx/doc/gen/rbn/ribbon_control.rb +10 -0
  273. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +17 -7
  274. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +2 -1
  275. data/lib/wx/doc/gen/rbn/ribbon_page.rb +12 -0
  276. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +11 -0
  277. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +2 -1
  278. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +25 -0
  279. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +2 -1
  280. data/lib/wx/doc/gen/rearrange_ctrl.rb +4 -0
  281. data/lib/wx/doc/gen/rearrange_list.rb +9 -0
  282. data/lib/wx/doc/gen/region.rb +42 -13
  283. data/lib/wx/doc/gen/region_iterator.rb +1 -0
  284. data/lib/wx/doc/gen/rtc/rich_text_box.rb +25 -8
  285. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +41 -4
  286. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +1 -0
  287. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +23 -11
  288. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +74 -0
  289. data/lib/wx/doc/gen/rtc/rich_text_event.rb +6 -1
  290. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +8 -0
  291. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +6 -0
  292. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +1 -0
  293. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +4 -0
  294. data/lib/wx/doc/gen/rtc/rich_text_image.rb +7 -0
  295. data/lib/wx/doc/gen/rtc/rich_text_object.rb +64 -4
  296. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +51 -4
  297. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +13 -0
  298. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +9 -4
  299. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +3 -0
  300. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +2 -0
  301. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +1 -0
  302. data/lib/wx/doc/gen/sash_event.rb +5 -1
  303. data/lib/wx/doc/gen/sash_layout_window.rb +10 -0
  304. data/lib/wx/doc/gen/sash_window.rb +3 -0
  305. data/lib/wx/doc/gen/screen_dc.rb +1 -0
  306. data/lib/wx/doc/gen/scroll_bar.rb +11 -2
  307. data/lib/wx/doc/gen/scrolled_canvas.rb +20 -4
  308. data/lib/wx/doc/gen/scrolled_control.rb +20 -4
  309. data/lib/wx/doc/gen/scrolled_window.rb +20 -4
  310. data/lib/wx/doc/gen/search_ctrl.rb +6 -0
  311. data/lib/wx/doc/gen/simplebook.rb +7 -0
  312. data/lib/wx/doc/gen/single_choice_dialog.rb +3 -1
  313. data/lib/wx/doc/gen/sizer.rb +79 -9
  314. data/lib/wx/doc/gen/sizer_item.rb +16 -2
  315. data/lib/wx/doc/gen/slider.rb +23 -0
  316. data/lib/wx/doc/gen/spin_button.rb +9 -0
  317. data/lib/wx/doc/gen/spin_ctrl.rb +11 -0
  318. data/lib/wx/doc/gen/spin_ctrl_double.rb +7 -0
  319. data/lib/wx/doc/gen/spin_double_event.rb +4 -1
  320. data/lib/wx/doc/gen/spin_event.rb +2 -1
  321. data/lib/wx/doc/gen/splash_screen.rb +2 -0
  322. data/lib/wx/doc/gen/splitter_event.rb +10 -1
  323. data/lib/wx/doc/gen/splitter_window.rb +38 -14
  324. data/lib/wx/doc/gen/static_bitmap.rb +99 -2
  325. data/lib/wx/doc/gen/static_box.rb +6 -0
  326. data/lib/wx/doc/gen/static_box_sizer.rb +3 -0
  327. data/lib/wx/doc/gen/static_line.rb +4 -0
  328. data/lib/wx/doc/gen/static_text.rb +5 -0
  329. data/lib/wx/doc/gen/status_bar.rb +17 -3
  330. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +174 -6
  331. data/lib/wx/doc/gen/stc/styled_text_event.rb +27 -1
  332. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +7 -0
  333. data/lib/wx/doc/gen/svg_file_dc.rb +9 -0
  334. data/lib/wx/doc/gen/system_options.rb +8 -0
  335. data/lib/wx/doc/gen/system_settings.rb +7 -0
  336. data/lib/wx/doc/gen/task_bar_button.rb +12 -0
  337. data/lib/wx/doc/gen/task_bar_icon.rb +5 -0
  338. data/lib/wx/doc/gen/task_bar_icon_event.rb +2 -1
  339. data/lib/wx/doc/gen/text_attr.rb +27 -0
  340. data/lib/wx/doc/gen/text_ctrl.rb +27 -3
  341. data/lib/wx/doc/gen/text_entry.rb +43 -5
  342. data/lib/wx/doc/gen/text_entry_dialog.rb +12 -0
  343. data/lib/wx/doc/gen/text_validator.rb +16 -0
  344. data/lib/wx/doc/gen/time_picker_ctrl.rb +6 -0
  345. data/lib/wx/doc/gen/timer.rb +8 -0
  346. data/lib/wx/doc/gen/timer_event.rb +1 -0
  347. data/lib/wx/doc/gen/tip_provider.rb +5 -0
  348. data/lib/wx/doc/gen/toggle_button.rb +68 -0
  349. data/lib/wx/doc/gen/tool_bar.rb +57 -14
  350. data/lib/wx/doc/gen/tool_tip.rb +6 -0
  351. data/lib/wx/doc/gen/toolbook.rb +3 -0
  352. data/lib/wx/doc/gen/top_level_window.rb +34 -3
  353. data/lib/wx/doc/gen/tree_ctrl.rb +49 -0
  354. data/lib/wx/doc/gen/tree_event.rb +7 -1
  355. data/lib/wx/doc/gen/treebook.rb +9 -0
  356. data/lib/wx/doc/gen/ui_action_simulator.rb +4 -0
  357. data/lib/wx/doc/gen/utils.rb +55 -0
  358. data/lib/wx/doc/gen/v_list_box.rb +21 -0
  359. data/lib/wx/doc/gen/v_scrolled_window.rb +15 -0
  360. data/lib/wx/doc/gen/validator.rb +9 -13
  361. data/lib/wx/doc/gen/variant.rb +6 -0
  362. data/lib/wx/doc/gen/window.rb +260 -52
  363. data/lib/wx/doc/gen/window_dc.rb +2 -0
  364. data/lib/wx/doc/gen/window_disabler.rb +1 -0
  365. data/lib/wx/doc/gen/with_images.rb +7 -1
  366. data/lib/wx/doc/gen/wizard.rb +18 -0
  367. data/lib/wx/doc/gen/wizard_event.rb +3 -1
  368. data/lib/wx/doc/gen/wizard_page.rb +5 -0
  369. data/lib/wx/doc/gen/wizard_page_simple.rb +4 -0
  370. data/lib/wx/doc/gen/wrap_sizer.rb +5 -0
  371. data/lib/wx/doc/gen/xml_node.rb +14 -0
  372. data/lib/wx/doc/gen/xml_resource.rb +22 -0
  373. data/lib/wx/doc/generic_validator.rb +95 -0
  374. data/lib/wx/doc/html/simple_html_listbox.rb +22 -0
  375. data/lib/wx/doc/num_validator.rb +387 -0
  376. data/lib/wx/doc/owner_drawn_combobox.rb +96 -0
  377. data/lib/wx/doc/pg/numeric_property_validator.rb +33 -0
  378. data/lib/wx/doc/static_bitmap.rb +25 -0
  379. data/lib/wx/doc/text_validator.rb +10 -0
  380. data/lib/wx/doc/validator.rb +113 -0
  381. data/lib/wx/doc/window.rb +30 -0
  382. data/lib/wx/html/events/evt_list.rb +0 -10
  383. data/lib/wx/html/simple_html_listbox.rb +24 -91
  384. data/lib/wx/keyword_defs.rb +34 -2
  385. data/lib/wx/rbn/ribbon_gallery.rb +0 -21
  386. data/lib/wx/version.rb +1 -1
  387. data/lib/wxruby_aui.so +0 -0
  388. data/lib/wxruby_core.so +0 -0
  389. data/lib/wxruby_grid.so +0 -0
  390. data/lib/wxruby_html.so +0 -0
  391. data/lib/wxruby_pg.so +0 -0
  392. data/lib/wxruby_prt.so +0 -0
  393. data/lib/wxruby_rbn.so +0 -0
  394. data/lib/wxruby_rtc.so +0 -0
  395. data/lib/wxruby_stc.so +0 -0
  396. data/rakelib/lib/config/mingw.rb +12 -0
  397. data/samples/aui/aui.rb +1237 -1233
  398. data/samples/calendar/calendar.rb +293 -289
  399. data/samples/controls/get_item_sample.rb +83 -79
  400. data/samples/controls/htlbox.rb +331 -327
  401. data/samples/dialogs/dialogs.rb +682 -694
  402. data/samples/dialogs/wizard.rb +52 -55
  403. data/samples/dragdrop/dragdrop.rb +146 -142
  404. data/samples/drawing/bitmap.rb +29 -26
  405. data/samples/drawing/bitmap_image.rb +84 -80
  406. data/samples/drawing/graphics_drawing.rb +209 -205
  407. data/samples/drawing/image_prt.rb +344 -340
  408. data/samples/drawing/maths_images.rb +18 -1
  409. data/samples/drawing/rmagic_bitmap_image.rb +88 -84
  410. data/samples/etc/caret.rb +306 -0
  411. data/samples/etc/miniframe.rb +65 -60
  412. data/samples/etc/sash.rb +109 -105
  413. data/samples/etc/scrollwin.rb +86 -80
  414. data/samples/etc/system_settings.rb +216 -209
  415. data/samples/event/activation.rb +72 -67
  416. data/samples/event/event.rb +160 -153
  417. data/samples/event/threaded.rb +8 -1
  418. data/samples/event/update_ui_event.rb +67 -60
  419. data/samples/grid/grid.rb +188 -181
  420. data/samples/grid/gridtablebase.rb +136 -129
  421. data/samples/html/html.rb +208 -204
  422. data/samples/mdi/mdi.rb +59 -54
  423. data/samples/minimal/minimal.rb +54 -51
  424. data/samples/minimal/nothing.rb +1 -0
  425. data/samples/printing/printing.rb +367 -377
  426. data/samples/printing/printing2.rb +203 -198
  427. data/samples/propgrid/propgrid.rb +2312 -2308
  428. data/samples/propgrid/propgrid_minimal.rb +57 -50
  429. data/samples/ribbon/ribbon.rb +780 -774
  430. data/samples/sampler/ext.rb +0 -33
  431. data/samples/sampler/sample.rb +4 -9
  432. data/samples/sampler.rb +1 -1
  433. data/samples/splash/splash.rb +118 -116
  434. data/samples/text/rich_textctrl.rb +207 -201
  435. data/samples/text/richtext.rb +1409 -1405
  436. data/samples/text/scintilla.rb +137 -128
  437. data/samples/text/textctrl.rb +89 -83
  438. data/samples/text/unicode.rb +175 -168
  439. data/samples/treectrl/treectrl.rb +1430 -1426
  440. data/samples/widgets/activityindicator.rb +95 -0
  441. data/samples/widgets/art/widgets/activityindicator.xpm +278 -0
  442. data/samples/widgets/art/widgets/bmpbtn.xpm +37 -0
  443. data/samples/widgets/art/widgets/bmpcombobox.xpm +54 -0
  444. data/samples/widgets/art/widgets/button.xpm +54 -0
  445. data/samples/widgets/art/widgets/checkbox.xpm +54 -0
  446. data/samples/{bigdemo/icons → widgets/art/widgets}/choice.xpm +1 -1
  447. data/samples/widgets/art/widgets/choicebk.xpm +54 -0
  448. data/samples/widgets/art/widgets/clrpicker.xpm +193 -0
  449. data/samples/widgets/art/widgets/combobox.xpm +54 -0
  450. data/samples/widgets/art/widgets/datepick.xpm +200 -0
  451. data/samples/widgets/art/widgets/dirctrl.xpm +54 -0
  452. data/samples/widgets/art/widgets/dirpicker.xpm +213 -0
  453. data/samples/widgets/art/widgets/filepicker.xpm +214 -0
  454. data/samples/widgets/art/widgets/fontpicker.xpm +185 -0
  455. data/samples/widgets/art/widgets/gauge.xpm +54 -0
  456. data/samples/widgets/art/widgets/header.xpm +54 -0
  457. data/samples/widgets/art/widgets/hyperlnk.xpm +54 -0
  458. data/samples/widgets/art/widgets/listbook.xpm +54 -0
  459. data/samples/widgets/art/widgets/listbox.xpm +54 -0
  460. data/samples/widgets/art/widgets/native.xpm +81 -0
  461. data/samples/widgets/art/widgets/notebook.xpm +54 -0
  462. data/samples/widgets/art/widgets/odcombobox.xpm +54 -0
  463. data/samples/widgets/art/widgets/radiobox.xpm +54 -0
  464. data/samples/widgets/art/widgets/scrolbar.xpm +54 -0
  465. data/samples/widgets/art/widgets/slider.xpm +54 -0
  466. data/samples/widgets/art/widgets/spinbtn.xpm +40 -0
  467. data/samples/widgets/art/widgets/statbmp.xpm +40 -0
  468. data/samples/widgets/art/widgets/statbox.xpm +54 -0
  469. data/samples/widgets/art/widgets/stattext.xpm +54 -0
  470. data/samples/widgets/art/widgets/text.xpm +54 -0
  471. data/samples/widgets/art/widgets/timepick.xpm +207 -0
  472. data/samples/widgets/art/widgets/toggle.xpm +54 -0
  473. data/samples/widgets/art/widgets/toucan.png +0 -0
  474. data/samples/widgets/bmpcombobox.rb +651 -0
  475. data/samples/widgets/button.rb +462 -0
  476. data/samples/widgets/checkbox.rb +211 -0
  477. data/samples/widgets/choice.rb +287 -0
  478. data/samples/widgets/clrpicker.rb +156 -0
  479. data/samples/widgets/combobox.rb +516 -0
  480. data/samples/widgets/datepick.rb +215 -0
  481. data/samples/widgets/dirctrl.rb +265 -0
  482. data/samples/widgets/dirpicker.rb +158 -0
  483. data/samples/widgets/editlbox.rb +122 -0
  484. data/samples/widgets/filectrl.rb +216 -0
  485. data/samples/widgets/filepicker.rb +214 -0
  486. data/samples/widgets/fontpicker.rb +135 -0
  487. data/samples/widgets/gauge.rb +311 -0
  488. data/samples/widgets/headerctrl.rb +236 -0
  489. data/samples/widgets/hyperlink.rb +203 -0
  490. data/samples/widgets/itemcontainer.rb +185 -0
  491. data/samples/widgets/listbox.rb +473 -0
  492. data/samples/widgets/notebook.rb +488 -0
  493. data/samples/widgets/odcombobox.rb +608 -0
  494. data/samples/widgets/radiobox.rb +328 -0
  495. data/samples/widgets/searchctrl.rb +159 -0
  496. data/samples/widgets/slider.rb +594 -0
  497. data/samples/widgets/spinbtn.rb +443 -0
  498. data/samples/widgets/statbmp.rb +130 -0
  499. data/samples/widgets/static.rb +436 -0
  500. data/samples/widgets/textctrl.rb +700 -0
  501. data/samples/widgets/timepick.rb +148 -0
  502. data/samples/widgets/tn_widgets.png +0 -0
  503. data/samples/widgets/toggle.rb +385 -0
  504. data/samples/widgets/widgets.rb +1233 -0
  505. data/samples/xrc/custom_xrc_sample.rb +47 -41
  506. data/samples/xrc/xrc_sample.rb +53 -47
  507. data/tests/test_event_handling.rb +52 -34
  508. data/tests/test_events.rb +7 -0
  509. data/tests/test_item_data.rb +24 -0
  510. data/tests/test_sizer.rb +44 -1
  511. data/tests/test_validators.rb +805 -0
  512. metadata +87 -137
  513. data/lib/wx/core/choice.rb +0 -14
  514. data/lib/wx/core/combo_ctrl.rb +0 -110
  515. data/samples/bigdemo/About.rbw +0 -39
  516. data/samples/bigdemo/ColorPanel.rbw +0 -23
  517. data/samples/bigdemo/GridSimple.rbw +0 -78
  518. data/samples/bigdemo/MDIDemo.rbw +0 -57
  519. data/samples/bigdemo/PopupMenu.rbw +0 -146
  520. data/samples/bigdemo/ShapedWindow.rbw +0 -128
  521. data/samples/bigdemo/Sizers.rbw +0 -541
  522. data/samples/bigdemo/bigdemo.rb +0 -817
  523. data/samples/bigdemo/demoTemplate.rbw +0 -33
  524. data/samples/bigdemo/helpfile.htb +0 -0
  525. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  526. data/samples/bigdemo/icons/Test 015.png +0 -0
  527. data/samples/bigdemo/icons/choice.bmp +0 -0
  528. data/samples/bigdemo/icons/combo.bmp +0 -0
  529. data/samples/bigdemo/icons/combo.xpm +0 -27
  530. data/samples/bigdemo/icons/copy.xpm +0 -25
  531. data/samples/bigdemo/icons/cut.xpm +0 -24
  532. data/samples/bigdemo/icons/gauge.bmp +0 -0
  533. data/samples/bigdemo/icons/gauge.xpm +0 -27
  534. data/samples/bigdemo/icons/help.xpm +0 -25
  535. data/samples/bigdemo/icons/list.bmp +0 -0
  536. data/samples/bigdemo/icons/list.xpm +0 -27
  537. data/samples/bigdemo/icons/mondrian.ico +0 -0
  538. data/samples/bigdemo/icons/mondrian.xpm +0 -44
  539. data/samples/bigdemo/icons/new.xpm +0 -24
  540. data/samples/bigdemo/icons/ogl.ico +0 -0
  541. data/samples/bigdemo/icons/ogl.xpm +0 -45
  542. data/samples/bigdemo/icons/open.xpm +0 -26
  543. data/samples/bigdemo/icons/paste.bmp +0 -0
  544. data/samples/bigdemo/icons/paste.xpm +0 -38
  545. data/samples/bigdemo/icons/pointy.png +0 -0
  546. data/samples/bigdemo/icons/preview.xpm +0 -26
  547. data/samples/bigdemo/icons/print.xpm +0 -26
  548. data/samples/bigdemo/icons/radio.bmp +0 -0
  549. data/samples/bigdemo/icons/radio.xpm +0 -27
  550. data/samples/bigdemo/icons/robert.xpm +0 -415
  551. data/samples/bigdemo/icons/sashtest.ico +0 -0
  552. data/samples/bigdemo/icons/save.xpm +0 -25
  553. data/samples/bigdemo/icons/smiles.bmp +0 -0
  554. data/samples/bigdemo/icons/smiles.xpm +0 -39
  555. data/samples/bigdemo/icons/smiley.ico +0 -0
  556. data/samples/bigdemo/icons/smiley.xpm +0 -42
  557. data/samples/bigdemo/icons/stattext.xpm +0 -24
  558. data/samples/bigdemo/icons/test2.bmp +0 -0
  559. data/samples/bigdemo/icons/test2.png +0 -0
  560. data/samples/bigdemo/icons/test2.xpm +0 -79
  561. data/samples/bigdemo/icons/text.bmp +0 -0
  562. data/samples/bigdemo/icons/text.xpm +0 -27
  563. data/samples/bigdemo/icons/tog1.bmp +0 -0
  564. data/samples/bigdemo/icons/tog1.xpm +0 -38
  565. data/samples/bigdemo/icons/tog2.bmp +0 -0
  566. data/samples/bigdemo/icons/tog2.xpm +0 -38
  567. data/samples/bigdemo/icons/wxruby-128x128.png +0 -0
  568. data/samples/bigdemo/icons/wxwin.ico +0 -0
  569. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  570. data/samples/bigdemo/icons/wxwin16x16.xpm +0 -25
  571. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  572. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  573. data/samples/bigdemo/run.rb +0 -98
  574. data/samples/bigdemo/tips.txt +0 -7
  575. data/samples/bigdemo/utils.rb +0 -20
  576. data/samples/bigdemo/wxArtProvider.rbw +0 -282
  577. data/samples/bigdemo/wxBitmapButton.rbw +0 -65
  578. data/samples/bigdemo/wxButton.rbw +0 -64
  579. data/samples/bigdemo/wxCalendarCtrl.rbw +0 -59
  580. data/samples/bigdemo/wxCheckBox.rbw +0 -50
  581. data/samples/bigdemo/wxCheckListBox.rbw +0 -65
  582. data/samples/bigdemo/wxChoice.rbw +0 -47
  583. data/samples/bigdemo/wxChoicebook.rbw +0 -78
  584. data/samples/bigdemo/wxColourDialog.rbw +0 -33
  585. data/samples/bigdemo/wxComboBox.rbw +0 -77
  586. data/samples/bigdemo/wxCursor.rbw +0 -136
  587. data/samples/bigdemo/wxDialog.rbw +0 -74
  588. data/samples/bigdemo/wxDirDialog.rbw +0 -29
  589. data/samples/bigdemo/wxDragImage.rbw +0 -70
  590. data/samples/bigdemo/wxFileDialog.rbw +0 -37
  591. data/samples/bigdemo/wxFileDialog_Save.rbw +0 -35
  592. data/samples/bigdemo/wxFindReplaceDialog.rbw +0 -82
  593. data/samples/bigdemo/wxFontDialog.rbw +0 -200
  594. data/samples/bigdemo/wxFrame.rbw +0 -53
  595. data/samples/bigdemo/wxGauge.rbw +0 -65
  596. data/samples/bigdemo/wxGenericDirCtrl.rbw +0 -74
  597. data/samples/bigdemo/wxGrid.rbw +0 -66
  598. data/samples/bigdemo/wxHtmlHelpController.rbw +0 -52
  599. data/samples/bigdemo/wxListBox.rbw +0 -140
  600. data/samples/bigdemo/wxListCtrl_virtual.rbw +0 -112
  601. data/samples/bigdemo/wxMDIWindows.rbw +0 -50
  602. data/samples/bigdemo/wxMenu.rbw +0 -247
  603. data/samples/bigdemo/wxMessageDialog.rbw +0 -27
  604. data/samples/bigdemo/wxMiniFrame.rbw +0 -70
  605. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +0 -29
  606. data/samples/bigdemo/wxNotebook.rbw +0 -136
  607. data/samples/bigdemo/wxProgressDialog.rbw +0 -43
  608. data/samples/bigdemo/wxRadioBox.rbw +0 -72
  609. data/samples/bigdemo/wxRadioButton.rbw +0 -125
  610. data/samples/bigdemo/wxSashWindow.rbw +0 -141
  611. data/samples/bigdemo/wxScrolledMessageDialog.rbw +0 -57
  612. data/samples/bigdemo/wxScrolledWindow.rbw +0 -199
  613. data/samples/bigdemo/wxSingleChoiceDialog.rbw +0 -33
  614. data/samples/bigdemo/wxSlider.rbw +0 -42
  615. data/samples/bigdemo/wxSpinButton.rbw +0 -50
  616. data/samples/bigdemo/wxSpinCtrl.rbw +0 -51
  617. data/samples/bigdemo/wxSplitterWindow.rbw +0 -63
  618. data/samples/bigdemo/wxStaticBitmap.rbw +0 -47
  619. data/samples/bigdemo/wxStaticText.rbw +0 -55
  620. data/samples/bigdemo/wxStatusBar.rbw +0 -126
  621. data/samples/bigdemo/wxTextCtrl.rbw +0 -149
  622. data/samples/bigdemo/wxTextEntryDialog.rbw +0 -31
  623. data/samples/bigdemo/wxToggleButton.rbw +0 -49
  624. data/samples/bigdemo/wxToolBar.rbw +0 -131
  625. data/samples/bigdemo/wxTreeCtrl.rbw +0 -191
  626. data/samples/caret/caret.rb +0 -298
  627. data/samples/caret/mondrian.xpm +0 -44
  628. data/samples/controls/books.rb +0 -189
  629. data/samples/controls/choice.xpm +0 -27
  630. data/samples/controls/combo.xpm +0 -27
  631. data/samples/controls/controls.rb +0 -1099
  632. data/samples/controls/gauge.xpm +0 -27
  633. data/samples/controls/list.xpm +0 -27
  634. data/samples/controls/mondrian.ico +0 -0
  635. data/samples/controls/mondrian.xpm +0 -44
  636. data/samples/controls/radio.xpm +0 -27
  637. data/samples/controls/stattext.xpm +0 -24
  638. data/samples/controls/test2.bmp +0 -0
  639. data/samples/controls/text.xpm +0 -27
  640. data/samples/controls/tn_books.png +0 -0
  641. data/samples/controls/tn_controls.png +0 -0
  642. data/samples/etc/choice.rb +0 -87
  643. data/samples/etc/tn_choice.png +0 -0
  644. data/samples/text/mondrian.ico +0 -0
  645. data/samples/text/mondrian.xpm +0 -44
  646. /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
@@ -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
 
data/tests/test_sizer.rb CHANGED
@@ -52,8 +52,51 @@ class SizerTests < WxRuby::Test::GUITests
52
52
  assert_true(children[1].spacer?)
53
53
  assert_true(children[2].sizer?)
54
54
  frame_win.sizer.each_child do |si|
55
- assert_equal(children.shift, si)
55
+ assert_equal(children.shift.ptr_addr, si.ptr_addr)
56
56
  end
57
57
  end
58
58
 
59
+ def test_user_data
60
+ frame_win.get_sizer.add(Wx::HBoxSizer.new, 0, 0, 0, 'This is user data')
61
+ frame_win.get_sizer.add(5,5, 0,0,0, %w[This is user data])
62
+ frame_win.get_sizer.add(Wx::VBoxSizer.new, 0, 0, 0, {1 => 'This', 2 => 'is', 3 => 'user', 4 => 'data'})
63
+
64
+ GC.start
65
+
66
+ assert_equal(3, frame_win.sizer.item_count)
67
+ children = frame_win.sizer.get_children
68
+ assert_equal(3, children.size)
69
+ assert_kind_of(::String, children[0].user_data)
70
+ assert_equal('This is user data', children[0].user_data)
71
+ assert_kind_of(::Array, children[1].user_data)
72
+ assert_equal(%w[This is user data], children[1].user_data)
73
+ assert_kind_of(::Hash, children[2].user_data)
74
+ assert_equal({1 => 'This', 2 => 'is', 3 => 'user', 4 => 'data'}, children[2].user_data)
75
+
76
+ klass = Class.new do
77
+ def initialize
78
+ @unlinked = false
79
+ end
80
+ def client_data_unlinked
81
+ @unlinked = true
82
+ end
83
+ attr_reader :unlinked
84
+ end
85
+
86
+ frame_win.get_sizer.add(Wx::HBoxSizer.new, 0, 0, 0, klass.new)
87
+
88
+ GC.start
89
+
90
+ assert_equal(4, frame_win.sizer.item_count)
91
+ assert_kind_of(klass, frame_win.get_sizer.get_item(3).user_data)
92
+ user_data = frame_win.get_sizer.get_item(3).user_data
93
+ assert_false(user_data.unlinked)
94
+ frame_win.get_sizer.get_item(3).set_user_data(nil)
95
+
96
+ GC.start
97
+
98
+ assert_true(user_data.unlinked)
99
+ assert_nil(frame_win.get_sizer.get_item(3).user_data)
100
+ end
101
+
59
102
  end