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
@@ -0,0 +1,311 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+ #
5
+ # Adapted for wxRuby from wxWidgets widgets sample
6
+ # Copyright (c) 2001 Vadim Zeitlin
7
+
8
+ module Widgets
9
+
10
+ module Gauge
11
+
12
+ class GaugePage < Widgets::Page
13
+
14
+ module ID
15
+ include Wx::IDHelper
16
+
17
+ Reset = self.next_id(Widgets::Frame::ID::Last)
18
+ Progress = self.next_id
19
+ IndeterminateProgress = self.next_id
20
+ Clear = self.next_id
21
+ SetValue = self.next_id
22
+ SetRange = self.next_id
23
+ CurValueText = self.next_id
24
+ ValueText = self.next_id
25
+ RangeText = self.next_id
26
+ Timer = self.next_id
27
+ IndeterminateTimer = self.next_id
28
+ Gauge = self.next_id
29
+ end
30
+
31
+ def initialize(book, images)
32
+ super(book, images, :gauge)
33
+
34
+ # init everything
35
+ @range = 100
36
+
37
+ @timer = nil
38
+
39
+ @chkVert =
40
+ @chkSmooth =
41
+ @chkProgress = nil
42
+
43
+ @gauge = nil
44
+ @sizerGauge = nil
45
+ end
46
+
47
+ Info = Widgets::PageInfo.new(self, 'Gauge', Widgets::NATIVE_CTRLS)
48
+
49
+ def get_widget
50
+ @gauge
51
+ end
52
+ def recreate_widget
53
+ create_gauge
54
+ end
55
+
56
+ # lazy creation of the content
57
+ def create_content
58
+ sizerTop = Wx::HBoxSizer.new
59
+
60
+ # left pane
61
+ sizerLeft = Wx::StaticBoxSizer.new(Wx::VERTICAL, self, '&Set style')
62
+ sizerLeftBox = sizerLeft.get_static_box
63
+
64
+ @chkVert = create_check_box_and_add_to_sizer(sizerLeft, '&Vertical', Wx::ID_ANY, sizerLeftBox)
65
+ @chkSmooth = create_check_box_and_add_to_sizer(sizerLeft, '&Smooth', Wx::ID_ANY, sizerLeftBox)
66
+ @chkProgress = create_check_box_and_add_to_sizer(sizerLeft, '&Progress', Wx::ID_ANY, sizerLeftBox)
67
+
68
+ sizerLeft.add(5, 5, 0, Wx::GROW | Wx::ALL, 5) # spacer
69
+
70
+ btn = Wx::Button.new(sizerLeftBox, ID::Reset, '&Reset')
71
+ sizerLeft.add(btn, 0, Wx::ALIGN_CENTRE_HORIZONTAL | Wx::ALL, 15)
72
+
73
+ # middle pane
74
+ sizerMiddle = Wx::StaticBoxSizer.new(Wx::VERTICAL, self, '&Change gauge value')
75
+ sizerMiddleBox = sizerMiddle.get_static_box
76
+
77
+ sizerRow, text = create_sizer_with_text_and_label("Current value",
78
+ ID::CurValueText,
79
+ sizerMiddleBox)
80
+ text.set_editable(false)
81
+
82
+ sizerMiddle.add(sizerRow, 0, Wx::ALL | Wx::GROW, 5)
83
+
84
+ sizerRow, @textValue = create_sizer_with_text_and_button(ID::SetValue,
85
+ 'Set &value',
86
+ ID::ValueText,
87
+ sizerMiddleBox)
88
+ sizerMiddle.add(sizerRow, 0, Wx::ALL | Wx::GROW, 5)
89
+
90
+ sizerRow, @textRange = create_sizer_with_text_and_button(ID::SetRange,
91
+ 'Set &range',
92
+ ID::RangeText,
93
+ sizerMiddleBox)
94
+ @textRange.set_value(@range.to_s)
95
+ sizerMiddle.add(sizerRow, 0, Wx::ALL | Wx::GROW, 5)
96
+
97
+ btn = Wx::Button.new(sizerMiddleBox, ID::Progress, 'Simulate &progress')
98
+ sizerMiddle.add(btn, 0, Wx::ALL | Wx::GROW, 5)
99
+
100
+ btn = Wx::Button.new(sizerMiddleBox, ID::IndeterminateProgress,
101
+ 'Simulate &indeterminate job')
102
+ sizerMiddle.add(btn, 0, Wx::ALL | Wx::GROW, 5)
103
+
104
+ btn = Wx::Button.new(sizerMiddleBox, ID::Clear, '&Clear')
105
+ sizerMiddle.add(btn, 0, Wx::ALL | Wx::GROW, 5)
106
+
107
+ # right pane
108
+ sizerRight = Wx::HBoxSizer.new
109
+ @gauge = Wx::Gauge.new(self, ID::Gauge, @range)
110
+ sizerRight.add(@gauge, 1, Wx::CENTRE | Wx::ALL, 5)
111
+ sizerRight.set_min_size(150, 0)
112
+ @sizerGauge = sizerRight # save it to modify it later
113
+
114
+ # the 3 panes panes compose the window
115
+ sizerTop.add(sizerLeft, 0, Wx::GROW | (Wx::ALL & ~Wx::LEFT), 10)
116
+ sizerTop.add(sizerMiddle, 1, Wx::GROW | Wx::ALL, 10)
117
+ sizerTop.add(sizerRight, 1, Wx::GROW | (Wx::ALL & ~Wx::RIGHT), 10)
118
+
119
+ # final initializations
120
+ reset
121
+
122
+ set_sizer(sizerTop)
123
+
124
+ # connect event handlers
125
+ evt_button(ID::Reset, :on_button_reset)
126
+ evt_button(ID::Progress, :on_button_progress)
127
+ evt_button(ID::IndeterminateProgress, :on_button_indeterminate_progress)
128
+ evt_button(ID::Clear, :on_button_clear)
129
+ evt_button(ID::SetValue, :on_button_set_value)
130
+ evt_button(ID::SetRange, :on_button_set_range)
131
+
132
+ evt_update_ui(ID::SetValue, :on_update_ui_value_button)
133
+ evt_update_ui(ID::SetRange, :on_update_ui_range_button)
134
+ evt_update_ui(ID::Reset, :on_update_ui_reset_button)
135
+
136
+ evt_update_ui(ID::CurValueText, :on_update_ui_cur_value_text)
137
+
138
+ evt_checkbox(Wx::ID_ANY, :on_check_or_radio_box)
139
+ evt_radiobox(Wx::ID_ANY, :on_check_or_radio_box)
140
+
141
+ evt_timer(ID::Timer, :on_progress_timer)
142
+ evt_timer(ID::IndeterminateTimer, :on_indeterminate_progress_timer)
143
+ end
144
+
145
+ protected
146
+
147
+ # event handlers
148
+ def on_button_reset(_event)
149
+ reset
150
+
151
+ create_gauge
152
+ end
153
+
154
+ def on_button_progress(event)
155
+ b = event.event_object
156
+ if !@timer
157
+ start_timer(b)
158
+ else # stop the running timer
159
+ stop_timer(b)
160
+ Wx.log_message('Stopped the timer.')
161
+ end
162
+ end
163
+
164
+ def on_button_indeterminate_progress(event)
165
+ b = event.event_object
166
+ if !@timer
167
+ start_timer(b)
168
+ else # stop the running timer
169
+ stop_timer(b)
170
+ @gauge.value = 0
171
+ Wx.log_message('Stopped the timer.')
172
+ end
173
+ end
174
+
175
+ def on_button_clear(_event)
176
+ @gauge.value = 0
177
+ end
178
+
179
+ def on_button_set_value(_event)
180
+ val = Integer(@textValue.value) rescue return
181
+
182
+ @gauge.set_value(val)
183
+ end
184
+
185
+ def on_button_set_range(_event)
186
+ val = Integer(@textRange.value) rescue return
187
+
188
+ @range = val
189
+ @gauge.set_range(val)
190
+ end
191
+
192
+ def on_check_or_radio_box(_event)
193
+ create_gauge
194
+ end
195
+
196
+ def on_update_ui_value_button(event)
197
+ val = Integer(@textValue.value) rescue -1
198
+ event.enable(val >= 0 && val <= @range)
199
+ end
200
+
201
+ def on_update_ui_range_button(event)
202
+ val = Integer(@textRange.value) rescue -1
203
+ event.enable(val >= 0)
204
+ end
205
+
206
+ def on_update_ui_reset_button(event)
207
+ event.enable(@chkVert.value || @chkSmooth.value || @chkProgress.value)
208
+ end
209
+
210
+ def on_update_ui_cur_value_text(event)
211
+ event.set_text(@gauge.value.to_s)
212
+ end
213
+
214
+ def on_progress_timer(_event)
215
+ val = @gauge.value
216
+ if val < @range
217
+ @gauge.set_value(val + 1)
218
+ else # reached the end
219
+ btn = find_window_by_id(ID::Progress)
220
+
221
+ ::Kernel.raise RuntimeError, 'no progress button?' unless btn
222
+
223
+ stop_timer(btn)
224
+ end
225
+ end
226
+
227
+ def on_indeterminate_progress_timer(_event)
228
+ @gauge.pulse
229
+ end
230
+
231
+ # reset the gauge parameters
232
+ def reset
233
+ @chkVert.set_value(false)
234
+ @chkSmooth.set_value(false)
235
+ @chkProgress.set_value(false)
236
+ end
237
+
238
+ # (re)create the gauge
239
+ def create_gauge
240
+ flags = get_attrs.default_flags
241
+
242
+ if @chkVert.value
243
+ flags |= Wx::GA_VERTICAL
244
+ else
245
+ flags |= Wx::GA_HORIZONTAL
246
+ end
247
+ flags |= Wx::GA_SMOOTH if @chkSmooth.value
248
+ flags |= Wx::GA_PROGRESS if @chkProgress.value
249
+
250
+
251
+ val = 0
252
+ if @gauge
253
+ val = @gauge.value
254
+
255
+ @sizerGauge.detach(@gauge)
256
+ @gauge.destroy
257
+ end
258
+
259
+ @gauge = Wx::Gauge.new(self, ID::Gauge, @range,
260
+ style: flags)
261
+ @gauge.set_value(val)
262
+
263
+ if flags.allbits?(Wx::GA_VERTICAL)
264
+ @sizerGauge.add(@gauge, 0, Wx::GROW | Wx::ALL, 5)
265
+ else
266
+ @sizerGauge.add(@gauge, 1, Wx::CENTRE | Wx::ALL, 5)
267
+ end
268
+ @sizerGauge.layout
269
+ end
270
+
271
+ INTERVAL = 300
272
+
273
+ # start progress timer
274
+ def start_timer(clicked)
275
+ Wx.log_message("Launched progress timer (interval = #{INTERVAL} ms)")
276
+
277
+ @timer = Wx::Timer.new(self, clicked.id == ID::Progress ? ID::Timer : ID::IndeterminateTimer)
278
+ @timer.start(INTERVAL)
279
+
280
+ clicked.set_label("&Stop timer")
281
+
282
+ if clicked.id == ID::Progress
283
+ find_window_by_id(ID::IndeterminateProgress).disable
284
+ else
285
+ find_window_by_id(ID::Progress).disable
286
+ end
287
+ end
288
+
289
+ # stop the progress timer
290
+ def stop_timer(clicked)
291
+ ::Kernel.raise RuntimeError, 'should not be called' unless @timer
292
+
293
+ @timer.stop
294
+ @timer = nil
295
+
296
+ if clicked.id == ID::Progress
297
+ clicked.set_label('Simulate &progress')
298
+ find_window_by_id(ID::IndeterminateProgress).enable
299
+ else
300
+ clicked.set_label("Simulate indeterminate job")
301
+ find_window_by_id(ID::Progress).enable
302
+ end
303
+
304
+ Wx.log_message('Progress finished.')
305
+ end
306
+
307
+ end
308
+
309
+ end
310
+
311
+ end
@@ -0,0 +1,236 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+ #
5
+ # Adapted for wxRuby from wxWidgets widgets sample
6
+ # Copyright (c) 2001 Vadim Zeitlin
7
+
8
+ module Widgets
9
+
10
+ module HeaderCtrl
11
+
12
+ class HeaderCtrlPage < Widgets::Page
13
+
14
+ NUMBER_OF_COLUMNS = 4
15
+
16
+ COL_ALIGNMENTS = %w{none left centre right}
17
+ COL_ALIGN_FLAGS = [Wx::ALIGN_NOT, Wx::ALIGN_LEFT, Wx::ALIGN_CENTRE, Wx::ALIGN_RIGHT]
18
+ COL_WITH_BITMAP_DEFAULT = false
19
+ COL_ALIGNMENT_FLAG_DEFAULT = Wx::ALIGN_NOT
20
+ COL_ALIGNMENT_INDEX_DEFAULT = 0
21
+
22
+ ColSettings = Struct.new(:chkAllowResize,
23
+ :chkAllowReorder,
24
+ :chkAllowSort,
25
+ :chkAllowHide,
26
+ :chkWithBitmap,
27
+ :rbAlignments)
28
+
29
+ def initialize(book, images)
30
+ super(book, images, :header)
31
+
32
+ @header = nil
33
+ @sizerHeader = nil
34
+ end
35
+
36
+ Info = Widgets::PageInfo.new(self, 'Header',
37
+ if Wx::PLATFORM == 'WXMSW'
38
+ NATIVE_CTRLS
39
+ else
40
+ GENERIC_CTRLS
41
+ end)
42
+
43
+ def get_widget
44
+ @header
45
+ end
46
+
47
+ def recreate_widget
48
+ @sizerHeader.clear(true) # delete windows
49
+
50
+ flags = get_attrs.default_flags | get_header_style_flags
51
+
52
+ @header = Wx::HeaderCtrlSimple.new(@sizerHeader.get_static_box, Wx::ID_ANY,
53
+ style: flags)
54
+
55
+ @header.evt_header_resizing(Wx::ID_ANY, self.method(:on_resizing))
56
+ @header.evt_header_begin_resize(Wx::ID_ANY, self.method(:on_begin_resize))
57
+ @header.evt_header_end_resize(Wx::ID_ANY, self.method(:on_end_resize))
58
+
59
+ @colSettings.each_with_index do |cs, i|
60
+ col = Wx::HeaderColumnSimple.new("Column #{i + 1}",
61
+ from_dip(100),
62
+ get_column_alignment_flag(i),
63
+ get_column_style_flags(i))
64
+ if cs.chkWithBitmap.is_checked
65
+ icons = [ Wx::ART_ERROR, Wx::ART_QUESTION, Wx::ART_WARNING, Wx::ART_INFORMATION ]
66
+ col.set_bitmap(Wx::ArtProvider.get_bitmap_bundle(icons[i % icons.size], Wx::ART_BUTTON))
67
+ end
68
+ @header.append_column(col)
69
+ end
70
+
71
+ @sizerHeader.add_stretch_spacer
72
+ @sizerHeader.add(@header, Wx::SizerFlags.new.expand)
73
+ @sizerHeader.add_stretch_spacer
74
+ @sizerHeader.layout
75
+ end
76
+
77
+ # lazy creation of the content
78
+ def create_content
79
+ # top pane
80
+ sizerTop = Wx::HBoxSizer.new
81
+
82
+ # header style
83
+ styleSizer = Wx::StaticBoxSizer.new(Wx::VERTICAL, self, '&Header style')
84
+ styleSizerBox = styleSizer.get_static_box
85
+
86
+ @chkAllowReorder = create_check_box_and_add_to_sizer(styleSizer, 'Allow &reorder', Wx::ID_ANY, styleSizerBox)
87
+ @chkAllowHide = create_check_box_and_add_to_sizer(styleSizer, 'Allow &hide', Wx::ID_ANY, styleSizerBox)
88
+ @chkBitmapOnRight = create_check_box_and_add_to_sizer(styleSizer, '&Bitmap on right', Wx::ID_ANY, styleSizerBox)
89
+ reset_header_style
90
+
91
+ styleSizer.add_stretch_spacer
92
+ btnReset = Wx::Button.new(styleSizerBox, Wx::ID_ANY, '&Reset')
93
+ styleSizer.add(btnReset, Wx::SizerFlags.new.center_horizontal.border)
94
+ sizerTop.add(styleSizer, Wx::SizerFlags.new.expand)
95
+
96
+ # column flags
97
+ @colSettings = []
98
+ NUMBER_OF_COLUMNS.times do |i|
99
+ sizerCol = Wx::StaticBoxSizer.new(Wx::VERTICAL, self, "Column #{i+1} style")
100
+ sizerColBox = sizerCol.get_static_box
101
+
102
+ @colSettings << ColSettings.new(create_check_box_and_add_to_sizer(sizerCol, 'Allow resize', Wx::ID_ANY, sizerColBox),
103
+ create_check_box_and_add_to_sizer(sizerCol, 'Allow reorder', Wx::ID_ANY, sizerColBox),
104
+ create_check_box_and_add_to_sizer(sizerCol, 'Allow sort', Wx::ID_ANY, sizerColBox),
105
+ create_check_box_and_add_to_sizer(sizerCol, 'Hidden', Wx::ID_ANY, sizerColBox),
106
+ create_check_box_and_add_to_sizer(sizerCol, 'With bitmap', Wx::ID_ANY, sizerColBox),
107
+ Wx::RadioBox.new(sizerColBox, Wx::ID_ANY, 'Alignment',
108
+ choices: COL_ALIGNMENTS,
109
+ major_dimension: 2,
110
+ style: Wx::RA_SPECIFY_COLS))
111
+ sizerCol.add(@colSettings.last.rbAlignments, Wx::SizerFlags.new.expand.border)
112
+ reset_column_style(i)
113
+ sizerTop.add_spacer(15)
114
+ sizerTop.add(sizerCol, Wx::SizerFlags.new.expand)
115
+ end
116
+
117
+ # bottom pane
118
+ @sizerHeader = Wx::StaticBoxSizer.new(Wx::VERTICAL, self, 'Header')
119
+ recreate_widget
120
+
121
+ # the 2 panes compose the window
122
+ sizerAll = Wx::VBoxSizer.new
123
+ sizerAll.add(sizerTop, Wx::SizerFlags.new.expand.border)
124
+ sizerAll.add(@sizerHeader, Wx::SizerFlags.new(1).expand.border)
125
+
126
+ set_sizer(sizerAll)
127
+
128
+ # connect event handlers
129
+ @chkAllowReorder.evt_checkbox(Wx::ID_ANY, self.method(:on_style_check_or_radio_box))
130
+ @chkAllowHide.evt_checkbox(Wx::ID_ANY, self.method(:on_style_check_or_radio_box))
131
+ @chkBitmapOnRight.evt_checkbox(Wx::ID_ANY, self.method(:on_style_check_or_radio_box))
132
+ @colSettings.each do |cs|
133
+ cs.chkAllowResize.evt_checkbox(Wx::ID_ANY, self.method(:on_style_check_or_radio_box))
134
+ cs.chkAllowReorder.evt_checkbox(Wx::ID_ANY, self.method(:on_style_check_or_radio_box))
135
+ cs.chkAllowSort.evt_checkbox(Wx::ID_ANY, self.method(:on_style_check_or_radio_box))
136
+ cs.chkAllowHide.evt_checkbox(Wx::ID_ANY, self.method(:on_style_check_or_radio_box))
137
+ cs.chkWithBitmap.evt_checkbox(Wx::ID_ANY, self.method(:on_style_check_or_radio_box))
138
+ cs.rbAlignments.evt_radiobox(Wx::ID_ANY, self.method(:on_style_check_or_radio_box))
139
+ end
140
+ btnReset.evt_button(btnReset, self.method(:on_reset_button))
141
+ btnReset.evt_update_ui(btnReset, self.method(:on_update_ui_reset_button))
142
+ end
143
+
144
+ protected
145
+
146
+ # event handlers
147
+ def on_style_check_or_radio_box(_event)
148
+ recreate_widget
149
+ end
150
+
151
+ def on_reset_button(_event)
152
+ reset_header_style
153
+
154
+ @colSettings.size.times { |i| reset_column_style(i) }
155
+
156
+ recreate_widget
157
+ end
158
+
159
+ def on_update_ui_reset_button(event)
160
+ enable = get_header_style_flags != Wx::HD_DEFAULT_STYLE
161
+ @colSettings.each_with_index do |cs, i|
162
+ enable = enable ||
163
+ (get_column_style_flags(i) != Wx::COL_DEFAULT_FLAGS) ||
164
+ (cs.chkWithBitmap.is_checked != COL_WITH_BITMAP_DEFAULT) ||
165
+ (cs.rbAlignments.selection != COL_ALIGNMENT_INDEX_DEFAULT)
166
+ break if enable
167
+ end
168
+ event.enable(enable)
169
+ end
170
+
171
+ def on_resizing(event)
172
+ Wx.log_message('Column %i resizing, width = %i', event.column + 1, event.width)
173
+ event.skip
174
+ end
175
+
176
+ def on_begin_resize(event)
177
+ Wx.log_message('Column %i resize began, width = %i', event.column + 1, event.width)
178
+ event.skip
179
+ end
180
+
181
+ def on_end_resize(event)
182
+ Wx.log_message('Column %i resize ended, width = %i', event.column + 1, event.width)
183
+ event.skip
184
+ end
185
+
186
+ # reset the header style
187
+ def reset_header_style
188
+ @chkAllowReorder.set_value(Wx::HD_DEFAULT_STYLE.allbits?(Wx::HD_ALLOW_REORDER))
189
+ @chkAllowHide.set_value(Wx::HD_DEFAULT_STYLE.allbits?(Wx::HD_ALLOW_HIDE))
190
+ @chkBitmapOnRight.set_value(Wx::HD_DEFAULT_STYLE.allbits?(Wx::HD_BITMAP_ON_RIGHT))
191
+ end
192
+
193
+ # compose header style flags based on selections
194
+ def get_header_style_flags
195
+ flags = 0
196
+
197
+ flags |= Wx::HD_ALLOW_REORDER if @chkAllowReorder.is_checked
198
+ flags |= Wx::HD_ALLOW_HIDE if @chkAllowHide.is_checked
199
+ flags |= Wx::HD_BITMAP_ON_RIGHT if @chkBitmapOnRight.is_checked
200
+
201
+ flags
202
+ end
203
+
204
+ # reset column style
205
+ def reset_column_style(col)
206
+ @colSettings[col].chkAllowResize.set_value(Wx::COL_DEFAULT_FLAGS.allbits?(Wx::COL_RESIZABLE))
207
+ @colSettings[col].chkAllowReorder.set_value(Wx::COL_DEFAULT_FLAGS.allbits?(Wx::COL_REORDERABLE))
208
+ @colSettings[col].chkAllowSort.set_value(Wx::COL_DEFAULT_FLAGS.allbits?(Wx::COL_SORTABLE))
209
+ @colSettings[col].chkAllowHide.set_value(Wx::COL_DEFAULT_FLAGS.allbits?(Wx::COL_HIDDEN))
210
+ @colSettings[col].chkWithBitmap.set_value(COL_WITH_BITMAP_DEFAULT)
211
+ @colSettings[col].rbAlignments.set_selection(COL_ALIGNMENT_INDEX_DEFAULT)
212
+ end
213
+
214
+ # compose column style flags based on selections
215
+ def get_column_style_flags(col)
216
+ flags = 0
217
+
218
+ flags |= Wx::COL_RESIZABLE if @colSettings[col].chkAllowResize.is_checked
219
+ flags |= Wx::COL_REORDERABLE if @colSettings[col].chkAllowReorder.is_checked
220
+ flags |= Wx::COL_SORTABLE if @colSettings[col].chkAllowSort.is_checked
221
+ flags |= Wx::COL_HIDDEN if @colSettings[col].chkAllowHide.is_checked
222
+
223
+ flags
224
+ end
225
+
226
+ # get column alignment flags based on selection
227
+ def get_column_alignment_flag(col)
228
+ sel = @colSettings[col].rbAlignments.selection
229
+ sel == Wx::NOT_FOUND ? COL_ALIGNMENT_FLAG_DEFAULT : COL_ALIGN_FLAGS[sel]
230
+ end
231
+
232
+ end
233
+
234
+ end
235
+
236
+ end