wxruby3 1.6.1 → 1.7.0

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 (530) hide show
  1. checksums.yaml +4 -4
  2. data/CREDITS.md +32 -25
  3. data/INSTALL.md +19 -4
  4. data/README.md +5 -5
  5. data/assets/repo-social-preview.odg +0 -0
  6. data/assets/repo-social-preview.xcf +0 -0
  7. data/ext/wxruby3/include/wxRubyApp.h +58 -45
  8. data/ext/wxruby3/include/wxruby-runtime.h +78 -1
  9. data/ext/wxruby3/swig/common.i +2 -2
  10. data/ext/wxruby3/swig/custom/director.swg +2 -2
  11. data/ext/wxruby3/swig/custom/rubyprimtypes.swg +59 -15
  12. data/ext/wxruby3/swig/custom/rubyrun.swg +4 -0
  13. data/ext/wxruby3/swig/custom/rubytracking.swg +4 -0
  14. data/ext/wxruby3/swig/custom/swiglabels.swg +129 -0
  15. data/ext/wxruby3/swig/custom/swigrun.swg +15 -0
  16. data/ext/wxruby3/swig/custom/typemaps/swigtypemaps.swg +20 -0
  17. data/ext/wxruby3/swig/mark_free_impl.i +152 -88
  18. data/ext/wxruby3/swig/memory_management.i +1 -0
  19. data/ext/wxruby3/swig/wx.i +73 -44
  20. data/lib/wx/aui/events/evt_list.rb +148 -0
  21. data/lib/wx/aui/require.rb +0 -1
  22. data/lib/wx/core/calendar_ctrl.rb +15 -0
  23. data/lib/wx/core/clipboard.rb +9 -13
  24. data/lib/wx/core/config.rb +1 -1
  25. data/lib/wx/core/events/evt_list.rb +1458 -0
  26. data/lib/wx/core/font/encoding.rb +113 -0
  27. data/lib/wx/core/generic_validator.rb +83 -31
  28. data/lib/wx/core/tipwindow.rb +16 -0
  29. data/lib/wx/doc/aui/auitabctrl.rb +35 -0
  30. data/lib/wx/doc/config.rb +2 -2
  31. data/lib/wx/doc/functions.rb +1 -1
  32. data/lib/wx/doc/gen/about_dialog_info.rb +330 -0
  33. data/lib/wx/doc/gen/accelerator.rb +178 -0
  34. data/lib/wx/doc/gen/activity_indicator.rb +83 -0
  35. data/lib/wx/doc/gen/affine_matrix2d.rb +284 -0
  36. data/lib/wx/doc/gen/animation.rb +275 -0
  37. data/lib/wx/doc/gen/animation_ctrl.rb +300 -0
  38. data/lib/wx/doc/gen/any_button.rb +191 -0
  39. data/lib/wx/doc/gen/app.rb +463 -0
  40. data/lib/wx/doc/gen/app_traits.rb +396 -0
  41. data/lib/wx/doc/gen/art_provider.rb +605 -0
  42. data/lib/wx/doc/gen/aui/aui_dock_art.rb +455 -0
  43. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +54 -0
  44. data/lib/wx/doc/gen/aui/aui_manager.rb +847 -0
  45. data/lib/wx/doc/gen/aui/aui_manager_event.rb +131 -0
  46. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +180 -0
  47. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +59 -0
  48. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +130 -0
  49. data/lib/wx/doc/gen/aui/aui_notebook.rb +631 -0
  50. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +233 -0
  51. data/lib/wx/doc/gen/aui/aui_pane_info.rb +769 -0
  52. data/lib/wx/doc/gen/aui/aui_tab_art.rb +352 -0
  53. data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +14 -0
  54. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +510 -0
  55. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +340 -0
  56. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +244 -0
  57. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +257 -0
  58. data/lib/wx/doc/gen/aui/event_list.rb +179 -0
  59. data/lib/wx/doc/gen/banner_window.rb +124 -0
  60. data/lib/wx/doc/gen/bitmap.rb +731 -0
  61. data/lib/wx/doc/gen/bitmap_button.rb +123 -0
  62. data/lib/wx/doc/gen/bitmap_combo_box.rb +221 -0
  63. data/lib/wx/doc/gen/book_ctrl_base.rb +273 -0
  64. data/lib/wx/doc/gen/book_ctrl_event.rb +66 -0
  65. data/lib/wx/doc/gen/box_sizer.rb +85 -0
  66. data/lib/wx/doc/gen/brush.rb +251 -0
  67. data/lib/wx/doc/gen/busy_info.rb +157 -0
  68. data/lib/wx/doc/gen/button.rb +182 -0
  69. data/lib/wx/doc/gen/calculate_layout_event.rb +62 -0
  70. data/lib/wx/doc/gen/calendar_ctrl.rb +505 -0
  71. data/lib/wx/doc/gen/calendar_date_attr.rb +138 -0
  72. data/lib/wx/doc/gen/calendar_event.rb +147 -0
  73. data/lib/wx/doc/gen/caret.rb +97 -0
  74. data/lib/wx/doc/gen/check_box.rb +175 -0
  75. data/lib/wx/doc/gen/check_list_box.rb +121 -0
  76. data/lib/wx/doc/gen/choice.rb +175 -0
  77. data/lib/wx/doc/gen/choicebook.rb +116 -0
  78. data/lib/wx/doc/gen/client_dc.rb +43 -0
  79. data/lib/wx/doc/gen/clipboard.rb +144 -0
  80. data/lib/wx/doc/gen/collapsible_pane.rb +138 -0
  81. data/lib/wx/doc/gen/collapsible_pane_event.rb +46 -0
  82. data/lib/wx/doc/gen/colour.rb +333 -0
  83. data/lib/wx/doc/gen/colour_dialog.rb +190 -0
  84. data/lib/wx/doc/gen/colour_picker_ctrl.rb +110 -0
  85. data/lib/wx/doc/gen/colour_picker_event.rb +77 -0
  86. data/lib/wx/doc/gen/combo_box.rb +292 -0
  87. data/lib/wx/doc/gen/combo_ctrl.rb +662 -0
  88. data/lib/wx/doc/gen/command_link_button.rb +134 -0
  89. data/lib/wx/doc/gen/config_base.rb +10 -0
  90. data/lib/wx/doc/gen/context_help_button.rb +109 -0
  91. data/lib/wx/doc/gen/control.rb +277 -0
  92. data/lib/wx/doc/gen/control_with_items.rb +253 -0
  93. data/lib/wx/doc/gen/core.rb +45 -0
  94. data/lib/wx/doc/gen/credential_entry_dialog.rb +137 -0
  95. data/lib/wx/doc/gen/cursor.rb +193 -0
  96. data/lib/wx/doc/gen/data_format.rb +85 -0
  97. data/lib/wx/doc/gen/data_object.rb +436 -0
  98. data/lib/wx/doc/gen/data_object_simple_base.rb +10 -0
  99. data/lib/wx/doc/gen/date_event.rb +49 -0
  100. data/lib/wx/doc/gen/date_picker_ctrl.rb +161 -0
  101. data/lib/wx/doc/gen/dc.rb +1631 -0
  102. data/lib/wx/doc/gen/dc_overlay.rb +102 -0
  103. data/lib/wx/doc/gen/defs.rb +2802 -0
  104. data/lib/wx/doc/gen/dial_up_event.rb +45 -0
  105. data/lib/wx/doc/gen/dial_up_manager.rb +149 -0
  106. data/lib/wx/doc/gen/dialog.rb +541 -0
  107. data/lib/wx/doc/gen/dir_dialog.rb +164 -0
  108. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +90 -0
  109. data/lib/wx/doc/gen/dir_picker_ctrl.rb +125 -0
  110. data/lib/wx/doc/gen/display.rb +238 -0
  111. data/lib/wx/doc/gen/drag_drop.rb +299 -0
  112. data/lib/wx/doc/gen/drag_image.rb +116 -0
  113. data/lib/wx/doc/gen/editable_list_box.rb +109 -0
  114. data/lib/wx/doc/gen/event.rb +990 -0
  115. data/lib/wx/doc/gen/event_blocker.rb +50 -0
  116. data/lib/wx/doc/gen/event_filter.rb +92 -0
  117. data/lib/wx/doc/gen/event_list.rb +1644 -0
  118. data/lib/wx/doc/gen/events.rb +2809 -0
  119. data/lib/wx/doc/gen/evt_handler.rb +229 -0
  120. data/lib/wx/doc/gen/ext_help_controller.rb +109 -0
  121. data/lib/wx/doc/gen/file_ctrl.rb +231 -0
  122. data/lib/wx/doc/gen/file_ctrl_event.rb +83 -0
  123. data/lib/wx/doc/gen/file_dialog.rb +353 -0
  124. data/lib/wx/doc/gen/file_dialog_custom_control.rb +165 -0
  125. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +158 -0
  126. data/lib/wx/doc/gen/file_dir_picker_event.rb +100 -0
  127. data/lib/wx/doc/gen/file_picker_ctrl.rb +132 -0
  128. data/lib/wx/doc/gen/file_system.rb +232 -0
  129. data/lib/wx/doc/gen/find_dialog_event.rb +126 -0
  130. data/lib/wx/doc/gen/find_replace_data.rb +60 -0
  131. data/lib/wx/doc/gen/find_replace_dialog.rb +58 -0
  132. data/lib/wx/doc/gen/flex_grid_sizer.rb +199 -0
  133. data/lib/wx/doc/gen/font.rb +1379 -0
  134. data/lib/wx/doc/gen/font_data.rb +151 -0
  135. data/lib/wx/doc/gen/font_dialog.rb +88 -0
  136. data/lib/wx/doc/gen/font_picker_ctrl.rb +143 -0
  137. data/lib/wx/doc/gen/font_picker_event.rb +65 -0
  138. data/lib/wx/doc/gen/frame.rb +352 -0
  139. data/lib/wx/doc/gen/fs_file.rb +337 -0
  140. data/lib/wx/doc/gen/functions.rb +10 -0
  141. data/lib/wx/doc/gen/gauge.rb +157 -0
  142. data/lib/wx/doc/gen/gb_sizer_item.rb +68 -0
  143. data/lib/wx/doc/gen/gcdc.rb +46 -0
  144. data/lib/wx/doc/gen/gdi_common.rb +1271 -0
  145. data/lib/wx/doc/gen/gdi_object.rb +31 -0
  146. data/lib/wx/doc/gen/generic_about_dialog.rb +140 -0
  147. data/lib/wx/doc/gen/generic_dir_ctrl.rb +223 -0
  148. data/lib/wx/doc/gen/geometry.rb +661 -0
  149. data/lib/wx/doc/gen/graphics_context.rb +1184 -0
  150. data/lib/wx/doc/gen/graphics_object.rb +750 -0
  151. data/lib/wx/doc/gen/grid/event_list.rb +191 -0
  152. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +40 -0
  153. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +280 -0
  154. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +35 -0
  155. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +37 -0
  156. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +49 -0
  157. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +35 -0
  158. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +46 -0
  159. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +38 -0
  160. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +45 -0
  161. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +40 -0
  162. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +197 -0
  163. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +39 -0
  164. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +44 -0
  165. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +45 -0
  166. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +79 -0
  167. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +46 -0
  168. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +35 -0
  169. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +108 -0
  170. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +35 -0
  171. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +49 -0
  172. data/lib/wx/doc/gen/grid/grid_ctrl.rb +3002 -0
  173. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +95 -0
  174. data/lib/wx/doc/gen/grid/grid_event.rb +129 -0
  175. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +104 -0
  176. data/lib/wx/doc/gen/grid/grid_size_event.rb +85 -0
  177. data/lib/wx/doc/gen/grid/grid_string_table.rb +142 -0
  178. data/lib/wx/doc/gen/grid/grid_table_base.rb +317 -0
  179. data/lib/wx/doc/gen/grid/grid_table_message.rb +81 -0
  180. data/lib/wx/doc/gen/grid_bag_sizer.rb +323 -0
  181. data/lib/wx/doc/gen/grid_sizer.rb +195 -0
  182. data/lib/wx/doc/gen/gui_event_loop.rb +159 -0
  183. data/lib/wx/doc/gen/h_scrolled_window.rb +562 -0
  184. data/lib/wx/doc/gen/header_ctrl.rb +880 -0
  185. data/lib/wx/doc/gen/header_ctrl_event.rb +133 -0
  186. data/lib/wx/doc/gen/help_controller.rb +195 -0
  187. data/lib/wx/doc/gen/help_provider.rb +98 -0
  188. data/lib/wx/doc/gen/html/event_list.rb +38 -0
  189. data/lib/wx/doc/gen/html/html_cell.rb +536 -0
  190. data/lib/wx/doc/gen/html/html_cell_event.rb +69 -0
  191. data/lib/wx/doc/gen/html/html_data_object.rb +42 -0
  192. data/lib/wx/doc/gen/html/html_easy_printing.rb +203 -0
  193. data/lib/wx/doc/gen/html/html_help_controller.rb +340 -0
  194. data/lib/wx/doc/gen/html/html_help_data.rb +159 -0
  195. data/lib/wx/doc/gen/html/html_help_window.rb +258 -0
  196. data/lib/wx/doc/gen/html/html_link_event.rb +41 -0
  197. data/lib/wx/doc/gen/html/html_list_box.rb +346 -0
  198. data/lib/wx/doc/gen/html/html_printout.rb +109 -0
  199. data/lib/wx/doc/gen/html/html_window.rb +461 -0
  200. data/lib/wx/doc/gen/hyperlink_ctrl.rb +311 -0
  201. data/lib/wx/doc/gen/hyperlink_event.rb +44 -0
  202. data/lib/wx/doc/gen/icon.rb +267 -0
  203. data/lib/wx/doc/gen/icon_location.rb +40 -0
  204. data/lib/wx/doc/gen/image.rb +1371 -0
  205. data/lib/wx/doc/gen/image_list.rb +168 -0
  206. data/lib/wx/doc/gen/info_bar.rb +195 -0
  207. data/lib/wx/doc/gen/keyboard_state.rb +140 -0
  208. data/lib/wx/doc/gen/list_box.rb +304 -0
  209. data/lib/wx/doc/gen/list_ctrl.rb +1774 -0
  210. data/lib/wx/doc/gen/list_event.rb +208 -0
  211. data/lib/wx/doc/gen/listbook.rb +116 -0
  212. data/lib/wx/doc/gen/locale.rb +4293 -0
  213. data/lib/wx/doc/gen/log.rb +603 -0
  214. data/lib/wx/doc/gen/mdi_client_window.rb +47 -0
  215. data/lib/wx/doc/gen/mdi_frame.rb +324 -0
  216. data/lib/wx/doc/gen/media_ctrl.rb +269 -0
  217. data/lib/wx/doc/gen/media_event.rb +117 -0
  218. data/lib/wx/doc/gen/memory_dc.rb +174 -0
  219. data/lib/wx/doc/gen/menu.rb +509 -0
  220. data/lib/wx/doc/gen/menu_bar.rb +287 -0
  221. data/lib/wx/doc/gen/menu_item.rb +362 -0
  222. data/lib/wx/doc/gen/message_dialog.rb +238 -0
  223. data/lib/wx/doc/gen/mini_frame.rb +108 -0
  224. data/lib/wx/doc/gen/mirror_dc.rb +22 -0
  225. data/lib/wx/doc/gen/mouse_state.rb +150 -0
  226. data/lib/wx/doc/gen/multi_choice_dialog.rb +80 -0
  227. data/lib/wx/doc/gen/non_owned_window.rb +49 -0
  228. data/lib/wx/doc/gen/notebook.rb +278 -0
  229. data/lib/wx/doc/gen/num_validator.rb +37 -0
  230. data/lib/wx/doc/gen/number_entry_dialog.rb +93 -0
  231. data/lib/wx/doc/gen/object.rb +59 -0
  232. data/lib/wx/doc/gen/owner_drawn_combo_box.rb +395 -0
  233. data/lib/wx/doc/gen/paint_dc.rb +27 -0
  234. data/lib/wx/doc/gen/palette.rb +92 -0
  235. data/lib/wx/doc/gen/panel.rb +127 -0
  236. data/lib/wx/doc/gen/pen.rb +511 -0
  237. data/lib/wx/doc/gen/persistence_manager.rb +135 -0
  238. data/lib/wx/doc/gen/persistent_object.rb +52 -0
  239. data/lib/wx/doc/gen/persistent_window.rb +241 -0
  240. data/lib/wx/doc/gen/pg/event_list.rb +106 -0
  241. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +54 -0
  242. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +292 -0
  243. data/lib/wx/doc/gen/pg/pg_cell.rb +177 -0
  244. data/lib/wx/doc/gen/pg/pg_editor.rb +721 -0
  245. data/lib/wx/doc/gen/pg/pg_multi_button.rb +152 -0
  246. data/lib/wx/doc/gen/pg/pg_properties.rb +2829 -0
  247. data/lib/wx/doc/gen/pg/pg_property.rb +2078 -0
  248. data/lib/wx/doc/gen/pg/pg_validation_info.rb +344 -0
  249. data/lib/wx/doc/gen/pg/property_grid.rb +740 -0
  250. data/lib/wx/doc/gen/pg/property_grid_event.rb +184 -0
  251. data/lib/wx/doc/gen/pg/property_grid_interface.rb +1098 -0
  252. data/lib/wx/doc/gen/pg/property_grid_manager.rb +415 -0
  253. data/lib/wx/doc/gen/pg/property_grid_page.rb +354 -0
  254. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +165 -0
  255. data/lib/wx/doc/gen/picker_base.rb +152 -0
  256. data/lib/wx/doc/gen/platform_info.rb +622 -0
  257. data/lib/wx/doc/gen/popup_window.rb +107 -0
  258. data/lib/wx/doc/gen/progress_dialog.rb +100 -0
  259. data/lib/wx/doc/gen/property_sheet_dialog.rb +216 -0
  260. data/lib/wx/doc/gen/prt/event_list.rb +17 -0
  261. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +44 -0
  262. data/lib/wx/doc/gen/prt/post_script_dc.rb +30 -0
  263. data/lib/wx/doc/gen/prt/preview_frame.rb +78 -0
  264. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +151 -0
  265. data/lib/wx/doc/gen/prt/print_data.rb +804 -0
  266. data/lib/wx/doc/gen/prt/print_dialog.rb +55 -0
  267. data/lib/wx/doc/gen/prt/printer.rb +518 -0
  268. data/lib/wx/doc/gen/prt/printer_dc.rb +37 -0
  269. data/lib/wx/doc/gen/query_layout_info_event.rb +106 -0
  270. data/lib/wx/doc/gen/radio_box.rb +306 -0
  271. data/lib/wx/doc/gen/radio_button.rb +159 -0
  272. data/lib/wx/doc/gen/rbn/event_list.rb +136 -0
  273. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +1132 -0
  274. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +308 -0
  275. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +45 -0
  276. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +458 -0
  277. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +63 -0
  278. data/lib/wx/doc/gen/rbn/ribbon_control.rb +143 -0
  279. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +229 -0
  280. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +55 -0
  281. data/lib/wx/doc/gen/rbn/ribbon_page.rb +174 -0
  282. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +270 -0
  283. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +45 -0
  284. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +360 -0
  285. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +42 -0
  286. data/lib/wx/doc/gen/rearrange_ctrl.rb +78 -0
  287. data/lib/wx/doc/gen/rearrange_list.rb +123 -0
  288. data/lib/wx/doc/gen/region.rb +380 -0
  289. data/lib/wx/doc/gen/region_iterator.rb +76 -0
  290. data/lib/wx/doc/gen/rich_tool_tip.rb +154 -0
  291. data/lib/wx/doc/gen/rtc/event_list.rb +125 -0
  292. data/lib/wx/doc/gen/rtc/rich_text_box.rb +445 -0
  293. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +1188 -0
  294. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +41 -0
  295. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +538 -0
  296. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +2103 -0
  297. data/lib/wx/doc/gen/rtc/rich_text_event.rb +173 -0
  298. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +181 -0
  299. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +319 -0
  300. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +193 -0
  301. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +102 -0
  302. data/lib/wx/doc/gen/rtc/rich_text_image.rb +337 -0
  303. data/lib/wx/doc/gen/rtc/rich_text_object.rb +2922 -0
  304. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +1240 -0
  305. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +258 -0
  306. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +344 -0
  307. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +227 -0
  308. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +59 -0
  309. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +169 -0
  310. data/lib/wx/doc/gen/sash_event.rb +147 -0
  311. data/lib/wx/doc/gen/sash_layout_window.rb +232 -0
  312. data/lib/wx/doc/gen/sash_window.rb +171 -0
  313. data/lib/wx/doc/gen/scaled_dc.rb +10 -0
  314. data/lib/wx/doc/gen/screen_dc.rb +30 -0
  315. data/lib/wx/doc/gen/scroll_bar.rb +204 -0
  316. data/lib/wx/doc/gen/scrolled_canvas.rb +410 -0
  317. data/lib/wx/doc/gen/scrolled_control.rb +410 -0
  318. data/lib/wx/doc/gen/scrolled_window.rb +430 -0
  319. data/lib/wx/doc/gen/search_ctrl.rb +159 -0
  320. data/lib/wx/doc/gen/secret_store.rb +116 -0
  321. data/lib/wx/doc/gen/simplebook.rb +110 -0
  322. data/lib/wx/doc/gen/single_choice_dialog.rb +89 -0
  323. data/lib/wx/doc/gen/sizer.rb +945 -0
  324. data/lib/wx/doc/gen/sizer_item.rb +244 -0
  325. data/lib/wx/doc/gen/slider.rb +342 -0
  326. data/lib/wx/doc/gen/spin_button.rb +157 -0
  327. data/lib/wx/doc/gen/spin_ctrl.rb +231 -0
  328. data/lib/wx/doc/gen/spin_ctrl_double.rb +192 -0
  329. data/lib/wx/doc/gen/spin_double_event.rb +55 -0
  330. data/lib/wx/doc/gen/spin_event.rb +51 -0
  331. data/lib/wx/doc/gen/splash_screen.rb +113 -0
  332. data/lib/wx/doc/gen/splitter_event.rb +99 -0
  333. data/lib/wx/doc/gen/splitter_window.rb +498 -0
  334. data/lib/wx/doc/gen/static_bitmap.rb +256 -0
  335. data/lib/wx/doc/gen/static_box.rb +180 -0
  336. data/lib/wx/doc/gen/static_box_sizer.rb +85 -0
  337. data/lib/wx/doc/gen/static_line.rb +83 -0
  338. data/lib/wx/doc/gen/static_text.rb +127 -0
  339. data/lib/wx/doc/gen/status_bar.rb +290 -0
  340. data/lib/wx/doc/gen/stc/event_list.rb +221 -0
  341. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +4474 -0
  342. data/lib/wx/doc/gen/stc/styled_text_event.rb +8762 -0
  343. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +129 -0
  344. data/lib/wx/doc/gen/svg_file_dc.rb +164 -0
  345. data/lib/wx/doc/gen/system_options.rb +129 -0
  346. data/lib/wx/doc/gen/system_settings.rb +507 -0
  347. data/lib/wx/doc/gen/task_bar_icon.rb +127 -0
  348. data/lib/wx/doc/gen/task_bar_icon_event.rb +88 -0
  349. data/lib/wx/doc/gen/text_attr.rb +756 -0
  350. data/lib/wx/doc/gen/text_ctrl.rb +1033 -0
  351. data/lib/wx/doc/gen/text_entry.rb +441 -0
  352. data/lib/wx/doc/gen/text_entry_dialog.rb +220 -0
  353. data/lib/wx/doc/gen/text_validator.rb +245 -0
  354. data/lib/wx/doc/gen/time_picker_ctrl.rb +128 -0
  355. data/lib/wx/doc/gen/timer.rb +119 -0
  356. data/lib/wx/doc/gen/timer_event.rb +68 -0
  357. data/lib/wx/doc/gen/tip_provider.rb +63 -0
  358. data/lib/wx/doc/gen/tip_window.rb +51 -0
  359. data/lib/wx/doc/gen/toggle_button.rb +182 -0
  360. data/lib/wx/doc/gen/tool_bar.rb +890 -0
  361. data/lib/wx/doc/gen/tool_tip.rb +86 -0
  362. data/lib/wx/doc/gen/toolbook.rb +118 -0
  363. data/lib/wx/doc/gen/top_level_window.rb +497 -0
  364. data/lib/wx/doc/gen/tree_ctrl.rb +1052 -0
  365. data/lib/wx/doc/gen/tree_event.rb +127 -0
  366. data/lib/wx/doc/gen/treebook.rb +180 -0
  367. data/lib/wx/doc/gen/ui_action_simulator.rb +109 -0
  368. data/lib/wx/doc/gen/utils.rb +273 -0
  369. data/lib/wx/doc/gen/v_list_box.rb +272 -0
  370. data/lib/wx/doc/gen/v_scrolled_canvas.rb +195 -0
  371. data/lib/wx/doc/gen/v_scrolled_window.rb +191 -0
  372. data/lib/wx/doc/gen/validator.rb +68 -0
  373. data/lib/wx/doc/gen/variant.rb +294 -0
  374. data/lib/wx/doc/gen/window.rb +2917 -0
  375. data/lib/wx/doc/gen/window_dc.rb +38 -0
  376. data/lib/wx/doc/gen/window_disabler.rb +30 -0
  377. data/lib/wx/doc/gen/with_images.rb +84 -0
  378. data/lib/wx/doc/gen/wizard.rb +257 -0
  379. data/lib/wx/doc/gen/wizard_event.rb +113 -0
  380. data/lib/wx/doc/gen/wizard_page.rb +65 -0
  381. data/lib/wx/doc/gen/wizard_page_simple.rb +88 -0
  382. data/lib/wx/doc/gen/wrap_sizer.rb +79 -0
  383. data/lib/wx/doc/gen/xml_node.rb +316 -0
  384. data/lib/wx/doc/gen/xml_resource.rb +320 -0
  385. data/lib/wx/doc/generic_validator.rb +5 -0
  386. data/lib/wx/doc/tip_window.rb +18 -6
  387. data/lib/wx/grid/events/evt_list.rb +166 -0
  388. data/lib/wx/html/events/evt_list.rb +27 -0
  389. data/lib/wx/html/simple_html_listbox.rb +46 -33
  390. data/lib/wx/keyword_defs.rb +9 -0
  391. data/lib/wx/pg/events/evt_list.rb +73 -0
  392. data/lib/wx/pg/pg_property.rb +26 -0
  393. data/lib/wx/pg/property_grid_interface.rb +2 -2
  394. data/lib/wx/rbn/events/evt_list.rb +102 -0
  395. data/lib/wx/rtc/events/evt_list.rb +98 -0
  396. data/lib/wx/rtc/ext/rich_text_ctrl.rb +24 -0
  397. data/lib/wx/stc/events/evt_list.rb +178 -0
  398. data/lib/wx/version.rb +1 -1
  399. data/lib/wx/wxruby/cmd/setup.rb +6 -0
  400. data/rakelib/configure.rb +9 -0
  401. data/rakelib/gem.rake +3 -2
  402. data/rakelib/lib/config/linux.rb +1 -1
  403. data/rakelib/lib/config/macosx.rb +15 -1
  404. data/rakelib/lib/config/pkgman/linux.rb +7 -2
  405. data/rakelib/lib/config/unixish.rb +3 -3
  406. data/rakelib/lib/config.rb +16 -5
  407. data/rakelib/lib/core/include/swigdirector.inc +3 -3
  408. data/rakelib/lib/core/include/swigrubyerrors.inc +4 -8
  409. data/rakelib/lib/core/include/swigrubyrun.inc +20 -4
  410. data/rakelib/lib/core/include/swigrun.inc +189 -0
  411. data/rakelib/lib/core/package.rb +3 -1
  412. data/rakelib/lib/director/accelerator.rb +1 -1
  413. data/rakelib/lib/director/animation.rb +1 -0
  414. data/rakelib/lib/director/app_traits.rb +1 -1
  415. data/rakelib/lib/director/aui_manager.rb +21 -14
  416. data/rakelib/lib/director/aui_mdi_child_frame.rb +2 -0
  417. data/rakelib/lib/director/aui_mdi_parent_frame.rb +4 -0
  418. data/rakelib/lib/director/aui_notebook.rb +20 -3
  419. data/rakelib/lib/director/aui_tab_ctrl.rb +64 -106
  420. data/rakelib/lib/director/calendar_ctrl.rb +72 -14
  421. data/rakelib/lib/director/clipboard.rb +2 -0
  422. data/rakelib/lib/director/data_object.rb +15 -7
  423. data/rakelib/lib/director/date_picker_ctrl.rb +4 -1
  424. data/rakelib/lib/director/display.rb +81 -0
  425. data/rakelib/lib/director/event.rb +33 -16
  426. data/rakelib/lib/director/event_handler.rb +27 -2
  427. data/rakelib/lib/director/functions.rb +9 -0
  428. data/rakelib/lib/director/geometry.rb +5 -0
  429. data/rakelib/lib/director/grid_ctrl.rb +123 -28
  430. data/rakelib/lib/director/help_provider.rb +1 -1
  431. data/rakelib/lib/director/html_listbox.rb +16 -3
  432. data/rakelib/lib/director/hvscrolled.rb +7 -106
  433. data/rakelib/lib/director/image_list.rb +1 -0
  434. data/rakelib/lib/director/mdi_frame.rb +4 -0
  435. data/rakelib/lib/director/menu.rb +56 -15
  436. data/rakelib/lib/director/menu_bar.rb +62 -0
  437. data/rakelib/lib/director/menu_item.rb +7 -1
  438. data/rakelib/lib/director/num_validator.rb +27 -0
  439. data/rakelib/lib/director/numeric_property_validator.rb +9 -0
  440. data/rakelib/lib/director/popup_window.rb +2 -0
  441. data/rakelib/lib/director/preview_frame.rb +29 -6
  442. data/rakelib/lib/director/printer.rb +59 -5
  443. data/rakelib/lib/director/property_grid.rb +37 -18
  444. data/rakelib/lib/director/property_grid_interface.rb +10 -8
  445. data/rakelib/lib/director/property_grid_manager.rb +99 -39
  446. data/rakelib/lib/director/property_grid_page.rb +60 -0
  447. data/rakelib/lib/director/rich_tooltip.rb +22 -0
  448. data/rakelib/lib/director/richtext_ctrl.rb +5 -0
  449. data/rakelib/lib/director/richtext_object.rb +13 -4
  450. data/rakelib/lib/director/richtext_style_listbox.rb +4 -1
  451. data/rakelib/lib/director/scrolled_t.rb +3 -0
  452. data/rakelib/lib/director/searchctrl.rb +1 -0
  453. data/rakelib/lib/director/task_bar_icon.rb +14 -8
  454. data/rakelib/lib/director/text_validator.rb +9 -0
  455. data/rakelib/lib/director/tip_window.rb +117 -6
  456. data/rakelib/lib/director/tool_bar.rb +6 -0
  457. data/rakelib/lib/director/validator.rb +12 -0
  458. data/rakelib/lib/director/variant.rb +36 -20
  459. data/rakelib/lib/director/vlistbox.rb +25 -22
  460. data/rakelib/lib/director/window.rb +10 -1
  461. data/rakelib/lib/director/xml_resource.rb +6 -0
  462. data/rakelib/lib/generate/doc/aui_manager.yaml +1 -1
  463. data/rakelib/lib/generate/doc/rich_tool_tip.yaml +26 -0
  464. data/rakelib/lib/generate/doc.rb +12 -7
  465. data/rakelib/lib/generate/interface.rb +16 -1
  466. data/rakelib/lib/specs/interfaces.rb +3 -1
  467. data/rakelib/lib/swig_runner.rb +10 -10
  468. data/rakelib/lib/typemap/aui_tabctrl.rb +46 -0
  469. data/rakelib/lib/typemap/common.rb +3 -3
  470. data/rakelib/lib/typemap/print_page_range.rb +32 -8
  471. data/samples/art/wxruby-512x512.png +0 -0
  472. data/samples/calendar/calendar.rb +64 -1
  473. data/samples/dialogs/dialogs.rb +172 -0
  474. data/samples/dialogs/tip.xpm +157 -0
  475. data/samples/drawing/maths_images.rb +1 -1
  476. data/samples/event/event.rb +1 -1
  477. data/samples/printing/printing2.rb +1 -1
  478. data/samples/sampler.rb +26 -8
  479. data/samples/text/textctrl.rb +2 -2
  480. data/samples/treectrl/treectrl.rb +2 -2
  481. data/tests/lib/leaked_process_event_exception_test.rb +1 -1
  482. data/tests/lib/leaked_queued_event_exception_test.rb +1 -1
  483. data/tests/lib/wxapp_runner.rb +31 -41
  484. data/tests/lib/wxframe_runner.rb +23 -11
  485. data/tests/lib/wxrb_test.rb +58 -0
  486. data/tests/test_app_event_filter.rb +1 -1
  487. data/tests/test_app_exit_exception.rb +3 -3
  488. data/tests/test_app_init_exception.rb +3 -3
  489. data/tests/test_app_traits.rb +24 -21
  490. data/tests/test_art.rb +7 -7
  491. data/tests/test_art_provider.rb +1 -1
  492. data/tests/test_basic.rb +2 -2
  493. data/tests/test_book_controls.rb +1 -1
  494. data/tests/test_box_sizer.rb +1 -1
  495. data/tests/test_clipboard.rb +5 -5
  496. data/tests/test_combo_ctrl.rb +2 -2
  497. data/tests/test_config.rb +11 -1
  498. data/tests/test_dc.rb +1 -1
  499. data/tests/test_dialog.rb +1 -1
  500. data/tests/test_event_handling.rb +1 -1
  501. data/tests/test_events.rb +1 -1
  502. data/tests/test_exceptions.rb +2 -2
  503. data/tests/test_ext_controls.rb +10 -10
  504. data/tests/test_file_dialog.rb +1 -1
  505. data/tests/test_font.rb +1 -1
  506. data/tests/test_gdi_object.rb +1 -1
  507. data/tests/test_geometry.rb +2 -2
  508. data/tests/test_grid_sizer.rb +2 -2
  509. data/tests/test_intl.rb +1 -1
  510. data/tests/test_item_data.rb +12 -12
  511. data/tests/test_list_ctrl.rb +1 -1
  512. data/tests/test_log.rb +2 -2
  513. data/tests/test_media_ctrl.rb +1 -1
  514. data/tests/test_menu.rb +114 -43
  515. data/tests/test_proof_check.rb +1 -1
  516. data/tests/test_propgrid.rb +31 -31
  517. data/tests/test_richtext.rb +10 -24
  518. data/tests/test_secret_store.rb +1 -1
  519. data/tests/test_sizer.rb +1 -1
  520. data/tests/test_std_controls.rb +8 -8
  521. data/tests/test_styled_text_ctrl.rb +1 -1
  522. data/tests/test_timer.rb +1 -1
  523. data/tests/test_tree_ctrl.rb +1 -1
  524. data/tests/test_validators.rb +79 -36
  525. data/tests/test_variant.rb +1 -1
  526. data/tests/test_window.rb +11 -11
  527. data/tests/testapp.rb +2 -2
  528. data/tests/testapp_noframe.rb +2 -2
  529. metadata +400 -11
  530. data/lib/wx/aui/aui_tab_ctrl.rb +0 -18
@@ -0,0 +1,353 @@
1
+ # :stopdoc:
2
+ # This file is automatically generated by the WXRuby3 documentation
3
+ # generator. Do not alter this file.
4
+ # :startdoc:
5
+
6
+
7
+ module Wx
8
+
9
+ #
10
+ FD_DEFAULT_STYLE = 1
11
+
12
+ #
13
+ OSX_FILEDIALOG_ALWAYS_SHOW_TYPES = "osx.openfiledialog.always-show-types"
14
+
15
+ #
16
+ #
17
+ FD_OPEN = 1
18
+
19
+ #
20
+ #
21
+ FD_SAVE = 2
22
+
23
+ #
24
+ #
25
+ FD_OVERWRITE_PROMPT = 4
26
+
27
+ #
28
+ #
29
+ FD_NO_FOLLOW = 8
30
+
31
+ #
32
+ #
33
+ FD_FILE_MUST_EXIST = 16
34
+
35
+ #
36
+ #
37
+ FD_CHANGE_DIR = 128
38
+
39
+ #
40
+ #
41
+ FD_PREVIEW = 256
42
+
43
+ #
44
+ #
45
+ FD_MULTIPLE = 512
46
+
47
+ #
48
+ #
49
+ FD_SHOW_HIDDEN = 1024
50
+
51
+ # Default wildcard string used in {Wx::FileDialog} corresponding to all files.
52
+ #
53
+ FILE_SELECTOR_DEFAULT_WILDCARD_STR = "*"
54
+
55
+ # This class represents the file chooser dialog.
56
+ #
57
+ # The path and filename are distinct elements of a full file pathname. If path is {Wx::EmptyString}, the current directory will be used. If filename is {Wx::EmptyString}, no default filename will be supplied. The wildcard determines what files are displayed in the file selector, and file extension supplies a type extension for the required filename.
58
+ # The typical usage for the open file dialog is:
59
+ # ```ruby
60
+ # class MyFrame
61
+ # ...
62
+ # def on_open(event)
63
+ # if (...current content has not been saved...)
64
+ # if Wx.message_box('Current content has not been saved! Proceed?', 'Please confirm',
65
+ # Wx::ICON_QUESTION | Wx::YES_NO, self) == Wx::NO
66
+ # return
67
+ # #else: proceed asking to the user the new file to open
68
+ # end
69
+ # end
70
+ #
71
+ # Wx::FileDialog(self, "Open XYZ file", "", "",
72
+ # "XYZ files (*.xyz)|*.xyz", Wx::FD_OPEN|Wx::FD_FILE_MUST_EXIST) do |dlg|
73
+ # return if dlg.show_modal == Wx::ID_CANCEL # the user changed idea...?
74
+ #
75
+ # # proceed loading the file chosen by the user
76
+ # file = File.open(dlg.path, 'r') rescue nil
77
+ # unless file
78
+ # Wx.log_error("Cannot open file '#{dlg.path}'.")
79
+ # return
80
+ # end
81
+ # ...
82
+ # end
83
+ # end
84
+ #
85
+ # end
86
+ # ```
87
+ #
88
+ # The typical usage for the save file dialog is instead somewhat simpler:
89
+ # ```ruby
90
+ # class MyFrame
91
+ # ...
92
+ # def on_save_as(event)
93
+ # Wx::FileDialog(self, "Save XYZ file", "", "",
94
+ # "XYZ files (*.xyz)|*.xyz", Wx::FD_SAVE|Wx::FD_OVERWRITE_PROMPT) do |dlg|
95
+ # return if dlg.show_modal == Wx::ID_CANCEL # the user changed idea...?
96
+ #
97
+ # # save the current contents in the file
98
+ # begin
99
+ # File.open(dlg.path, 'w+') do |f|
100
+ # # save to file
101
+ # end
102
+ # rescue
103
+ # Wx.log_error("Cannot save current contents in file '#{dlg.path}'.")
104
+ # return
105
+ # end
106
+ # end
107
+ # ...
108
+ # end
109
+ #
110
+ # end
111
+ # ```
112
+ #
113
+ # ## Wildcard Filters
114
+ # All implementations of the {Wx::FileDialog} provide a wildcard filter. Typing a filename containing wildcards (*, ?) in the filename text item, and clicking on Ok, will result in only those files matching the pattern being displayed. The wildcard may be a specification for multiple types of file with a description for each, such as:
115
+ # ```
116
+ # "BMP and GIF files (*.bmp;*.gif)|*.bmp;*.gif|PNG files (*.png)|*.png"
117
+ # ```
118
+ #
119
+ # On Mac macOS in the open file dialog the filter choice box is not shown by default. Instead all given wildcards are applied at the same time: So in the above example all bmp, gif and png files are displayed. To enforce the display of the filter choice set the corresponding {Wx::SystemOptions} before calling the file open dialog:
120
+ # ```ruby
121
+ # Wx::SystemOptions.set_option(Wx::OSX_FILEDIALOG_ALWAYS_SHOW_TYPES, 1)
122
+ # ```
123
+ # But in contrast to Windows and Unix, where the file type choice filters only the selected files, on Mac macOS even in this case the dialog shows all files matching all file types. The files which do not match the currently selected file type are greyed out and are not selectable.
124
+ #
125
+ # ## Dialog Customization
126
+ # Uniquely among the other standard dialogs, {Wx::FileDialog} can be customized by adding extra controls to it. Moreover, there are two ways to do it: the first one is to define a callback function and use {Wx::FileDialog#set_extra_control_creator} to tell the dialog to call it, while the second one requires defining a class inheriting from {Wx::FileDialogCustomizeHook} and implementing its virtual functions, notably {Wx::FileDialogCustomizeHook#add_custom_controls} where the extra controls have to be created, and finally calling {Wx::FileDialog#set_customize_hook} with this custom hook object.
127
+ # The first approach is somewhat simpler and more flexible, as it allows to create any kind of custom controls, but is not supported by the "new style" (where "new" means used since Windows Vista, i.e. circa 2007) file dialogs under MSW. Because of this, calling {Wx::FileDialog#set_extra_control_creator} in WXMSW forces the use of old style (Windows XP) dialogs, that may look out of place. The second approach is implemented by the MSW dialogs natively and doesn't suffer from this limitation, so its use is recommended, especially if the few simple control types supported by it (see {Wx::FileDialogCustomize} for more information about the supported controls) are sufficient for your needs.
128
+ # Both of the approaches to the dialog customization are demonstrated in the page_samples_dialogs, please check it for more details.
129
+ #
130
+ # <div class="wxrb-note">
131
+ # <b>Note:</b>
132
+ # <p>New style file dialogs can only be used in WXMSW when the apartment, COM threading model is used. This is the case by default, but if the application initializes COM on its own using multi-threaded model, old style dialogs are used, at least when they must have a parent, as the new style dialog doesn't support this threading model.
133
+ # </p>
134
+ # </div>
135
+ #
136
+ # ### Styles
137
+ #
138
+ # This class supports the following styles:
139
+ #
140
+ # - {Wx::FD_DEFAULT_STYLE}: Equivalent to {Wx::FD_OPEN}.
141
+ #
142
+ # - {Wx::FD_OPEN}: This is an open dialog; usually this means that the default button's label of the dialog is "Open". Cannot be combined with {Wx::FD_SAVE}.
143
+ #
144
+ # - {Wx::FD_SAVE}: This is a save dialog; usually this means that the default button's label of the dialog is "Save". Cannot be combined with {Wx::FD_OPEN}.
145
+ #
146
+ # - {Wx::FD_OVERWRITE_PROMPT}: For save dialog only: prompt for a confirmation if a file will be overwritten. This style is always enabled on WXOSX and cannot be disabled.
147
+ #
148
+ # - {Wx::FD_NO_FOLLOW}: Directs the dialog to return the path and file name of the selected shortcut file, not its target as it does by default. Currently this flag is only implemented in WXMSW and WXOSX (where it prevents aliases from being resolved). The non-dereferenced link path is always returned, even without this flag, under Unix and so using it there doesn't do anything. This flag was added in wxWidgets 3.1.0.
149
+ #
150
+ # - {Wx::FD_FILE_MUST_EXIST}: For open dialog only: the user may only select files that actually exist. Notice that under macOS the file dialog with {Wx::FD_OPEN} style always behaves as if this style was specified, because it is impossible to choose a file that doesn't exist from a standard macOS file dialog.
151
+ #
152
+ # - {Wx::FD_MULTIPLE}: For open dialog only: allows selecting multiple files.
153
+ #
154
+ # - {Wx::FD_CHANGE_DIR}: Change the current working directory (when the dialog is dismissed) to the directory where the file(s) chosen by the user are.
155
+ #
156
+ # - {Wx::FD_PREVIEW}: Show the preview of the selected files (currently only supported by WXGTK).
157
+ #
158
+ # - {Wx::FD_SHOW_HIDDEN}: Show hidden files. This flag was added in wxWidgets 3.1.3
159
+ #
160
+ # Category: Common Dialogs
161
+ # @see wxFileDialog Overview
162
+ # @see file_selector
163
+ #
164
+ #
165
+ # @wxrb_require USE_FILEDLG
166
+ class FileDialog < Dialog
167
+
168
+ # @overload initialize(parent, message=Wx::FILE_SELECTOR_PROMPT_STR, defaultDir=(''), defaultFile=(''), wildcard=Wx::FILE_SELECTOR_DEFAULT_WILDCARD_STR, style=Wx::FD_DEFAULT_STYLE, pos=Wx::DEFAULT_POSITION, size=Wx::DEFAULT_SIZE, name=Wx::FILE_DIALOG_NAME_STR)
169
+ # Constructor.
170
+ #
171
+ # Use {Wx::FileDialog#show_modal} to show the dialog.
172
+ # @param parent [Wx::Window] Parent window.
173
+ # @param message [String] Message to show on the dialog.
174
+ # @param defaultDir [String] The default directory, or the empty string.
175
+ # @param defaultFile [String] The default filename, or the empty string.
176
+ # @param wildcard [String] A wildcard, such as "*.*" or "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif".
177
+ # @param style [Integer] A dialog style. See <code>wxFD_*</code> styles for more info.
178
+ # @param pos [Array(Integer, Integer), Wx::Point] Dialog position. Not implemented.
179
+ # @param size [Array(Integer, Integer), Wx::Size] Dialog size. Not implemented.
180
+ # @param name [String] Dialog name. Not implemented.
181
+ # @return [Wx::FileDialog]
182
+ # @overload initialize(parent, message=Wx::FILE_SELECTOR_PROMPT_STR, defaultDir=(''), defaultFile=(''), wildcard=Wx::FILE_SELECTOR_DEFAULT_WILDCARD_STR, style=Wx::FD_DEFAULT_STYLE, pos=Wx::DEFAULT_POSITION, size=Wx::DEFAULT_SIZE, name=Wx::FILE_DIALOG_NAME_STR, &block)
183
+ # Constructor.
184
+ #
185
+ # Use {Wx::FileDialog#show_modal} to show the dialog.
186
+ # @param parent [Wx::Window] Parent window.
187
+ # @param message [String] Message to show on the dialog.
188
+ # @param defaultDir [String] The default directory, or the empty string.
189
+ # @param defaultFile [String] The default filename, or the empty string.
190
+ # @param wildcard [String] A wildcard, such as "*.*" or "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif".
191
+ # @param style [Integer] A dialog style. See <code>wxFD_*</code> styles for more info.
192
+ # @param pos [Array(Integer, Integer), Wx::Point] Dialog position. Not implemented.
193
+ # @param size [Array(Integer, Integer), Wx::Size] Dialog size. Not implemented.
194
+ # @param name [String] Dialog name. Not implemented.
195
+ # @yieldparam [Wx::FileDialog] win new instance
196
+ # @return [Wx::FileDialog]
197
+ def initialize(*args) end
198
+
199
+ # Returns the path of the file currently selected in dialog.
200
+ #
201
+ # Notice that this file is not necessarily going to be accepted by the user, so calling this function mostly makes sense from an update UI event handler of a custom file dialog extra control to update its state depending on the currently selected file.
202
+ # Currently this function is fully implemented under GTK and MSW and always returns an empty string elsewhere.
203
+ #
204
+ # The path of the currently selected file or an empty string if nothing is selected.
205
+ # @see Wx::FileDialog#set_extra_control_creator
206
+ # @return [String]
207
+ def get_currently_selected_filename; end
208
+ alias_method :currently_selected_filename, :get_currently_selected_filename
209
+
210
+ # Returns the file type filter index currently selected in dialog.
211
+ #
212
+ # Notice that this file type filter is not necessarily going to be the one finally accepted by the user, so calling this function mostly makes sense from an update UI event handler of a custom file dialog extra control to update its state depending on the currently selected file type filter.
213
+ # Currently this function is fully implemented under macOS and MSW and always returns {Wx::NOT_FOUND} elsewhere.
214
+ #
215
+ # The 0-based index of the currently selected file type filter or {Wx::NOT_FOUND} if nothing is selected.
216
+ # @see Wx::FileDialog#set_extra_control_creator
217
+ #
218
+ # @see Wx::FileDialog#get_filter_index
219
+ #
220
+ # @see Wx::FileDialog#set_filter_index
221
+ # @return [Integer]
222
+ def get_currently_selected_filter_index; end
223
+ alias_method :currently_selected_filter_index, :get_currently_selected_filter_index
224
+
225
+ # Returns the default directory.
226
+ # @return [String]
227
+ def get_directory; end
228
+ alias_method :directory, :get_directory
229
+
230
+ # If functions {Wx::FileDialog#set_extra_control_creator} and {Wx::FileDialog#show_modal} were called, returns the extra window.
231
+ #
232
+ # Otherwise returns nil.
233
+ # @return [Wx::Window]
234
+ def get_extra_control; end
235
+ alias_method :extra_control, :get_extra_control
236
+
237
+ # Returns the default filename.
238
+ #
239
+ # <div class="wxrb-note">
240
+ # <b>Note:</b>
241
+ # <p>This function can't be used with dialogs which have the {Wx::FD_MULTIPLE} style, use {Wx::FileDialog#get_filenames} instead.
242
+ # </p>
243
+ # </div>
244
+ # @return [String]
245
+ def get_filename; end
246
+ alias_method :filename, :get_filename
247
+
248
+ # Fills the array filenames with the names of the files chosen.
249
+ #
250
+ # This function should only be used with the dialogs which have {Wx::FD_MULTIPLE} style, use {Wx::FileDialog#get_filename} for the others.
251
+ # Note that under Windows, if the user selects shortcuts, the filenames include paths, since the application cannot determine the full path of each referenced file by appending the directory containing the shortcuts to the filename.
252
+ # @return [Array<String>]
253
+ def get_filenames; end
254
+ alias_method :filenames, :get_filenames
255
+
256
+ # Returns the index into the list of filters supplied, optionally, in the wildcard parameter.
257
+ #
258
+ # Before the dialog is shown, this is the index which will be used when the dialog is first displayed.
259
+ # After the dialog is shown, this is the index selected by the user.
260
+ # @return [Integer]
261
+ def get_filter_index; end
262
+ alias_method :filter_index, :get_filter_index
263
+
264
+ # Returns the message that will be displayed on the dialog.
265
+ # @return [String]
266
+ def get_message; end
267
+ alias_method :message, :get_message
268
+
269
+ # Returns the full path (directory and filename) of the selected file.
270
+ #
271
+ # <div class="wxrb-note">
272
+ # <b>Note:</b>
273
+ # <p>This function can't be used with dialogs which have the {Wx::FD_MULTIPLE} style, use {Wx::FileDialog#get_paths} instead.
274
+ # </p>
275
+ # </div>
276
+ # @return [String]
277
+ def get_path; end
278
+ alias_method :path, :get_path
279
+
280
+ # Fills the array paths with the full paths of the files chosen.
281
+ #
282
+ # This function should only be used with the dialogs which have {Wx::FD_MULTIPLE} style, use {Wx::FileDialog#get_path} for the others.
283
+ # @return [Array<String>]
284
+ def get_paths; end
285
+ alias_method :paths, :get_paths
286
+
287
+ # Returns the file dialog wildcard.
288
+ # @return [String]
289
+ def get_wildcard; end
290
+ alias_method :wildcard, :get_wildcard
291
+
292
+ # Set the hook to be used for customizing the dialog contents.
293
+ #
294
+ # This function can be called before calling {Wx::FileDialog#show_modal} to specify that the dialog contents should be customized using the provided hook. See {Wx::FileDialogCustomizeHook} documentation and page_samples_dialogs for the examples of using it.
295
+ #
296
+ # <div class="wxrb-note">
297
+ # <b>Note:</b>
298
+ # <p>In order to define a custom hook object, <code>Wx::/filedlgcustomize.h</code> must be included in addition to the usual <code>Wx::/filedlg.h</code> header.
299
+ # </p>
300
+ # </div>
301
+ #
302
+ # true if the hook was successfully set or false if customizing the file dialog is not supported by the current platform.
303
+ # @param customizeHook [Wx::FileDialogCustomizeHook] The hook object that will be used by the dialog. This object must remain valid at least until {Wx::FileDialog#show_modal} returns.
304
+ # @return [Boolean]
305
+ def set_customize_hook(customizeHook) end
306
+ alias_method :customize_hook=, :set_customize_hook
307
+
308
+ # Sets the default directory.
309
+ # @param directory [String]
310
+ # @return [void]
311
+ def set_directory(directory) end
312
+ alias_method :directory=, :set_directory
313
+
314
+ # Sets the default filename.
315
+ #
316
+ # In WXGTK this will have little effect unless a default directory has previously been set.
317
+ # @param setfilename [String]
318
+ # @return [void]
319
+ def set_filename(setfilename) end
320
+ alias_method :filename=, :set_filename
321
+
322
+ # Sets the default filter index, starting from zero.
323
+ # @param filterIndex [Integer]
324
+ # @return [void]
325
+ def set_filter_index(filterIndex) end
326
+ alias_method :filter_index=, :set_filter_index
327
+
328
+ # Sets the message that will be displayed on the dialog.
329
+ # @param message [String]
330
+ # @return [void]
331
+ def set_message(message) end
332
+ alias_method :message=, :set_message
333
+
334
+ # Sets the path (the combined directory and filename that will be returned when the dialog is dismissed).
335
+ # @param path [String]
336
+ # @return [void]
337
+ def set_path(path) end
338
+ alias_method :path=, :set_path
339
+
340
+ # Sets the wildcard, which can contain multiple file types, for example: "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif".
341
+ # @param wildCard [String]
342
+ # @return [void]
343
+ def set_wildcard(wildCard) end
344
+ alias_method :wildcard=, :set_wildcard
345
+
346
+ # Shows the dialog, returning {Wx::StandardID::ID_OK} if the user pressed OK, and {Wx::StandardID::ID_CANCEL} otherwise.
347
+ # @return [Integer]
348
+ def show_modal; end
349
+
350
+ end # FileDialog
351
+
352
+
353
+ end
@@ -0,0 +1,165 @@
1
+ # :stopdoc:
2
+ # This file is automatically generated by the WXRuby3 documentation
3
+ # generator. Do not alter this file.
4
+ # :startdoc:
5
+
6
+
7
+ module Wx
8
+
9
+ # The base class for all {Wx::FileDialog} custom controls.
10
+ #
11
+ # Unlike normal controls, inheriting from {Wx::Window}, custom controls in {Wx::FileDialog} are not actual windows, but they do provide some window-like operations, and can be disabled or hidden, just as the windows are.
12
+ # Also, similarly to the normal windows, objects of this and derived classes belong to wxWidgets and must not be deleted by the application code.
13
+ # Unlike windows, custom controls cannot be created directly, but can only be returned from {Wx::FileDialogCustomize} functions that are specifically provided for creating them.
14
+ #
15
+ # @wxrb_require USE_FILEDLG
16
+ class FileDialogCustomControl < EvtHandler
17
+
18
+ # Show or hide this control.
19
+ # @param show [Boolean]
20
+ # @return [void]
21
+ def show(show=true) end
22
+
23
+ # Hide this control.
24
+ #
25
+ # This is equivalent to <code>Show(false)</code>.
26
+ # @return [void]
27
+ def hide; end
28
+
29
+ # Enable or disable this control.
30
+ # @param enable [Boolean]
31
+ # @return [void]
32
+ def enable(enable=true) end
33
+
34
+ # Disable this control.
35
+ #
36
+ # This is equivalent to <code>Enable(false)</code>.
37
+ # @return [void]
38
+ def disable; end
39
+
40
+ end # FileDialogCustomControl
41
+
42
+ # Represents a custom button inside {Wx::FileDialog}.
43
+ #
44
+ # Objects of this class can only be created by {Wx::FileDialogCustomize#add_button}.
45
+ # It is possible to bind to {Wx::EVT_BUTTON} events on this object, which will be generated when the button is clicked.
46
+ # See {Wx::FileDialogCustomControl} for more information.
47
+ #
48
+ # @wxrb_require USE_FILEDLG
49
+ class FileDialogButton < FileDialogCustomControl
50
+
51
+ end # FileDialogButton
52
+
53
+ # Represents a custom checkbox inside {Wx::FileDialog}.
54
+ #
55
+ # Objects of this class can only be created by {Wx::FileDialogCustomize#add_check_box}.
56
+ # It is possible to bind to {Wx::EVT_CHECKBOX} events on this object, which will be generated when the checkbox is clicked.
57
+ # See {Wx::FileDialogCustomControl} for more information.
58
+ #
59
+ # @wxrb_require USE_FILEDLG
60
+ class FileDialogCheckBox < FileDialogCustomControl
61
+
62
+ # Return true if the checkbox is checked.
63
+ # @return [Boolean]
64
+ def get_value; end
65
+ alias_method :value, :get_value
66
+
67
+ # Check or uncheck the checkbox.
68
+ # @param value [Boolean]
69
+ # @return [void]
70
+ def set_value(value) end
71
+ alias_method :value=, :set_value
72
+
73
+ end # FileDialogCheckBox
74
+
75
+ # Represents a custom radio button inside {Wx::FileDialog}.
76
+ #
77
+ # Objects of this class can only be created by {Wx::FileDialogCustomize#add_radio_button}.
78
+ # It is possible to bind to {Wx::EVT_RADIOBUTTON} events on this object, which will be generated when the radio button is selected.
79
+ # See {Wx::FileDialogCustomControl} for more information.
80
+ #
81
+ # @wxrb_require USE_FILEDLG
82
+ class FileDialogRadioButton < FileDialogCustomControl
83
+
84
+ # Return true if the radio button is selected.
85
+ # @return [Boolean]
86
+ def get_value; end
87
+ alias_method :value, :get_value
88
+
89
+ # Select the value of the radio button.
90
+ #
91
+ # Using false for value is not supported, this argument only exists for consistency with {Wx::RadioButton#set_value}.
92
+ # @param value [Boolean]
93
+ # @return [void]
94
+ def set_value(value) end
95
+ alias_method :value=, :set_value
96
+
97
+ end # FileDialogRadioButton
98
+
99
+ # Represents a custom read-only combobox inside {Wx::FileDialog}.
100
+ #
101
+ # Objects of this class can only be created by {Wx::FileDialogCustomize#add_choice}.
102
+ # It is possible to bind to {Wx::EVT_CHOICE} events on this object, which will be generated when the selection in the combobox changes.
103
+ # See {Wx::FileDialogCustomControl} for more information.
104
+ #
105
+ # @wxrb_require USE_FILEDLG
106
+ class FileDialogChoice < FileDialogCustomControl
107
+
108
+ # Return the index of the selected item, possibly {Wx::NOT_FOUND}.
109
+ # @return [Integer]
110
+ def get_selection; end
111
+ alias_method :selection, :get_selection
112
+
113
+ # Set the selection to the item with the given index.
114
+ #
115
+ # Using {Wx::NOT_FOUND} for n is not supported, once a selection is made it cannot be undone.
116
+ # @param n [Integer]
117
+ # @return [void]
118
+ def set_selection(n) end
119
+ alias_method :selection=, :set_selection
120
+
121
+ end # FileDialogChoice
122
+
123
+ # Represents a custom text control inside {Wx::FileDialog}.
124
+ #
125
+ # Objects of this class can only be created by {Wx::FileDialogCustomize#add_text_ctrl}.
126
+ # Objects of this class don't generate any events currently.
127
+ # See {Wx::FileDialogCustomControl} for more information.
128
+ #
129
+ # @wxrb_require USE_FILEDLG
130
+ class FileDialogTextCtrl < FileDialogCustomControl
131
+
132
+ # Get the current value entered into the control.
133
+ # @return [String]
134
+ def get_value; end
135
+ alias_method :value, :get_value
136
+
137
+ # Set the current control value.
138
+ # @param text [String]
139
+ # @return [void]
140
+ def set_value(text) end
141
+ alias_method :value=, :set_value
142
+
143
+ end # FileDialogTextCtrl
144
+
145
+ # Represents a custom static text inside {Wx::FileDialog}.
146
+ #
147
+ # Objects of this class can only be created by {Wx::FileDialogCustomize#add_static_text}.
148
+ # Objects of this class don't generate any events.
149
+ # See {Wx::FileDialogCustomControl} for more information.
150
+ #
151
+ # @wxrb_require USE_FILEDLG
152
+ class FileDialogStaticText < FileDialogCustomControl
153
+
154
+ # Set the text shown in the label.
155
+ #
156
+ # Any ampersands in the text will be escaped, there is no need to do it manually, e.g. using {Wx::Control.escape_mnemonics}.
157
+ # @param text [String]
158
+ # @return [void]
159
+ def set_label_text(text) end
160
+ alias_method :label_text=, :set_label_text
161
+
162
+ end # FileDialogStaticText
163
+
164
+
165
+ end
@@ -0,0 +1,158 @@
1
+ # :stopdoc:
2
+ # This file is automatically generated by the WXRuby3 documentation
3
+ # generator. Do not alter this file.
4
+ # :startdoc:
5
+
6
+
7
+ module Wx
8
+
9
+ # Base class for customization hooks used with {Wx::FileDialog}.
10
+ #
11
+ # {Wx::FileDialogCustomizeHook} is an abstract base class, i.e. in order to use a concrete class inheriting from it and implementing its pure virtual {Wx::FileDialogCustomizeHook#add_custom_controls} function must be defined. Then an object of this class should be passed to {Wx::FileDialog#set_customize_hook}, which will result in its {Wx::FileDialogCustomizeHook#add_custom_controls} being called before the dialog is shown, {Wx::FileDialogCustomizeHook#update_custom_controls} being called whenever something changes in the dialog while it is shown and, finally, {Wx::FileDialogCustomizeHook#transfer_data_from_custom_controls} being called when the user accepts their choice in the dialog.
12
+ # Putting all this together, here is an example of customizing the file dialog using this class:
13
+ # ```ruby
14
+ # class EncryptHook < Wx::FileDialogCustomizeHook
15
+ #
16
+ # attr_reader :encrypt
17
+ #
18
+ # # Override to add custom controls using the provided customizer object.
19
+ # def add_custom_controls(customizer)
20
+ # # Suppose we can encrypt files when saving them.
21
+ # @checkbox = customizer.add_check_box('Encrypt')
22
+ #
23
+ # # While @checkbox is not a Wx::CheckBox, it looks almost like one
24
+ # # and, in particular, we can bind to custom control events as usual.
25
+ # @checkbox.evt_checkbox(Wx::ID_ANY) do |event|
26
+ # # We can also call Wx::Window-like functions on them.
27
+ # @button.enable(event.checked?)
28
+ # end
29
+ #
30
+ # # The encryption parameters can be edited in a dedicated dialog.
31
+ # @button = customizer.add_button('Parameters...')
32
+ # @button.evt_button(Wx::ID_ANY) do |event|
33
+ # # ... show the encryption parameters dialog here ...
34
+ # end
35
+ # end
36
+ #
37
+ # # Override to save the values of the custom controls.
38
+ # def transfer_data_from_custom_controls
39
+ # # Save the checkbox value, as we won't be able to use it any more
40
+ # # once this function returns.
41
+ # @encrypt = @checkbox.get_value
42
+ # end
43
+ #
44
+ # end
45
+ #
46
+ # # ...
47
+ #
48
+ # def some_method
49
+ # Wx.FileDialog(nil, 'Save document', '', 'file.my',
50
+ # 'My files (*.my)|*.my',
51
+ # Wx::FD_SAVE | Wx::FD_OVERWRITE_PROMPT) do |dialog|
52
+ #
53
+ # # This object may be destroyed before the dialog, but must remain
54
+ # # alive until #show_modal returns.
55
+ # customize_hook = EncryptHook.new
56
+ # dialog.set_customize_hook(custom_hook)
57
+ #
58
+ # if dialog.show_modal == Wx::ID_OK
59
+ # if customize_hook.encrypt
60
+ # # ... save with encryption ...
61
+ # else
62
+ # # ... save without encryption ...
63
+ # end
64
+ # end
65
+ # end
66
+ # ```
67
+ #
68
+ # Category: Common Dialogs
69
+ # @see Wx::FileDialog
70
+ #
71
+ #
72
+ # @wxrb_require USE_FILEDLG
73
+ class FileDialogCustomizeHook < ::Object
74
+
75
+ # Must be overridden to add custom controls to the dialog using the provided customizer object.
76
+ #
77
+ # Call {Wx::FileDialogCustomize} functions to add controls and possibly bind to their events.
78
+ # Note that there is no possibility to define the custom controls layout, they will appear more or less consecutively, but the exact layout is determined by the current platform.
79
+ # @param customizer [Wx::FileDialogCustomize]
80
+ # @return [void]
81
+ def add_custom_controls(customizer) end
82
+
83
+ # May be overridden to update the custom controls whenever something changes in the dialog.
84
+ #
85
+ # This function is called when the user selects a file, changes the directory or changes the current filter in the dialog, for example. It can be used to update the custom controls state depending on the currently selected file, for example.
86
+ # Note that it is not necessarily called when the value of a custom control changes.
87
+ # Base class version does nothing.
88
+ # @return [void]
89
+ def update_custom_controls; end
90
+
91
+ # Should typically be overridden to save the values of the custom controls when the dialog is accepted.
92
+ #
93
+ # Custom controls are destroyed and cannot be used any longer once {Wx::FileDialog#show_modal} returns, so their values must be retrieved in this function, which is called just before this happens.
94
+ # This function is not called if the user cancels the dialog.
95
+ # Base class version does nothing.
96
+ # @return [void]
97
+ def transfer_data_from_custom_controls; end
98
+
99
+ end # FileDialogCustomizeHook
100
+
101
+ # Used with {Wx::FileDialogCustomizeHook} to add custom controls to {Wx::FileDialog}.
102
+ #
103
+ # An object of this class is passed to {Wx::FileDialogCustomizeHook#add_custom_controls} to allow it to actually add controls to the dialog.
104
+ # The pointers returned by the functions of this class belong to wxWidgets and should not be deleted by the application, just as {Wx::Window}-derived objects (even if these controls do not inherit from {Wx::Window}). These pointers become invalid when {Wx::FileDialog#show_modal} returns, and the dialog containing them is destroyed, and the latest point at which they can be still used is when {Wx::FileDialogCustomizeHook#transfer_data_from_custom_controls} is called.
105
+ #
106
+ # Category: Common Dialogs
107
+ # @see Wx::FileDialog
108
+ #
109
+ #
110
+ #
111
+ # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
112
+ # @wxrb_require USE_FILEDLG
113
+ class FileDialogCustomize < ::Object
114
+
115
+ # Add a button with the specified label.
116
+ # @param label [String]
117
+ # @return [Wx::FileDialogButton]
118
+ def add_button(label) end
119
+
120
+ # Add a checkbox with the specified label.
121
+ # @param label [String]
122
+ # @return [Wx::FileDialogCheckBox]
123
+ def add_check_box(label) end
124
+
125
+ # Add a radio button with the specified label.
126
+ #
127
+ # The first radio button added will be initially checked. All the radio buttons added immediately after it will become part of the same radio group and will not be checked, but checking any one of them later will uncheck the first button and all the other ones.
128
+ # If two consecutive but distinct radio groups are required, {Wx::FileDialogCustomize#add_static_text} with an empty label can be used to separate them.
129
+ # @param label [String]
130
+ # @return [Wx::FileDialogRadioButton]
131
+ def add_radio_button(label) end
132
+
133
+ # Add a read-only combobox with the specified contents.
134
+ #
135
+ # The combobox doesn't have any initial selection, i.e. {Wx::FileDialogChoice#get_selection} returns {Wx::NOT_FOUND}, if some item must be selected, use {Wx::FileDialogChoice#set_selection} explicitly to do it.
136
+ # @param strings [Array<String>] A non-null pointer to an array of n strings.
137
+ # @return [Wx::FileDialogChoice]
138
+ def add_choice(strings) end
139
+
140
+ # Add a text control with an optional label preceding it.
141
+ #
142
+ # Unlike all the other functions for adding controls, the label parameter here doesn't specify the contents of the text control itself, but rather the label appearing before it. Unlike static controls added by {Wx::FileDialogCustomize#add_static_text}, this label is guaranteed to be immediately adjacent to it.
143
+ # If label is empty, no label is created.
144
+ # @param label [String]
145
+ # @return [Wx::FileDialogTextCtrl]
146
+ def add_text_ctrl(label=('')) end
147
+
148
+ # Add a static text with the given contents.
149
+ #
150
+ # The contents of the static text can be updated later, i.e. it doesn't need to be actually static.
151
+ # @param label [String]
152
+ # @return [Wx::FileDialogStaticText]
153
+ def add_static_text(label) end
154
+
155
+ end # FileDialogCustomize
156
+
157
+
158
+ end