wxruby3 0.9.2-x64-mingw-ucrt → 0.9.4-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 (668) 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/book_ctrl_base.rb +16 -0
  21. data/lib/wx/core/combobox.rb +13 -3
  22. data/lib/wx/core/config.rb +454 -83
  23. data/lib/wx/core/controlwithitems.rb +40 -130
  24. data/lib/wx/core/enum.rb +17 -1
  25. data/lib/wx/core/event.rb +6 -1
  26. data/lib/wx/core/events/evt_list.rb +5 -4
  27. data/lib/wx/core/evthandler.rb +8 -2
  28. data/lib/wx/core/generic_validator.rb +312 -0
  29. data/lib/wx/core/listbox.rb +2 -2
  30. data/lib/wx/core/log.rb +1 -1
  31. data/lib/wx/core/notebook.rb +10 -8
  32. data/lib/wx/core/owner_drawn_combobox.rb +45 -0
  33. data/lib/wx/core/peristent_object.rb +15 -0
  34. data/lib/wx/core/persistence_manager.rb +39 -0
  35. data/lib/wx/core/persistent_window.rb +16 -0
  36. data/lib/wx/core/size.rb +4 -0
  37. data/lib/wx/core/sizer.rb +1 -2
  38. data/lib/wx/core/standard_paths.rb +22 -0
  39. data/lib/wx/core/text_entry.rb +4 -1
  40. data/lib/wx/core/top_level_window.rb +16 -0
  41. data/lib/wx/core/treebook.rb +18 -0
  42. data/lib/wx/core/validator.rb +70 -5
  43. data/lib/wx/core/window.rb +3 -7
  44. data/lib/wx/core.rb +4 -0
  45. data/lib/wx/doc/art_locator.rb +1 -0
  46. data/lib/wx/doc/book_ctrl_base.rb +19 -0
  47. data/lib/wx/doc/comboctrl.rb +18 -0
  48. data/lib/wx/doc/config.rb +101 -41
  49. data/lib/wx/doc/controlwithitems.rb +16 -0
  50. data/lib/wx/doc/date_picker_ctrl.rb +23 -0
  51. data/lib/wx/doc/editable_listbox.rb +44 -0
  52. data/lib/wx/doc/enum.rb +15 -0
  53. data/lib/wx/doc/event.rb +12 -0
  54. data/lib/wx/doc/extra/12_client_data.md +89 -0
  55. data/lib/wx/doc/extra/13_validators.md +139 -0
  56. data/lib/wx/doc/extra/14_config.md +101 -0
  57. data/lib/wx/doc/extra/15_persistence.md +148 -0
  58. data/lib/wx/doc/gdi_common.rb +4 -0
  59. data/lib/wx/doc/gen/about_dialog_info.rb +25 -0
  60. data/lib/wx/doc/gen/accelerator.rb +7 -1
  61. data/lib/wx/doc/gen/accessible.rb +13 -0
  62. data/lib/wx/doc/gen/activity_indicator.rb +7 -0
  63. data/lib/wx/doc/gen/animation.rb +12 -0
  64. data/lib/wx/doc/gen/animation_ctrl.rb +10 -0
  65. data/lib/wx/doc/gen/any_button.rb +17 -1
  66. data/lib/wx/doc/gen/app.rb +35 -1
  67. data/lib/wx/doc/gen/app_traits.rb +38 -5
  68. data/lib/wx/doc/gen/art_provider.rb +14 -0
  69. data/lib/wx/doc/gen/aui/aui_dock_art.rb +12 -0
  70. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +1 -0
  71. data/lib/wx/doc/gen/aui/aui_manager.rb +24 -1
  72. data/lib/wx/doc/gen/aui/aui_manager_event.rb +9 -1
  73. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +3 -0
  74. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +2 -0
  75. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +3 -1
  76. data/lib/wx/doc/gen/aui/aui_notebook.rb +20 -2
  77. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +2 -1
  78. data/lib/wx/doc/gen/aui/aui_pane_info.rb +30 -1
  79. data/lib/wx/doc/gen/aui/aui_tab_art.rb +6 -0
  80. data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +1 -0
  81. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +11 -0
  82. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +2 -0
  83. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +2 -1
  84. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +4 -0
  85. data/lib/wx/doc/gen/banner_window.rb +7 -0
  86. data/lib/wx/doc/gen/bitmap.rb +64 -3
  87. data/lib/wx/doc/gen/bitmap_button.rb +6 -1
  88. data/lib/wx/doc/gen/bitmap_combo_box.rb +9 -3
  89. data/lib/wx/doc/gen/book_ctrl_base.rb +17 -2
  90. data/lib/wx/doc/gen/book_ctrl_event.rb +3 -1
  91. data/lib/wx/doc/gen/box_sizer.rb +5 -0
  92. data/lib/wx/doc/gen/brush.rb +16 -1
  93. data/lib/wx/doc/gen/busy_info.rb +8 -0
  94. data/lib/wx/doc/gen/button.rb +11 -3
  95. data/lib/wx/doc/gen/calculate_layout_event.rb +4 -0
  96. data/lib/wx/doc/gen/calendar_ctrl.rb +22 -0
  97. data/lib/wx/doc/gen/calendar_date_attr.rb +1 -0
  98. data/lib/wx/doc/gen/calendar_event.rb +3 -1
  99. data/lib/wx/doc/gen/caret.rb +3 -0
  100. data/lib/wx/doc/gen/check_box.rb +10 -0
  101. data/lib/wx/doc/gen/check_list_box.rb +3 -0
  102. data/lib/wx/doc/gen/choice.rb +14 -2
  103. data/lib/wx/doc/gen/choicebook.rb +1 -0
  104. data/lib/wx/doc/gen/client_dc.rb +1 -0
  105. data/lib/wx/doc/gen/clipboard.rb +9 -0
  106. data/lib/wx/doc/gen/collapsible_pane.rb +3 -0
  107. data/lib/wx/doc/gen/collapsible_pane_event.rb +1 -0
  108. data/lib/wx/doc/gen/colour.rb +20 -0
  109. data/lib/wx/doc/gen/colour_dialog.rb +10 -0
  110. data/lib/wx/doc/gen/colour_picker_ctrl.rb +4 -0
  111. data/lib/wx/doc/gen/colour_picker_event.rb +1 -0
  112. data/lib/wx/doc/gen/combo_box.rb +20 -1
  113. data/lib/wx/doc/gen/combo_ctrl.rb +54 -295
  114. data/lib/wx/doc/gen/command_link_button.rb +8 -0
  115. data/lib/wx/doc/gen/context_help_button.rb +7 -1
  116. data/lib/wx/doc/gen/control.rb +12 -0
  117. data/lib/wx/doc/gen/control_with_items.rb +45 -9
  118. data/lib/wx/doc/gen/core.rb +2 -2
  119. data/lib/wx/doc/gen/cursor.rb +4 -0
  120. data/lib/wx/doc/gen/data_format.rb +1 -0
  121. data/lib/wx/doc/gen/data_object.rb +27 -5
  122. data/lib/wx/doc/gen/date_event.rb +2 -1
  123. data/lib/wx/doc/gen/date_picker_ctrl.rb +7 -1
  124. data/lib/wx/doc/gen/dc.rb +87 -3
  125. data/lib/wx/doc/gen/dial_up_event.rb +2 -0
  126. data/lib/wx/doc/gen/dial_up_manager.rb +12 -0
  127. data/lib/wx/doc/gen/dialog.rb +42 -3
  128. data/lib/wx/doc/gen/dir_dialog.rb +6 -1
  129. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +1 -0
  130. data/lib/wx/doc/gen/dir_picker_ctrl.rb +5 -0
  131. data/lib/wx/doc/gen/drag_drop.rb +20 -0
  132. data/lib/wx/doc/gen/drag_image.rb +7 -0
  133. data/lib/wx/doc/gen/editable_list_box.rb +5 -3
  134. data/lib/wx/doc/gen/event.rb +26 -11
  135. data/lib/wx/doc/gen/event_blocker.rb +2 -1
  136. data/lib/wx/doc/gen/event_filter.rb +3 -2
  137. data/lib/wx/doc/gen/event_list.rb +4 -4
  138. data/lib/wx/doc/gen/events.rb +165 -26
  139. data/lib/wx/doc/gen/evt_handler.rb +40 -2
  140. data/lib/wx/doc/gen/ext_help_controller.rb +9 -0
  141. data/lib/wx/doc/gen/file_ctrl.rb +11 -2
  142. data/lib/wx/doc/gen/file_ctrl_event.rb +5 -1
  143. data/lib/wx/doc/gen/file_dialog.rb +13 -0
  144. data/lib/wx/doc/gen/file_dialog_custom_control.rb +12 -0
  145. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +11 -2
  146. data/lib/wx/doc/gen/file_dir_picker_event.rb +2 -1
  147. data/lib/wx/doc/gen/file_picker_ctrl.rb +4 -0
  148. data/lib/wx/doc/gen/file_system.rb +17 -1
  149. data/lib/wx/doc/gen/find_dialog_event.rb +2 -1
  150. data/lib/wx/doc/gen/find_replace_data.rb +1 -0
  151. data/lib/wx/doc/gen/find_replace_dialog.rb +3 -0
  152. data/lib/wx/doc/gen/flex_grid_sizer.rb +13 -0
  153. data/lib/wx/doc/gen/font.rb +75 -3
  154. data/lib/wx/doc/gen/font_data.rb +14 -0
  155. data/lib/wx/doc/gen/font_dialog.rb +6 -0
  156. data/lib/wx/doc/gen/font_picker_ctrl.rb +8 -0
  157. data/lib/wx/doc/gen/font_picker_event.rb +1 -0
  158. data/lib/wx/doc/gen/frame.rb +24 -7
  159. data/lib/wx/doc/gen/fs_file.rb +22 -0
  160. data/lib/wx/doc/gen/gauge.rb +8 -0
  161. data/lib/wx/doc/gen/gb_sizer_item.rb +5 -0
  162. data/lib/wx/doc/gen/gcdc.rb +2 -0
  163. data/lib/wx/doc/gen/gdi_common.rb +50 -8
  164. data/lib/wx/doc/gen/gdi_object.rb +1 -0
  165. data/lib/wx/doc/gen/generic_dir_ctrl.rb +7 -0
  166. data/lib/wx/doc/gen/graphics_context.rb +36 -7
  167. data/lib/wx/doc/gen/graphics_object.rb +24 -0
  168. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +2 -2
  169. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +14 -4
  170. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +1 -2
  171. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +1 -2
  172. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +2 -2
  173. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +1 -2
  174. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +2 -2
  175. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +1 -2
  176. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +1 -2
  177. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +1 -2
  178. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +9 -2
  179. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +1 -2
  180. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +1 -2
  181. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +1 -2
  182. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +2 -2
  183. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +2 -2
  184. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +1 -2
  185. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +6 -2
  186. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +1 -2
  187. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +1 -2
  188. data/lib/wx/doc/gen/grid/grid_ctrl.rb +229 -7
  189. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +4 -1
  190. data/lib/wx/doc/gen/grid/grid_event.rb +4 -1
  191. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +2 -1
  192. data/lib/wx/doc/gen/grid/grid_size_event.rb +2 -1
  193. data/lib/wx/doc/gen/grid/grid_string_table.rb +7 -0
  194. data/lib/wx/doc/gen/grid/grid_table_base.rb +27 -1
  195. data/lib/wx/doc/gen/grid/grid_table_message.rb +1 -0
  196. data/lib/wx/doc/gen/grid_bag_sizer.rb +24 -4
  197. data/lib/wx/doc/gen/grid_sizer.rb +11 -0
  198. data/lib/wx/doc/gen/gui_event_loop.rb +12 -2
  199. data/lib/wx/doc/gen/header_ctrl.rb +106 -6
  200. data/lib/wx/doc/gen/header_ctrl_event.rb +5 -1
  201. data/lib/wx/doc/gen/help_controller.rb +11 -0
  202. data/lib/wx/doc/gen/help_provider.rb +12 -3
  203. data/lib/wx/doc/gen/html/html_cell.rb +25 -0
  204. data/lib/wx/doc/gen/html/html_cell_event.rb +3 -1
  205. data/lib/wx/doc/gen/html/html_easy_printing.rb +13 -1
  206. data/lib/wx/doc/gen/html/html_help_controller.rb +18 -0
  207. data/lib/wx/doc/gen/html/html_help_data.rb +5 -0
  208. data/lib/wx/doc/gen/html/html_help_window.rb +8 -0
  209. data/lib/wx/doc/gen/html/html_link_event.rb +1 -0
  210. data/lib/wx/doc/gen/html/html_list_box.rb +49 -9
  211. data/lib/wx/doc/gen/html/html_printout.rb +7 -0
  212. data/lib/wx/doc/gen/html/html_window.rb +31 -0
  213. data/lib/wx/doc/gen/hyperlink_ctrl.rb +2 -1
  214. data/lib/wx/doc/gen/hyperlink_event.rb +1 -0
  215. data/lib/wx/doc/gen/icon.rb +19 -1
  216. data/lib/wx/doc/gen/icon_location.rb +1 -0
  217. data/lib/wx/doc/gen/image.rb +67 -10
  218. data/lib/wx/doc/gen/image_list.rb +12 -2
  219. data/lib/wx/doc/gen/info_bar.rb +12 -0
  220. data/lib/wx/doc/gen/keyboard_state.rb +11 -0
  221. data/lib/wx/doc/gen/list_box.rb +20 -3
  222. data/lib/wx/doc/gen/list_ctrl.rb +89 -0
  223. data/lib/wx/doc/gen/list_event.rb +11 -1
  224. data/lib/wx/doc/gen/listbook.rb +1 -0
  225. data/lib/wx/doc/gen/locale.rb +22 -0
  226. data/lib/wx/doc/gen/log.rb +42 -0
  227. data/lib/wx/doc/gen/mdi_client_window.rb +4 -1
  228. data/lib/wx/doc/gen/mdi_frame.rb +27 -4
  229. data/lib/wx/doc/gen/media_ctrl.rb +17 -0
  230. data/lib/wx/doc/gen/media_event.rb +2 -1
  231. data/lib/wx/doc/gen/memory_dc.rb +10 -0
  232. data/lib/wx/doc/gen/menu.rb +48 -7
  233. data/lib/wx/doc/gen/menu_bar.rb +32 -13
  234. data/lib/wx/doc/gen/menu_item.rb +26 -0
  235. data/lib/wx/doc/gen/message_dialog.rb +10 -0
  236. data/lib/wx/doc/gen/mini_frame.rb +5 -2
  237. data/lib/wx/doc/gen/mirror_dc.rb +1 -0
  238. data/lib/wx/doc/gen/mouse_state.rb +1 -0
  239. data/lib/wx/doc/gen/multi_choice_dialog.rb +3 -1
  240. data/lib/wx/doc/gen/non_owned_window.rb +3 -0
  241. data/lib/wx/doc/gen/notebook.rb +11 -1
  242. data/lib/wx/doc/gen/num_validator.rb +37 -0
  243. data/lib/wx/doc/gen/number_entry_dialog.rb +4 -0
  244. data/lib/wx/doc/gen/object.rb +3 -0
  245. data/lib/wx/doc/gen/owner_drawn_combo_box.rb +340 -0
  246. data/lib/wx/doc/gen/paint_dc.rb +1 -0
  247. data/lib/wx/doc/gen/palette.rb +5 -0
  248. data/lib/wx/doc/gen/panel.rb +10 -2
  249. data/lib/wx/doc/gen/pen.rb +30 -1
  250. data/lib/wx/doc/gen/persistence_manager.rb +135 -0
  251. data/lib/wx/doc/gen/persistent_object.rb +52 -0
  252. data/lib/wx/doc/gen/persistent_window.rb +116 -0
  253. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +2 -1
  254. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +4 -1
  255. data/lib/wx/doc/gen/pg/pg_cell.rb +6 -1
  256. data/lib/wx/doc/gen/pg/pg_editor.rb +61 -15
  257. data/lib/wx/doc/gen/pg/pg_multi_button.rb +2 -0
  258. data/lib/wx/doc/gen/pg/pg_properties.rb +198 -81
  259. data/lib/wx/doc/gen/pg/pg_property.rb +129 -52
  260. data/lib/wx/doc/gen/pg/pg_validation_info.rb +2 -0
  261. data/lib/wx/doc/gen/pg/property_grid.rb +56 -14
  262. data/lib/wx/doc/gen/pg/property_grid_event.rb +16 -6
  263. data/lib/wx/doc/gen/pg/property_grid_interface.rb +98 -37
  264. data/lib/wx/doc/gen/pg/property_grid_manager.rb +29 -7
  265. data/lib/wx/doc/gen/pg/property_grid_page.rb +11 -4
  266. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +7 -2
  267. data/lib/wx/doc/gen/picker_base.rb +11 -1
  268. data/lib/wx/doc/gen/platform_info.rb +31 -0
  269. data/lib/wx/doc/gen/popup_window.rb +5 -0
  270. data/lib/wx/doc/gen/progress_dialog.rb +4 -0
  271. data/lib/wx/doc/gen/property_sheet_dialog.rb +7 -1
  272. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +2 -0
  273. data/lib/wx/doc/gen/prt/post_script_dc.rb +1 -0
  274. data/lib/wx/doc/gen/prt/preview_frame.rb +4 -0
  275. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +1 -0
  276. data/lib/wx/doc/gen/prt/print_data.rb +27 -0
  277. data/lib/wx/doc/gen/prt/print_dialog.rb +4 -0
  278. data/lib/wx/doc/gen/prt/printer.rb +42 -5
  279. data/lib/wx/doc/gen/prt/printer_dc.rb +2 -0
  280. data/lib/wx/doc/gen/query_layout_info_event.rb +9 -0
  281. data/lib/wx/doc/gen/radio_box.rb +19 -0
  282. data/lib/wx/doc/gen/radio_button.rb +9 -0
  283. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +63 -0
  284. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +23 -0
  285. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +2 -1
  286. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +35 -9
  287. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +2 -1
  288. data/lib/wx/doc/gen/rbn/ribbon_control.rb +10 -0
  289. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +17 -7
  290. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +2 -1
  291. data/lib/wx/doc/gen/rbn/ribbon_page.rb +12 -0
  292. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +11 -0
  293. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +2 -1
  294. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +25 -0
  295. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +2 -1
  296. data/lib/wx/doc/gen/rearrange_ctrl.rb +4 -0
  297. data/lib/wx/doc/gen/rearrange_list.rb +9 -0
  298. data/lib/wx/doc/gen/region.rb +42 -13
  299. data/lib/wx/doc/gen/region_iterator.rb +1 -0
  300. data/lib/wx/doc/gen/rtc/rich_text_box.rb +25 -8
  301. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +41 -4
  302. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +1 -0
  303. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +23 -11
  304. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +74 -0
  305. data/lib/wx/doc/gen/rtc/rich_text_event.rb +6 -1
  306. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +8 -0
  307. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +6 -0
  308. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +1 -0
  309. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +4 -0
  310. data/lib/wx/doc/gen/rtc/rich_text_image.rb +7 -0
  311. data/lib/wx/doc/gen/rtc/rich_text_object.rb +64 -4
  312. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +51 -4
  313. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +13 -0
  314. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +9 -4
  315. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +3 -0
  316. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +2 -0
  317. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +1 -0
  318. data/lib/wx/doc/gen/sash_event.rb +5 -1
  319. data/lib/wx/doc/gen/sash_layout_window.rb +10 -0
  320. data/lib/wx/doc/gen/sash_window.rb +3 -0
  321. data/lib/wx/doc/gen/screen_dc.rb +1 -0
  322. data/lib/wx/doc/gen/scroll_bar.rb +11 -2
  323. data/lib/wx/doc/gen/scrolled_canvas.rb +20 -4
  324. data/lib/wx/doc/gen/scrolled_control.rb +20 -4
  325. data/lib/wx/doc/gen/scrolled_window.rb +20 -4
  326. data/lib/wx/doc/gen/search_ctrl.rb +6 -0
  327. data/lib/wx/doc/gen/simplebook.rb +7 -0
  328. data/lib/wx/doc/gen/single_choice_dialog.rb +3 -1
  329. data/lib/wx/doc/gen/sizer.rb +79 -9
  330. data/lib/wx/doc/gen/sizer_item.rb +16 -2
  331. data/lib/wx/doc/gen/slider.rb +23 -0
  332. data/lib/wx/doc/gen/spin_button.rb +9 -0
  333. data/lib/wx/doc/gen/spin_ctrl.rb +11 -0
  334. data/lib/wx/doc/gen/spin_ctrl_double.rb +7 -0
  335. data/lib/wx/doc/gen/spin_double_event.rb +4 -1
  336. data/lib/wx/doc/gen/spin_event.rb +2 -1
  337. data/lib/wx/doc/gen/splash_screen.rb +2 -0
  338. data/lib/wx/doc/gen/splitter_event.rb +10 -1
  339. data/lib/wx/doc/gen/splitter_window.rb +38 -14
  340. data/lib/wx/doc/gen/static_bitmap.rb +99 -2
  341. data/lib/wx/doc/gen/static_box.rb +6 -0
  342. data/lib/wx/doc/gen/static_box_sizer.rb +3 -0
  343. data/lib/wx/doc/gen/static_line.rb +4 -0
  344. data/lib/wx/doc/gen/static_text.rb +5 -0
  345. data/lib/wx/doc/gen/status_bar.rb +17 -3
  346. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +174 -6
  347. data/lib/wx/doc/gen/stc/styled_text_event.rb +27 -1
  348. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +7 -0
  349. data/lib/wx/doc/gen/svg_file_dc.rb +9 -0
  350. data/lib/wx/doc/gen/system_options.rb +8 -0
  351. data/lib/wx/doc/gen/system_settings.rb +7 -0
  352. data/lib/wx/doc/gen/task_bar_button.rb +12 -0
  353. data/lib/wx/doc/gen/task_bar_icon.rb +5 -0
  354. data/lib/wx/doc/gen/task_bar_icon_event.rb +2 -1
  355. data/lib/wx/doc/gen/text_attr.rb +27 -0
  356. data/lib/wx/doc/gen/text_ctrl.rb +27 -3
  357. data/lib/wx/doc/gen/text_entry.rb +43 -9
  358. data/lib/wx/doc/gen/text_entry_dialog.rb +12 -0
  359. data/lib/wx/doc/gen/text_validator.rb +16 -0
  360. data/lib/wx/doc/gen/time_picker_ctrl.rb +6 -0
  361. data/lib/wx/doc/gen/timer.rb +8 -0
  362. data/lib/wx/doc/gen/timer_event.rb +1 -0
  363. data/lib/wx/doc/gen/tip_provider.rb +5 -0
  364. data/lib/wx/doc/gen/toggle_button.rb +68 -0
  365. data/lib/wx/doc/gen/tool_bar.rb +57 -14
  366. data/lib/wx/doc/gen/tool_tip.rb +6 -0
  367. data/lib/wx/doc/gen/toolbook.rb +3 -0
  368. data/lib/wx/doc/gen/top_level_window.rb +34 -3
  369. data/lib/wx/doc/gen/tree_ctrl.rb +49 -0
  370. data/lib/wx/doc/gen/tree_event.rb +7 -1
  371. data/lib/wx/doc/gen/treebook.rb +9 -0
  372. data/lib/wx/doc/gen/ui_action_simulator.rb +4 -0
  373. data/lib/wx/doc/gen/utils.rb +55 -16
  374. data/lib/wx/doc/gen/v_list_box.rb +21 -0
  375. data/lib/wx/doc/gen/v_scrolled_window.rb +15 -0
  376. data/lib/wx/doc/gen/validator.rb +9 -13
  377. data/lib/wx/doc/gen/variant.rb +6 -0
  378. data/lib/wx/doc/gen/window.rb +260 -52
  379. data/lib/wx/doc/gen/window_dc.rb +2 -0
  380. data/lib/wx/doc/gen/window_disabler.rb +1 -0
  381. data/lib/wx/doc/gen/with_images.rb +7 -1
  382. data/lib/wx/doc/gen/wizard.rb +18 -0
  383. data/lib/wx/doc/gen/wizard_event.rb +3 -1
  384. data/lib/wx/doc/gen/wizard_page.rb +5 -0
  385. data/lib/wx/doc/gen/wizard_page_simple.rb +4 -0
  386. data/lib/wx/doc/gen/wrap_sizer.rb +5 -0
  387. data/lib/wx/doc/gen/xml_node.rb +14 -0
  388. data/lib/wx/doc/gen/xml_resource.rb +22 -0
  389. data/lib/wx/doc/generic_validator.rb +95 -0
  390. data/lib/wx/doc/html/simple_html_listbox.rb +22 -0
  391. data/lib/wx/doc/num_validator.rb +387 -0
  392. data/lib/wx/doc/owner_drawn_combobox.rb +96 -0
  393. data/lib/wx/doc/persistence_manager.rb +36 -0
  394. data/lib/wx/doc/persistent_object.rb +27 -0
  395. data/lib/wx/doc/pg/numeric_property_validator.rb +33 -0
  396. data/lib/wx/doc/static_bitmap.rb +25 -0
  397. data/lib/wx/doc/text_validator.rb +10 -0
  398. data/lib/wx/doc/top_level_window.rb +19 -0
  399. data/lib/wx/doc/treebook.rb +6 -1
  400. data/lib/wx/doc/validator.rb +113 -0
  401. data/lib/wx/doc/window.rb +30 -0
  402. data/lib/wx/html/events/evt_list.rb +0 -10
  403. data/lib/wx/html/simple_html_listbox.rb +24 -91
  404. data/lib/wx/keyword_defs.rb +34 -2
  405. data/lib/wx/rbn/ribbon_gallery.rb +0 -21
  406. data/lib/wx/version.rb +1 -1
  407. data/lib/wxruby_aui.so +0 -0
  408. data/lib/wxruby_core.so +0 -0
  409. data/lib/wxruby_grid.so +0 -0
  410. data/lib/wxruby_html.so +0 -0
  411. data/lib/wxruby_pg.so +0 -0
  412. data/lib/wxruby_prt.so +0 -0
  413. data/lib/wxruby_rbn.so +0 -0
  414. data/lib/wxruby_rtc.so +0 -0
  415. data/lib/wxruby_stc.so +0 -0
  416. data/rakelib/lib/config/mingw.rb +12 -0
  417. data/samples/aui/aui.rb +1237 -1233
  418. data/samples/calendar/calendar.rb +293 -289
  419. data/samples/controls/get_item_sample.rb +83 -79
  420. data/samples/controls/htlbox.rb +331 -327
  421. data/samples/dialogs/dialogs.rb +682 -694
  422. data/samples/dialogs/wizard.rb +52 -55
  423. data/samples/dragdrop/dragdrop.rb +146 -142
  424. data/samples/drawing/bitmap.rb +29 -26
  425. data/samples/drawing/bitmap_image.rb +84 -80
  426. data/samples/drawing/graphics_drawing.rb +209 -205
  427. data/samples/drawing/image_prt.rb +344 -340
  428. data/samples/drawing/maths_images.rb +18 -1
  429. data/samples/drawing/rmagic_bitmap_image.rb +88 -84
  430. data/samples/etc/caret.rb +306 -0
  431. data/samples/etc/miniframe.rb +65 -60
  432. data/samples/etc/sash.rb +109 -105
  433. data/samples/etc/scrollwin.rb +86 -80
  434. data/samples/etc/system_settings.rb +216 -209
  435. data/samples/event/activation.rb +72 -67
  436. data/samples/event/event.rb +160 -153
  437. data/samples/event/threaded.rb +8 -1
  438. data/samples/event/update_ui_event.rb +67 -60
  439. data/samples/grid/grid.rb +188 -181
  440. data/samples/grid/gridtablebase.rb +136 -129
  441. data/samples/html/html.rb +208 -204
  442. data/samples/mdi/mdi.rb +59 -54
  443. data/samples/minimal/minimal.rb +54 -51
  444. data/samples/minimal/nothing.rb +1 -0
  445. data/samples/printing/printing.rb +367 -377
  446. data/samples/printing/printing2.rb +203 -198
  447. data/samples/propgrid/propgrid.rb +2312 -2308
  448. data/samples/propgrid/propgrid_minimal.rb +57 -50
  449. data/samples/ribbon/ribbon.rb +780 -774
  450. data/samples/sampler/ext.rb +0 -33
  451. data/samples/sampler/sample.rb +4 -9
  452. data/samples/sampler.rb +1 -1
  453. data/samples/splash/splash.rb +118 -116
  454. data/samples/text/rich_textctrl.rb +207 -201
  455. data/samples/text/richtext.rb +1409 -1405
  456. data/samples/text/scintilla.rb +137 -128
  457. data/samples/text/textctrl.rb +89 -83
  458. data/samples/text/unicode.rb +175 -168
  459. data/samples/treectrl/treectrl.rb +1430 -1426
  460. data/samples/widgets/activityindicator.rb +95 -0
  461. data/samples/widgets/art/widgets/activityindicator.xpm +278 -0
  462. data/samples/widgets/art/widgets/bmpbtn.xpm +37 -0
  463. data/samples/widgets/art/widgets/bmpcombobox.xpm +54 -0
  464. data/samples/widgets/art/widgets/button.xpm +54 -0
  465. data/samples/widgets/art/widgets/checkbox.xpm +54 -0
  466. data/samples/{bigdemo/icons → widgets/art/widgets}/choice.xpm +1 -1
  467. data/samples/widgets/art/widgets/choicebk.xpm +54 -0
  468. data/samples/widgets/art/widgets/clrpicker.xpm +193 -0
  469. data/samples/widgets/art/widgets/combobox.xpm +54 -0
  470. data/samples/widgets/art/widgets/datepick.xpm +200 -0
  471. data/samples/widgets/art/widgets/dirctrl.xpm +54 -0
  472. data/samples/widgets/art/widgets/dirpicker.xpm +213 -0
  473. data/samples/widgets/art/widgets/filepicker.xpm +214 -0
  474. data/samples/widgets/art/widgets/fontpicker.xpm +185 -0
  475. data/samples/widgets/art/widgets/gauge.xpm +54 -0
  476. data/samples/widgets/art/widgets/header.xpm +54 -0
  477. data/samples/widgets/art/widgets/hyperlnk.xpm +54 -0
  478. data/samples/widgets/art/widgets/listbook.xpm +54 -0
  479. data/samples/widgets/art/widgets/listbox.xpm +54 -0
  480. data/samples/widgets/art/widgets/native.xpm +81 -0
  481. data/samples/widgets/art/widgets/notebook.xpm +54 -0
  482. data/samples/widgets/art/widgets/odcombobox.xpm +54 -0
  483. data/samples/widgets/art/widgets/radiobox.xpm +54 -0
  484. data/samples/widgets/art/widgets/scrolbar.xpm +54 -0
  485. data/samples/widgets/art/widgets/slider.xpm +54 -0
  486. data/samples/widgets/art/widgets/spinbtn.xpm +40 -0
  487. data/samples/widgets/art/widgets/statbmp.xpm +40 -0
  488. data/samples/widgets/art/widgets/statbox.xpm +54 -0
  489. data/samples/widgets/art/widgets/stattext.xpm +54 -0
  490. data/samples/widgets/art/widgets/text.xpm +54 -0
  491. data/samples/widgets/art/widgets/timepick.xpm +207 -0
  492. data/samples/widgets/art/widgets/toggle.xpm +54 -0
  493. data/samples/widgets/art/widgets/toucan.png +0 -0
  494. data/samples/widgets/bmpcombobox.rb +651 -0
  495. data/samples/widgets/button.rb +462 -0
  496. data/samples/widgets/checkbox.rb +211 -0
  497. data/samples/widgets/choice.rb +287 -0
  498. data/samples/widgets/clrpicker.rb +156 -0
  499. data/samples/widgets/combobox.rb +516 -0
  500. data/samples/widgets/datepick.rb +215 -0
  501. data/samples/widgets/dirctrl.rb +265 -0
  502. data/samples/widgets/dirpicker.rb +158 -0
  503. data/samples/widgets/editlbox.rb +122 -0
  504. data/samples/widgets/filectrl.rb +216 -0
  505. data/samples/widgets/filepicker.rb +214 -0
  506. data/samples/widgets/fontpicker.rb +135 -0
  507. data/samples/widgets/gauge.rb +311 -0
  508. data/samples/widgets/headerctrl.rb +236 -0
  509. data/samples/widgets/hyperlink.rb +203 -0
  510. data/samples/widgets/itemcontainer.rb +185 -0
  511. data/samples/widgets/listbox.rb +473 -0
  512. data/samples/widgets/notebook.rb +488 -0
  513. data/samples/widgets/odcombobox.rb +608 -0
  514. data/samples/widgets/radiobox.rb +328 -0
  515. data/samples/widgets/searchctrl.rb +159 -0
  516. data/samples/widgets/slider.rb +594 -0
  517. data/samples/widgets/spinbtn.rb +443 -0
  518. data/samples/widgets/statbmp.rb +130 -0
  519. data/samples/widgets/static.rb +436 -0
  520. data/samples/widgets/textctrl.rb +700 -0
  521. data/samples/widgets/timepick.rb +148 -0
  522. data/samples/widgets/tn_widgets.png +0 -0
  523. data/samples/widgets/toggle.rb +385 -0
  524. data/samples/widgets/widgets.rb +1229 -0
  525. data/samples/xrc/custom_xrc_sample.rb +47 -41
  526. data/samples/xrc/xrc_sample.rb +53 -47
  527. data/tests/test_config.rb +207 -42
  528. data/tests/test_event_handling.rb +52 -34
  529. data/tests/test_events.rb +7 -0
  530. data/tests/test_item_data.rb +24 -0
  531. data/tests/test_persistence.rb +142 -0
  532. data/tests/test_sizer.rb +44 -1
  533. data/tests/test_validators.rb +805 -0
  534. metadata +103 -137
  535. data/lib/wx/core/choice.rb +0 -14
  536. data/lib/wx/core/combo_ctrl.rb +0 -110
  537. data/samples/bigdemo/About.rbw +0 -39
  538. data/samples/bigdemo/ColorPanel.rbw +0 -23
  539. data/samples/bigdemo/GridSimple.rbw +0 -78
  540. data/samples/bigdemo/MDIDemo.rbw +0 -57
  541. data/samples/bigdemo/PopupMenu.rbw +0 -146
  542. data/samples/bigdemo/ShapedWindow.rbw +0 -128
  543. data/samples/bigdemo/Sizers.rbw +0 -541
  544. data/samples/bigdemo/bigdemo.rb +0 -817
  545. data/samples/bigdemo/demoTemplate.rbw +0 -33
  546. data/samples/bigdemo/helpfile.htb +0 -0
  547. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  548. data/samples/bigdemo/icons/Test 015.png +0 -0
  549. data/samples/bigdemo/icons/choice.bmp +0 -0
  550. data/samples/bigdemo/icons/combo.bmp +0 -0
  551. data/samples/bigdemo/icons/combo.xpm +0 -27
  552. data/samples/bigdemo/icons/copy.xpm +0 -25
  553. data/samples/bigdemo/icons/cut.xpm +0 -24
  554. data/samples/bigdemo/icons/gauge.bmp +0 -0
  555. data/samples/bigdemo/icons/gauge.xpm +0 -27
  556. data/samples/bigdemo/icons/help.xpm +0 -25
  557. data/samples/bigdemo/icons/list.bmp +0 -0
  558. data/samples/bigdemo/icons/list.xpm +0 -27
  559. data/samples/bigdemo/icons/mondrian.ico +0 -0
  560. data/samples/bigdemo/icons/mondrian.xpm +0 -44
  561. data/samples/bigdemo/icons/new.xpm +0 -24
  562. data/samples/bigdemo/icons/ogl.ico +0 -0
  563. data/samples/bigdemo/icons/ogl.xpm +0 -45
  564. data/samples/bigdemo/icons/open.xpm +0 -26
  565. data/samples/bigdemo/icons/paste.bmp +0 -0
  566. data/samples/bigdemo/icons/paste.xpm +0 -38
  567. data/samples/bigdemo/icons/pointy.png +0 -0
  568. data/samples/bigdemo/icons/preview.xpm +0 -26
  569. data/samples/bigdemo/icons/print.xpm +0 -26
  570. data/samples/bigdemo/icons/radio.bmp +0 -0
  571. data/samples/bigdemo/icons/radio.xpm +0 -27
  572. data/samples/bigdemo/icons/robert.xpm +0 -415
  573. data/samples/bigdemo/icons/sashtest.ico +0 -0
  574. data/samples/bigdemo/icons/save.xpm +0 -25
  575. data/samples/bigdemo/icons/smiles.bmp +0 -0
  576. data/samples/bigdemo/icons/smiles.xpm +0 -39
  577. data/samples/bigdemo/icons/smiley.ico +0 -0
  578. data/samples/bigdemo/icons/smiley.xpm +0 -42
  579. data/samples/bigdemo/icons/stattext.xpm +0 -24
  580. data/samples/bigdemo/icons/test2.bmp +0 -0
  581. data/samples/bigdemo/icons/test2.png +0 -0
  582. data/samples/bigdemo/icons/test2.xpm +0 -79
  583. data/samples/bigdemo/icons/text.bmp +0 -0
  584. data/samples/bigdemo/icons/text.xpm +0 -27
  585. data/samples/bigdemo/icons/tog1.bmp +0 -0
  586. data/samples/bigdemo/icons/tog1.xpm +0 -38
  587. data/samples/bigdemo/icons/tog2.bmp +0 -0
  588. data/samples/bigdemo/icons/tog2.xpm +0 -38
  589. data/samples/bigdemo/icons/wxruby-128x128.png +0 -0
  590. data/samples/bigdemo/icons/wxwin.ico +0 -0
  591. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  592. data/samples/bigdemo/icons/wxwin16x16.xpm +0 -25
  593. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  594. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  595. data/samples/bigdemo/run.rb +0 -98
  596. data/samples/bigdemo/tips.txt +0 -7
  597. data/samples/bigdemo/utils.rb +0 -20
  598. data/samples/bigdemo/wxArtProvider.rbw +0 -282
  599. data/samples/bigdemo/wxBitmapButton.rbw +0 -65
  600. data/samples/bigdemo/wxButton.rbw +0 -64
  601. data/samples/bigdemo/wxCalendarCtrl.rbw +0 -59
  602. data/samples/bigdemo/wxCheckBox.rbw +0 -50
  603. data/samples/bigdemo/wxCheckListBox.rbw +0 -65
  604. data/samples/bigdemo/wxChoice.rbw +0 -47
  605. data/samples/bigdemo/wxChoicebook.rbw +0 -78
  606. data/samples/bigdemo/wxColourDialog.rbw +0 -33
  607. data/samples/bigdemo/wxComboBox.rbw +0 -77
  608. data/samples/bigdemo/wxCursor.rbw +0 -136
  609. data/samples/bigdemo/wxDialog.rbw +0 -74
  610. data/samples/bigdemo/wxDirDialog.rbw +0 -29
  611. data/samples/bigdemo/wxDragImage.rbw +0 -70
  612. data/samples/bigdemo/wxFileDialog.rbw +0 -37
  613. data/samples/bigdemo/wxFileDialog_Save.rbw +0 -35
  614. data/samples/bigdemo/wxFindReplaceDialog.rbw +0 -82
  615. data/samples/bigdemo/wxFontDialog.rbw +0 -200
  616. data/samples/bigdemo/wxFrame.rbw +0 -53
  617. data/samples/bigdemo/wxGauge.rbw +0 -65
  618. data/samples/bigdemo/wxGenericDirCtrl.rbw +0 -74
  619. data/samples/bigdemo/wxGrid.rbw +0 -66
  620. data/samples/bigdemo/wxHtmlHelpController.rbw +0 -52
  621. data/samples/bigdemo/wxListBox.rbw +0 -140
  622. data/samples/bigdemo/wxListCtrl_virtual.rbw +0 -112
  623. data/samples/bigdemo/wxMDIWindows.rbw +0 -50
  624. data/samples/bigdemo/wxMenu.rbw +0 -247
  625. data/samples/bigdemo/wxMessageDialog.rbw +0 -27
  626. data/samples/bigdemo/wxMiniFrame.rbw +0 -70
  627. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +0 -29
  628. data/samples/bigdemo/wxNotebook.rbw +0 -136
  629. data/samples/bigdemo/wxProgressDialog.rbw +0 -43
  630. data/samples/bigdemo/wxRadioBox.rbw +0 -72
  631. data/samples/bigdemo/wxRadioButton.rbw +0 -125
  632. data/samples/bigdemo/wxSashWindow.rbw +0 -141
  633. data/samples/bigdemo/wxScrolledMessageDialog.rbw +0 -57
  634. data/samples/bigdemo/wxScrolledWindow.rbw +0 -199
  635. data/samples/bigdemo/wxSingleChoiceDialog.rbw +0 -33
  636. data/samples/bigdemo/wxSlider.rbw +0 -42
  637. data/samples/bigdemo/wxSpinButton.rbw +0 -50
  638. data/samples/bigdemo/wxSpinCtrl.rbw +0 -51
  639. data/samples/bigdemo/wxSplitterWindow.rbw +0 -63
  640. data/samples/bigdemo/wxStaticBitmap.rbw +0 -47
  641. data/samples/bigdemo/wxStaticText.rbw +0 -55
  642. data/samples/bigdemo/wxStatusBar.rbw +0 -126
  643. data/samples/bigdemo/wxTextCtrl.rbw +0 -149
  644. data/samples/bigdemo/wxTextEntryDialog.rbw +0 -31
  645. data/samples/bigdemo/wxToggleButton.rbw +0 -49
  646. data/samples/bigdemo/wxToolBar.rbw +0 -131
  647. data/samples/bigdemo/wxTreeCtrl.rbw +0 -191
  648. data/samples/caret/caret.rb +0 -298
  649. data/samples/caret/mondrian.xpm +0 -44
  650. data/samples/controls/books.rb +0 -189
  651. data/samples/controls/choice.xpm +0 -27
  652. data/samples/controls/combo.xpm +0 -27
  653. data/samples/controls/controls.rb +0 -1099
  654. data/samples/controls/gauge.xpm +0 -27
  655. data/samples/controls/list.xpm +0 -27
  656. data/samples/controls/mondrian.ico +0 -0
  657. data/samples/controls/mondrian.xpm +0 -44
  658. data/samples/controls/radio.xpm +0 -27
  659. data/samples/controls/stattext.xpm +0 -24
  660. data/samples/controls/test2.bmp +0 -0
  661. data/samples/controls/text.xpm +0 -27
  662. data/samples/controls/tn_books.png +0 -0
  663. data/samples/controls/tn_controls.png +0 -0
  664. data/samples/etc/choice.rb +0 -87
  665. data/samples/etc/tn_choice.png +0 -0
  666. data/samples/text/mondrian.ico +0 -0
  667. data/samples/text/mondrian.xpm +0 -44
  668. /data/samples/{caret → etc}/tn_caret.png +0 -0
@@ -9,149 +9,59 @@
9
9
  # Superclass of a variety of controls that display lists of items (eg
10
10
  # Choice, ListBox, CheckListBox)
11
11
 
12
- class Wx::ControlWithItems
12
+ module Wx
13
13
 
14
- # Overload to provide Enumerator without block
15
- wx_each_string = instance_method :each_string
16
- define_method :each_string do |&block|
17
- if block
18
- wx_each_string.bind(self).call(&block)
19
- else
20
- ::Enumerator.new { |y| wx_each_string.bind(self).call { |ln| y << ln } }
21
- end
22
- end
23
-
24
- # We need to cache client data in Ruby variables as we cannot access items
25
- # during the GC mark phase as for some platforms (WXMSW at least) that would
26
- # involve calling methods that would break in that phase.
27
-
28
- def client_data_store
29
- @client_data ||= []
30
- end
31
- private :client_data_store
32
-
33
- wx_set_client_data = instance_method :set_client_data
34
- define_method :set_client_data do |item, data|
35
- item = item.to_i
36
- wx_set_client_data.bind(self).call(item, data)
37
- client_data_store[item] = data
38
- end
39
-
40
- def get_client_data(item)
41
- client_data_store[item.to_i]
42
- end
14
+ class ControlWithItems
43
15
 
44
- wx_append = instance_method :append
45
- define_method :append do |item, data=nil|
46
- itm_pos = -1
47
- if data
48
- if ::Array === item
49
- if !(::Array === data)
50
- ::Kernel.raise ::TypeError.new("Expected Array for argument 3")
51
- elsif data.size != item.size
52
- ::Kernel.raise ::ArgumentError.new("item and data array must be equal size")
53
- end
54
- if sorted?
55
- item.each_with_index do |itm, ix|
56
- itm_pos = wx_append.bind(self).call(itm, data[ix])
57
- client_data_store.insert(itm_pos, data[ix])
58
- end
59
- else
60
- offs = get_count
61
- itm_pos = wx_append.bind(self).call(item)
62
- item.size.times { |ix| set_client_data(offs+ix, data[ix]) }
63
- end
16
+ # make sure to honor the inherited common overloads
17
+ wx_get_client_object = instance_method :get_client_object
18
+ define_method :get_client_object do |*args|
19
+ if args.empty?
20
+ super()
64
21
  else
65
- itm_pos = wx_append.bind(self).call(item, data)
66
- client_data_store.insert(itm_pos, data)
22
+ wx_get_client_object.bind(self).call(*args)
67
23
  end
68
- else
69
- if ::Array === item
70
- if sorted?
71
- item.each_with_index do |itm, ix|
72
- itm_pos = wx_append.bind(self).call(itm, data[ix])
73
- client_data_store.insert(itm_pos, nil)
74
- end
75
- else
76
- itm_pos = wx_append.bind(self).call(item)
77
- client_data_store.concat(::Array.new(item.size))
78
- end
24
+ end
25
+ wx_set_client_object = instance_method :set_client_object
26
+ define_method :set_client_object do |*args|
27
+ if args.size < 2
28
+ super(*args)
79
29
  else
80
- itm_pos = wx_append.bind(self).call(item)
81
- client_data_store.insert(itm_pos, nil)
30
+ wx_set_client_object.bind(self).call(*args)
82
31
  end
83
32
  end
84
- itm_pos
85
- end
33
+ # redefine aliases
34
+ alias :client_object :get_client_object
35
+ alias :client_object= :set_client_object
86
36
 
87
- wx_insert = instance_method :insert
88
- define_method :insert do |item, pos, data=nil|
89
- itm_pos = -1
90
- if data
91
- if ::Array === item
92
- if !(::Array === data)
93
- ::Kernel.raise ::TypeError.new("Expected Array for argument 3")
94
- elsif data.size != item.size
95
- ::Kernel.raise ::ArgumentError.new("item and data array must be equal size")
96
- end
97
- if sorted?
98
- item.each_with_index do |itm, ix|
99
- itm_pos = wx_insert.bind(self).call(itm, data[ix])
100
- client_data_store.insert(itm_pos, data[ix])
101
- end
102
- else
103
- itm_pos = wx_insert.bind(self).call(item, pos)
104
- client_data_store.insert(pos, *::Array.new(item.size))
105
- item.size.times { |ix| set_client_data(pos+ix, data[ix]) }
106
- end
107
- else
108
- itm_pos = wx_insert.bind(self).call(item, pos, data)
109
- client_data_store.insert(itm_pos, data)
110
- end
111
- else
112
- if ::Array === item
113
- if sorted?
114
- item.each_with_index do |itm, ix|
115
- itm_pos = wx_insert.bind(self).call(itm)
116
- client_data_store.insert(itm_pos, nil)
117
- end
118
- else
119
- itm_pos = wx_insert.bind(self).call(item, pos)
120
- client_data_store.insert(pos, *::Array.new(item.size))
121
- end
37
+ alias :get_client_data :get_client_object
38
+ alias :set_client_data :set_client_object
39
+
40
+ alias :has_client_data :has_client_object_data
41
+ alias :has_client_data? :has_client_object_data
42
+
43
+ alias :get_item_data :get_client_object
44
+ alias :set_item_data :set_client_object
45
+
46
+ # Overload to provide Enumerator without block
47
+ wx_each_string = instance_method :each_string
48
+ define_method :each_string do |&block|
49
+ if block
50
+ wx_each_string.bind(self).call(&block)
122
51
  else
123
- itm_pos = wx_insert.bind(self).call(item, pos)
124
- client_data_store.insert(pos, nil)
52
+ ::Enumerator.new { |y| wx_each_string.bind(self).call { |ln| y << ln } }
125
53
  end
126
54
  end
127
- itm_pos
128
- end
129
55
 
130
- wx_set = instance_method :set
131
- define_method :set do |items, data=nil|
132
- if data
133
- if !(::Array === data)
134
- ::Kernel.raise ::TypeError.new("Expected Array for argument 2")
135
- elsif data.size != items.size
136
- ::Kernel.raise ::ArgumentError.new("items and data array must be equal size")
137
- end
138
- end
139
- wx_set.bind(self).call(items)
140
- client_data_store.clear
141
- if data
142
- items.each_with_index { |item, ix| set_client_data(item, data[ix]) }
143
- end
144
- end
56
+ # define these aliases so controls like ComboBox and OwnerDrawnComboBox and the like all end up with
57
+ # similar methods
145
58
 
146
- wx_clear = instance_method :clear
147
- define_method :clear do
148
- wx_clear.bind(self).call
149
- client_data_store.clear
150
- end
59
+ alias :get_list_selection :get_selection
60
+ alias :set_list_selection :set_selection
61
+
62
+ alias :get_list_string_selection :get_string_selection
63
+ alias :set_list_string_selection :set_string_selection
151
64
 
152
- wx_delete = instance_method :delete
153
- define_method :delete do |item|
154
- wx_delete.bind(self).call(item.to_i)
155
- client_data_store.slice!(item.to_i)
156
65
  end
66
+
157
67
  end
data/lib/wx/core/enum.rb CHANGED
@@ -29,11 +29,27 @@ class Wx::Enum
29
29
  end
30
30
 
31
31
  def !
32
- self.to_i == 0
32
+ to_i == 0
33
+ end
34
+
35
+ def allbits?(mask)
36
+ to_i.allbits?(mask)
37
+ end
38
+
39
+ def anybits?(mask)
40
+ to_i.anybits?(mask)
41
+ end
42
+
43
+ def nobits?(mask)
44
+ to_i.nobits?(mask)
33
45
  end
34
46
 
35
47
  def hash
36
48
  @value.hash
37
49
  end
38
50
 
51
+ def to_s
52
+ to_i.to_s
53
+ end
54
+
39
55
  end
data/lib/wx/core/event.rb CHANGED
@@ -29,7 +29,7 @@ module Wx
29
29
  alias :id :get_id
30
30
  end
31
31
 
32
- class Wx::CommandEvent
32
+ class CommandEvent
33
33
 
34
34
  # overload the #initialize method to add a check on a
35
35
  # correct match between EventType and event class
@@ -43,6 +43,11 @@ module Wx
43
43
  end
44
44
  end
45
45
 
46
+ alias :set_client_data :set_client_object
47
+ alias :client_data= :set_client_object
48
+ alias :get_client_data :get_client_object
49
+ alias :client_data :get_client_object
50
+
46
51
  end
47
52
 
48
53
  # reduce mapping warnings for this unpublished event class
@@ -1182,12 +1182,12 @@ class Wx::EvtHandler
1182
1182
  self.register_event_type EventType[
1183
1183
  'evt_dialup_connected', 0,
1184
1184
  Wx::EVT_DIALUP_CONNECTED,
1185
- Wx::App
1185
+ Wx::DialUpEvent
1186
1186
  ] if Wx.const_defined?(:EVT_DIALUP_CONNECTED)
1187
1187
  self.register_event_type EventType[
1188
1188
  'evt_dialup_disconnected', 0,
1189
1189
  Wx::EVT_DIALUP_DISCONNECTED,
1190
- Wx::App
1190
+ Wx::DialUpEvent
1191
1191
  ] if Wx.const_defined?(:EVT_DIALUP_DISCONNECTED)
1192
1192
  # from wxWindow
1193
1193
  # from wxTopLevelWindow
@@ -1204,6 +1204,7 @@ class Wx::EvtHandler
1204
1204
  # from wxCheckBox
1205
1205
  # from wxButton
1206
1206
  # from wxToggleButton
1207
+ # from wxBitmapToggleButton
1207
1208
  # from wxComboBox
1208
1209
  self.register_event_type EventType[
1209
1210
  'evt_combobox_dropdown', 1,
@@ -1486,12 +1487,12 @@ class Wx::EvtHandler
1486
1487
  self.register_event_type EventType[
1487
1488
  'evt_dirctrl_selectionchanged', 1,
1488
1489
  Wx::EVT_DIRCTRL_SELECTIONCHANGED,
1489
- Wx::GenericDirCtrl
1490
+ Wx::TreeEvent
1490
1491
  ] if Wx.const_defined?(:EVT_DIRCTRL_SELECTIONCHANGED)
1491
1492
  self.register_event_type EventType[
1492
1493
  'evt_dirctrl_fileactivated', 1,
1493
1494
  Wx::EVT_DIRCTRL_FILEACTIVATED,
1494
- Wx::GenericDirCtrl
1495
+ Wx::TreeEvent
1495
1496
  ] if Wx.const_defined?(:EVT_DIRCTRL_FILEACTIVATED)
1496
1497
  # from wxHyperlinkCtrl
1497
1498
  # from wxDialUpManager
@@ -10,6 +10,12 @@
10
10
  # EvtHandler. This includes all Wx::Window subclasses and Wx::App.
11
11
 
12
12
  class Wx::EvtHandler
13
+
14
+ alias :set_client_data :set_client_object
15
+ alias :client_data= :set_client_object
16
+ alias :get_client_data :get_client_object
17
+ alias :client_data :get_client_object
18
+
13
19
  # EventType is an internal class that's used to set up event handlers
14
20
  # and mappings.
15
21
  # * 'name' is the name of the event handler method in ruby
@@ -182,7 +188,7 @@ class Wx::EvtHandler
182
188
  # check arity <= 1
183
189
  if h_meth.arity>1
184
190
  Kernel.raise ArgumentError,
185
- "Event handler should not accept more than at most a single argument"
191
+ "Event handler should not accept more than at most a single argument",
186
192
  caller
187
193
  end
188
194
  # wrap method without any argument in anonymous proc to prevent strict argument checking
@@ -193,7 +199,7 @@ class Wx::EvtHandler
193
199
  end
194
200
  else
195
201
  Kernel.raise ArgumentError,
196
- "Specify event handler with a method, name, proc OR block"
202
+ "Specify event handler with a method, name, proc OR block",
197
203
  caller
198
204
  end
199
205
  end
@@ -0,0 +1,312 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+ module Wx
6
+
7
+ if has_feature?(:USE_VALIDATORS)
8
+
9
+ class GenericValidator < Wx::Validator
10
+
11
+ class << self
12
+ def handlers
13
+ @handlers ||= ::Hash.new(Proc.new { |win, *rest| raise NotImplementedError, "#{win.class} not supported" })
14
+ end
15
+
16
+ def define_handler(klass, meth=nil, &block)
17
+ raise ArgumentError, 'Expected a Class for arg 1' unless klass.is_a?(::Class)
18
+ h = if block and not meth
19
+ block
20
+ else
21
+ case meth
22
+ when Proc, Method
23
+ meth
24
+ else
25
+ raise ArgumentError, 'Expected a Proc or Method for arg 2'
26
+ end
27
+ end
28
+ handlers[klass] = h
29
+ end
30
+ end
31
+
32
+ def initialize(*arg)
33
+ super
34
+ @value = arg.empty? ? nil : arg.first.value
35
+ @handler = nil
36
+ @klass = nil
37
+ end
38
+
39
+ attr_accessor :value
40
+
41
+ private
42
+
43
+ def do_transfer_from_window
44
+ get_handler.call(get_window)
45
+ end
46
+
47
+ def do_transfer_to_window(val)
48
+ get_handler.call(get_window, val) unless val.nil?
49
+ true
50
+ end
51
+
52
+ def do_on_transfer_from_window(data)
53
+ super(@value = data)
54
+ end
55
+
56
+ def do_on_transfer_to_window
57
+ @value = super || @value
58
+ end
59
+
60
+ def get_handler
61
+ if @handler && @klass == get_window.class
62
+ @handler
63
+ else
64
+ @klass = get_window.class
65
+ @handler = GenericValidator.handlers[@klass] || GenericValidator.handlers.each_key.detect { |k| k > klass }
66
+ @handler || ::Kernel.raise(NotImplementedError, "#{@klass} not supported")
67
+ end
68
+ end
69
+
70
+ end # GenericValidator
71
+
72
+ # define standard handlers
73
+
74
+ # boolean controls
75
+ if Wx.has_feature?(:USE_CHECKBOX)
76
+
77
+ GenericValidator.define_handler(Wx::CheckBox) do |win, *val|
78
+ if val.empty?
79
+ !!win.get_value
80
+ else
81
+ win.set_value(!!val.shift)
82
+ end
83
+ end
84
+
85
+ end
86
+ if Wx.has_feature?(:USE_RADIOBTN)
87
+
88
+ GenericValidator.define_handler(Wx::RadioButton) do |win, *val|
89
+ if val.empty?
90
+ !!win.get_value
91
+ else
92
+ win.set_value(!!val.shift)
93
+ end
94
+ end
95
+
96
+ end
97
+ if Wx.has_feature?(:USE_TOGGLEBTN)
98
+ # also covers Wx::BitmapToggleButton
99
+ GenericValidator.define_handler(Wx::ToggleButton) do |win, *val|
100
+ if val.empty?
101
+ !!win.get_value
102
+ else
103
+ win.set_value(!!val.shift)
104
+ end
105
+ end
106
+
107
+ end
108
+
109
+ # integer controls
110
+ if Wx.has_feature?(:USE_GAUGE)
111
+
112
+ GenericValidator.define_handler(Wx::Gauge) do |win, *val|
113
+ if val.empty?
114
+ win.get_value
115
+ else
116
+ win.set_value(val.shift)
117
+ end
118
+ end
119
+
120
+ end
121
+ if Wx.has_feature?(:USE_RADIOBOX)
122
+
123
+ GenericValidator.define_handler(Wx::RadioBox) do |win, *val|
124
+ if val.empty?
125
+ win.get_selection
126
+ else
127
+ win.set_selection(val.shift)
128
+ end
129
+ end
130
+
131
+ end
132
+ if Wx.has_feature?(:USE_SCROLLBAR)
133
+
134
+ GenericValidator.define_handler(Wx::ScrollBar) do |win, *val|
135
+ if val.empty?
136
+ win.get_thumb_position
137
+ else
138
+ win.set_thumb_position(val.shift)
139
+ end
140
+ end
141
+
142
+ end
143
+ if Wx.has_feature?(:USE_SPINCTRL)
144
+
145
+ GenericValidator.define_handler(Wx::SpinCtrl) do |win, *val|
146
+ if val.empty?
147
+ win.get_value
148
+ else
149
+ win.set_value(val.shift)
150
+ end
151
+ end
152
+
153
+ end
154
+ if Wx.has_feature?(:USE_SPINBTN)
155
+
156
+ GenericValidator.define_handler(Wx::SpinButton) do |win, *val|
157
+ if val.empty?
158
+ win.get_value
159
+ else
160
+ win.set_value(val.shift)
161
+ end
162
+ end
163
+
164
+ end
165
+ if Wx.has_feature?(:USE_SLIDER)
166
+
167
+ GenericValidator.define_handler(Wx::Slider) do |win, *val|
168
+ if val.empty?
169
+ win.get_value
170
+ else
171
+ win.set_value(val.shift)
172
+ end
173
+ end
174
+
175
+ end
176
+ if Wx.has_feature?(:USE_CHOICE)
177
+
178
+ GenericValidator.define_handler(Wx::Choice) do |win, *val|
179
+ if val.empty?
180
+ win.get_selection
181
+ else
182
+ win.set_selection(val.shift)
183
+ end
184
+ end
185
+
186
+ end
187
+ if Wx.has_feature?(:USE_COMBOBOX)
188
+
189
+ GenericValidator.define_handler(Wx::ComboBox) do |win, *val|
190
+ if val.empty?
191
+ if (win.get_window_style & Wx::CB_READONLY) == Wx::CB_READONLY
192
+ win.get_selection
193
+ else
194
+ win.get_string_selection
195
+ end
196
+ else
197
+ if (win.get_window_style & Wx::CB_READONLY) == Wx::CB_READONLY
198
+ win.set_selection(val.shift)
199
+ else
200
+ win.set_string_selection(val.shift)
201
+ end
202
+ end
203
+ end
204
+
205
+ end
206
+
207
+ # date/time controls
208
+ if Wx.has_feature?(:USE_DATEPICKCTRL)
209
+
210
+ GenericValidator.define_handler(Wx::DatePickerCtrl) do |win, *val|
211
+ if val.empty?
212
+ win.get_value
213
+ else
214
+ win.set_value(val.shift)
215
+ end
216
+ end
217
+
218
+ end
219
+ if Wx.has_feature?(:USE_TIMEPICKCTRL)
220
+
221
+ GenericValidator.define_handler(Wx::TimePickerCtrl) do |win, *val|
222
+ if val.empty?
223
+ win.get_value
224
+ else
225
+ win.set_value(val.shift)
226
+ end
227
+ end
228
+
229
+ end
230
+
231
+ # string controls
232
+ if Wx.has_feature?(:USE_BUTTON)
233
+
234
+ GenericValidator.define_handler(Wx::Button) do |win, *val|
235
+ if val.empty?
236
+ win.get_label
237
+ else
238
+ win.set_label(val.shift)
239
+ end
240
+ end
241
+
242
+ end
243
+ if Wx.has_feature?(:USE_STATTEXT)
244
+
245
+ GenericValidator.define_handler(Wx::StaticText) do |win, *val|
246
+ if val.empty?
247
+ win.get_label
248
+ else
249
+ win.set_label(val.shift)
250
+ end
251
+ end
252
+
253
+ end
254
+ if Wx.has_feature?(:USE_TEXTCTRL)
255
+
256
+ GenericValidator.define_handler(Wx::TextCtrl) do |win, *val|
257
+ if val.empty?
258
+ win.get_value
259
+ else
260
+ win.set_value(val.shift)
261
+ end
262
+ end
263
+
264
+ end
265
+
266
+ # array controls
267
+ if Wx.has_feature?(:USE_CHECKLISTBOX)
268
+
269
+ GenericValidator.define_handler(Wx::CheckListBox) do |win, *val|
270
+ if val.empty?
271
+ if (win.get_window_style & Wx::LB_SINGLE) == Wx::LB_SINGLE
272
+ win.get_checked_items.first
273
+ else
274
+ win.get_checked_items
275
+ end
276
+ else
277
+ if (win.get_window_style & Wx::LB_SINGLE) == Wx::LB_SINGLE
278
+ win.check(val.shift, true)
279
+ else
280
+ win.get_count.times { |i| win.check(i, false) }
281
+ [val].flatten.each { |i| win.check(i, true) }
282
+ end
283
+ end
284
+ end
285
+
286
+ end
287
+ if Wx.has_feature?(:USE_LISTBOX)
288
+
289
+ GenericValidator.define_handler(Wx::ListBox) do |win, *val|
290
+ if val.empty?
291
+ # test this the hard since on WXOSX LB_SINGLE is default but does get set
292
+ # by default i.e. on WXOSX no selection type bit set == LB_SINGLE
293
+ if (win.get_window_style & (Wx::LB_MULTIPLE|Wx::LB_EXTENDED)) == 0
294
+ win.get_selection
295
+ else
296
+ win.get_selections
297
+ end
298
+ else
299
+ if (win.get_window_style & (Wx::LB_MULTIPLE|Wx::LB_EXTENDED)) == 0
300
+ win.set_selection(val.shift)
301
+ else
302
+ win.get_count.times { |i| win.deselect(i) }
303
+ [val].flatten.each { |i| win.set_selection(i) }
304
+ end
305
+ end
306
+ end
307
+
308
+ end
309
+
310
+ end # if USE_VALIDATORS
311
+
312
+ end
@@ -9,6 +9,6 @@
9
9
  require_relative './controlwithitems'
10
10
 
11
11
  class Wx::ListBox
12
- alias :get_item_data :get_client_data
13
- alias :set_item_data :set_client_data
12
+ alias :get_item_data :get_client_object
13
+ alias :set_item_data :set_client_object
14
14
  end
data/lib/wx/core/log.rb CHANGED
@@ -71,7 +71,7 @@ module Wx
71
71
  # first log info instance of a repeating message sequence
72
72
 
73
73
  # format message
74
- msg = fmt % args
74
+ msg = args.empty? ? fmt : fmt % args
75
75
  log_info = {
76
76
  filename: if filename
77
77
  filename.to_s
@@ -8,15 +8,17 @@
8
8
 
9
9
  # Displays a set of pages in parallel using tabs
10
10
 
11
- class Wx::Notebook
12
- # Convenience method for iterating pages
13
- def each_page
14
- if block_given?
15
- 0.upto(get_page_count - 1) do | i |
16
- yield get_page(i)
11
+ module Wx
12
+ class Notebook
13
+ # Convenience method for iterating pages
14
+ def each_page
15
+ if block_given?
16
+ 0.upto(get_page_count - 1) do | i |
17
+ yield get_page(i)
18
+ end
19
+ else
20
+ ::Enumerator.new { |y| each_page { |pg| y << pg } }
17
21
  end
18
- else
19
- ::Enumerator.new { |y| each_page { |pg| y << pg } }
20
22
  end
21
23
  end
22
24
  end