wxruby3 1.6.1 → 1.8.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 (642) hide show
  1. checksums.yaml +4 -4
  2. data/CREDITS.md +32 -25
  3. data/INSTALL.md +46 -6
  4. data/README.md +17 -17
  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 +203 -91
  8. data/ext/wxruby3/include/wxruby-ComboPopup.h +25 -8
  9. data/ext/wxruby3/include/wxruby-GCTracking.h +262 -0
  10. data/ext/wxruby3/include/wxruby-MBConv.h +190 -0
  11. data/ext/wxruby3/include/wxruby-SharedEventHandler.h +183 -0
  12. data/ext/wxruby3/include/wxruby-SharedPtr.h +104 -0
  13. data/ext/wxruby3/include/wxruby-runtime.h +107 -1
  14. data/ext/wxruby3/swig/common.i +2 -2
  15. data/ext/wxruby3/swig/custom/director.swg +2 -2
  16. data/ext/wxruby3/swig/custom/rubyprimtypes.swg +59 -15
  17. data/ext/wxruby3/swig/custom/rubyrun.swg +4 -0
  18. data/ext/wxruby3/swig/custom/rubytracking.swg +9 -19
  19. data/ext/wxruby3/swig/custom/swiglabels.swg +129 -0
  20. data/ext/wxruby3/swig/custom/swigrun.swg +15 -0
  21. data/ext/wxruby3/swig/custom/typemaps/swigtypemaps.swg +20 -0
  22. data/ext/wxruby3/swig/custom/wx_ruby_shared_ptr.i +434 -0
  23. data/ext/wxruby3/swig/custom/wx_shared_ptr.i +431 -0
  24. data/ext/wxruby3/swig/mark_free_impl.i +83 -144
  25. data/ext/wxruby3/swig/memory_management.i +8 -43
  26. data/ext/wxruby3/swig/wx.i +88 -86
  27. data/lib/wx/aui/events/evt_list.rb +148 -0
  28. data/lib/wx/aui/require.rb +0 -1
  29. data/lib/wx/core/calendar_ctrl.rb +15 -0
  30. data/lib/wx/core/clipboard.rb +9 -13
  31. data/lib/wx/core/config.rb +1 -1
  32. data/lib/wx/core/const.rb +0 -1
  33. data/lib/wx/core/context_help.rb +17 -0
  34. data/lib/wx/core/cursor.rb +1 -0
  35. data/lib/wx/core/events/evt_list.rb +1458 -0
  36. data/lib/wx/core/font/encoding.rb +113 -0
  37. data/lib/wx/core/generic_validator.rb +83 -31
  38. data/lib/wx/core/helpcontrollerhelpprovider.rb +10 -2
  39. data/lib/wx/core/mbconv.rb +11 -0
  40. data/lib/wx/core/media_ctrl.rb +31 -0
  41. data/lib/wx/core/tipwindow.rb +16 -0
  42. data/lib/wx/core/top_level_window.rb +7 -0
  43. data/lib/wx/core.rb +6 -0
  44. data/lib/wx/doc/art_provider.rb +17 -0
  45. data/lib/wx/doc/aui/auitabctrl.rb +35 -0
  46. data/lib/wx/doc/config.rb +2 -2
  47. data/lib/wx/doc/context_help.rb +42 -0
  48. data/lib/wx/doc/core.rb +0 -5
  49. data/lib/wx/doc/functions.rb +11 -1
  50. data/lib/wx/doc/gen/about_dialog_info.rb +330 -0
  51. data/lib/wx/doc/gen/accelerator.rb +178 -0
  52. data/lib/wx/doc/gen/activity_indicator.rb +83 -0
  53. data/lib/wx/doc/gen/affine_matrix2d.rb +286 -0
  54. data/lib/wx/doc/gen/animation.rb +275 -0
  55. data/lib/wx/doc/gen/animation_ctrl.rb +300 -0
  56. data/lib/wx/doc/gen/any_button.rb +191 -0
  57. data/lib/wx/doc/gen/app.rb +463 -0
  58. data/lib/wx/doc/gen/app_traits.rb +396 -0
  59. data/lib/wx/doc/gen/art_provider.rb +617 -0
  60. data/lib/wx/doc/gen/aui/aui_dock_art.rb +455 -0
  61. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +54 -0
  62. data/lib/wx/doc/gen/aui/aui_manager.rb +847 -0
  63. data/lib/wx/doc/gen/aui/aui_manager_event.rb +131 -0
  64. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +180 -0
  65. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +59 -0
  66. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +130 -0
  67. data/lib/wx/doc/gen/aui/aui_notebook.rb +631 -0
  68. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +233 -0
  69. data/lib/wx/doc/gen/aui/aui_pane_info.rb +769 -0
  70. data/lib/wx/doc/gen/aui/aui_tab_art.rb +352 -0
  71. data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +14 -0
  72. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +510 -0
  73. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +340 -0
  74. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +244 -0
  75. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +257 -0
  76. data/lib/wx/doc/gen/aui/event_list.rb +179 -0
  77. data/lib/wx/doc/gen/banner_window.rb +124 -0
  78. data/lib/wx/doc/gen/bitmap.rb +731 -0
  79. data/lib/wx/doc/gen/bitmap_button.rb +123 -0
  80. data/lib/wx/doc/gen/bitmap_combo_box.rb +221 -0
  81. data/lib/wx/doc/gen/book_ctrl_base.rb +274 -0
  82. data/lib/wx/doc/gen/book_ctrl_event.rb +66 -0
  83. data/lib/wx/doc/gen/box_sizer.rb +85 -0
  84. data/lib/wx/doc/gen/brush.rb +251 -0
  85. data/lib/wx/doc/gen/busy_info.rb +157 -0
  86. data/lib/wx/doc/gen/button.rb +182 -0
  87. data/lib/wx/doc/gen/calculate_layout_event.rb +62 -0
  88. data/lib/wx/doc/gen/calendar_ctrl.rb +505 -0
  89. data/lib/wx/doc/gen/calendar_date_attr.rb +138 -0
  90. data/lib/wx/doc/gen/calendar_event.rb +147 -0
  91. data/lib/wx/doc/gen/caret.rb +97 -0
  92. data/lib/wx/doc/gen/check_box.rb +175 -0
  93. data/lib/wx/doc/gen/check_list_box.rb +121 -0
  94. data/lib/wx/doc/gen/choice.rb +175 -0
  95. data/lib/wx/doc/gen/choicebook.rb +116 -0
  96. data/lib/wx/doc/gen/client_dc.rb +43 -0
  97. data/lib/wx/doc/gen/clipboard.rb +144 -0
  98. data/lib/wx/doc/gen/collapsible_pane.rb +138 -0
  99. data/lib/wx/doc/gen/collapsible_pane_event.rb +46 -0
  100. data/lib/wx/doc/gen/colour.rb +333 -0
  101. data/lib/wx/doc/gen/colour_dialog.rb +190 -0
  102. data/lib/wx/doc/gen/colour_picker_ctrl.rb +110 -0
  103. data/lib/wx/doc/gen/colour_picker_event.rb +77 -0
  104. data/lib/wx/doc/gen/combo_box.rb +292 -0
  105. data/lib/wx/doc/gen/combo_ctrl.rb +662 -0
  106. data/lib/wx/doc/gen/command_link_button.rb +134 -0
  107. data/lib/wx/doc/gen/config_base.rb +10 -0
  108. data/lib/wx/doc/gen/context_help_button.rb +56 -0
  109. data/lib/wx/doc/gen/control.rb +277 -0
  110. data/lib/wx/doc/gen/control_with_items.rb +253 -0
  111. data/lib/wx/doc/gen/core.rb +45 -0
  112. data/lib/wx/doc/gen/credential_entry_dialog.rb +137 -0
  113. data/lib/wx/doc/gen/cursor.rb +193 -0
  114. data/lib/wx/doc/gen/data_format.rb +85 -0
  115. data/lib/wx/doc/gen/data_object.rb +436 -0
  116. data/lib/wx/doc/gen/data_object_simple_base.rb +10 -0
  117. data/lib/wx/doc/gen/date_event.rb +49 -0
  118. data/lib/wx/doc/gen/date_picker_ctrl.rb +161 -0
  119. data/lib/wx/doc/gen/dc.rb +1631 -0
  120. data/lib/wx/doc/gen/dc_overlay.rb +102 -0
  121. data/lib/wx/doc/gen/defs.rb +2802 -0
  122. data/lib/wx/doc/gen/dial_up_event.rb +45 -0
  123. data/lib/wx/doc/gen/dial_up_manager.rb +149 -0
  124. data/lib/wx/doc/gen/dialog.rb +541 -0
  125. data/lib/wx/doc/gen/dir_dialog.rb +164 -0
  126. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +90 -0
  127. data/lib/wx/doc/gen/dir_picker_ctrl.rb +125 -0
  128. data/lib/wx/doc/gen/display.rb +238 -0
  129. data/lib/wx/doc/gen/drag_drop.rb +299 -0
  130. data/lib/wx/doc/gen/drag_image.rb +116 -0
  131. data/lib/wx/doc/gen/editable_list_box.rb +109 -0
  132. data/lib/wx/doc/gen/event.rb +990 -0
  133. data/lib/wx/doc/gen/event_blocker.rb +50 -0
  134. data/lib/wx/doc/gen/event_filter.rb +92 -0
  135. data/lib/wx/doc/gen/event_list.rb +1644 -0
  136. data/lib/wx/doc/gen/events.rb +2809 -0
  137. data/lib/wx/doc/gen/evt_handler.rb +229 -0
  138. data/lib/wx/doc/gen/ext_help_controller.rb +155 -0
  139. data/lib/wx/doc/gen/file_ctrl.rb +231 -0
  140. data/lib/wx/doc/gen/file_ctrl_event.rb +83 -0
  141. data/lib/wx/doc/gen/file_dialog.rb +353 -0
  142. data/lib/wx/doc/gen/file_dialog_custom_control.rb +165 -0
  143. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +158 -0
  144. data/lib/wx/doc/gen/file_dir_picker_event.rb +100 -0
  145. data/lib/wx/doc/gen/file_picker_ctrl.rb +132 -0
  146. data/lib/wx/doc/gen/file_system.rb +232 -0
  147. data/lib/wx/doc/gen/find_dialog_event.rb +126 -0
  148. data/lib/wx/doc/gen/find_replace_data.rb +60 -0
  149. data/lib/wx/doc/gen/find_replace_dialog.rb +58 -0
  150. data/lib/wx/doc/gen/flex_grid_sizer.rb +199 -0
  151. data/lib/wx/doc/gen/font.rb +1379 -0
  152. data/lib/wx/doc/gen/font_data.rb +151 -0
  153. data/lib/wx/doc/gen/font_dialog.rb +88 -0
  154. data/lib/wx/doc/gen/font_picker_ctrl.rb +143 -0
  155. data/lib/wx/doc/gen/font_picker_event.rb +65 -0
  156. data/lib/wx/doc/gen/frame.rb +352 -0
  157. data/lib/wx/doc/gen/fs_file.rb +337 -0
  158. data/lib/wx/doc/gen/functions.rb +10 -0
  159. data/lib/wx/doc/gen/gauge.rb +157 -0
  160. data/lib/wx/doc/gen/gb_sizer_item.rb +68 -0
  161. data/lib/wx/doc/gen/gcdc.rb +46 -0
  162. data/lib/wx/doc/gen/gdi_common.rb +1271 -0
  163. data/lib/wx/doc/gen/gdi_object.rb +31 -0
  164. data/lib/wx/doc/gen/generic_about_dialog.rb +140 -0
  165. data/lib/wx/doc/gen/generic_dir_ctrl.rb +223 -0
  166. data/lib/wx/doc/gen/geometry.rb +661 -0
  167. data/lib/wx/doc/gen/graphics_context.rb +1184 -0
  168. data/lib/wx/doc/gen/graphics_object.rb +750 -0
  169. data/lib/wx/doc/gen/grid/event_list.rb +191 -0
  170. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +40 -0
  171. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +280 -0
  172. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +35 -0
  173. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +37 -0
  174. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +49 -0
  175. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +35 -0
  176. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +46 -0
  177. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +38 -0
  178. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +45 -0
  179. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +40 -0
  180. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +197 -0
  181. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +39 -0
  182. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +44 -0
  183. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +45 -0
  184. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +79 -0
  185. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +46 -0
  186. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +35 -0
  187. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +108 -0
  188. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +35 -0
  189. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +49 -0
  190. data/lib/wx/doc/gen/grid/grid_ctrl.rb +3037 -0
  191. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +95 -0
  192. data/lib/wx/doc/gen/grid/grid_event.rb +129 -0
  193. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +104 -0
  194. data/lib/wx/doc/gen/grid/grid_size_event.rb +85 -0
  195. data/lib/wx/doc/gen/grid/grid_string_table.rb +142 -0
  196. data/lib/wx/doc/gen/grid/grid_table_base.rb +317 -0
  197. data/lib/wx/doc/gen/grid/grid_table_message.rb +81 -0
  198. data/lib/wx/doc/gen/grid_bag_sizer.rb +323 -0
  199. data/lib/wx/doc/gen/grid_sizer.rb +195 -0
  200. data/lib/wx/doc/gen/gui_event_loop.rb +159 -0
  201. data/lib/wx/doc/gen/h_scrolled_window.rb +562 -0
  202. data/lib/wx/doc/gen/header_ctrl.rb +880 -0
  203. data/lib/wx/doc/gen/header_ctrl_event.rb +133 -0
  204. data/lib/wx/doc/gen/help_controller.rb +238 -0
  205. data/lib/wx/doc/gen/help_provider.rb +98 -0
  206. data/lib/wx/doc/gen/html/event_list.rb +38 -0
  207. data/lib/wx/doc/gen/html/html_cell.rb +536 -0
  208. data/lib/wx/doc/gen/html/html_cell_event.rb +69 -0
  209. data/lib/wx/doc/gen/html/html_data_object.rb +42 -0
  210. data/lib/wx/doc/gen/html/html_easy_printing.rb +203 -0
  211. data/lib/wx/doc/gen/html/html_help_controller.rb +382 -0
  212. data/lib/wx/doc/gen/html/html_help_data.rb +159 -0
  213. data/lib/wx/doc/gen/html/html_help_window.rb +258 -0
  214. data/lib/wx/doc/gen/html/html_link_event.rb +41 -0
  215. data/lib/wx/doc/gen/html/html_list_box.rb +346 -0
  216. data/lib/wx/doc/gen/html/html_printout.rb +109 -0
  217. data/lib/wx/doc/gen/html/html_window.rb +461 -0
  218. data/lib/wx/doc/gen/hyperlink_ctrl.rb +311 -0
  219. data/lib/wx/doc/gen/hyperlink_event.rb +44 -0
  220. data/lib/wx/doc/gen/icon.rb +267 -0
  221. data/lib/wx/doc/gen/icon_location.rb +40 -0
  222. data/lib/wx/doc/gen/image.rb +1371 -0
  223. data/lib/wx/doc/gen/image_list.rb +168 -0
  224. data/lib/wx/doc/gen/info_bar.rb +195 -0
  225. data/lib/wx/doc/gen/keyboard_state.rb +140 -0
  226. data/lib/wx/doc/gen/list_box.rb +304 -0
  227. data/lib/wx/doc/gen/list_ctrl.rb +1774 -0
  228. data/lib/wx/doc/gen/list_event.rb +208 -0
  229. data/lib/wx/doc/gen/listbook.rb +116 -0
  230. data/lib/wx/doc/gen/locale.rb +4293 -0
  231. data/lib/wx/doc/gen/log.rb +603 -0
  232. data/lib/wx/doc/gen/mb_conv.rb +10 -0
  233. data/lib/wx/doc/gen/mdi_client_window.rb +47 -0
  234. data/lib/wx/doc/gen/mdi_frame.rb +324 -0
  235. data/lib/wx/doc/gen/media_ctrl.rb +269 -0
  236. data/lib/wx/doc/gen/media_event.rb +117 -0
  237. data/lib/wx/doc/gen/memory_dc.rb +174 -0
  238. data/lib/wx/doc/gen/menu.rb +509 -0
  239. data/lib/wx/doc/gen/menu_bar.rb +287 -0
  240. data/lib/wx/doc/gen/menu_item.rb +362 -0
  241. data/lib/wx/doc/gen/message_dialog.rb +238 -0
  242. data/lib/wx/doc/gen/mini_frame.rb +108 -0
  243. data/lib/wx/doc/gen/mirror_dc.rb +22 -0
  244. data/lib/wx/doc/gen/mouse_state.rb +150 -0
  245. data/lib/wx/doc/gen/multi_choice_dialog.rb +80 -0
  246. data/lib/wx/doc/gen/non_owned_window.rb +49 -0
  247. data/lib/wx/doc/gen/notebook.rb +278 -0
  248. data/lib/wx/doc/gen/num_validator.rb +37 -0
  249. data/lib/wx/doc/gen/number_entry_dialog.rb +93 -0
  250. data/lib/wx/doc/gen/object.rb +59 -0
  251. data/lib/wx/doc/gen/owner_drawn_combo_box.rb +395 -0
  252. data/lib/wx/doc/gen/paint_dc.rb +27 -0
  253. data/lib/wx/doc/gen/palette.rb +92 -0
  254. data/lib/wx/doc/gen/panel.rb +127 -0
  255. data/lib/wx/doc/gen/pen.rb +511 -0
  256. data/lib/wx/doc/gen/persistence_manager.rb +135 -0
  257. data/lib/wx/doc/gen/persistent_object.rb +52 -0
  258. data/lib/wx/doc/gen/persistent_window.rb +241 -0
  259. data/lib/wx/doc/gen/pg/event_list.rb +106 -0
  260. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +54 -0
  261. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +292 -0
  262. data/lib/wx/doc/gen/pg/pg_cell.rb +177 -0
  263. data/lib/wx/doc/gen/pg/pg_editor.rb +721 -0
  264. data/lib/wx/doc/gen/pg/pg_multi_button.rb +152 -0
  265. data/lib/wx/doc/gen/pg/pg_properties.rb +2829 -0
  266. data/lib/wx/doc/gen/pg/pg_property.rb +2078 -0
  267. data/lib/wx/doc/gen/pg/pg_validation_info.rb +344 -0
  268. data/lib/wx/doc/gen/pg/property_grid.rb +740 -0
  269. data/lib/wx/doc/gen/pg/property_grid_event.rb +184 -0
  270. data/lib/wx/doc/gen/pg/property_grid_interface.rb +1098 -0
  271. data/lib/wx/doc/gen/pg/property_grid_manager.rb +415 -0
  272. data/lib/wx/doc/gen/pg/property_grid_page.rb +354 -0
  273. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +165 -0
  274. data/lib/wx/doc/gen/picker_base.rb +152 -0
  275. data/lib/wx/doc/gen/platform_info.rb +622 -0
  276. data/lib/wx/doc/gen/popup_window.rb +107 -0
  277. data/lib/wx/doc/gen/progress_dialog.rb +100 -0
  278. data/lib/wx/doc/gen/property_sheet_dialog.rb +216 -0
  279. data/lib/wx/doc/gen/prt/event_list.rb +17 -0
  280. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +44 -0
  281. data/lib/wx/doc/gen/prt/post_script_dc.rb +30 -0
  282. data/lib/wx/doc/gen/prt/preview_frame.rb +78 -0
  283. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +151 -0
  284. data/lib/wx/doc/gen/prt/print_data.rb +804 -0
  285. data/lib/wx/doc/gen/prt/print_dialog.rb +55 -0
  286. data/lib/wx/doc/gen/prt/printer.rb +518 -0
  287. data/lib/wx/doc/gen/prt/printer_dc.rb +37 -0
  288. data/lib/wx/doc/gen/query_layout_info_event.rb +106 -0
  289. data/lib/wx/doc/gen/radio_box.rb +306 -0
  290. data/lib/wx/doc/gen/radio_button.rb +159 -0
  291. data/lib/wx/doc/gen/rbn/event_list.rb +136 -0
  292. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +1142 -0
  293. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +308 -0
  294. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +45 -0
  295. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +458 -0
  296. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +63 -0
  297. data/lib/wx/doc/gen/rbn/ribbon_control.rb +143 -0
  298. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +229 -0
  299. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +55 -0
  300. data/lib/wx/doc/gen/rbn/ribbon_page.rb +174 -0
  301. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +270 -0
  302. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +45 -0
  303. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +360 -0
  304. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +42 -0
  305. data/lib/wx/doc/gen/rearrange_ctrl.rb +78 -0
  306. data/lib/wx/doc/gen/rearrange_list.rb +123 -0
  307. data/lib/wx/doc/gen/region.rb +380 -0
  308. data/lib/wx/doc/gen/region_iterator.rb +76 -0
  309. data/lib/wx/doc/gen/rich_tool_tip.rb +154 -0
  310. data/lib/wx/doc/gen/rt/event_list.rb +17 -0
  311. data/lib/wx/doc/gen/rt/shared_evt_handler.rb +14 -0
  312. data/lib/wx/doc/gen/rt/thread_event.rb +71 -0
  313. data/lib/wx/doc/gen/rtc/event_list.rb +125 -0
  314. data/lib/wx/doc/gen/rtc/rich_text_box.rb +445 -0
  315. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +1188 -0
  316. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +41 -0
  317. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +538 -0
  318. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +2103 -0
  319. data/lib/wx/doc/gen/rtc/rich_text_event.rb +173 -0
  320. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +181 -0
  321. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +319 -0
  322. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +193 -0
  323. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +102 -0
  324. data/lib/wx/doc/gen/rtc/rich_text_image.rb +337 -0
  325. data/lib/wx/doc/gen/rtc/rich_text_object.rb +2922 -0
  326. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +1240 -0
  327. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +258 -0
  328. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +344 -0
  329. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +227 -0
  330. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +59 -0
  331. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +169 -0
  332. data/lib/wx/doc/gen/sash_event.rb +147 -0
  333. data/lib/wx/doc/gen/sash_layout_window.rb +232 -0
  334. data/lib/wx/doc/gen/sash_window.rb +171 -0
  335. data/lib/wx/doc/gen/scaled_dc.rb +10 -0
  336. data/lib/wx/doc/gen/screen_dc.rb +30 -0
  337. data/lib/wx/doc/gen/scroll_bar.rb +204 -0
  338. data/lib/wx/doc/gen/scrolled_canvas.rb +410 -0
  339. data/lib/wx/doc/gen/scrolled_control.rb +410 -0
  340. data/lib/wx/doc/gen/scrolled_window.rb +430 -0
  341. data/lib/wx/doc/gen/search_ctrl.rb +159 -0
  342. data/lib/wx/doc/gen/secret_store.rb +116 -0
  343. data/lib/wx/doc/gen/simplebook.rb +110 -0
  344. data/lib/wx/doc/gen/single_choice_dialog.rb +89 -0
  345. data/lib/wx/doc/gen/sizer.rb +945 -0
  346. data/lib/wx/doc/gen/sizer_item.rb +244 -0
  347. data/lib/wx/doc/gen/slider.rb +342 -0
  348. data/lib/wx/doc/gen/spin_button.rb +157 -0
  349. data/lib/wx/doc/gen/spin_ctrl.rb +231 -0
  350. data/lib/wx/doc/gen/spin_ctrl_double.rb +192 -0
  351. data/lib/wx/doc/gen/spin_double_event.rb +55 -0
  352. data/lib/wx/doc/gen/spin_event.rb +51 -0
  353. data/lib/wx/doc/gen/splash_screen.rb +113 -0
  354. data/lib/wx/doc/gen/splitter_event.rb +99 -0
  355. data/lib/wx/doc/gen/splitter_window.rb +498 -0
  356. data/lib/wx/doc/gen/static_bitmap.rb +256 -0
  357. data/lib/wx/doc/gen/static_box.rb +180 -0
  358. data/lib/wx/doc/gen/static_box_sizer.rb +85 -0
  359. data/lib/wx/doc/gen/static_line.rb +83 -0
  360. data/lib/wx/doc/gen/static_text.rb +127 -0
  361. data/lib/wx/doc/gen/status_bar.rb +290 -0
  362. data/lib/wx/doc/gen/stc/event_list.rb +221 -0
  363. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +4474 -0
  364. data/lib/wx/doc/gen/stc/styled_text_event.rb +8762 -0
  365. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +129 -0
  366. data/lib/wx/doc/gen/svg_file_dc.rb +164 -0
  367. data/lib/wx/doc/gen/system_options.rb +129 -0
  368. data/lib/wx/doc/gen/system_settings.rb +507 -0
  369. data/lib/wx/doc/gen/task_bar_icon.rb +127 -0
  370. data/lib/wx/doc/gen/task_bar_icon_event.rb +88 -0
  371. data/lib/wx/doc/gen/text_attr.rb +756 -0
  372. data/lib/wx/doc/gen/text_ctrl.rb +1033 -0
  373. data/lib/wx/doc/gen/text_entry.rb +441 -0
  374. data/lib/wx/doc/gen/text_entry_dialog.rb +220 -0
  375. data/lib/wx/doc/gen/text_validator.rb +245 -0
  376. data/lib/wx/doc/gen/time_picker_ctrl.rb +128 -0
  377. data/lib/wx/doc/gen/timer.rb +119 -0
  378. data/lib/wx/doc/gen/timer_event.rb +68 -0
  379. data/lib/wx/doc/gen/tip_provider.rb +63 -0
  380. data/lib/wx/doc/gen/tip_window.rb +51 -0
  381. data/lib/wx/doc/gen/toggle_button.rb +182 -0
  382. data/lib/wx/doc/gen/tool_bar.rb +890 -0
  383. data/lib/wx/doc/gen/tool_tip.rb +86 -0
  384. data/lib/wx/doc/gen/toolbook.rb +118 -0
  385. data/lib/wx/doc/gen/top_level_window.rb +516 -0
  386. data/lib/wx/doc/gen/tree_ctrl.rb +1052 -0
  387. data/lib/wx/doc/gen/tree_event.rb +127 -0
  388. data/lib/wx/doc/gen/treebook.rb +180 -0
  389. data/lib/wx/doc/gen/ui_action_simulator.rb +109 -0
  390. data/lib/wx/doc/gen/utils.rb +273 -0
  391. data/lib/wx/doc/gen/v_list_box.rb +272 -0
  392. data/lib/wx/doc/gen/v_scrolled_canvas.rb +195 -0
  393. data/lib/wx/doc/gen/v_scrolled_window.rb +191 -0
  394. data/lib/wx/doc/gen/validator.rb +68 -0
  395. data/lib/wx/doc/gen/variant.rb +294 -0
  396. data/lib/wx/doc/gen/web/event_list.rb +95 -0
  397. data/lib/wx/doc/gen/web/web_view.rb +1136 -0
  398. data/lib/wx/doc/gen/web/web_view_event.rb +210 -0
  399. data/lib/wx/doc/gen/web/web_view_handler.rb +318 -0
  400. data/lib/wx/doc/gen/window.rb +2917 -0
  401. data/lib/wx/doc/gen/window_dc.rb +38 -0
  402. data/lib/wx/doc/gen/window_disabler.rb +30 -0
  403. data/lib/wx/doc/gen/with_images.rb +84 -0
  404. data/lib/wx/doc/gen/wizard.rb +257 -0
  405. data/lib/wx/doc/gen/wizard_event.rb +113 -0
  406. data/lib/wx/doc/gen/wizard_page.rb +65 -0
  407. data/lib/wx/doc/gen/wizard_page_simple.rb +88 -0
  408. data/lib/wx/doc/gen/wrap_sizer.rb +79 -0
  409. data/lib/wx/doc/gen/xml_node.rb +316 -0
  410. data/lib/wx/doc/gen/xml_resource.rb +320 -0
  411. data/lib/wx/doc/generic_validator.rb +5 -0
  412. data/lib/wx/doc/html/html_help_controller.rb +23 -1
  413. data/lib/wx/doc/mbconv.rb +108 -0
  414. data/lib/wx/doc/rt/shared_event_handler.rb +49 -0
  415. data/lib/wx/doc/rt/thread_event.rb +28 -0
  416. data/lib/wx/doc/tip_window.rb +18 -6
  417. data/lib/wx/doc/webview.rb +40 -0
  418. data/lib/wx/grid/events/evt_list.rb +166 -0
  419. data/lib/wx/helpers.rb +1 -1
  420. data/lib/wx/html/events/evt_list.rb +27 -0
  421. data/lib/wx/html/htmlhelpcontroller.rb +10 -0
  422. data/lib/wx/html/simple_html_listbox.rb +46 -33
  423. data/lib/wx/keyword_defs.rb +20 -0
  424. data/lib/wx/pg/events/evt_list.rb +73 -0
  425. data/lib/wx/pg/pg_property.rb +26 -0
  426. data/lib/wx/pg/property_grid_interface.rb +2 -2
  427. data/lib/wx/rbn/events/evt_list.rb +102 -0
  428. data/lib/wx/rt/events/evt_list.rb +8 -0
  429. data/lib/wx/rt/require.rb +8 -0
  430. data/lib/wx/rt/thread_event.rb +14 -0
  431. data/lib/wx/rt.rb +16 -0
  432. data/lib/wx/rtc/events/evt_list.rb +98 -0
  433. data/lib/wx/rtc/ext/rich_text_ctrl.rb +24 -0
  434. data/lib/wx/stc/events/evt_list.rb +178 -0
  435. data/lib/wx/version.rb +1 -1
  436. data/lib/wx/web/events/evt_list.rb +74 -0
  437. data/lib/wx/web/require.rb +8 -0
  438. data/lib/wx/web/webview.rb +106 -0
  439. data/lib/wx/web.rb +17 -0
  440. data/lib/wx/wxruby/cmd/setup.rb +21 -0
  441. data/lib/wx.rb +2 -0
  442. data/rakelib/configure.rb +33 -0
  443. data/rakelib/gem.rake +3 -2
  444. data/rakelib/gem.rb +3 -2
  445. data/rakelib/install.rb +54 -27
  446. data/rakelib/lib/config/linux.rb +1 -1
  447. data/rakelib/lib/config/macosx.rb +22 -6
  448. data/rakelib/lib/config/mingw.rb +66 -5
  449. data/rakelib/lib/config/pkgman/linux.rb +7 -2
  450. data/rakelib/lib/config/pkgman/mingw.rb +1 -1
  451. data/rakelib/lib/config/unixish.rb +7 -5
  452. data/rakelib/lib/config.rb +52 -7
  453. data/rakelib/lib/core/include/client_data.inc +38 -17
  454. data/rakelib/lib/core/include/funcall.inc +1 -1
  455. data/rakelib/lib/core/include/swigdirector.inc +6 -6
  456. data/rakelib/lib/core/include/swigrubyerrors.inc +4 -8
  457. data/rakelib/lib/core/include/swigrubyrun.inc +34 -30
  458. data/rakelib/lib/core/include/swigrun.inc +189 -0
  459. data/rakelib/lib/core/package.rb +3 -3
  460. data/rakelib/lib/director/accelerator.rb +1 -1
  461. data/rakelib/lib/director/animation.rb +1 -0
  462. data/rakelib/lib/director/app.rb +1 -8
  463. data/rakelib/lib/director/app_traits.rb +1 -1
  464. data/rakelib/lib/director/art_provider.rb +7 -3
  465. data/rakelib/lib/director/aui_manager.rb +21 -14
  466. data/rakelib/lib/director/aui_mdi_child_frame.rb +2 -0
  467. data/rakelib/lib/director/aui_mdi_parent_frame.rb +4 -0
  468. data/rakelib/lib/director/aui_notebook.rb +20 -3
  469. data/rakelib/lib/director/aui_tab_ctrl.rb +64 -106
  470. data/rakelib/lib/director/calendar_ctrl.rb +72 -14
  471. data/rakelib/lib/director/clipboard.rb +2 -0
  472. data/rakelib/lib/director/comboctrl.rb +0 -7
  473. data/rakelib/lib/director/context_help_button.rb +35 -2
  474. data/rakelib/lib/director/data_object.rb +15 -7
  475. data/rakelib/lib/director/date_picker_ctrl.rb +4 -1
  476. data/rakelib/lib/director/display.rb +81 -0
  477. data/rakelib/lib/director/event.rb +33 -16
  478. data/rakelib/lib/director/event_handler.rb +59 -30
  479. data/rakelib/lib/director/fs_file.rb +15 -10
  480. data/rakelib/lib/director/functions.rb +17 -0
  481. data/rakelib/lib/director/geometry.rb +5 -0
  482. data/rakelib/lib/director/grid_cell_attr.rb +1 -3
  483. data/rakelib/lib/director/grid_cell_editor.rb +14 -12
  484. data/rakelib/lib/director/grid_cell_renderer.rb +11 -8
  485. data/rakelib/lib/director/grid_ctrl.rb +231 -117
  486. data/rakelib/lib/director/help_controller.rb +70 -2
  487. data/rakelib/lib/director/help_provider.rb +1 -1
  488. data/rakelib/lib/director/html_listbox.rb +16 -3
  489. data/rakelib/lib/director/hvscrolled.rb +7 -106
  490. data/rakelib/lib/director/image_list.rb +1 -0
  491. data/rakelib/lib/director/mb_conv.rb +30 -0
  492. data/rakelib/lib/director/mdi_frame.rb +4 -0
  493. data/rakelib/lib/director/menu.rb +113 -22
  494. data/rakelib/lib/director/menu_bar.rb +103 -2
  495. data/rakelib/lib/director/menu_item.rb +7 -1
  496. data/rakelib/lib/director/num_validator.rb +27 -0
  497. data/rakelib/lib/director/numeric_property_validator.rb +9 -0
  498. data/rakelib/lib/director/persistence_manager.rb +3 -2
  499. data/rakelib/lib/director/popup_window.rb +2 -0
  500. data/rakelib/lib/director/preview_frame.rb +28 -5
  501. data/rakelib/lib/director/printer.rb +59 -5
  502. data/rakelib/lib/director/property_grid.rb +37 -18
  503. data/rakelib/lib/director/property_grid_interface.rb +10 -8
  504. data/rakelib/lib/director/property_grid_manager.rb +99 -39
  505. data/rakelib/lib/director/property_grid_page.rb +60 -0
  506. data/rakelib/lib/director/rich_tooltip.rb +22 -0
  507. data/rakelib/lib/director/richtext_buffer.rb +5 -2
  508. data/rakelib/lib/director/richtext_ctrl.rb +5 -0
  509. data/rakelib/lib/director/richtext_object.rb +13 -4
  510. data/rakelib/lib/director/richtext_style_listbox.rb +4 -1
  511. data/rakelib/lib/director/scrolled_t.rb +3 -0
  512. data/rakelib/lib/director/searchctrl.rb +1 -0
  513. data/rakelib/lib/director/shared_evt_handler.rb +30 -0
  514. data/rakelib/lib/director/sizer.rb +8 -17
  515. data/rakelib/lib/director/sizer_item.rb +3 -4
  516. data/rakelib/lib/director/task_bar_icon.rb +18 -12
  517. data/rakelib/lib/director/text_validator.rb +9 -0
  518. data/rakelib/lib/director/thread_event.rb +33 -0
  519. data/rakelib/lib/director/tip_window.rb +117 -6
  520. data/rakelib/lib/director/tool_bar.rb +6 -0
  521. data/rakelib/lib/director/validator.rb +15 -1
  522. data/rakelib/lib/director/variant.rb +48 -28
  523. data/rakelib/lib/director/vlistbox.rb +25 -22
  524. data/rakelib/lib/director/webview.rb +166 -0
  525. data/rakelib/lib/director/webview_event.rb +37 -0
  526. data/rakelib/lib/director/webview_handler.rb +63 -0
  527. data/rakelib/lib/director/window.rb +10 -1
  528. data/rakelib/lib/director/xml_resource.rb +6 -0
  529. data/rakelib/lib/generate/doc/aui_manager.yaml +1 -1
  530. data/rakelib/lib/generate/doc/rich_tool_tip.yaml +26 -0
  531. data/rakelib/lib/generate/doc/thread_event.yaml +20 -0
  532. data/rakelib/lib/generate/doc/web_view.yaml +135 -0
  533. data/rakelib/lib/generate/doc/web_view_event.yaml +38 -0
  534. data/rakelib/lib/generate/doc/web_view_handler.yaml +58 -0
  535. data/rakelib/lib/generate/doc.rb +12 -7
  536. data/rakelib/lib/generate/interface.rb +16 -1
  537. data/rakelib/lib/specs/interfaces.rb +15 -1
  538. data/rakelib/lib/swig_runner.rb +10 -10
  539. data/rakelib/lib/typemap/aui_tabctrl.rb +46 -0
  540. data/rakelib/lib/typemap/common.rb +37 -4
  541. data/rakelib/lib/typemap/mb_conv.rb +58 -0
  542. data/rakelib/lib/typemap/print_page_range.rb +32 -8
  543. data/rakelib/prepost.rake +23 -31
  544. data/rakelib/prepost.rb +20 -0
  545. data/samples/art/wxruby-512x512.png +0 -0
  546. data/samples/calendar/calendar.rb +64 -1
  547. data/samples/dialogs/dialogs.rb +172 -0
  548. data/samples/dialogs/tip.xpm +157 -0
  549. data/samples/drawing/maths_images.rb +1 -1
  550. data/samples/event/event.rb +1 -1
  551. data/samples/event/threaded.rb +295 -42
  552. data/samples/event/tn_threaded.png +0 -0
  553. data/samples/help/doc/back.gif +0 -0
  554. data/samples/help/doc/contents.gif +0 -0
  555. data/samples/help/doc/cshelp.txt +9 -0
  556. data/samples/help/doc/doc.chm +0 -0
  557. data/samples/help/doc/doc.cnt +8 -0
  558. data/samples/help/doc/doc.h +7 -0
  559. data/samples/help/doc/doc.hhc +40 -0
  560. data/samples/help/doc/doc.hhk +31 -0
  561. data/samples/help/doc/doc.hhp +33 -0
  562. data/samples/help/doc/doc.hpj +21 -0
  563. data/samples/help/doc/doc.htm +27 -0
  564. data/samples/help/doc/doc1.htm +24 -0
  565. data/samples/help/doc/doc2.htm +12 -0
  566. data/samples/help/doc/doc3.htm +12 -0
  567. data/samples/help/doc/doc4.htm +12 -0
  568. data/samples/help/doc/doc5.htm +14 -0
  569. data/samples/help/doc/forward.gif +0 -0
  570. data/samples/help/doc/up.gif +0 -0
  571. data/samples/help/doc.chm +0 -0
  572. data/samples/help/doc.chw +0 -0
  573. data/samples/help/doc.zip +0 -0
  574. data/samples/help/help.rb +352 -0
  575. data/samples/help/tn_help.png +0 -0
  576. data/samples/printing/printing2.rb +1 -1
  577. data/samples/sampler.rb +26 -8
  578. data/samples/text/textctrl.rb +2 -2
  579. data/samples/treectrl/treectrl.rb +2 -2
  580. data/samples/webview/handler_advanced.html +55 -0
  581. data/samples/webview/tn_webview.png +0 -0
  582. data/samples/webview/webview.rb +1264 -0
  583. data/tests/assets/handler_advanced.html +55 -0
  584. data/tests/assets/test.css +1 -0
  585. data/tests/assets/test.html +9 -0
  586. data/tests/assets/test.zip +0 -0
  587. data/tests/lib/leaked_process_event_exception_test.rb +1 -1
  588. data/tests/lib/leaked_queued_event_exception_test.rb +1 -1
  589. data/tests/lib/text_entry_tests.rb +2 -2
  590. data/tests/lib/wxapp_runner.rb +65 -35
  591. data/tests/lib/wxframe_runner.rb +40 -13
  592. data/tests/lib/wxrb_test.rb +58 -0
  593. data/tests/test_app_event_filter.rb +1 -1
  594. data/tests/test_app_exit_exception.rb +3 -3
  595. data/tests/test_app_init_exception.rb +3 -3
  596. data/tests/test_app_traits.rb +24 -21
  597. data/tests/test_art.rb +14 -14
  598. data/tests/test_art_provider.rb +1 -1
  599. data/tests/test_basic.rb +2 -2
  600. data/tests/test_book_controls.rb +1 -1
  601. data/tests/test_box_sizer.rb +1 -1
  602. data/tests/test_clipboard.rb +9 -9
  603. data/tests/test_combo_ctrl.rb +2 -2
  604. data/tests/test_config.rb +17 -7
  605. data/tests/test_dc.rb +1 -1
  606. data/tests/test_dialog.rb +1 -1
  607. data/tests/test_event_handling.rb +1 -1
  608. data/tests/test_events.rb +1 -1
  609. data/tests/test_exceptions.rb +10 -8
  610. data/tests/test_ext_controls.rb +13 -13
  611. data/tests/test_file_dialog.rb +6 -6
  612. data/tests/test_font.rb +8 -8
  613. data/tests/test_gdi_object.rb +1 -1
  614. data/tests/test_geometry.rb +2 -2
  615. data/tests/test_grid_ctrl.rb +133 -0
  616. data/tests/test_grid_sizer.rb +2 -2
  617. data/tests/test_help.rb +88 -0
  618. data/tests/test_intl.rb +2 -2
  619. data/tests/test_item_data.rb +12 -12
  620. data/tests/test_list_ctrl.rb +1 -1
  621. data/tests/test_log.rb +2 -2
  622. data/tests/test_media_ctrl.rb +15 -7
  623. data/tests/test_menu.rb +81 -2
  624. data/tests/test_persistence.rb +1 -1
  625. data/tests/test_proof_check.rb +6 -6
  626. data/tests/test_propgrid.rb +32 -32
  627. data/tests/test_richtext.rb +10 -24
  628. data/tests/test_secret_store.rb +1 -1
  629. data/tests/test_shared_event_handler.rb +141 -0
  630. data/tests/test_sizer.rb +1 -1
  631. data/tests/test_std_controls.rb +13 -13
  632. data/tests/test_styled_text_ctrl.rb +1 -1
  633. data/tests/test_timer.rb +1 -1
  634. data/tests/test_tree_ctrl.rb +1 -1
  635. data/tests/test_validators.rb +79 -36
  636. data/tests/test_variant.rb +1 -1
  637. data/tests/test_webview.rb +492 -0
  638. data/tests/test_window.rb +14 -14
  639. data/tests/testapp.rb +2 -2
  640. data/tests/testapp_noframe.rb +2 -2
  641. metadata +476 -11
  642. data/lib/wx/aui/aui_tab_ctrl.rb +0 -18
@@ -0,0 +1,55 @@
1
+ <head>
2
+ <title>Advanced Handler Sample</title>
3
+
4
+ <style>
5
+ .mono {
6
+ font-family: monospace;
7
+ }
8
+ </style>
9
+
10
+ <script>
11
+ function sendRequest() {
12
+ let url = document.getElementById("request_url").value;
13
+ let request_content_type = document.getElementById("request_content_type").value;
14
+ let request_data = document.getElementById("request_data").value;
15
+ console.log("clicked");
16
+
17
+ const req = new XMLHttpRequest();
18
+ req.addEventListener("load", (ev) => {
19
+ document.getElementById("response_response").value = req.responseText;
20
+ });
21
+ req.open("POST", url);
22
+ req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
23
+ req.send(request_data);
24
+ }
25
+ </script>
26
+ </head>
27
+
28
+ <body>
29
+ <p>
30
+ This sample demonstrates how to use <i>Wx::WebViewHandler::start_request()</i>
31
+ to enable advanced requests from html and javascript in the web view.
32
+ </p>
33
+
34
+ Request URL<br />
35
+ <input id="request_url" size="40" value=""><br />
36
+ Request content type<br />
37
+ <input id="request_content_type" size="40" value="application/json"><br />
38
+ Request Data<br />
39
+ <textarea class="mono" cols="60" rows="8" id="request_data">{ param1: "wxwidgets", param2: "webview" }</textarea>
40
+ <br />
41
+ <button onclick="sendRequest()">Start request</button><br />
42
+ Response Data<br />
43
+ <textarea class="mono" cols="60" rows="8" id="response_response"></textarea>
44
+
45
+ <script>
46
+ // init request_url
47
+ let postURL;
48
+ if (navigator.userAgent.indexOf("Edg") > 0)
49
+ postURL = "https://wxpost.wxsite//main/test/1";
50
+ else
51
+ postURL = "wxpost://main/test/1";
52
+
53
+ document.getElementById("request_url").value = postURL;
54
+ </script>
55
+ </body>
@@ -0,0 +1 @@
1
+ h1 {color: red;}
@@ -0,0 +1,9 @@
1
+ <html>
2
+ <head>
3
+ <title>File System Example</title>
4
+ <link rel='stylesheet' type='text/css' href='test.css'>
5
+ </head>
6
+ <body><h1>ZIP Embedded Page</h1>
7
+ <p>This page was retrieved from a ZIP file.</p>
8
+ </body>
9
+ </html>
Binary file
@@ -4,7 +4,7 @@
4
4
 
5
5
  require_relative './wxapp_runner'
6
6
 
7
- class ProcessEventHandlingExceptionTests < Test::Unit::TestCase
7
+ class ProcessEventHandlingExceptionTests < WxRuby::Test::Unit
8
8
 
9
9
  class TestEvent < Wx::Event
10
10
  EVT_TEST_EVENT = Wx::EvtHandler.register_class(self, nil, 'evt_test_event', 0)
@@ -4,7 +4,7 @@
4
4
 
5
5
  require_relative './wxapp_runner'
6
6
 
7
- class QueuedEventHandlingExceptionTests < Test::Unit::TestCase
7
+ class QueuedEventHandlingExceptionTests < WxRuby::Test::Unit
8
8
 
9
9
  class TestEvent < Wx::Event
10
10
  EVT_TEST_EVENT = Wx::EvtHandler.register_class(self, nil, 'evt_test_event', 0)
@@ -25,7 +25,7 @@ module TextEntryTests
25
25
  updates = count_events(text_entry, :evt_text) do |c_upd|
26
26
 
27
27
  # WXQT only sends event when text changes
28
- unless Wx::PLATFORM == 'WXQT'
28
+ unless is_qt?
29
29
  text_entry.value = ''
30
30
  assert_equal(1, c_upd.count)
31
31
  c_upd.count = 0
@@ -36,7 +36,7 @@ module TextEntryTests
36
36
  c_upd.count = 0
37
37
 
38
38
  # WXQT only sends event when text changes
39
- unless Wx::PLATFORM == 'WXQT'
39
+ unless is_qt?
40
40
  text_entry.value = 'foo'
41
41
  assert_equal(1, c_upd.count)
42
42
  c_upd.count = 0
@@ -2,8 +2,7 @@
2
2
  #
3
3
  # This software is released under the MIT license.
4
4
 
5
- require 'test/unit'
6
- require 'test/unit/ui/console/testrunner'
5
+ require_relative './wxrb_test'
7
6
  require 'wx'
8
7
 
9
8
  module WxRuby
@@ -11,69 +10,100 @@ module WxRuby
11
10
  module Test
12
11
 
13
12
  class App < Wx::App
14
- def initialize(test_runner, start_mtd)
13
+ def initialize(test_runner, start_mtd, *args, **kwargs)
15
14
  super()
16
15
  @test_runner = test_runner
17
16
  @start_mtd = start_mtd
17
+ @args = args
18
+ @kwargs = kwargs
19
+ end
20
+
21
+ protected def run_all_tests
22
+ @start_mtd.bind(@test_runner).call(*@args, **@kwargs)
18
23
  end
19
24
 
20
25
  def on_init
21
- @result = @start_mtd.bind(@test_runner).call
26
+ @result = run_all_tests
22
27
  false
23
28
  end
24
29
 
25
30
  attr_reader :result
26
31
  end
27
32
 
28
- if defined? ::IntelliJ
29
- require 'test/unit/ui/teamcity/testrunner'
30
- BaseRunner = ::Test::Unit::UI::TeamCity::TestRunner
31
- else
32
- BaseRunner = ::Test::Unit::UI::Console::TestRunner
33
- end
33
+ class Unit < Minitest::Test
34
34
 
35
- class Runner < BaseRunner
35
+ def self.is_macos?
36
+ Wx::PLATFORM == 'WXOSX'
37
+ end
36
38
 
37
- org_start_mtd = instance_method :start
38
- define_method :start do
39
- (app = WxRuby::Test::App.new(self, org_start_mtd)).run
40
- app.result
39
+ def is_macos?
40
+ Unit.is_macos?
41
41
  end
42
42
 
43
- end
43
+ def self.is_msw?
44
+ Wx::PLATFORM == 'WXMSW'
45
+ end
44
46
 
45
- end
47
+ def is_msw?
48
+ Unit.is_msw?
49
+ end
46
50
 
47
- end
51
+ def self.is_gtk?
52
+ Wx::PLATFORM == 'WXGTK'
53
+ end
48
54
 
49
- module Test
50
- module Unit
51
- AutoRunner.register_runner(:wxapp) do |auto_runner|
52
- WxRuby::Test::Runner
53
- end
54
- AutoRunner.default_runner = :wxapp
55
- if defined? ::IntelliJ
56
- class AutoRunner
57
- alias :wx_initialize :initialize
58
- private :wx_initialize
55
+ def is_gtk?
56
+ Unit.is_gtk?
57
+ end
59
58
 
60
- def initialize(*args)
61
- wx_initialize(*args)
62
- @runner = AutoRunner.default_runner
63
- end
59
+ def self.is_qt?
60
+ Wx::PLATFORM == 'WXQT'
64
61
  end
65
- end
66
62
 
67
- class TestCase
63
+ def is_qt?
64
+ Unit.is_qt?
65
+ end
68
66
 
69
67
  def self.is_ci_build?
70
68
  (ENV['GITHUB_ACTION'] || ENV['CI'])
71
69
  end
72
70
 
73
71
  def is_ci_build?
74
- TestCase.is_ci_build?
72
+ Unit.is_ci_build?
73
+ end
74
+
75
+ def self.is_cirrus_ci_build?
76
+ (ENV['CIRRUS_CI'] || ENV['CI'])
77
+ end
78
+
79
+ def is_cirrus_ci_build?
80
+ Unit.is_cirrus_ci_build?
81
+ end
82
+
83
+ def self.uses_wayland?
84
+ Wx.has_feature?('HAVE_WAYLAND_CLIENT')
85
+ end
86
+
87
+ def uses_wayland?
88
+ Unit.uses_wayland?
75
89
  end
76
90
 
77
91
  end
92
+
78
93
  end
94
+
95
+ end
96
+
97
+ module Minitest
98
+
99
+ RUN_ALL_METHOD = VERSION >= '6.0.0' ? :run_all_suites : :__run
100
+
101
+ class << self
102
+ org_run_all_suites_mtd = instance_method RUN_ALL_METHOD
103
+ define_method RUN_ALL_METHOD do |*args, **kwargs|
104
+ (app = WxRuby::Test::App.new(self, org_run_all_suites_mtd, *args, **kwargs)).run
105
+ app.result
106
+ end
107
+ end
108
+
79
109
  end
@@ -36,11 +36,13 @@ module WxRuby
36
36
  @frame.show
37
37
  end
38
38
 
39
- def on_idle(_evt)
40
- done = @tests_have_run
41
- @tests_have_run = true
42
- @result = @start_mtd.bind(@test_runner).call unless done
43
- self.exit_main_loop
39
+ def on_idle(evt)
40
+ unless @tests_have_run
41
+ @tests_have_run = true
42
+ @result = run_all_tests
43
+ self.exit_main_loop
44
+ end
45
+ evt.skip
44
46
  end
45
47
 
46
48
  attr_reader :frame
@@ -70,16 +72,14 @@ module WxRuby
70
72
  end
71
73
  end
72
74
 
73
- class GUITests < ::Test::Unit::TestCase
75
+ class GUITests < Test::Unit
74
76
 
75
- setup
76
- def base_setup
77
- 10.times { Wx.get_app.yield }
77
+ def after_setup
78
+ yield_for_a_while(100)
78
79
  end
79
80
 
80
- cleanup
81
- def base_cleanup
82
- 10.times { Wx.get_app.yield }
81
+ def after_teardown
82
+ yield_for_a_while(100)
83
83
  GC.start
84
84
  end
85
85
 
@@ -172,8 +172,35 @@ module WxRuby
172
172
 
173
173
  end
174
174
 
175
+ def self.yield_for_a_while(msec)
176
+ timeout = msec / 1000.0 # sec float
177
+ start = ::Time.now
178
+ while (Time.now - start) < timeout
179
+ Wx.get_app.yield
180
+ sleep(0.01) if is_msw? # it seems on windows things may suffer from tight loops so give some breathing room
181
+ end
182
+ end
183
+
184
+ def yield_for_a_while(msec)
185
+ GUITests.yield_for_a_while(msec)
186
+ end
187
+
188
+ def self.yield_and_wait_for_test(msec, &block)
189
+ timeout = msec / 1000.0 # sec float
190
+ start = ::Time.now
191
+ while (Time.now - start) < timeout
192
+ Wx.get_app.yield
193
+ return if block.call
194
+ sleep(0.01) if is_msw? # it seems on windows things may suffer from tight loops so give some breathing room
195
+ end
196
+ end
197
+
198
+ def yield_and_wait_for_test(msec, &block)
199
+ GUITests.yield_and_wait_for_test(msec, &block)
200
+ end
201
+
175
202
  def self.has_ui_simulator?
176
- Wx.has_feature?(:USE_UIACTIONSIMULATOR) && (Wx::PLATFORM != 'WXOSX' || Wx::WXWIDGETS_VERSION >= '3.3')
203
+ Wx.has_feature?(:USE_UIACTIONSIMULATOR) && (Wx::PLATFORM != 'WXGTK' || !uses_wayland?) && (Wx::PLATFORM != 'WXOSX' || Wx::WXWIDGETS_VERSION >= '3.3')
177
204
  end
178
205
 
179
206
  def has_ui_simulator?
@@ -0,0 +1,58 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+ require 'minitest'
6
+ require 'minitest/autorun'
7
+
8
+ module Minitest
9
+
10
+ module Assertions
11
+
12
+ alias :assert_block :assert
13
+
14
+ alias :assert_raise :assert_raises
15
+
16
+ def assert_nothing_raised(&block)
17
+ yield
18
+ end
19
+
20
+ def assert_true(test, msg = nil)
21
+ assert(test == true, msg || "Expected #{mu_pp test} to be true.")
22
+ end
23
+
24
+ def assert_false(test, msg = nil)
25
+ assert(test == false, msg || "Expected #{mu_pp test} to be false.")
26
+ end
27
+
28
+ def assert_not_nil(test, msg = nil)
29
+ assert(!test.nil?, msg || "Expected #{mu_pp test} to be not nil.")
30
+ end
31
+
32
+ def assert_all?(enum, msg = nil)
33
+ assert(enum.all? { |e| yield(e) }, msg)
34
+ end
35
+
36
+ def assert_not_empty(obj, msg = nil)
37
+ assert_respond_to obj, :empty?, include_all:true
38
+ assert(!obj.empty?, msg || "Expected #{mu_pp obj} to be not empty.")
39
+ end
40
+
41
+ def assert_not_equal(exp, act, msg = nil)
42
+ assert(!(exp == act), msg || "Expected #{mu_pp act} to be not equal to #{mu_pp exp}.")
43
+ end
44
+
45
+ def assert_not_kind_of(cls, obj, msg = nil)
46
+ msg = message(msg) {
47
+ "Expected #{mu_pp obj} to not be a kind of #{cls}"
48
+ }
49
+ assert !obj.kind_of?(cls), msg
50
+ end
51
+
52
+ def assert_boolean(val, msg = nil)
53
+ assert(val==true || val==false, msg || "Expected #{mu_pp val} to be true or false.")
54
+ end
55
+
56
+ end
57
+
58
+ end
@@ -4,7 +4,7 @@
4
4
 
5
5
  require_relative './lib/wxapp_runner'
6
6
 
7
- class AppEventFilterTests < Test::Unit::TestCase
7
+ class AppEventFilterTests < WxRuby::Test::Unit
8
8
 
9
9
  class TestEvent < Wx::Event
10
10
  EVT_TEST_EVENT = Wx::EvtHandler.register_class(self, nil, 'evt_test_event', 0)
@@ -2,10 +2,10 @@
2
2
  #
3
3
  # This software is released under the MIT license.
4
4
 
5
- require 'test/unit'
5
+ require_relative './lib/wxrb_test'
6
6
  require 'wx'
7
7
 
8
- class TestApp < Test::Unit::TestCase
8
+ class TestApp < Minitest::Test
9
9
 
10
10
  class TestFrame < Wx::Frame
11
11
  def initialize
@@ -30,7 +30,7 @@ class TestApp < Test::Unit::TestCase
30
30
  end
31
31
 
32
32
  def test_self_closing_frame
33
- assert_raise_kind_of(RuntimeError) { TestApp.run }
33
+ assert_raises(RuntimeError) { TestApp.run }
34
34
  end
35
35
 
36
36
  end
@@ -2,10 +2,10 @@
2
2
  #
3
3
  # This software is released under the MIT license.
4
4
 
5
- require 'test/unit'
5
+ require_relative './lib/wxrb_test'
6
6
  require 'wx'
7
7
 
8
- class AppInitExitExceptions < Test::Unit::TestCase
8
+ class AppInitExitExceptions < Minitest::Test
9
9
 
10
10
  class TestApp < Wx::App
11
11
  def on_init
@@ -14,7 +14,7 @@ class AppInitExitExceptions < Test::Unit::TestCase
14
14
  end
15
15
 
16
16
  def test_on_init_exception
17
- assert_raise_kind_of(RuntimeError) { TestApp.run }
17
+ assert_raises(RuntimeError) { TestApp.run }
18
18
  end
19
19
 
20
20
  end
@@ -4,30 +4,33 @@
4
4
 
5
5
  require_relative './lib/wxapp_runner'
6
6
 
7
- class AppTraitsTests < Test::Unit::TestCase
7
+ class AppTraitsTests < WxRuby::Test::Unit
8
8
 
9
9
  def test_traits
10
- traits = Wx.get_app.get_traits
11
- assert_not_nil(traits)
12
- assert_kind_of(Wx::AppTraits, traits)
13
- port_id, ver_major, ver_minor, ver_micro = traits.get_toolkit_version
14
- port = case port_id
15
- when Wx::PortId::PORT_GTK; 'WXGTK'
16
- when Wx::PortId::PORT_MAC; 'WXOSX'
17
- when Wx::PortId::PORT_MSW; 'WXMSW'
18
- else
19
- nil
20
- end
21
- assert_equal(Wx::PLATFORM, port)
22
- assert_true(Wx::PlatformInfo.instance.check_toolkit_version(ver_major, ver_minor, ver_micro))
10
+ 10.times do
11
+ traits = Wx.get_app.get_traits
12
+ assert_not_nil(traits)
13
+ assert_kind_of(Wx::AppTraits, traits)
14
+ port_id, ver_major, ver_minor, ver_micro = traits.get_toolkit_version
15
+ port = case port_id
16
+ when Wx::PortId::PORT_GTK; 'WXGTK'
17
+ when Wx::PortId::PORT_MAC; 'WXOSX'
18
+ when Wx::PortId::PORT_MSW; 'WXMSW'
19
+ else
20
+ nil
21
+ end
22
+ assert_equal(Wx::PLATFORM, port)
23
+ assert_true(Wx::PlatformInfo.instance.check_toolkit_version(ver_major, ver_minor, ver_micro))
23
24
 
24
- std_paths = traits.get_standard_paths
25
- assert_not_nil(std_paths)
26
- assert_kind_of(Wx::StandardPaths, std_paths)
27
- assert_not_empty(std_paths.config_dir)
28
- assert_not_empty(std_paths.data_dir)
29
- assert_not_empty(std_paths.documents_dir)
30
- assert_not_empty(std_paths.app_documents_dir)
25
+ std_paths = traits.get_standard_paths
26
+ assert_not_nil(std_paths)
27
+ assert_kind_of(Wx::StandardPaths, std_paths)
28
+ assert_not_empty(std_paths.config_dir)
29
+ assert_not_empty(std_paths.data_dir)
30
+ assert_not_empty(std_paths.documents_dir)
31
+ assert_not_empty(std_paths.app_documents_dir)
32
+ GC.start
33
+ end
31
34
  end
32
35
 
33
36
  end
data/tests/test_art.rb CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  require_relative './lib/wxapp_runner'
6
6
 
7
- class TestArt < Test::Unit::TestCase
7
+ class TestArt < WxRuby::Test::Unit
8
8
 
9
9
  def test_icons
10
10
  icons = []
@@ -59,16 +59,16 @@ class TestArt < Test::Unit::TestCase
59
59
  assert_instance_of(Wx::Bitmap, bundle.get_bitmap([256,256]))
60
60
  end
61
61
 
62
- if Wx::PLATFORM == 'WXMSW'
62
+ if is_msw?
63
63
 
64
- def test_cursors
65
- cursor = nil
66
- assert_nothing_raised do
67
- cursor = Wx.Cursor(:wxruby)
64
+ def test_cursors
65
+ cursor = nil
66
+ assert_nothing_raised do
67
+ cursor = Wx.Cursor(:wxruby)
68
+ end
69
+ assert_instance_of(Wx::Cursor, cursor)
70
+ assert(cursor.ok?)
68
71
  end
69
- assert_instance_of(Wx::Cursor, cursor)
70
- assert { cursor.ok? }
71
- end
72
72
 
73
73
  end
74
74
 
@@ -107,16 +107,16 @@ class TestArt < Test::Unit::TestCase
107
107
  art = Wx::ArtLocator.find_art(:sample, art_section: 'my_art')
108
108
  end
109
109
  assert_not_nil(art)
110
- assert { File.exist?(art) }
110
+ assert(File.exist?(art))
111
111
  assert_equal('sample', File.basename(art, '.*'))
112
112
  img = Wx::Image.new(art)
113
- assert { img.ok? }
113
+ assert(img.ok?)
114
114
  img = Wx.Image(:sample, art_section: 'my_art')
115
- assert { img.ok? }
115
+ assert(img.ok?)
116
116
  bmp = Wx.Bitmap(:sample, art_section: 'my_art')
117
- assert { bmp.ok? }
117
+ assert(bmp.ok?)
118
118
  icon = Wx.Icon(:sample, art_section: 'my_art')
119
- assert { icon.ok? }
119
+ assert(icon.ok?)
120
120
  end
121
121
 
122
122
  end
@@ -4,7 +4,7 @@
4
4
 
5
5
  require_relative './lib/wxapp_runner'
6
6
 
7
- class TestArtProvider < Test::Unit::TestCase
7
+ class TestArtProvider < WxRuby::Test::Unit
8
8
 
9
9
  class MyArtProvider < Wx::ArtProvider
10
10
 
data/tests/test_basic.rb CHANGED
@@ -2,10 +2,10 @@
2
2
  #
3
3
  # This software is released under the MIT license.
4
4
 
5
- require 'test/unit'
5
+ require_relative './lib/wxrb_test'
6
6
  require 'wx'
7
7
 
8
- class BasicTests < Test::Unit::TestCase
8
+ class BasicTests < Minitest::Test
9
9
 
10
10
  def test_versions
11
11
  assert_equal(Wx::WXRUBY_VERSION, "#{Wx::WXRUBY_MAJOR}.#{Wx::WXRUBY_MINOR}.#{Wx::WXRUBY_RELEASE}#{Wx::WXRUBY_RELEASE_TYPE.empty? ? '' : '-'+Wx::WXRUBY_RELEASE_TYPE}")
@@ -11,7 +11,7 @@ class BookCtrlTests < WxRuby::Test::GUITests
11
11
  @book = Wx::Choicebook.new(frame_win, name: 'ChoiceBook')
12
12
  end
13
13
 
14
- def cleanup
14
+ def teardown
15
15
  @book.destroy
16
16
  super
17
17
  GC.start
@@ -14,7 +14,7 @@ class BoxSizerTests < WxRuby::Test::GUITests
14
14
  @win.sizer = @sizer
15
15
  end
16
16
 
17
- def cleanup
17
+ def teardown
18
18
  frame_win.destroy_children
19
19
  @win = nil
20
20
  @sizer = nil
@@ -4,7 +4,7 @@
4
4
 
5
5
  require_relative './lib/wxapp_runner'
6
6
 
7
- class TestTextData < Test::Unit::TestCase
7
+ class TestTextData < WxRuby::Test::Unit
8
8
  # Using an in-built class
9
9
  def test_text_data
10
10
  td = Wx::TextDataObject.new('WXRUBY')
@@ -38,7 +38,7 @@ class TestTextData < Test::Unit::TestCase
38
38
  end
39
39
 
40
40
  if Wx.has_feature?(:USE_HTML) && Wx::WXWIDGETS_VERSION >= '3.3'
41
- class TestHtmlData < Test::Unit::TestCase
41
+ class TestHtmlData < WxRuby::Test::Unit
42
42
  # Using an in-built class
43
43
  def test_text_data
44
44
  td = Wx::HTMLDataObject.new('<html><body><h1>Header</h1></body></html>')
@@ -73,7 +73,7 @@ if Wx.has_feature?(:USE_HTML) && Wx::WXWIDGETS_VERSION >= '3.3'
73
73
  end
74
74
  end
75
75
 
76
- class TestBitmapData < Test::Unit::TestCase
76
+ class TestBitmapData < WxRuby::Test::Unit
77
77
  def test_bitmap_data
78
78
  bmp = Wx::Bitmap.new(File.join(__dir__, '../samples/minimal/mondrian.png'))
79
79
  height = bmp.height
@@ -103,7 +103,7 @@ class TestBitmapData < Test::Unit::TestCase
103
103
  end
104
104
  end
105
105
 
106
- class TestDataObjectComposite < Test::Unit::TestCase
106
+ class TestDataObjectComposite < WxRuby::Test::Unit
107
107
  MY_INT_ARRAY_FORMAT = Wx::DataFormat.new('application/int_array_format')
108
108
 
109
109
  class MySimpleIntArrayObject < Wx::DataObjectSimpleBase
@@ -142,7 +142,7 @@ class TestDataObjectComposite < Test::Unit::TestCase
142
142
  bmp = Wx::Bitmap.new(File.join(__dir__, '../samples/minimal/mondrian.png'))
143
143
 
144
144
  d_obj.add( Wx::BitmapDataObject.new )
145
- if Wx::PLATFORM == 'WXMSW'
145
+ if is_msw?
146
146
  assert_equal( 1, d_txt.get_format_count(Wx::DataObject::Direction::Get) )
147
147
  assert_equal( 2, d_obj.get_format_count(Wx::DataObject::Direction::Get) )
148
148
  else
@@ -170,7 +170,7 @@ class TestDataObjectComposite < Test::Unit::TestCase
170
170
 
171
171
  GC.start
172
172
 
173
- if Wx::PLATFORM == 'WXMSW'
173
+ if is_msw?
174
174
  assert_equal d_obj.received_format.get_type, Wx::DF_DIB.get_type
175
175
  d_bmp = d_obj.get_object(Wx::DF_DIB)
176
176
  else
@@ -206,7 +206,7 @@ class TestDataObjectComposite < Test::Unit::TestCase
206
206
  GC.start
207
207
 
208
208
  assert_equal d_obj_2.received_format.get_type, d_txt.get_preferred_format(Wx::DataObject::Direction::Set).get_type
209
- if Wx::PLATFORM == 'WXMSW'
209
+ if is_msw?
210
210
  d_txt = d_obj_2.get_object(Wx::DF_UNICODETEXT)
211
211
  else
212
212
  d_txt = d_obj_2.get_object(Wx::DF_TEXT)
@@ -218,7 +218,7 @@ class TestDataObjectComposite < Test::Unit::TestCase
218
218
  d_obj_2 = Wx::DataObjectComposite.new
219
219
  d_obj_2.add Wx::TextDataObject.new
220
220
  d_obj_2.add MySimpleIntArrayObject.new([1,2,3,4,5])
221
- if Wx::PLATFORM == 'WXMSW'
221
+ if is_msw?
222
222
  assert_equal( 2, d_obj_2.get_format_count(Wx::DataObject::Direction::Get) )
223
223
  else
224
224
  assert_equal( 3, d_obj_2.get_format_count(Wx::DataObject::Direction::Get) )
@@ -241,7 +241,7 @@ class TestDataObjectComposite < Test::Unit::TestCase
241
241
  end
242
242
  end
243
243
 
244
- class TestDataObject < Test::Unit::TestCase
244
+ class TestDataObject < WxRuby::Test::Unit
245
245
  MY_CUSTOM_FORMAT = Wx::DataFormat.new('text/custom_format')
246
246
  MY_CUSTOM_TEXT = Wx::DataFormat.new('text/custom_text')
247
247