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,122 @@
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 EditableListBox
11
+
12
+ class EditableListBoxPage < Widgets::Page
13
+
14
+ module ID
15
+ include Wx::IDHelper
16
+
17
+ Reset = self.next_id(Widgets::Frame::ID::Last)
18
+ Listbox = self.next_id
19
+ ContainerTests = self.next_id
20
+ end
21
+
22
+ def initialize(book, images)
23
+ super(book, images, :listbox)
24
+ end
25
+
26
+ Info = Widgets::PageInfo.new(self, 'EditableListbox', GENERIC_CTRLS)
27
+
28
+ def get_widget
29
+ @lbox.get_list_ctrl
30
+ end
31
+ def recreate_widget
32
+ create_lbox
33
+ end
34
+
35
+ # lazy creation of the content
36
+ def create_content
37
+ # What we create here is a frame having 2 panes: style pane is the
38
+ # leftmost one and the pane containing the listbox itself to the right
39
+ sizerTop = Wx::HBoxSizer.new
40
+
41
+ # left pane
42
+ sizerLeft = Wx::StaticBoxSizer.new(Wx::VERTICAL, self, '&Set listbox parameters')
43
+ sizerLeftBox = sizerLeft.get_static_box
44
+
45
+ @chkAllowNew = create_check_box_and_add_to_sizer(sizerLeft, 'Allow new items', Wx::ID_ANY, sizerLeftBox)
46
+ @chkAllowEdit = create_check_box_and_add_to_sizer(sizerLeft, 'Allow editing items', Wx::ID_ANY, sizerLeftBox)
47
+ @chkAllowDelete = create_check_box_and_add_to_sizer(sizerLeft, 'Allow deleting items', Wx::ID_ANY, sizerLeftBox)
48
+ @chkAllowNoReorder = create_check_box_and_add_to_sizer(sizerLeft, 'Block user reordering', Wx::ID_ANY, sizerLeftBox)
49
+
50
+ btn = Wx::Button.new(sizerLeftBox, ID::Reset, '&Reset')
51
+ sizerLeft.add(btn, 0, Wx::ALIGN_CENTRE_HORIZONTAL | Wx::ALL, 15)
52
+
53
+ # right pane
54
+ sizerRight = Wx::VBoxSizer.new
55
+ @lbox = Wx::EditableListBox.new(self, ID::Listbox,
56
+ 'Match these wildcards:',
57
+ style: 0)
58
+ sizerRight.add(@lbox, 1, Wx::GROW | Wx::ALL, 5)
59
+ sizerRight.set_min_size(150, 0)
60
+ @sizerLbox = sizerRight # save it to modify it later
61
+
62
+ # the 3 panes panes compose the window
63
+ sizerTop.add(sizerLeft, 0, Wx::GROW | (Wx::ALL & ~Wx::LEFT), 10)
64
+ sizerTop.add(sizerRight, 1, Wx::GROW | (Wx::ALL & ~Wx::RIGHT), 10)
65
+
66
+ # final initializations
67
+ reset
68
+
69
+ set_sizer(sizerTop)
70
+
71
+ # connect event handlers
72
+ evt_button(ID::Reset, :on_button_reset)
73
+ evt_checkbox(Wx::ID_ANY, :on_check_box)
74
+ end
75
+
76
+ protected
77
+
78
+ # event handlers
79
+ def on_button_reset(event)
80
+ reset
81
+
82
+ create_lbox
83
+ end
84
+
85
+ def on_check_box(event)
86
+ create_lbox
87
+ end
88
+
89
+ # reset the listbox parameters
90
+ def reset
91
+ @chkAllowNew.set_value(false)
92
+ @chkAllowEdit.set_value(false)
93
+ @chkAllowDelete.set_value(false)
94
+ @chkAllowNoReorder.set_value(false)
95
+ end
96
+
97
+ # (re)create the listbox
98
+ def create_lbox
99
+ flags = get_attrs.default_flags
100
+
101
+ flags |= Wx::EL_ALLOW_NEW if @chkAllowNew.value
102
+ flags |= Wx::EL_ALLOW_EDIT if @chkAllowEdit.value
103
+ flags |= Wx::EL_ALLOW_DELETE if @chkAllowDelete.value
104
+ flags |= Wx::EL_NO_REORDER if @chkAllowNoReorder.value
105
+
106
+ items = @lbox ? @lbox.get_strings : []
107
+ @lbox.destroy if @lbox
108
+
109
+ @lbox = Wx::EditableListBox.new(self, ID::Listbox,
110
+ 'Match these wildcards:',
111
+ style: flags)
112
+
113
+ @lbox.set_strings(items)
114
+ @sizerLbox.add(@lbox, 1, Wx::GROW | Wx::ALL, 5)
115
+ @sizerLbox.layout
116
+ end
117
+
118
+ end
119
+
120
+ end
121
+
122
+ end
@@ -0,0 +1,216 @@
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 FileCtrl
13
+
14
+ class FileCtrlPage < Widgets::Page
15
+
16
+ module ID
17
+ include Wx::IDHelper
18
+
19
+ Reset = self.next_id(Widgets::Frame::ID::Last)
20
+ SetDirectory = self.next_id
21
+ SetPath = self.next_id
22
+ SetFilename = self.next_id
23
+ Ctrl = self.next_id
24
+
25
+ FileCtrlMode_Open = 0
26
+ FileCtrlMode_Save = 1
27
+ end
28
+
29
+ def initialize(book, images)
30
+ super(book, images, :dirctrl)
31
+ end
32
+
33
+ Info = Widgets::PageInfo.new(self, 'FileCtrl',
34
+ if Wx::PLATFORM == 'WXGTK'
35
+ NATIVE_CTRLS
36
+ else
37
+ GENERIC_CTRLS
38
+ end)
39
+
40
+ def get_widget
41
+ @fileCtrl
42
+ end
43
+ def recreate_widget
44
+ create_file_ctrl
45
+ end
46
+
47
+ # lazy creation of the content
48
+ def create_content
49
+ sizerTop = Wx::HBoxSizer.new
50
+
51
+ # left pane
52
+ sizerLeft = Wx::VBoxSizer.new
53
+
54
+ mode = %w{open save}
55
+ @radioFileCtrlMode = Wx::RadioBox.new(self, Wx::ID_ANY, 'wxFileCtrl mode',
56
+ choices: mode)
57
+
58
+ sizerLeft.add(@radioFileCtrlMode,
59
+ 0, Wx::ALL | Wx::EXPAND , 5)
60
+
61
+ szr, @dir = create_sizer_with_text_and_button(ID::SetDirectory ,'Set &directory', Wx::ID_ANY)
62
+ sizerLeft.add(szr, 0, Wx::ALL | Wx::EXPAND, 5)
63
+ szr, @path = create_sizer_with_text_and_button(ID::SetPath,'Set &path', Wx::ID_ANY)
64
+ sizerLeft.add(szr, 0, Wx::ALL | Wx::EXPAND, 5)
65
+ szr, @filename = create_sizer_with_text_and_button(ID::SetFilename,'Set &filename', Wx::ID_ANY)
66
+ sizerLeft.add(szr, 0, Wx::ALL | Wx::EXPAND, 5)
67
+
68
+ sizerFlags = Wx::StaticBoxSizer.new(Wx::VERTICAL, self, '&Flags')
69
+ sizerFlagsBox = sizerFlags.get_static_box
70
+
71
+ @chkMultiple = create_check_box_and_add_to_sizer(sizerFlags,'Wx::FC_MULTIPLE', Wx::ID_ANY, sizerFlagsBox)
72
+ @chkNoShowHidden = create_check_box_and_add_to_sizer(sizerFlags,'Wx::FC_NOSHOWHIDDEN', Wx::ID_ANY, sizerFlagsBox)
73
+ sizerLeft.add(sizerFlags, Wx::SizerFlags.new.expand.border)
74
+
75
+ sizerFilters = Wx::StaticBoxSizer.new(Wx::VERTICAL, self, '&Filters')
76
+ sizerFiltersBox = sizerFilters.get_static_box
77
+
78
+ @fltr = []
79
+ @fltr << create_check_box_and_add_to_sizer(sizerFilters,
80
+ "all files (#{Wx::FILE_SELECTOR_DEFAULT_WILDCARD_STR})|#{Wx::FILE_SELECTOR_DEFAULT_WILDCARD_STR}",
81
+ Wx::ID_ANY, sizerFiltersBox)
82
+ @fltr << create_check_box_and_add_to_sizer(sizerFilters,"Ruby files (*.rb *.rbw)|*.rb;*.rbw", Wx::ID_ANY, sizerFiltersBox)
83
+ @fltr << create_check_box_and_add_to_sizer(sizerFilters,"PNG images (*.png)|*.png", Wx::ID_ANY, sizerFiltersBox)
84
+ sizerLeft.add(sizerFilters, Wx::SizerFlags.new.expand.border)
85
+
86
+ btn = Wx::Button.new(self, ID::Reset, '&Reset')
87
+ sizerLeft.add(btn, 0, Wx::ALIGN_CENTRE_HORIZONTAL | Wx::ALL, 15)
88
+
89
+ # right pane
90
+ @fileCtrl = Wx::FileCtrl.new(self,
91
+ ID::Ctrl,
92
+ '',
93
+ '',
94
+ '',
95
+ style: Wx::FC_OPEN)
96
+
97
+ # the 3 panes panes compose the window
98
+ sizerTop.add(sizerLeft, 0, (Wx::ALL & ~Wx::LEFT), 10)
99
+ sizerTop.add(@fileCtrl, 1, Wx::GROW | (Wx::ALL & ~Wx::RIGHT), 10)
100
+
101
+ # final initializations
102
+ reset
103
+
104
+ set_sizer(sizerTop)
105
+
106
+ # connect event handlers
107
+ evt_button(ID::Reset, :on_button_reset)
108
+ evt_button(ID::SetDirectory, :on_button_set_directory)
109
+ evt_button(ID::SetPath, :on_button_set_path)
110
+ evt_button(ID::SetFilename, :on_button_set_filename)
111
+ evt_checkbox(Wx::ID_ANY, :on_check_box)
112
+ evt_radiobox(Wx::ID_ANY, :on_switch_mode)
113
+
114
+ evt_filectrl_filterchanged(Wx::ID_ANY, :on_file_ctrl)
115
+ evt_filectrl_folderchanged(Wx::ID_ANY, :on_file_ctrl)
116
+ evt_filectrl_selectionchanged(Wx::ID_ANY, :on_file_ctrl)
117
+ evt_filectrl_fileactivated(Wx::ID_ANY, :on_file_ctrl)
118
+ end
119
+
120
+ protected
121
+
122
+ # event handlers
123
+ def on_button_set_directory(_event)
124
+ @fileCtrl.set_directory(@dir.value)
125
+ end
126
+
127
+ def on_button_set_path(_event)
128
+ @fileCtrl.set_path(@path.value)
129
+ end
130
+
131
+ def on_button_set_filename(_event)
132
+ @fileCtrl.set_filename(@filename.value)
133
+ end
134
+
135
+ def on_button_reset(_event)
136
+ reset
137
+
138
+ create_file_ctrl
139
+ end
140
+
141
+ def on_check_box(_event)
142
+ create_file_ctrl
143
+ end
144
+
145
+ def on_switch_mode(_event)
146
+ create_file_ctrl
147
+ end
148
+
149
+ def on_file_ctrl(event)
150
+ if event.get_event_type == Wx::EVT_FILECTRL_FOLDERCHANGED
151
+ Wx.log_message("Folder changed event, new folder: %s", event.directory)
152
+ elsif event.get_event_type == Wx::EVT_FILECTRL_FILEACTIVATED
153
+ Wx.log_message("File activated event: %s", event.files.join(' '))
154
+ elsif event.get_event_type == Wx::EVT_FILECTRL_SELECTIONCHANGED
155
+ Wx.log_message("Selection changed event: %s", event.files.join(' '))
156
+ elsif event.get_event_type == Wx::EVT_FILECTRL_FILTERCHANGED
157
+ Wx.log_message("Filter changed event: filter %d selected", event.filter_index + 1)
158
+ end
159
+ end
160
+
161
+ # reset the control parameters
162
+ def reset
163
+ @dir.set_value(@fileCtrl.directory)
164
+ @radioFileCtrlMode.set_selection(Wx::FC_DEFAULT_STYLE.allbits?(Wx::FC_OPEN) ? ID::FileCtrlMode_Open : ID::FileCtrlMode_Save)
165
+ end
166
+
167
+ # (re)create the m_fileCtrl
168
+ def create_file_ctrl
169
+ Wx::WindowUpdateLocker.update(self) do
170
+
171
+ style = get_attrs.default_flags
172
+
173
+ if @radioFileCtrlMode.selection == ID::FileCtrlMode_Open
174
+ style |= Wx::FC_OPEN
175
+ @chkMultiple.enable
176
+ style |= Wx::FC_MULTIPLE if @chkMultiple.is_checked
177
+ else
178
+ style |= Wx::FC_SAVE
179
+ # wxFC_SAVE is incompatible with wxFC_MULTIPLE
180
+ @chkMultiple.set_value(false)
181
+ @chkMultiple.enable(false)
182
+ end
183
+
184
+ style |= Wx::FC_NOSHOWHIDDEN if @chkNoShowHidden.is_checked
185
+
186
+ fileCtrl = Wx::FileCtrl.new(self,
187
+ ID::Ctrl,
188
+ wildcard: '',
189
+ style: style)
190
+
191
+ wildcard = @fltr.inject('') do |s, f|
192
+ if f.checked?
193
+ s << '|' unless s.empty?
194
+ s << f.label
195
+ end
196
+ s
197
+ end
198
+ fileCtrl.set_wildcard(wildcard)
199
+
200
+ # update sizer's child window
201
+ get_sizer.replace(@fileCtrl, fileCtrl, true)
202
+
203
+ # update our pointer
204
+ @fileCtrl.destroy
205
+ @fileCtrl = fileCtrl
206
+
207
+ # re-layout the sizer
208
+ get_sizer.layout
209
+ end
210
+ end
211
+
212
+ end
213
+
214
+ end
215
+
216
+ end
@@ -0,0 +1,214 @@
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 FilePicker
13
+
14
+ class FilePickerPage < Widgets::Page
15
+
16
+ module ID
17
+ include Wx::IDHelper
18
+
19
+ Reset = self.next_id(Widgets::Frame::ID::Last)
20
+ File = self.next_id
21
+ SetDir = self.next_id
22
+ CurrentPath = self.next_id
23
+
24
+
25
+ Mode_Open = 0
26
+ Mode_Save = 1
27
+ end
28
+
29
+ def initialize(book, images)
30
+ super(book, images, :filepicker)
31
+ end
32
+
33
+ Info = Widgets::PageInfo.new(self, 'FilePicker',
34
+ if Wx::PLATFORM == 'WXGTK'
35
+ NATIVE_CTRLS
36
+ else
37
+ GENERIC_CTRLS
38
+ end | PICKER_CTRLS)
39
+
40
+ def get_widget
41
+ @filePicker
42
+ end
43
+ def recreate_widget
44
+ recreate_picker
45
+ end
46
+
47
+ # lazy creation of the content
48
+ def create_content
49
+ # left pane
50
+ leftSizer = Wx::VBoxSizer.new
51
+
52
+ mode = %w{open save}
53
+ @radioFilePickerMode = Wx::RadioBox.new(self, Wx::ID_ANY, 'wxFilePicker mode',
54
+ choices: mode)
55
+ leftSizer.add(@radioFilePickerMode, 0, Wx::ALL|Wx::GROW, 5)
56
+
57
+ styleSizer = Wx::StaticBoxSizer.new(Wx::VERTICAL, self, '&FilePicker style')
58
+ styleSizerBox = styleSizer.get_static_box
59
+
60
+ @chkFileTextCtrl = create_check_box_and_add_to_sizer(styleSizer, 'With textctrl', Wx::ID_ANY, styleSizerBox)
61
+ @chkFileOverwritePrompt = create_check_box_and_add_to_sizer(styleSizer, 'Overwrite prompt', Wx::ID_ANY, styleSizerBox)
62
+ @chkFileMustExist = create_check_box_and_add_to_sizer(styleSizer, 'File must exist', Wx::ID_ANY, styleSizerBox)
63
+ @chkFileChangeDir = create_check_box_and_add_to_sizer(styleSizer, 'Change working dir', Wx::ID_ANY, styleSizerBox)
64
+ @chkSmall = create_check_box_and_add_to_sizer(styleSizer, '&Small version', Wx::ID_ANY, styleSizerBox)
65
+
66
+ leftSizer.add(styleSizer, 0, Wx::ALL|Wx::GROW, 5)
67
+
68
+ szr, @textInitialDir = create_sizer_with_text_and_button(ID::SetDir,
69
+ '&Initial directory',
70
+ Wx::ID_ANY)
71
+ leftSizer.add(szr, Wx::SizerFlags.new.expand.border)
72
+
73
+ leftSizer.add_spacer(10)
74
+
75
+ leftSizer.add(Wx::Button.new(self, ID::Reset, '&Reset'),
76
+ 0, Wx::ALIGN_CENTRE_HORIZONTAL | Wx::ALL, 15)
77
+
78
+ reset # set checkboxes state
79
+
80
+ # create the picker and the static text displaying its current value
81
+ @labelPath = Wx::StaticText.new(self, ID::CurrentPath, '')
82
+
83
+ @filePicker = nil
84
+ create_picker
85
+
86
+ # right pane
87
+ @sizer = Wx::VBoxSizer.new
88
+ @sizer.add_stretch_spacer
89
+ @sizer.add(@filePicker, Wx::SizerFlags.new.expand.border)
90
+ @sizer.add_stretch_spacer
91
+ @sizer.add(@labelPath, Wx::SizerFlags.new.expand.border)
92
+ @sizer.add_stretch_spacer
93
+
94
+ # global pane
95
+ sz = Wx::HBoxSizer.new
96
+ sz.add(leftSizer, 0, Wx::GROW|Wx::ALL, 5)
97
+ sz.add(@sizer, 1, Wx::GROW|Wx::ALL, 5)
98
+
99
+ set_sizer(sz)
100
+
101
+ # connect event handlers
102
+ evt_button(ID::Reset, :on_button_reset)
103
+ evt_button(ID::SetDir, :on_button_set_dir)
104
+
105
+ evt_filepicker_changed(ID::File, :on_file_change)
106
+
107
+ evt_checkbox(Wx::ID_ANY, :on_check_box)
108
+ evt_radiobox(Wx::ID_ANY, :on_check_box)
109
+
110
+ evt_update_ui(ID::CurrentPath, :on_update_path)
111
+ end
112
+
113
+ protected
114
+
115
+ # called only once at first construction
116
+ def create_picker
117
+ @filePicker.destroy if @filePicker
118
+
119
+ style = get_attrs.default_flags
120
+
121
+ style |= Wx::FLP_USE_TEXTCTRL if @chkFileTextCtrl.value
122
+ style |= Wx::FLP_OVERWRITE_PROMPT if @chkFileOverwritePrompt.value
123
+ style |= Wx::FLP_FILE_MUST_EXIST if @chkFileMustExist.value
124
+ style |= Wx::FLP_CHANGE_DIR if @chkFileChangeDir.value
125
+ style |= Wx::FLP_SMALL if @chkSmall.value
126
+ if @radioFilePickerMode.selection == ID::Mode_Open
127
+ style |= Wx::FLP_OPEN
128
+ else
129
+ style |= Wx::FLP_SAVE
130
+ end
131
+
132
+ # pass an empty string as initial file
133
+ @filePicker = Wx::FilePickerCtrl.new(self, ID::File,
134
+ message: 'Hello!',
135
+ wildcard: '*',
136
+ style: style)
137
+ end
138
+
139
+ # called to recreate an existing control
140
+ def recreate_picker
141
+ @sizer.remove(1)
142
+ create_picker
143
+ @sizer.insert(1, @filePicker, 0, Wx::EXPAND|Wx::ALL, 5)
144
+
145
+ @sizer.layout
146
+ end
147
+
148
+ # restore the checkboxes state to the initial values
149
+ def reset
150
+ @radioFilePickerMode.set_selection(Wx::FLP_DEFAULT_STYLE.allbits?(Wx::FLP_OPEN) ?
151
+ ID::Mode_Open : ID::Mode_Save)
152
+ @chkFileTextCtrl.set_value(Wx::FLP_DEFAULT_STYLE.allbits?(Wx::FLP_USE_TEXTCTRL))
153
+ @chkFileOverwritePrompt.set_value(Wx::FLP_DEFAULT_STYLE.allbits?(Wx::FLP_OVERWRITE_PROMPT))
154
+ @chkFileMustExist.set_value(Wx::FLP_DEFAULT_STYLE.allbits?(Wx::FLP_FILE_MUST_EXIST))
155
+ @chkFileChangeDir.set_value(Wx::FLP_DEFAULT_STYLE.allbits?(Wx::FLP_CHANGE_DIR))
156
+ @chkSmall.set_value(Wx::FLP_DEFAULT_STYLE.allbits?(Wx::FLP_SMALL))
157
+
158
+ update_file_picker_mode
159
+ end
160
+
161
+ # update filepicker radiobox
162
+ def update_file_picker_mode
163
+ case @radioFilePickerMode.selection
164
+ when ID::Mode_Open
165
+ @chkFileOverwritePrompt.set_value(false)
166
+ @chkFileOverwritePrompt.disable
167
+ @chkFileMustExist.enable
168
+ when ID::Mode_Save
169
+ @chkFileMustExist.set_value(false)
170
+ @chkFileMustExist.disable
171
+ @chkFileOverwritePrompt.enable
172
+ end
173
+ end
174
+
175
+ # the pickers and the relative event handlers
176
+ def on_file_change(event)
177
+ Wx.log_message("The file changed to '%s' ! The current working directory is '%s'",
178
+ event.path, Dir.getwd)
179
+ end
180
+
181
+ def on_check_box(event)
182
+ if event.event_object == @chkFileTextCtrl ||
183
+ event.event_object == @chkFileOverwritePrompt ||
184
+ event.event_object == @chkFileMustExist ||
185
+ event.event_object == @chkFileChangeDir ||
186
+ event.event_object == @chkSmall
187
+ recreate_picker
188
+ elsif event.event_object == @radioFilePickerMode
189
+ update_file_picker_mode
190
+ recreate_picker
191
+ end
192
+ end
193
+
194
+ def on_button_reset(_event)
195
+ reset
196
+
197
+ recreate_picker
198
+ end
199
+
200
+ def on_button_set_dir(_event)
201
+ dir = @textInitialDir.value
202
+ @filePicker.set_initial_directory(dir)
203
+ Wx.log_message("Initial directory set to \"#{dir}\"")
204
+ end
205
+
206
+ def on_update_path(event)
207
+ event.set_text('Current path: ' + @filePicker.path)
208
+ end
209
+
210
+ end
211
+
212
+ end
213
+
214
+ end
@@ -0,0 +1,135 @@
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 FontPicker
13
+
14
+ class FontPickerPage < Widgets::Page
15
+
16
+ module ID
17
+ include Wx::IDHelper
18
+
19
+ Reset = self.next_id(Widgets::Frame::ID::Last)
20
+ Font = self.next_id
21
+ end
22
+
23
+ def initialize(book, images)
24
+ super(book, images, :fontpicker)
25
+ end
26
+
27
+ Info = Widgets::PageInfo.new(self, 'FontPicker',
28
+ if Wx::PLATFORM == 'WXGTK'
29
+ NATIVE_CTRLS
30
+ else
31
+ GENERIC_CTRLS
32
+ end | PICKER_CTRLS)
33
+
34
+ def get_widget
35
+ @fontPicker
36
+ end
37
+ def recreate_widget
38
+ recreate_picker
39
+ end
40
+
41
+ # lazy creation of the content
42
+ def create_content
43
+ # left pane
44
+ leftSizer = Wx::VBoxSizer.new
45
+ styleSizer = Wx::StaticBoxSizer.new(Wx::VERTICAL, self, '&FontPicker style')
46
+ styleSizerBox = styleSizer.get_static_box
47
+
48
+ @chkFontTextCtrl = create_check_box_and_add_to_sizer(styleSizer, 'With textctrl', Wx::ID_ANY, styleSizerBox)
49
+ @chkFontDescAsLabel = create_check_box_and_add_to_sizer(styleSizer, 'Font desc as btn label', Wx::ID_ANY, styleSizerBox)
50
+ @chkFontUseFontForLabel = create_check_box_and_add_to_sizer(styleSizer, 'Use font for label', Wx::ID_ANY, styleSizerBox)
51
+ leftSizer.add(styleSizer, 0, Wx::ALL|Wx::GROW, 5)
52
+
53
+ leftSizer.add(Wx::Button.new(self, ID::Reset, '&Reset'),
54
+ 0, Wx::ALIGN_CENTRE_HORIZONTAL | Wx::ALL, 15)
55
+
56
+ reset # set checkboxes state
57
+
58
+ # create pickers
59
+ @fontPicker = nil
60
+ create_picker
61
+
62
+ # right pane
63
+ @sizer = Wx::VBoxSizer.new
64
+ @sizer.add(1, 1, 1, Wx::GROW | Wx::ALL, 5) # spacer
65
+ @sizer.add(@fontPicker, 0, Wx::ALIGN_CENTER|Wx::ALL, 5)
66
+ @sizer.add(1, 1, 1, Wx::GROW | Wx::ALL, 5) # spacer
67
+
68
+ # global pane
69
+ sz = Wx::HBoxSizer.new
70
+ sz.add(leftSizer, 0, Wx::GROW|Wx::ALL, 5)
71
+ sz.add(@sizer, 1, Wx::GROW|Wx::ALL, 5)
72
+
73
+ set_sizer(sz)
74
+
75
+ # connect event handlers
76
+ evt_button(ID::Reset, :on_button_reset)
77
+
78
+ evt_fontpicker_changed(ID::Font, :on_font_change)
79
+
80
+ evt_checkbox(Wx::ID_ANY, :on_check_box)
81
+ end
82
+
83
+ protected
84
+
85
+ # called only once at first construction
86
+ def create_picker
87
+ @fontPicker.destroy if @fontPicker
88
+
89
+ style = get_attrs.default_flags
90
+
91
+ style |= Wx::FNTP_USE_TEXTCTRL if @chkFontTextCtrl.value
92
+ style |= Wx::FNTP_USEFONT_FOR_LABEL if @chkFontUseFontForLabel.value
93
+ style |= Wx::FNTP_FONTDESC_AS_LABEL if @chkFontDescAsLabel.value
94
+
95
+ @fontPicker = Wx::FontPickerCtrl.new(self, ID::Font,
96
+ Wx::SWISS_FONT,
97
+ style: style)
98
+ end
99
+
100
+ # called to recreate an existing control
101
+ def recreate_picker
102
+ @sizer.remove(1)
103
+ create_picker
104
+ @sizer.insert(1, @fontPicker, 0, Wx::ALIGN_CENTER|Wx::ALL, 5)
105
+
106
+ @sizer.layout
107
+ end
108
+
109
+ # restore the checkboxes state to the initial values
110
+ def reset
111
+ @chkFontTextCtrl.set_value(Wx::FNTP_DEFAULT_STYLE.allbits?(Wx::FNTP_USE_TEXTCTRL))
112
+ @chkFontUseFontForLabel.set_value(Wx::FNTP_DEFAULT_STYLE.allbits?(Wx::FNTP_USEFONT_FOR_LABEL))
113
+ @chkFontDescAsLabel.set_value(Wx::FNTP_DEFAULT_STYLE.allbits?(Wx::FNTP_FONTDESC_AS_LABEL))
114
+ end
115
+
116
+ def on_font_change(event)
117
+ Wx.log_message("The font changed to '#{event.font.face_name}' with size #{event.font.point_size} !")
118
+ end
119
+
120
+ def on_check_box(event)
121
+ recreate_picker if event.event_object == @chkFontTextCtrl ||
122
+ event.event_object == @chkFontDescAsLabel ||
123
+ event.event_object == @chkFontUseFontForLabel
124
+ end
125
+
126
+ def on_button_reset(_event)
127
+ reset
128
+ recreate_picker
129
+ end
130
+
131
+ end
132
+
133
+ end
134
+
135
+ end