wxruby3 0.9.1-x64-mingw-ucrt → 0.9.3-x64-mingw-ucrt

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (740) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/INSTALL.md +35 -29
  4. data/README.md +24 -15
  5. data/ext/wxbase32u_gcc_custom.dll +0 -0
  6. data/ext/wxbase32u_net_gcc_custom.dll +0 -0
  7. data/ext/wxbase32u_xml_gcc_custom.dll +0 -0
  8. data/ext/wxmsw32u_aui_gcc_custom.dll +0 -0
  9. data/ext/wxmsw32u_core_gcc_custom.dll +0 -0
  10. data/ext/wxmsw32u_gl_gcc_custom.dll +0 -0
  11. data/ext/wxmsw32u_html_gcc_custom.dll +0 -0
  12. data/ext/wxmsw32u_media_gcc_custom.dll +0 -0
  13. data/ext/wxmsw32u_propgrid_gcc_custom.dll +0 -0
  14. data/ext/wxmsw32u_qa_gcc_custom.dll +0 -0
  15. data/ext/wxmsw32u_ribbon_gcc_custom.dll +0 -0
  16. data/ext/wxmsw32u_richtext_gcc_custom.dll +0 -0
  17. data/ext/wxmsw32u_stc_gcc_custom.dll +0 -0
  18. data/ext/wxmsw32u_webview_gcc_custom.dll +0 -0
  19. data/ext/wxmsw32u_xrc_gcc_custom.dll +0 -0
  20. data/lib/wx/aui/aui_tab_ctrl.rb +18 -0
  21. data/lib/wx/aui/auinotebook.rb +6 -2
  22. data/lib/wx/aui/require.rb +1 -0
  23. data/lib/wx/core/app.rb +2 -2
  24. data/lib/wx/core/bitmap_combobox.rb +17 -21
  25. data/lib/wx/core/collapsible_pane.rb +1 -1
  26. data/lib/wx/core/combobox.rb +13 -3
  27. data/lib/wx/core/controlwithitems.rb +40 -128
  28. data/lib/wx/core/enum.rb +17 -1
  29. data/lib/wx/core/event.rb +6 -1
  30. data/lib/wx/core/events/evt_list.rb +5 -4
  31. data/lib/wx/core/evthandler.rb +8 -2
  32. data/lib/wx/core/generic_validator.rb +312 -0
  33. data/lib/wx/core/listbox.rb +2 -2
  34. data/lib/wx/core/log.rb +1 -1
  35. data/lib/wx/core/menu.rb +10 -0
  36. data/lib/wx/core/notebook.rb +6 -2
  37. data/lib/wx/core/owner_drawn_combobox.rb +45 -0
  38. data/lib/wx/core/size.rb +4 -0
  39. data/lib/wx/core/sizer.rb +12 -2
  40. data/lib/wx/core/standard_paths.rb +22 -0
  41. data/lib/wx/core/task_bar_button.rb +19 -0
  42. data/lib/wx/core/text_entry.rb +4 -1
  43. data/lib/wx/core/textctrl.rb +11 -1
  44. data/lib/wx/core/{treectrl.rb → tree_ctrl.rb} +31 -12
  45. data/lib/wx/core/validator.rb +70 -5
  46. data/lib/wx/core/window.rb +13 -7
  47. data/lib/wx/doc/app.rb +48 -38
  48. data/lib/wx/doc/art_locator.rb +48 -43
  49. data/lib/wx/doc/aui/auimanager.rb +16 -8
  50. data/lib/wx/doc/aui/auinotebook.rb +20 -5
  51. data/lib/wx/doc/clipboard.rb +11 -7
  52. data/lib/wx/doc/colour_dialog.rb +14 -10
  53. data/lib/wx/doc/comboctrl.rb +18 -0
  54. data/lib/wx/doc/controlwithitems.rb +34 -8
  55. data/lib/wx/doc/data_object.rb +2 -2
  56. data/lib/wx/doc/date_picker_ctrl.rb +23 -0
  57. data/lib/wx/doc/editable_listbox.rb +44 -0
  58. data/lib/wx/doc/enum.rb +15 -0
  59. data/lib/wx/doc/event.rb +12 -0
  60. data/lib/wx/doc/evthandler.rb +113 -108
  61. data/lib/wx/doc/extra/12_client_data.md +89 -0
  62. data/lib/wx/doc/extra/13_validators.md +139 -0
  63. data/lib/wx/doc/font.rb +1 -0
  64. data/lib/wx/doc/gc_dc.rb +6 -1
  65. data/lib/wx/doc/gdi_common.rb +4 -0
  66. data/lib/wx/doc/gen/about_dialog_info.rb +26 -2
  67. data/lib/wx/doc/gen/accelerator.rb +19 -4
  68. data/lib/wx/doc/gen/accessible.rb +48 -47
  69. data/lib/wx/doc/gen/activity_indicator.rb +10 -4
  70. data/lib/wx/doc/gen/animation.rb +19 -3
  71. data/lib/wx/doc/gen/animation_ctrl.rb +16 -7
  72. data/lib/wx/doc/gen/any_button.rb +22 -1
  73. data/lib/wx/doc/gen/app.rb +41 -5
  74. data/lib/wx/doc/gen/app_traits.rb +65 -15
  75. data/lib/wx/doc/gen/art_provider.rb +33 -7
  76. data/lib/wx/doc/gen/aui/aui_dock_art.rb +18 -3
  77. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +2 -0
  78. data/lib/wx/doc/gen/aui/aui_manager.rb +35 -8
  79. data/lib/wx/doc/gen/aui/aui_manager_event.rb +11 -4
  80. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +4 -0
  81. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +3 -0
  82. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +8 -1
  83. data/lib/wx/doc/gen/aui/aui_notebook.rb +31 -7
  84. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +5 -4
  85. data/lib/wx/doc/gen/aui/aui_pane_info.rb +38 -2
  86. data/lib/wx/doc/gen/aui/aui_tab_art.rb +9 -3
  87. data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +2 -1
  88. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +20 -6
  89. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +4 -2
  90. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +5 -7
  91. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +5 -1
  92. data/lib/wx/doc/gen/aui/event_list.rb +164 -160
  93. data/lib/wx/doc/gen/banner_window.rb +8 -1
  94. data/lib/wx/doc/gen/bitmap.rb +94 -16
  95. data/lib/wx/doc/gen/bitmap_button.rb +16 -8
  96. data/lib/wx/doc/gen/bitmap_combo_box.rb +20 -10
  97. data/lib/wx/doc/gen/book_ctrl_base.rb +31 -4
  98. data/lib/wx/doc/gen/book_ctrl_event.rb +9 -3
  99. data/lib/wx/doc/gen/box_sizer.rb +5 -1
  100. data/lib/wx/doc/gen/brush.rb +20 -2
  101. data/lib/wx/doc/gen/busy_info.rb +10 -2
  102. data/lib/wx/doc/gen/button.rb +31 -11
  103. data/lib/wx/doc/gen/calculate_layout_event.rb +5 -3
  104. data/lib/wx/doc/gen/calendar_ctrl.rb +38 -13
  105. data/lib/wx/doc/gen/calendar_date_attr.rb +2 -1
  106. data/lib/wx/doc/gen/calendar_event.rb +5 -2
  107. data/lib/wx/doc/gen/caret.rb +3 -1
  108. data/lib/wx/doc/gen/check_box.rb +17 -7
  109. data/lib/wx/doc/gen/check_list_box.rb +8 -6
  110. data/lib/wx/doc/gen/choice.rb +28 -9
  111. data/lib/wx/doc/gen/choicebook.rb +7 -7
  112. data/lib/wx/doc/gen/client_dc.rb +6 -2
  113. data/lib/wx/doc/gen/clipboard.rb +16 -3
  114. data/lib/wx/doc/gen/collapsible_pane.rb +9 -7
  115. data/lib/wx/doc/gen/collapsible_pane_event.rb +3 -3
  116. data/lib/wx/doc/gen/colour.rb +28 -4
  117. data/lib/wx/doc/gen/colour_dialog.rb +15 -7
  118. data/lib/wx/doc/gen/colour_picker_ctrl.rb +13 -10
  119. data/lib/wx/doc/gen/colour_picker_event.rb +5 -5
  120. data/lib/wx/doc/gen/combo_box.rb +36 -14
  121. data/lib/wx/doc/gen/combo_ctrl.rb +117 -295
  122. data/lib/wx/doc/gen/command_link_button.rb +12 -5
  123. data/lib/wx/doc/gen/context_help_button.rb +13 -3
  124. data/lib/wx/doc/gen/control.rb +22 -8
  125. data/lib/wx/doc/gen/control_with_items.rb +45 -10
  126. data/lib/wx/doc/gen/core.rb +4 -4
  127. data/lib/wx/doc/gen/cursor.rb +10 -8
  128. data/lib/wx/doc/gen/data_format.rb +7 -1
  129. data/lib/wx/doc/gen/data_object.rb +42 -18
  130. data/lib/wx/doc/gen/date_event.rb +3 -2
  131. data/lib/wx/doc/gen/date_picker_ctrl.rb +18 -8
  132. data/lib/wx/doc/gen/dc.rb +238 -36
  133. data/lib/wx/doc/gen/defs.rb +51 -51
  134. data/lib/wx/doc/gen/dial_up_event.rb +2 -1
  135. data/lib/wx/doc/gen/dial_up_manager.rb +25 -5
  136. data/lib/wx/doc/gen/dialog.rb +72 -13
  137. data/lib/wx/doc/gen/dir_dialog.rb +22 -5
  138. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +2 -0
  139. data/lib/wx/doc/gen/dir_picker_ctrl.rb +14 -10
  140. data/lib/wx/doc/gen/drag_drop.rb +28 -7
  141. data/lib/wx/doc/gen/drag_image.rb +13 -2
  142. data/lib/wx/doc/gen/editable_list_box.rb +7 -5
  143. data/lib/wx/doc/gen/event.rb +57 -26
  144. data/lib/wx/doc/gen/event_blocker.rb +2 -3
  145. data/lib/wx/doc/gen/event_filter.rb +3 -0
  146. data/lib/wx/doc/gen/event_list.rb +1656 -1652
  147. data/lib/wx/doc/gen/events.rb +305 -173
  148. data/lib/wx/doc/gen/evt_handler.rb +49 -3
  149. data/lib/wx/doc/gen/ext_help_controller.rb +10 -1
  150. data/lib/wx/doc/gen/file_ctrl.rb +28 -10
  151. data/lib/wx/doc/gen/file_ctrl_event.rb +7 -4
  152. data/lib/wx/doc/gen/file_dialog.rb +44 -14
  153. data/lib/wx/doc/gen/file_dialog_custom_control.rb +19 -0
  154. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +11 -3
  155. data/lib/wx/doc/gen/file_dir_picker_event.rb +4 -4
  156. data/lib/wx/doc/gen/file_picker_ctrl.rb +12 -9
  157. data/lib/wx/doc/gen/file_system.rb +54 -15
  158. data/lib/wx/doc/gen/find_dialog_event.rb +6 -4
  159. data/lib/wx/doc/gen/find_replace_data.rb +2 -1
  160. data/lib/wx/doc/gen/find_replace_dialog.rb +4 -1
  161. data/lib/wx/doc/gen/flex_grid_sizer.rb +13 -1
  162. data/lib/wx/doc/gen/font.rb +103 -20
  163. data/lib/wx/doc/gen/font_data.rb +16 -3
  164. data/lib/wx/doc/gen/font_dialog.rb +6 -1
  165. data/lib/wx/doc/gen/font_picker_ctrl.rb +14 -7
  166. data/lib/wx/doc/gen/font_picker_event.rb +3 -3
  167. data/lib/wx/doc/gen/frame.rb +73 -15
  168. data/lib/wx/doc/gen/fs_file.rb +39 -10
  169. data/lib/wx/doc/gen/gauge.rb +19 -8
  170. data/lib/wx/doc/gen/gb_sizer_item.rb +5 -1
  171. data/lib/wx/doc/gen/gcdc.rb +3 -2
  172. data/lib/wx/doc/gen/gdi_common.rb +80 -11
  173. data/lib/wx/doc/gen/gdi_object.rb +1 -1
  174. data/lib/wx/doc/gen/generic_dir_ctrl.rb +13 -7
  175. data/lib/wx/doc/gen/graphics_context.rb +86 -10
  176. data/lib/wx/doc/gen/graphics_object.rb +35 -6
  177. data/lib/wx/doc/gen/grid/event_list.rb +168 -164
  178. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +3 -0
  179. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +16 -3
  180. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +1 -1
  181. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +2 -1
  182. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +2 -1
  183. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +1 -1
  184. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +2 -1
  185. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +2 -1
  186. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +2 -1
  187. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +2 -1
  188. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +10 -1
  189. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +2 -1
  190. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +2 -1
  191. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +1 -1
  192. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +2 -1
  193. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +2 -1
  194. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +1 -1
  195. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +7 -1
  196. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +1 -1
  197. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +1 -1
  198. data/lib/wx/doc/gen/grid/grid_ctrl.rb +256 -12
  199. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +6 -4
  200. data/lib/wx/doc/gen/grid/grid_event.rb +6 -4
  201. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +4 -4
  202. data/lib/wx/doc/gen/grid/grid_size_event.rb +4 -4
  203. data/lib/wx/doc/gen/grid/grid_string_table.rb +8 -0
  204. data/lib/wx/doc/gen/grid/grid_table_base.rb +28 -3
  205. data/lib/wx/doc/gen/grid/grid_table_message.rb +2 -0
  206. data/lib/wx/doc/gen/grid_bag_sizer.rb +21 -7
  207. data/lib/wx/doc/gen/grid_sizer.rb +11 -1
  208. data/lib/wx/doc/gen/gui_event_loop.rb +13 -3
  209. data/lib/wx/doc/gen/header_ctrl.rb +110 -11
  210. data/lib/wx/doc/gen/header_ctrl_event.rb +4 -2
  211. data/lib/wx/doc/gen/help_controller.rb +14 -3
  212. data/lib/wx/doc/gen/help_provider.rb +22 -4
  213. data/lib/wx/doc/gen/html/event_list.rb +41 -37
  214. data/lib/wx/doc/gen/html/html_cell.rb +48 -6
  215. data/lib/wx/doc/gen/html/html_cell_event.rb +5 -4
  216. data/lib/wx/doc/gen/html/html_easy_printing.rb +20 -3
  217. data/lib/wx/doc/gen/html/html_help_controller.rb +26 -2
  218. data/lib/wx/doc/gen/html/html_help_data.rb +8 -1
  219. data/lib/wx/doc/gen/html/html_help_window.rb +9 -1
  220. data/lib/wx/doc/gen/html/html_link_event.rb +3 -3
  221. data/lib/wx/doc/gen/html/html_list_box.rb +54 -16
  222. data/lib/wx/doc/gen/html/html_printout.rb +7 -1
  223. data/lib/wx/doc/gen/html/html_window.rb +43 -6
  224. data/lib/wx/doc/gen/hyperlink_ctrl.rb +9 -8
  225. data/lib/wx/doc/gen/hyperlink_event.rb +3 -3
  226. data/lib/wx/doc/gen/icon.rb +23 -29
  227. data/lib/wx/doc/gen/icon_location.rb +1 -1
  228. data/lib/wx/doc/gen/image.rb +143 -20
  229. data/lib/wx/doc/gen/image_list.rb +25 -6
  230. data/lib/wx/doc/gen/info_bar.rb +14 -2
  231. data/lib/wx/doc/gen/keyboard_state.rb +11 -1
  232. data/lib/wx/doc/gen/list_box.rb +46 -17
  233. data/lib/wx/doc/gen/list_ctrl.rb +165 -29
  234. data/lib/wx/doc/gen/list_event.rb +13 -4
  235. data/lib/wx/doc/gen/listbook.rb +7 -7
  236. data/lib/wx/doc/gen/locale.rb +68 -4
  237. data/lib/wx/doc/gen/log.rb +58 -12
  238. data/lib/wx/doc/gen/mdi_client_window.rb +11 -2
  239. data/lib/wx/doc/gen/mdi_frame.rb +51 -7
  240. data/lib/wx/doc/gen/media_ctrl.rb +43 -18
  241. data/lib/wx/doc/gen/media_event.rb +6 -4
  242. data/lib/wx/doc/gen/memory_dc.rb +16 -6
  243. data/lib/wx/doc/gen/menu.rb +81 -26
  244. data/lib/wx/doc/gen/menu_bar.rb +74 -15
  245. data/lib/wx/doc/gen/menu_item.rb +67 -19
  246. data/lib/wx/doc/gen/message_dialog.rb +17 -8
  247. data/lib/wx/doc/gen/mini_frame.rb +14 -5
  248. data/lib/wx/doc/gen/mirror_dc.rb +1 -2
  249. data/lib/wx/doc/gen/mouse_state.rb +1 -1
  250. data/lib/wx/doc/gen/multi_choice_dialog.rb +9 -4
  251. data/lib/wx/doc/gen/non_owned_window.rb +4 -1
  252. data/lib/wx/doc/gen/notebook.rb +27 -9
  253. data/lib/wx/doc/gen/num_validator.rb +37 -0
  254. data/lib/wx/doc/gen/number_entry_dialog.rb +5 -1
  255. data/lib/wx/doc/gen/object.rb +3 -1
  256. data/lib/wx/doc/gen/owner_drawn_combo_box.rb +340 -0
  257. data/lib/wx/doc/gen/paint_dc.rb +1 -1
  258. data/lib/wx/doc/gen/palette.rb +5 -1
  259. data/lib/wx/doc/gen/panel.rb +25 -8
  260. data/lib/wx/doc/gen/pen.rb +46 -8
  261. data/lib/wx/doc/gen/pg/event_list.rb +97 -93
  262. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +4 -1
  263. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +12 -1
  264. data/lib/wx/doc/gen/pg/pg_cell.rb +11 -3
  265. data/lib/wx/doc/gen/pg/pg_editor.rb +161 -16
  266. data/lib/wx/doc/gen/pg/pg_multi_button.rb +3 -2
  267. data/lib/wx/doc/gen/pg/pg_properties.rb +632 -83
  268. data/lib/wx/doc/gen/pg/pg_property.rb +381 -77
  269. data/lib/wx/doc/gen/pg/pg_validation_info.rb +11 -4
  270. data/lib/wx/doc/gen/pg/property_grid.rb +123 -20
  271. data/lib/wx/doc/gen/pg/property_grid_event.rb +41 -9
  272. data/lib/wx/doc/gen/pg/property_grid_interface.rb +273 -34
  273. data/lib/wx/doc/gen/pg/property_grid_manager.rb +62 -10
  274. data/lib/wx/doc/gen/pg/property_grid_page.rb +33 -8
  275. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +18 -4
  276. data/lib/wx/doc/gen/picker_base.rb +22 -5
  277. data/lib/wx/doc/gen/platform_info.rb +35 -9
  278. data/lib/wx/doc/gen/popup_window.rb +7 -5
  279. data/lib/wx/doc/gen/progress_dialog.rb +5 -0
  280. data/lib/wx/doc/gen/property_sheet_dialog.rb +20 -4
  281. data/lib/wx/doc/gen/prt/event_list.rb +8 -4
  282. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +3 -1
  283. data/lib/wx/doc/gen/prt/post_script_dc.rb +3 -2
  284. data/lib/wx/doc/gen/prt/preview_frame.rb +5 -1
  285. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +4 -0
  286. data/lib/wx/doc/gen/prt/print_data.rb +31 -3
  287. data/lib/wx/doc/gen/prt/print_dialog.rb +5 -1
  288. data/lib/wx/doc/gen/prt/printer.rb +87 -11
  289. data/lib/wx/doc/gen/prt/printer_dc.rb +3 -1
  290. data/lib/wx/doc/gen/query_layout_info_event.rb +10 -3
  291. data/lib/wx/doc/gen/radio_box.rb +28 -10
  292. data/lib/wx/doc/gen/radio_button.rb +22 -9
  293. data/lib/wx/doc/gen/rbn/event_list.rb +127 -123
  294. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +82 -3
  295. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +26 -4
  296. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +3 -2
  297. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +50 -12
  298. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +3 -2
  299. data/lib/wx/doc/gen/rbn/ribbon_control.rb +11 -1
  300. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +21 -11
  301. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +2 -2
  302. data/lib/wx/doc/gen/rbn/ribbon_page.rb +12 -1
  303. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +16 -4
  304. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +3 -3
  305. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +27 -3
  306. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +3 -1
  307. data/lib/wx/doc/gen/rearrange_ctrl.rb +5 -2
  308. data/lib/wx/doc/gen/rearrange_list.rb +12 -4
  309. data/lib/wx/doc/gen/region.rb +104 -17
  310. data/lib/wx/doc/gen/region_iterator.rb +1 -1
  311. data/lib/wx/doc/gen/rtc/event_list.rb +116 -112
  312. data/lib/wx/doc/gen/rtc/rich_text_box.rb +27 -9
  313. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +45 -11
  314. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +1 -1
  315. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +23 -14
  316. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +84 -7
  317. data/lib/wx/doc/gen/rtc/rich_text_event.rb +8 -4
  318. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +8 -2
  319. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +8 -3
  320. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +4 -2
  321. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +6 -3
  322. data/lib/wx/doc/gen/rtc/rich_text_image.rb +7 -2
  323. data/lib/wx/doc/gen/rtc/rich_text_object.rb +82 -17
  324. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +54 -11
  325. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +15 -2
  326. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +14 -9
  327. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +4 -1
  328. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +4 -3
  329. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +2 -2
  330. data/lib/wx/doc/gen/sash_event.rb +13 -4
  331. data/lib/wx/doc/gen/sash_layout_window.rb +21 -4
  332. data/lib/wx/doc/gen/sash_window.rb +6 -4
  333. data/lib/wx/doc/gen/screen_dc.rb +1 -1
  334. data/lib/wx/doc/gen/scroll_bar.rb +28 -10
  335. data/lib/wx/doc/gen/scrolled_canvas.rb +48 -10
  336. data/lib/wx/doc/gen/scrolled_control.rb +48 -10
  337. data/lib/wx/doc/gen/scrolled_window.rb +48 -10
  338. data/lib/wx/doc/gen/search_ctrl.rb +14 -9
  339. data/lib/wx/doc/gen/simplebook.rb +8 -1
  340. data/lib/wx/doc/gen/single_choice_dialog.rb +9 -4
  341. data/lib/wx/doc/gen/sizer.rb +91 -16
  342. data/lib/wx/doc/gen/sizer_item.rb +21 -4
  343. data/lib/wx/doc/gen/slider.rb +50 -17
  344. data/lib/wx/doc/gen/spin_button.rb +24 -10
  345. data/lib/wx/doc/gen/spin_ctrl.rb +35 -9
  346. data/lib/wx/doc/gen/spin_ctrl_double.rb +13 -7
  347. data/lib/wx/doc/gen/spin_double_event.rb +6 -4
  348. data/lib/wx/doc/gen/spin_event.rb +4 -3
  349. data/lib/wx/doc/gen/splash_screen.rb +3 -2
  350. data/lib/wx/doc/gen/splitter_event.rb +12 -4
  351. data/lib/wx/doc/gen/splitter_window.rb +100 -18
  352. data/lib/wx/doc/gen/static_bitmap.rb +109 -7
  353. data/lib/wx/doc/gen/static_box.rb +15 -7
  354. data/lib/wx/doc/gen/static_box_sizer.rb +3 -2
  355. data/lib/wx/doc/gen/static_line.rb +7 -4
  356. data/lib/wx/doc/gen/static_text.rb +10 -6
  357. data/lib/wx/doc/gen/status_bar.rb +32 -8
  358. data/lib/wx/doc/gen/stc/event_list.rb +212 -208
  359. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +207 -13
  360. data/lib/wx/doc/gen/stc/styled_text_event.rb +31 -6
  361. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +7 -1
  362. data/lib/wx/doc/gen/svg_file_dc.rb +15 -7
  363. data/lib/wx/doc/gen/system_options.rb +14 -6
  364. data/lib/wx/doc/gen/system_settings.rb +9 -3
  365. data/lib/wx/doc/gen/task_bar_button.rb +324 -0
  366. data/lib/wx/doc/gen/task_bar_icon.rb +26 -8
  367. data/lib/wx/doc/gen/task_bar_icon_event.rb +5 -3
  368. data/lib/wx/doc/gen/text_attr.rb +47 -5
  369. data/lib/wx/doc/gen/text_ctrl.rb +114 -25
  370. data/lib/wx/doc/gen/text_entry.rb +69 -11
  371. data/lib/wx/doc/gen/text_entry_dialog.rb +14 -2
  372. data/lib/wx/doc/gen/text_validator.rb +58 -9
  373. data/lib/wx/doc/gen/time_picker_ctrl.rb +11 -6
  374. data/lib/wx/doc/gen/timer.rb +14 -2
  375. data/lib/wx/doc/gen/timer_event.rb +2 -2
  376. data/lib/wx/doc/gen/tip_provider.rb +6 -1
  377. data/lib/wx/doc/gen/toggle_button.rb +73 -6
  378. data/lib/wx/doc/gen/tool_bar.rb +141 -25
  379. data/lib/wx/doc/gen/tool_tip.rb +41 -5
  380. data/lib/wx/doc/gen/toolbook.rb +6 -4
  381. data/lib/wx/doc/gen/top_level_window.rb +100 -23
  382. data/lib/wx/doc/gen/tree_ctrl.rb +89 -16
  383. data/lib/wx/doc/gen/tree_event.rb +9 -4
  384. data/lib/wx/doc/gen/treebook.rb +16 -4
  385. data/lib/wx/doc/gen/ui_action_simulator.rb +10 -2
  386. data/lib/wx/doc/gen/utils.rb +94 -7
  387. data/lib/wx/doc/gen/v_list_box.rb +27 -2
  388. data/lib/wx/doc/gen/v_scrolled_window.rb +21 -4
  389. data/lib/wx/doc/gen/validator.rb +10 -14
  390. data/lib/wx/doc/gen/variant.rb +7 -0
  391. data/lib/wx/doc/gen/window.rb +415 -57
  392. data/lib/wx/doc/gen/window_dc.rb +2 -1
  393. data/lib/wx/doc/gen/window_disabler.rb +6 -2
  394. data/lib/wx/doc/gen/with_images.rb +13 -2
  395. data/lib/wx/doc/gen/wizard.rb +22 -4
  396. data/lib/wx/doc/gen/wizard_event.rb +5 -4
  397. data/lib/wx/doc/gen/wizard_page.rb +7 -2
  398. data/lib/wx/doc/gen/wizard_page_simple.rb +5 -1
  399. data/lib/wx/doc/gen/wrap_sizer.rb +5 -1
  400. data/lib/wx/doc/gen/xml_node.rb +33 -4
  401. data/lib/wx/doc/gen/xml_resource.rb +40 -5
  402. data/lib/wx/doc/generic_validator.rb +95 -0
  403. data/lib/wx/doc/graphics_context.rb +1 -0
  404. data/lib/wx/doc/grid/grid.rb +22 -1
  405. data/lib/wx/doc/help_controller.rb +11 -7
  406. data/lib/wx/doc/html/html_help_controller.rb +12 -4
  407. data/lib/wx/doc/html/simple_html_listbox.rb +22 -0
  408. data/lib/wx/doc/list_ctrl.rb +33 -29
  409. data/lib/wx/doc/menu.rb +20 -0
  410. data/lib/wx/doc/notebook.rb +21 -0
  411. data/lib/wx/doc/num_validator.rb +387 -0
  412. data/lib/wx/doc/owner_drawn_combobox.rb +96 -0
  413. data/lib/wx/doc/pg/events.rb +13 -9
  414. data/lib/wx/doc/pg/numeric_property_validator.rb +33 -0
  415. data/lib/wx/doc/pg/pg_property.rb +18 -0
  416. data/lib/wx/doc/progress_dialog.rb +36 -32
  417. data/lib/wx/doc/prt/page_setup_dialog.rb +20 -12
  418. data/lib/wx/doc/prt/print_data.rb +13 -5
  419. data/lib/wx/doc/prt/print_dialog.rb +31 -23
  420. data/lib/wx/doc/prt/printer.rb +20 -12
  421. data/lib/wx/doc/radio_box.rb +19 -15
  422. data/lib/wx/doc/rbn/ribbon_bar.rb +13 -5
  423. data/lib/wx/doc/rbn/ribbon_button_bar.rb +13 -5
  424. data/lib/wx/doc/rbn/ribbon_gallery.rb +13 -5
  425. data/lib/wx/doc/rbn/ribbon_tool_bar.rb +13 -5
  426. data/lib/wx/doc/region_iterator.rb +32 -28
  427. data/lib/wx/doc/rtc/rich_text_composite_object.rb +24 -0
  428. data/lib/wx/doc/rtc/rich_text_ctrl.rb +24 -0
  429. data/lib/wx/doc/rtc/rich_text_paragraph.rb +24 -0
  430. data/lib/wx/doc/rtc/richtext_buffer.rb +27 -19
  431. data/lib/wx/doc/rtc/richtext_printing.rb +17 -9
  432. data/lib/wx/doc/rtc/richtext_style_sheet.rb +17 -9
  433. data/lib/wx/doc/sizer.rb +20 -0
  434. data/lib/wx/doc/static_bitmap.rb +25 -0
  435. data/lib/wx/doc/stc/styled_text_ctrl.rb +24 -0
  436. data/lib/wx/doc/stream.rb +39 -35
  437. data/lib/wx/doc/system_settings.rb +30 -26
  438. data/lib/wx/doc/text_validator.rb +23 -9
  439. data/lib/wx/doc/textctrl.rb +16 -0
  440. data/lib/wx/doc/tree_ctrl.rb +95 -0
  441. data/lib/wx/doc/treebook.rb +9 -5
  442. data/lib/wx/doc/v_list_box.rb +9 -5
  443. data/lib/wx/doc/validator.rb +113 -0
  444. data/lib/wx/doc/variant.rb +164 -160
  445. data/lib/wx/doc/window.rb +87 -47
  446. data/lib/wx/doc/window_disabler.rb +10 -6
  447. data/lib/wx/grid/grid.rb +27 -4
  448. data/lib/wx/html/events/evt_list.rb +0 -10
  449. data/lib/wx/html/simple_html_listbox.rb +24 -91
  450. data/lib/wx/keyword_defs.rb +34 -2
  451. data/lib/wx/pg/pg_property.rb +22 -0
  452. data/lib/wx/rbn/ribbon_gallery.rb +0 -21
  453. data/lib/wx/rtc/require.rb +3 -0
  454. data/lib/wx/rtc/rich_text_composite_object.rb +25 -0
  455. data/lib/wx/rtc/rich_text_ctrl.rb +25 -0
  456. data/lib/wx/rtc/rich_text_paragraph.rb +25 -0
  457. data/lib/wx/stc/require.rb +1 -0
  458. data/lib/wx/stc/styled_text_ctrl.rb +25 -0
  459. data/lib/wx/version.rb +1 -1
  460. data/lib/wxruby_aui.so +0 -0
  461. data/lib/wxruby_core.so +0 -0
  462. data/lib/wxruby_grid.so +0 -0
  463. data/lib/wxruby_html.so +0 -0
  464. data/lib/wxruby_pg.so +0 -0
  465. data/lib/wxruby_prt.so +0 -0
  466. data/lib/wxruby_rbn.so +0 -0
  467. data/lib/wxruby_rtc.so +0 -0
  468. data/lib/wxruby_stc.so +0 -0
  469. data/rakelib/lib/config/linux.rb +0 -3
  470. data/rakelib/lib/config/macosx.rb +2 -2
  471. data/rakelib/lib/config/mingw.rb +13 -1
  472. data/rakelib/lib/config/unixish.rb +1 -1
  473. data/rakelib/lib/config.rb +14 -4
  474. data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +74 -2
  475. data/rakelib/yard/templates/default/fulldoc/html/full_list.erb +38 -0
  476. data/rakelib/yard/templates/default/fulldoc/html/setup.rb +39 -0
  477. data/rakelib/yard/templates/default/tags/html/wxrb_require.erb +10 -0
  478. data/rakelib/yard/templates/default/tags/setup.rb +16 -0
  479. data/rakelib/yard/yard-custom-templates.rb +3 -0
  480. data/samples/aui/aui.rb +1237 -1233
  481. data/samples/calendar/calendar.rb +293 -289
  482. data/samples/controls/get_item_sample.rb +83 -79
  483. data/samples/controls/htlbox.rb +331 -327
  484. data/samples/dialogs/dialogs.rb +682 -694
  485. data/samples/dialogs/wizard.rb +52 -55
  486. data/samples/dragdrop/dragdrop.rb +146 -142
  487. data/samples/drawing/bitmap.rb +29 -26
  488. data/samples/drawing/bitmap_image.rb +84 -80
  489. data/samples/drawing/graphics_drawing.rb +209 -205
  490. data/samples/drawing/image_prt.rb +344 -340
  491. data/samples/drawing/maths_images.rb +18 -1
  492. data/samples/drawing/rmagic_bitmap_image.rb +88 -84
  493. data/samples/etc/caret.rb +306 -0
  494. data/samples/etc/miniframe.rb +65 -60
  495. data/samples/etc/sash.rb +109 -105
  496. data/samples/etc/scrollwin.rb +86 -80
  497. data/samples/etc/system_settings.rb +216 -209
  498. data/samples/event/activation.rb +72 -67
  499. data/samples/event/event.rb +160 -153
  500. data/samples/event/threaded.rb +8 -1
  501. data/samples/event/update_ui_event.rb +67 -60
  502. data/samples/grid/grid.rb +188 -181
  503. data/samples/grid/gridtablebase.rb +136 -129
  504. data/samples/html/html.rb +208 -204
  505. data/samples/mdi/mdi.rb +59 -54
  506. data/samples/minimal/minimal.rb +54 -51
  507. data/samples/minimal/nothing.rb +1 -0
  508. data/samples/printing/printing.rb +367 -377
  509. data/samples/printing/printing2.rb +203 -198
  510. data/samples/propgrid/propgrid.rb +2312 -2308
  511. data/samples/propgrid/propgrid_minimal.rb +57 -50
  512. data/samples/ribbon/ribbon.rb +780 -774
  513. data/samples/sampler/ext.rb +0 -33
  514. data/samples/sampler/sample.rb +4 -9
  515. data/samples/sampler.rb +1 -1
  516. data/samples/splash/splash.rb +118 -116
  517. data/samples/text/rich_textctrl.rb +207 -201
  518. data/samples/text/richtext.rb +1409 -1405
  519. data/samples/text/scintilla.rb +137 -128
  520. data/samples/text/textctrl.rb +89 -83
  521. data/samples/text/unicode.rb +175 -168
  522. data/samples/treectrl/treectrl.rb +1430 -1426
  523. data/samples/widgets/activityindicator.rb +95 -0
  524. data/samples/widgets/art/widgets/activityindicator.xpm +278 -0
  525. data/samples/widgets/art/widgets/bmpbtn.xpm +37 -0
  526. data/samples/widgets/art/widgets/bmpcombobox.xpm +54 -0
  527. data/samples/widgets/art/widgets/button.xpm +54 -0
  528. data/samples/widgets/art/widgets/checkbox.xpm +54 -0
  529. data/samples/{bigdemo/icons → widgets/art/widgets}/choice.xpm +1 -1
  530. data/samples/widgets/art/widgets/choicebk.xpm +54 -0
  531. data/samples/widgets/art/widgets/clrpicker.xpm +193 -0
  532. data/samples/widgets/art/widgets/combobox.xpm +54 -0
  533. data/samples/widgets/art/widgets/datepick.xpm +200 -0
  534. data/samples/widgets/art/widgets/dirctrl.xpm +54 -0
  535. data/samples/widgets/art/widgets/dirpicker.xpm +213 -0
  536. data/samples/widgets/art/widgets/filepicker.xpm +214 -0
  537. data/samples/widgets/art/widgets/fontpicker.xpm +185 -0
  538. data/samples/widgets/art/widgets/gauge.xpm +54 -0
  539. data/samples/widgets/art/widgets/header.xpm +54 -0
  540. data/samples/widgets/art/widgets/hyperlnk.xpm +54 -0
  541. data/samples/widgets/art/widgets/listbook.xpm +54 -0
  542. data/samples/widgets/art/widgets/listbox.xpm +54 -0
  543. data/samples/widgets/art/widgets/native.xpm +81 -0
  544. data/samples/widgets/art/widgets/notebook.xpm +54 -0
  545. data/samples/widgets/art/widgets/odcombobox.xpm +54 -0
  546. data/samples/widgets/art/widgets/radiobox.xpm +54 -0
  547. data/samples/widgets/art/widgets/scrolbar.xpm +54 -0
  548. data/samples/widgets/art/widgets/slider.xpm +54 -0
  549. data/samples/widgets/art/widgets/spinbtn.xpm +40 -0
  550. data/samples/widgets/art/widgets/statbmp.xpm +40 -0
  551. data/samples/widgets/art/widgets/statbox.xpm +54 -0
  552. data/samples/widgets/art/widgets/stattext.xpm +54 -0
  553. data/samples/widgets/art/widgets/text.xpm +54 -0
  554. data/samples/widgets/art/widgets/timepick.xpm +207 -0
  555. data/samples/widgets/art/widgets/toggle.xpm +54 -0
  556. data/samples/widgets/art/widgets/toucan.png +0 -0
  557. data/samples/widgets/bmpcombobox.rb +651 -0
  558. data/samples/widgets/button.rb +462 -0
  559. data/samples/widgets/checkbox.rb +211 -0
  560. data/samples/widgets/choice.rb +287 -0
  561. data/samples/widgets/clrpicker.rb +156 -0
  562. data/samples/widgets/combobox.rb +516 -0
  563. data/samples/widgets/datepick.rb +215 -0
  564. data/samples/widgets/dirctrl.rb +265 -0
  565. data/samples/widgets/dirpicker.rb +158 -0
  566. data/samples/widgets/editlbox.rb +122 -0
  567. data/samples/widgets/filectrl.rb +216 -0
  568. data/samples/widgets/filepicker.rb +214 -0
  569. data/samples/widgets/fontpicker.rb +135 -0
  570. data/samples/widgets/gauge.rb +311 -0
  571. data/samples/widgets/headerctrl.rb +236 -0
  572. data/samples/widgets/hyperlink.rb +203 -0
  573. data/samples/widgets/itemcontainer.rb +185 -0
  574. data/samples/widgets/listbox.rb +473 -0
  575. data/samples/widgets/notebook.rb +488 -0
  576. data/samples/widgets/odcombobox.rb +608 -0
  577. data/samples/widgets/radiobox.rb +328 -0
  578. data/samples/widgets/searchctrl.rb +159 -0
  579. data/samples/widgets/slider.rb +594 -0
  580. data/samples/widgets/spinbtn.rb +443 -0
  581. data/samples/widgets/statbmp.rb +130 -0
  582. data/samples/widgets/static.rb +436 -0
  583. data/samples/widgets/textctrl.rb +700 -0
  584. data/samples/widgets/timepick.rb +148 -0
  585. data/samples/widgets/tn_widgets.png +0 -0
  586. data/samples/widgets/toggle.rb +385 -0
  587. data/samples/widgets/widgets.rb +1233 -0
  588. data/samples/xrc/custom_xrc_sample.rb +47 -41
  589. data/samples/xrc/xrc_sample.rb +53 -47
  590. data/tests/media/beep_lo.wav +0 -0
  591. data/tests/test_event_handling.rb +52 -34
  592. data/tests/test_events.rb +7 -0
  593. data/tests/test_item_data.rb +24 -0
  594. data/tests/test_list_ctrl.rb +1 -1
  595. data/tests/test_media_ctrl.rb +38 -0
  596. data/tests/test_menu.rb +69 -0
  597. data/tests/test_pg.rb +27 -0
  598. data/tests/test_richtext.rb +45 -0
  599. data/tests/test_sizer.rb +59 -0
  600. data/tests/test_std_controls.rb +42 -1
  601. data/tests/test_styled_text_ctrl.rb +46 -0
  602. data/tests/test_tree_ctrl.rb +138 -0
  603. data/tests/test_validators.rb +805 -0
  604. data/tests/test_window.rb +12 -0
  605. data/tests/testapp_noframe.rb +1 -1
  606. metadata +113 -138
  607. data/lib/wx/core/choice.rb +0 -14
  608. data/lib/wx/core/combo_ctrl.rb +0 -110
  609. data/samples/bigdemo/About.rbw +0 -39
  610. data/samples/bigdemo/ColorPanel.rbw +0 -23
  611. data/samples/bigdemo/GridSimple.rbw +0 -78
  612. data/samples/bigdemo/MDIDemo.rbw +0 -57
  613. data/samples/bigdemo/PopupMenu.rbw +0 -146
  614. data/samples/bigdemo/ShapedWindow.rbw +0 -128
  615. data/samples/bigdemo/Sizers.rbw +0 -541
  616. data/samples/bigdemo/bigdemo.rb +0 -817
  617. data/samples/bigdemo/demoTemplate.rbw +0 -33
  618. data/samples/bigdemo/helpfile.htb +0 -0
  619. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  620. data/samples/bigdemo/icons/Test 015.png +0 -0
  621. data/samples/bigdemo/icons/choice.bmp +0 -0
  622. data/samples/bigdemo/icons/combo.bmp +0 -0
  623. data/samples/bigdemo/icons/combo.xpm +0 -27
  624. data/samples/bigdemo/icons/copy.xpm +0 -25
  625. data/samples/bigdemo/icons/cut.xpm +0 -24
  626. data/samples/bigdemo/icons/gauge.bmp +0 -0
  627. data/samples/bigdemo/icons/gauge.xpm +0 -27
  628. data/samples/bigdemo/icons/help.xpm +0 -25
  629. data/samples/bigdemo/icons/list.bmp +0 -0
  630. data/samples/bigdemo/icons/list.xpm +0 -27
  631. data/samples/bigdemo/icons/mondrian.ico +0 -0
  632. data/samples/bigdemo/icons/mondrian.xpm +0 -44
  633. data/samples/bigdemo/icons/new.xpm +0 -24
  634. data/samples/bigdemo/icons/ogl.ico +0 -0
  635. data/samples/bigdemo/icons/ogl.xpm +0 -45
  636. data/samples/bigdemo/icons/open.xpm +0 -26
  637. data/samples/bigdemo/icons/paste.bmp +0 -0
  638. data/samples/bigdemo/icons/paste.xpm +0 -38
  639. data/samples/bigdemo/icons/pointy.png +0 -0
  640. data/samples/bigdemo/icons/preview.xpm +0 -26
  641. data/samples/bigdemo/icons/print.xpm +0 -26
  642. data/samples/bigdemo/icons/radio.bmp +0 -0
  643. data/samples/bigdemo/icons/radio.xpm +0 -27
  644. data/samples/bigdemo/icons/robert.xpm +0 -415
  645. data/samples/bigdemo/icons/sashtest.ico +0 -0
  646. data/samples/bigdemo/icons/save.xpm +0 -25
  647. data/samples/bigdemo/icons/smiles.bmp +0 -0
  648. data/samples/bigdemo/icons/smiles.xpm +0 -39
  649. data/samples/bigdemo/icons/smiley.ico +0 -0
  650. data/samples/bigdemo/icons/smiley.xpm +0 -42
  651. data/samples/bigdemo/icons/stattext.xpm +0 -24
  652. data/samples/bigdemo/icons/test2.bmp +0 -0
  653. data/samples/bigdemo/icons/test2.png +0 -0
  654. data/samples/bigdemo/icons/test2.xpm +0 -79
  655. data/samples/bigdemo/icons/text.bmp +0 -0
  656. data/samples/bigdemo/icons/text.xpm +0 -27
  657. data/samples/bigdemo/icons/tog1.bmp +0 -0
  658. data/samples/bigdemo/icons/tog1.xpm +0 -38
  659. data/samples/bigdemo/icons/tog2.bmp +0 -0
  660. data/samples/bigdemo/icons/tog2.xpm +0 -38
  661. data/samples/bigdemo/icons/wxruby-128x128.png +0 -0
  662. data/samples/bigdemo/icons/wxwin.ico +0 -0
  663. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  664. data/samples/bigdemo/icons/wxwin16x16.xpm +0 -25
  665. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  666. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  667. data/samples/bigdemo/run.rb +0 -98
  668. data/samples/bigdemo/tips.txt +0 -7
  669. data/samples/bigdemo/utils.rb +0 -20
  670. data/samples/bigdemo/wxArtProvider.rbw +0 -282
  671. data/samples/bigdemo/wxBitmapButton.rbw +0 -65
  672. data/samples/bigdemo/wxButton.rbw +0 -64
  673. data/samples/bigdemo/wxCalendarCtrl.rbw +0 -59
  674. data/samples/bigdemo/wxCheckBox.rbw +0 -50
  675. data/samples/bigdemo/wxCheckListBox.rbw +0 -65
  676. data/samples/bigdemo/wxChoice.rbw +0 -47
  677. data/samples/bigdemo/wxChoicebook.rbw +0 -78
  678. data/samples/bigdemo/wxColourDialog.rbw +0 -33
  679. data/samples/bigdemo/wxComboBox.rbw +0 -77
  680. data/samples/bigdemo/wxCursor.rbw +0 -136
  681. data/samples/bigdemo/wxDialog.rbw +0 -74
  682. data/samples/bigdemo/wxDirDialog.rbw +0 -29
  683. data/samples/bigdemo/wxDragImage.rbw +0 -70
  684. data/samples/bigdemo/wxFileDialog.rbw +0 -37
  685. data/samples/bigdemo/wxFileDialog_Save.rbw +0 -35
  686. data/samples/bigdemo/wxFindReplaceDialog.rbw +0 -82
  687. data/samples/bigdemo/wxFontDialog.rbw +0 -200
  688. data/samples/bigdemo/wxFrame.rbw +0 -53
  689. data/samples/bigdemo/wxGauge.rbw +0 -65
  690. data/samples/bigdemo/wxGenericDirCtrl.rbw +0 -74
  691. data/samples/bigdemo/wxGrid.rbw +0 -66
  692. data/samples/bigdemo/wxHtmlHelpController.rbw +0 -52
  693. data/samples/bigdemo/wxListBox.rbw +0 -140
  694. data/samples/bigdemo/wxListCtrl_virtual.rbw +0 -112
  695. data/samples/bigdemo/wxMDIWindows.rbw +0 -50
  696. data/samples/bigdemo/wxMenu.rbw +0 -247
  697. data/samples/bigdemo/wxMessageDialog.rbw +0 -27
  698. data/samples/bigdemo/wxMiniFrame.rbw +0 -70
  699. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +0 -29
  700. data/samples/bigdemo/wxNotebook.rbw +0 -136
  701. data/samples/bigdemo/wxProgressDialog.rbw +0 -43
  702. data/samples/bigdemo/wxRadioBox.rbw +0 -72
  703. data/samples/bigdemo/wxRadioButton.rbw +0 -125
  704. data/samples/bigdemo/wxSashWindow.rbw +0 -141
  705. data/samples/bigdemo/wxScrolledMessageDialog.rbw +0 -57
  706. data/samples/bigdemo/wxScrolledWindow.rbw +0 -199
  707. data/samples/bigdemo/wxSingleChoiceDialog.rbw +0 -33
  708. data/samples/bigdemo/wxSlider.rbw +0 -42
  709. data/samples/bigdemo/wxSpinButton.rbw +0 -50
  710. data/samples/bigdemo/wxSpinCtrl.rbw +0 -51
  711. data/samples/bigdemo/wxSplitterWindow.rbw +0 -63
  712. data/samples/bigdemo/wxStaticBitmap.rbw +0 -47
  713. data/samples/bigdemo/wxStaticText.rbw +0 -55
  714. data/samples/bigdemo/wxStatusBar.rbw +0 -126
  715. data/samples/bigdemo/wxTextCtrl.rbw +0 -149
  716. data/samples/bigdemo/wxTextEntryDialog.rbw +0 -31
  717. data/samples/bigdemo/wxToggleButton.rbw +0 -49
  718. data/samples/bigdemo/wxToolBar.rbw +0 -131
  719. data/samples/bigdemo/wxTreeCtrl.rbw +0 -191
  720. data/samples/caret/caret.rb +0 -298
  721. data/samples/caret/mondrian.xpm +0 -44
  722. data/samples/controls/books.rb +0 -189
  723. data/samples/controls/choice.xpm +0 -27
  724. data/samples/controls/combo.xpm +0 -27
  725. data/samples/controls/controls.rb +0 -1099
  726. data/samples/controls/gauge.xpm +0 -27
  727. data/samples/controls/list.xpm +0 -27
  728. data/samples/controls/mondrian.ico +0 -0
  729. data/samples/controls/mondrian.xpm +0 -44
  730. data/samples/controls/radio.xpm +0 -27
  731. data/samples/controls/stattext.xpm +0 -24
  732. data/samples/controls/test2.bmp +0 -0
  733. data/samples/controls/text.xpm +0 -27
  734. data/samples/controls/tn_books.png +0 -0
  735. data/samples/controls/tn_controls.png +0 -0
  736. data/samples/etc/choice.rb +0 -87
  737. data/samples/etc/tn_choice.png +0 -0
  738. data/samples/text/mondrian.ico +0 -0
  739. data/samples/text/mondrian.xpm +0 -44
  740. /data/samples/{caret → etc}/tn_caret.png +0 -0
@@ -0,0 +1,215 @@
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
+ require 'date'
9
+
10
+ module Widgets
11
+
12
+ module DatePicker
13
+
14
+ class DatePickerPage < Widgets::Page
15
+
16
+ module ID
17
+ include Wx::IDHelper
18
+
19
+ Reset = self.next_id(Widgets::Frame::ID::Last)
20
+ Set = self.next_id
21
+ SetRange = self.next_id
22
+ SetNullText = self.next_id
23
+ Picker = self.next_id
24
+ end
25
+
26
+ def initialize(book, images)
27
+ super(book, images, :datepick)
28
+ end
29
+
30
+ Info = Widgets::PageInfo.new(self, 'DatePicker',
31
+ if Wx::PLATFORM == 'WXMSW'
32
+ Widgets::NATIVE_CTRLS
33
+ else
34
+ Widgets::GENERIC_CTRLS
35
+ end | Widgets::PICKER_CTRLS)
36
+
37
+ def get_widget
38
+ @datePicker
39
+ end
40
+ def recreate_widget
41
+ create_date_picker
42
+ end
43
+
44
+ # lazy creation of the content
45
+ def create_content
46
+ sizerTop = Wx::HBoxSizer.new
47
+
48
+ # left pane: style
49
+ sizerLeft = Wx::VBoxSizer.new
50
+
51
+ kinds = [ '&Default', '&Spin', 'Drop do&wn' ]
52
+ @radioKind = Wx::RadioBox.new(self, Wx::ID_ANY, '&Kind',
53
+ choices: kinds,
54
+ major_dimension: 1,
55
+ style: Wx::RA_SPECIFY_COLS)
56
+ sizerLeft.add(@radioKind, Wx::SizerFlags.new.expand.border)
57
+
58
+ sizerStyle = Wx::StaticBoxSizer.new(Wx::VERTICAL, self, '&Style')
59
+ sizerStyleBox = sizerStyle.get_static_box
60
+
61
+ @chkStyleCentury = create_check_box_and_add_to_sizer(sizerStyle, 'Show &century', Wx::ID_ANY, sizerStyleBox)
62
+ @chkStyleAllowNone = create_check_box_and_add_to_sizer(sizerStyle, 'Allow &no value', Wx::ID_ANY, sizerStyleBox)
63
+
64
+ sizerLeft.add(sizerStyle, Wx::SizerFlags.new.expand.border)
65
+
66
+ sizerLeft.add(Wx::Button.new(self, ID::Reset, '&Recreate'),
67
+ Wx::SizerFlags.new.centre.border)
68
+
69
+
70
+ # middle pane: operations
71
+ sizerMiddle = Wx::VBoxSizer.new
72
+ szr, @textCur = create_sizer_with_text_and_button(ID::Set,
73
+ '&Set date',
74
+ Wx::ID_ANY)
75
+ sizerMiddle.add(szr, Wx::SizerFlags.new.expand.border)
76
+
77
+ @textCur.set_min_size(Wx::Size.new(get_text_extent(' 9999-99-99 ').x, -1))
78
+
79
+ sizerMiddle.add_spacer(10)
80
+
81
+ szr, @textMin = create_sizer_with_text_and_label('&Min date', Wx::ID_ANY)
82
+ sizerMiddle.add(szr, Wx::SizerFlags.new.expand.border)
83
+ szr, @textMax = create_sizer_with_text_and_label('Ma&x date', Wx::ID_ANY)
84
+ sizerMiddle.add(szr, Wx::SizerFlags.new.expand.border)
85
+ sizerMiddle.add(Wx::Button.new(self, ID::SetRange, 'Set &range'),
86
+ Wx::SizerFlags.new.centre.border)
87
+
88
+ sizerMiddle.add_spacer(10)
89
+
90
+ szr, @textNull = create_sizer_with_text_and_label('&Null text', Wx::ID_ANY)
91
+ sizerMiddle.add(szr, Wx::SizerFlags.new.expand.border)
92
+
93
+ sizerMiddle.add(Wx::Button.new(self, ID::SetNullText, 'Set &null text'),
94
+ Wx::SizerFlags.new.centre.border)
95
+
96
+
97
+ # right pane: control itself
98
+ sizerRight = Wx::HBoxSizer.new
99
+
100
+ @datePicker = Wx::DatePickerCtrl.new(self, ID::Picker)
101
+
102
+ sizerRight.add(0, 0, 1, Wx::CENTRE)
103
+ sizerRight.add(@datePicker, 1, Wx::CENTRE)
104
+ sizerRight.add(0, 0, 1, Wx::CENTRE)
105
+ @sizerDatePicker = sizerRight # save it to modify it later
106
+
107
+ # the 3 panes panes compose the window
108
+ sizerTop.add(sizerLeft, 0, (Wx::ALL & ~Wx::LEFT), 10)
109
+ sizerTop.add(sizerMiddle, 0, (Wx::TOP | Wx::BOTTOM), 10)
110
+ sizerTop.add(sizerRight, 1, Wx::GROW | (Wx::ALL & ~Wx::RIGHT), 10)
111
+
112
+ # final initializations
113
+ @chkStyleCentury.set_value(true)
114
+ reset
115
+
116
+ set_sizer(sizerTop)
117
+
118
+ # connect event handlers
119
+ evt_button(ID::Reset, :on_button_reset)
120
+ evt_button(ID::Set, :on_button_set)
121
+ evt_button(ID::SetRange, :on_button_set_range)
122
+ evt_button(ID::SetNullText, :on_button_set_null_text)
123
+
124
+ evt_date_changed(Wx::ID_ANY, :on_date_changed)
125
+ end
126
+
127
+ protected
128
+
129
+ # event handlers
130
+ def on_date_changed(event)
131
+ sdt1 = event.get_date.to_date.iso8601
132
+ sdt2 = @datePicker.value.to_date.iso8601
133
+ Wx.log_message("Date changed, now is #{sdt1} (control value is #{sdt2}).")
134
+ end
135
+
136
+ def on_button_set(event)
137
+ dt = ::Date.parse(@textCur.value) rescue nil
138
+ if dt
139
+ @datePicker.set_value(dt)
140
+ else
141
+ Wx.log_error('Invalid date')
142
+ end
143
+ end
144
+
145
+ def on_button_set_range(event)
146
+ dt1 = ::Date.parse(@textMin.value) rescue nil
147
+ dt2 = ::Date.parse(@textMax.value) rescue nil
148
+ return if dt1.nil? || dt2.nil?
149
+
150
+ @datePicker.set_range(dt1, dt2)
151
+
152
+ dt1, dt2 = @datePicker.get_range
153
+ if dt1.nil? || dt2.nil?
154
+ Wx.log_message('No range set')
155
+ else
156
+ @textMin.set_value(dt1.to_date.iso8601)
157
+ @textMax.set_value(dt2.to_date.iso8601)
158
+
159
+ Wx.log_message('Date picker range updated')
160
+ end
161
+ end
162
+
163
+ def on_button_set_null_text(event)
164
+ @datePicker.set_null_text(@textNull.value)
165
+ end
166
+
167
+ def on_button_reset(event)
168
+ reset
169
+
170
+ create_date_picker
171
+ end
172
+
173
+ # reset the date picker parameters
174
+ def reset
175
+ today = Time.now
176
+
177
+ @datePicker.set_value(today)
178
+ @textCur.set_value(today.to_date.iso8601)
179
+ end
180
+
181
+ # (re)create the date picker
182
+ def create_date_picker
183
+ value = @datePicker.value
184
+
185
+ @sizerDatePicker.get_item_count.times { @sizerDatePicker.remove(0) }
186
+
187
+ @datePicker.destroy
188
+
189
+ style = get_attrs.default_flags
190
+ case @radioKind.selection
191
+ when 0
192
+ style = Wx::DP_DEFAULT
193
+ when 1
194
+ style = Wx::DP_SPIN
195
+ when 2
196
+ style = Wx::DP_DROPDOWN
197
+ end
198
+
199
+ style |= Wx::DP_SHOWCENTURY if @chkStyleCentury.value
200
+ style |= Wx::DP_ALLOWNONE if @chkStyleAllowNone.value
201
+
202
+ @datePicker = Wx::DatePickerCtrl.new(self, ID::Picker, value,
203
+ style: style)
204
+
205
+ @sizerDatePicker.add(0, 0, 1, Wx::CENTRE)
206
+ @sizerDatePicker.add(@datePicker, 1, Wx::CENTRE)
207
+ @sizerDatePicker.add(0, 0, 1, Wx::CENTRE)
208
+ @sizerDatePicker.layout
209
+ end
210
+
211
+ end
212
+
213
+ end
214
+
215
+ end
@@ -0,0 +1,265 @@
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
+ require 'date'
9
+
10
+ module Widgets
11
+
12
+ module DirCtrl
13
+
14
+ class DirCtrlPage < Widgets::Page
15
+
16
+ module ID
17
+ include Wx::IDHelper
18
+
19
+ Reset = self.next_id(Widgets::Frame::ID::Last)
20
+ SetPath = self.next_id
21
+ DirCtrl = self.next_id
22
+
23
+ STD_PATH_UNKNOWN = 0
24
+ STD_PATH_CONFIG = 1
25
+ STD_PATH_DATA = 2
26
+ STD_PATH_DOCUMENTS = 3
27
+ STD_PATH_LOCAL_DATA = 4
28
+ STD_PATH_PLUGINS = 5
29
+ STD_PATH_RESOURCES = 6
30
+ STD_PATH_USER_CONFIG = 7
31
+ STD_PATH_USER_DATA = 8
32
+ STD_PATH_USER_LOCAL_DATA = 9
33
+ STD_PATH_MAX = 10
34
+ end
35
+
36
+ STD_PATHS = [
37
+ '&none',
38
+ '&config',
39
+ '&data',
40
+ '&documents',
41
+ '&local data',
42
+ '&plugins',
43
+ '&resources',
44
+ '&user config',
45
+ '&user data',
46
+ '&user local data'
47
+ ]
48
+
49
+ def initialize(book, images)
50
+ super(book, images, :dirctrl)
51
+
52
+ @dirCtrl = nil
53
+ end
54
+
55
+ Info = Widgets::PageInfo.new(self, 'DirCtrl', Widgets::GENERIC_CTRLS)
56
+
57
+ def get_widget
58
+ @dirCtrl
59
+ end
60
+ def recreate_widget
61
+ create_dir_ctrl
62
+ end
63
+
64
+ # lazy creation of the content
65
+ def create_content
66
+ sizerTop = Wx::HBoxSizer.new
67
+
68
+ # left pane
69
+ sizerLeft = Wx::StaticBoxSizer.new(Wx::VERTICAL, self, 'Dir control details')
70
+ sizerLeftBox = sizerLeft.get_static_box
71
+
72
+ szr, @path = create_sizer_with_text_and_button(ID::SetPath ,'Set &path', Wx::ID_ANY, sizerLeftBox)
73
+ sizerLeft.add(szr, 0, Wx::ALL | Wx::ALIGN_RIGHT , 5 )
74
+
75
+ sizerFlags = Wx::StaticBoxSizer.new(Wx::VERTICAL, sizerLeftBox, '&Flags')
76
+ sizerFlagsBox = sizerFlags.get_static_box
77
+
78
+ @chkDirOnly = create_check_box_and_add_to_sizer(sizerFlags, 'Wx::DIRCTRL_DIR_ONLY', Wx::ID_ANY, sizerFlagsBox)
79
+ @chk3D = create_check_box_and_add_to_sizer(sizerFlags, 'Wx::DIRCTRL_3D_INTERNAL', Wx::ID_ANY, sizerFlagsBox)
80
+ @chkFirst = create_check_box_and_add_to_sizer(sizerFlags, 'Wx::DIRCTRL_SELECT_FIRST', Wx::ID_ANY, sizerFlagsBox)
81
+ @chkFilters = create_check_box_and_add_to_sizer(sizerFlags, 'Wx::DIRCTRL_SHOW_FILTERS', Wx::ID_ANY, sizerFlagsBox)
82
+ @chkLabels = create_check_box_and_add_to_sizer(sizerFlags, 'Wx::DIRCTRL_EDIT_LABELS', Wx::ID_ANY, sizerFlagsBox)
83
+ @chkMulti = create_check_box_and_add_to_sizer(sizerFlags, 'Wx::DIRCTRL_MULTIPLE', Wx::ID_ANY, sizerFlagsBox)
84
+ sizerLeft.add(sizerFlags, Wx::SizerFlags.new.expand.border)
85
+
86
+ sizerFilters = Wx::StaticBoxSizer.new(Wx::VERTICAL, sizerLeftBox, '&Filters')
87
+ sizerFiltersBox = sizerFilters.get_static_box
88
+
89
+ @fltr = []
90
+ @fltr << create_check_box_and_add_to_sizer(
91
+ sizerFilters,
92
+ "all files (#{Wx::FILE_SELECTOR_DEFAULT_WILDCARD_STR})|#{Wx::FILE_SELECTOR_DEFAULT_WILDCARD_STR}",
93
+ Wx::ID_ANY, sizerFiltersBox)
94
+ @fltr << create_check_box_and_add_to_sizer(sizerFilters, 'Ruby files (*.rb *.rbw)|*.rb;*.rbw', Wx::ID_ANY, sizerFiltersBox)
95
+ @fltr << create_check_box_and_add_to_sizer(sizerFilters, 'PNG images (*.png)|*.png', Wx::ID_ANY, sizerFiltersBox)
96
+ sizerLeft.add(sizerFilters, Wx::SizerFlags.new.expand.border)
97
+
98
+ btn = Wx::Button.new(sizerFiltersBox, ID::Reset, '&Reset')
99
+ sizerLeft.add(btn, 0, Wx::ALIGN_CENTRE_HORIZONTAL | Wx::ALL, 15)
100
+
101
+ # middle pane
102
+ @radioStdPath = Wx::RadioBox.new(self, Wx::ID_ANY, 'Standard path',
103
+ choices: STD_PATHS,
104
+ major_dimension: 1)
105
+
106
+ # right pane
107
+ @dirCtrl = Wx::GenericDirCtrl.new(
108
+ self,
109
+ ID::DirCtrl,
110
+ Wx::DIR_DIALOG_DEFAULT_FOLDER_STR,
111
+ style: 0)
112
+
113
+ # the 3 panes panes compose the window
114
+ sizerTop.add(sizerLeft, 0, (Wx::ALL & ~Wx::LEFT), 10)
115
+ sizerTop.add(@radioStdPath, 0, Wx::GROW | Wx::ALL , 10)
116
+ sizerTop.add(@dirCtrl, 1, Wx::GROW | (Wx::ALL & ~Wx::RIGHT), 10)
117
+
118
+ set_sizer(sizerTop)
119
+
120
+ # final initializations
121
+ reset
122
+
123
+ # connect event handlers
124
+ evt_button(ID::Reset, :on_button_reset)
125
+ evt_button(ID::SetPath, :on_button_set_path)
126
+ evt_checkbox(Wx::ID_ANY, :on_check_box)
127
+ evt_radiobox(Wx::ID_ANY, :on_radio_box)
128
+ evt_dirctrl_selectionchanged(ID::DirCtrl, :on_sel_changed)
129
+ evt_dirctrl_fileactivated(ID::DirCtrl, :on_file_activated)
130
+ end
131
+
132
+ protected
133
+
134
+ # event handlers
135
+ def on_button_set_path(event)
136
+ @dirCtrl.set_path(@path.value)
137
+ end
138
+
139
+ def on_button_reset(event)
140
+ reset
141
+
142
+ create_dir_ctrl
143
+ end
144
+
145
+ def on_check_box(event)
146
+ create_dir_ctrl
147
+ end
148
+
149
+ def on_radio_box(event)
150
+ Wx.get_app.set_app_name('widgets')
151
+ stdp = Wx::StandardPaths.get
152
+
153
+ case @radioStdPath.selection
154
+ when ID::STD_PATH_CONFIG
155
+ @dirCtrl.path = path = stdp.get_config_dir
156
+ when ID::STD_PATH_DATA
157
+ @dirCtrl.path = path = stdp.get_data_dir
158
+ when ID::STD_PATH_DOCUMENTS
159
+ @dirCtrl.path = path = stdp.get_documents_dir
160
+ when ID::STD_PATH_LOCAL_DATA
161
+ @dirCtrl.path = path = stdp.get_local_data_dir
162
+ when ID::STD_PATH_PLUGINS
163
+ @dirCtrl.path = path = stdp.get_plugins_dir
164
+ when ID::STD_PATH_RESOURCES
165
+ @dirCtrl.path = path = stdp.get_resources_dir
166
+ when ID::STD_PATH_USER_CONFIG
167
+ @dirCtrl.path = path = stdp.get_user_config_dir
168
+ when ID::STD_PATH_USER_DATA
169
+ @dirCtrl.path = path = stdp.get_user_data_dir
170
+ when ID::STD_PATH_USER_LOCAL_DATA
171
+ @dirCtrl.path = path = stdp.get_user_local_data_dir
172
+ else
173
+ #when ID::STD_PATH_UNKNOWN
174
+ #when ID::STD_PATH_MAX
175
+ # leave path
176
+ path = @dirCtrl.path
177
+ end
178
+
179
+ # Notice that we must use wxFileName comparison instead of simple wxString
180
+ # comparison as the paths returned may differ by case only.
181
+ unless File.identical?(File.expand_path(@dirCtrl.path), File.expand_path(path))
182
+ Wx.log_message("Failed to go to \"#{path}\", the current path is \"#{@dirCtrl.path}\".")
183
+ end
184
+ end
185
+
186
+ def on_sel_changed(event)
187
+ if @dirCtrl
188
+ Wx.log_message("Selection changed to \"%s\"",
189
+ @dirCtrl.path(event.item))
190
+ end
191
+
192
+ event.skip
193
+ end
194
+
195
+ def on_file_activated(event)
196
+ if @dirCtrl
197
+ Wx.log_message("File activated \"%s\"",
198
+ @dirCtrl.path(event.item))
199
+ end
200
+
201
+ event.skip
202
+ end
203
+
204
+ # reset the control parameters
205
+ def reset
206
+ @path.clear
207
+
208
+ @chkDirOnly.set_value(false)
209
+ @chk3D.set_value(false)
210
+ @chkFirst.set_value(false)
211
+ @chkFilters.set_value(false)
212
+ @chkLabels.set_value(false)
213
+ @chkMulti.set_value(false)
214
+
215
+ @radioStdPath.set_selection(0)
216
+
217
+ @fltr.each { |f| f.value = false }
218
+
219
+ create_dir_ctrl(true)
220
+ end
221
+
222
+ # (re)create the @dirCtrl
223
+ def create_dir_ctrl(defaultPath = false)
224
+ Wx::WindowUpdateLocker.update(self) do
225
+
226
+ style = get_attrs.default_flags
227
+ style |= Wx::DIRCTRL_DIR_ONLY if @chkDirOnly.is_checked
228
+ style |= Wx::DIRCTRL_3D_INTERNAL if @chk3D.is_checked
229
+ style |= Wx::DIRCTRL_SELECT_FIRST if @chkFirst.is_checked
230
+ style |= Wx::DIRCTRL_SHOW_FILTERS if @chkFilters.is_checked
231
+ style |= Wx::DIRCTRL_EDIT_LABELS if @chkLabels.is_checked
232
+ style |= Wx::DIRCTRL_MULTIPLE if @chkMulti.is_checked
233
+
234
+ dirCtrl = Wx::GenericDirCtrl.new(self,
235
+ ID::DirCtrl,
236
+ defaultPath ? Wx::DIR_DIALOG_DEFAULT_FOLDER_STR : @dirCtrl.get_path,
237
+ style: style)
238
+
239
+ filter = @fltr.inject('') do |s, f|
240
+ if f.checked?
241
+ s << '|' unless s.empty?
242
+ s << f.label
243
+ end
244
+ s
245
+ end
246
+ dirCtrl.set_filter(filter)
247
+
248
+ # update sizer's child window
249
+ get_sizer.replace(@dirCtrl, dirCtrl, true)
250
+
251
+ # update our pointer
252
+ @dirCtrl.destroy
253
+ @dirCtrl = dirCtrl
254
+
255
+ # re-layout the sizer
256
+ get_sizer.layout
257
+
258
+ end
259
+ end
260
+
261
+ end
262
+
263
+ end
264
+
265
+ end
@@ -0,0 +1,158 @@
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
+ require 'date'
9
+
10
+ module Widgets
11
+
12
+ module DirPicker
13
+
14
+ class DirPickerPage < Widgets::Page
15
+
16
+ module ID
17
+ include Wx::IDHelper
18
+
19
+ Reset = self.next_id(Widgets::Frame::ID::Last)
20
+ Dir = self.next_id
21
+ SetDir = self.next_id
22
+ end
23
+
24
+ def initialize(book, images)
25
+ super(book, images, :dirpicker)
26
+
27
+ @dirPicker = nil
28
+ end
29
+
30
+ Info = Widgets::PageInfo.new(self, 'DirPicker',
31
+ if Wx::PLATFORM == 'WXGTK'
32
+ Widgets::NATIVE_CTRLS
33
+ else
34
+ Widgets::GENERIC_CTRLS
35
+ end | Widgets::PICKER_CTRLS)
36
+
37
+ def get_widget
38
+ @dirPicker
39
+ end
40
+ def recreate_widget
41
+ recreate_picker
42
+ end
43
+
44
+ # lazy creation of the content
45
+ def create_content
46
+ # left pane
47
+ sizerLeft = Wx::VBoxSizer.new
48
+
49
+ sizerStyle = Wx::StaticBoxSizer.new(Wx::VERTICAL, self, '&DirPicker style')
50
+ sizerStyleBox = sizerStyle.get_static_box
51
+
52
+ @chkDirTextCtrl = create_check_box_and_add_to_sizer(sizerStyle, 'With textctrl', Wx::ID_ANY, sizerStyleBox)
53
+ @chkDirMustExist = create_check_box_and_add_to_sizer(sizerStyle, 'Dir must exist', Wx::ID_ANY, sizerStyleBox)
54
+ @chkDirChangeDir = create_check_box_and_add_to_sizer(sizerStyle, 'Change working dir', Wx::ID_ANY, sizerStyleBox)
55
+ @chkSmall = create_check_box_and_add_to_sizer(sizerStyle, '&Small version', Wx::ID_ANY, sizerStyleBox)
56
+ sizerLeft.add(sizerStyle, 0, Wx::ALL|Wx::GROW, 5)
57
+
58
+ szr, @textInitialDir = create_sizer_with_text_and_button(ID::SetDir,
59
+ '&Initial directory',
60
+ Wx::ID_ANY)
61
+ sizerLeft.add(szr, Wx::SizerFlags.new.expand.border)
62
+
63
+ sizerLeft.add_spacer(10)
64
+
65
+ sizerLeft.add(Wx::Button.new(self, ID::Reset, '&Reset'),
66
+ 0, Wx::ALIGN_CENTRE_HORIZONTAL | Wx::ALL, 15)
67
+
68
+ reset # set checkboxes state
69
+
70
+ # create pickers
71
+ create_picker
72
+
73
+ # right pane
74
+ @sizer = Wx::VBoxSizer.new
75
+ @sizer.add(1, 1, 1, Wx::GROW | Wx::ALL, 5) # spacer
76
+ @sizer.add(@dirPicker, 0, Wx::EXPAND | Wx::ALL, 5)
77
+ @sizer.add(1, 1, 1, Wx::GROW | Wx::ALL, 5) # spacer
78
+
79
+ # global pane
80
+ sz = Wx::HBoxSizer.new
81
+ sz.add(sizerLeft, 0, Wx::GROW|Wx::ALL, 5)
82
+ sz.add(@sizer, 1, Wx::GROW|Wx::ALL, 5)
83
+
84
+ set_sizer(sz)
85
+
86
+ # connect event handlers
87
+ evt_button(ID::Reset, :on_button_reset)
88
+ evt_button(ID::SetDir, :on_button_set_dir)
89
+
90
+ evt_dirpicker_changed(ID::Dir, :on_dir_change)
91
+
92
+ evt_checkbox(Wx::ID_ANY, :on_check_box)
93
+ end
94
+
95
+ protected
96
+
97
+ # called only once at first construction
98
+ def create_picker
99
+ @dirPicker.destroy if @dirPicker
100
+
101
+ style = get_attrs.default_flags
102
+
103
+ style |= Wx::DIRP_USE_TEXTCTRL if @chkDirTextCtrl.value
104
+ style |= Wx::DIRP_DIR_MUST_EXIST if @chkDirMustExist.value
105
+ style |= Wx::DIRP_CHANGE_DIR if @chkDirChangeDir.value
106
+ style |= Wx::DIRP_SMALL if @chkSmall.value
107
+
108
+
109
+ @dirPicker = Wx::DirPickerCtrl.new(self, ID::Dir,
110
+ Wx.get_home_dir,
111
+ 'Hello!',
112
+ style: style)
113
+ end
114
+
115
+ # called to recreate an existing control
116
+ def recreate_picker
117
+ @sizer.remove(1)
118
+ create_picker
119
+ @sizer.insert(1, @dirPicker, 0, Wx::EXPAND|Wx::ALL, 5)
120
+
121
+ @sizer.layout
122
+ end
123
+
124
+ # restore the checkboxes state to the initial values
125
+ def reset
126
+ @chkDirTextCtrl.set_value(Wx::DIRP_DEFAULT_STYLE.allbits?(Wx::DIRP_USE_TEXTCTRL))
127
+ @chkDirMustExist.set_value(Wx::DIRP_DEFAULT_STYLE.allbits?(Wx::DIRP_DIR_MUST_EXIST))
128
+ @chkDirChangeDir.set_value(Wx::DIRP_DEFAULT_STYLE.allbits?(Wx::DIRP_CHANGE_DIR))
129
+ @chkSmall.set_value(Wx::FLP_DEFAULT_STYLE.allbits?(Wx::DIRP_SMALL))
130
+ end
131
+
132
+ def on_dir_change(event)
133
+ Wx.log_message("The directory changed to '#{event.path}' ! The current working directory is '#{Dir.getwd}'")
134
+ end
135
+
136
+ def on_check_box(event)
137
+ if (event.event_object == @chkDirTextCtrl ||
138
+ event.event_object == @chkDirChangeDir ||
139
+ event.event_object == @chkDirMustExist ||
140
+ event.event_object == @chkSmall)
141
+ recreate_picker
142
+ end
143
+ end
144
+
145
+ def on_button_reset(_ev)
146
+ reset
147
+ recreate_picker
148
+ end
149
+
150
+ def on_button_set_dir(_ev)
151
+ @dirPicker.set_initial_directory(@textInitialDir.value)
152
+ end
153
+
154
+ end
155
+
156
+ end
157
+
158
+ end