wxruby3 0.9.0.pre.rc.2 → 0.9.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 (705) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +30 -8
  3. data/README.md +3 -3
  4. data/ext/mkrf_conf_srcgem.rb +4 -1
  5. data/ext/wxruby3/include/wxruby-Config.h +953 -0
  6. data/ext/wxruby3/include/wxruby-ScaledDC.h +4 -1
  7. data/ext/wxruby3/include/wxruby-runtime.h +10 -1
  8. data/ext/wxruby3/swig/RubyStockObjects.i +5 -3
  9. data/ext/wxruby3/swig/common.i +8 -3
  10. data/ext/wxruby3/swig/mark_free_impl.i +6 -4
  11. data/ext/wxruby3/swig/memory_management.i +5 -3
  12. data/ext/wxruby3/swig/typedefs.i +5 -3
  13. data/ext/wxruby3/swig/wx.i +7 -0
  14. data/ext/wxruby3/swig/wx.rc +4 -2
  15. data/lib/wx/accessors.rb +10 -2
  16. data/lib/wx/aui/auifloatframe.rb +20 -0
  17. data/lib/wx/aui/auimanager.rb +3 -0
  18. data/lib/wx/aui/auinotebook.rb +17 -0
  19. data/lib/wx/aui/require.rb +5 -1
  20. data/lib/wx/aui.rb +4 -1
  21. data/lib/wx/core/acceleratortable.rb +8 -0
  22. data/lib/wx/core/animation.rb +8 -0
  23. data/lib/wx/core/app.rb +8 -0
  24. data/lib/wx/core/array_ext.rb +7 -0
  25. data/lib/wx/core/art_locator.rb +7 -0
  26. data/lib/wx/core/artprovider.rb +9 -0
  27. data/lib/wx/core/bitmap.rb +16 -4
  28. data/lib/wx/core/bitmap_combobox.rb +7 -0
  29. data/lib/wx/core/brush.rb +7 -0
  30. data/lib/wx/core/busycursor.rb +9 -0
  31. data/lib/wx/core/choice.rb +7 -0
  32. data/lib/wx/core/choicedlg.rb +7 -0
  33. data/lib/wx/core/clientdc.rb +9 -0
  34. data/lib/wx/core/clipboard.rb +8 -0
  35. data/lib/wx/core/collapsible_pane.rb +8 -1
  36. data/lib/wx/core/colour.rb +8 -0
  37. data/lib/wx/core/combo_ctrl.rb +110 -0
  38. data/lib/wx/core/combobox.rb +7 -0
  39. data/lib/wx/core/config.rb +303 -0
  40. data/lib/wx/core/controlwithitems.rb +12 -1
  41. data/lib/wx/core/cursor.rb +14 -4
  42. data/lib/wx/core/data_object.rb +7 -0
  43. data/lib/wx/core/dataformat.rb +9 -0
  44. data/lib/wx/core/datetime.rb +14 -0
  45. data/lib/wx/core/dc.rb +7 -0
  46. data/lib/wx/core/dialog.rb +18 -1
  47. data/lib/wx/core/enum.rb +7 -0
  48. data/lib/wx/core/event.rb +7 -0
  49. data/lib/wx/core/event_blocker.rb +7 -0
  50. data/lib/wx/core/event_loop.rb +14 -0
  51. data/lib/wx/core/evthandler.rb +8 -0
  52. data/lib/wx/core/ext.rb +7 -0
  53. data/lib/wx/core/file_dialog.rb +23 -0
  54. data/lib/wx/core/find_replace_dialog.rb +7 -0
  55. data/lib/wx/core/functions.rb +8 -0
  56. data/lib/wx/core/gauge.rb +10 -1
  57. data/lib/wx/core/genericdirctrl.rb +9 -0
  58. data/lib/wx/core/hboxsizer.rb +16 -0
  59. data/lib/wx/core/helpcontroller.rb +8 -0
  60. data/lib/wx/core/helpcontrollerhelpprovider.rb +9 -0
  61. data/lib/wx/core/helpprovider.rb +10 -1
  62. data/lib/wx/core/icon.rb +17 -6
  63. data/lib/wx/core/id_helper.rb +7 -0
  64. data/lib/wx/core/image.rb +49 -4
  65. data/lib/wx/core/imagelist.rb +8 -1
  66. data/lib/wx/core/listbox.rb +7 -0
  67. data/lib/wx/core/listctrl.rb +26 -13
  68. data/lib/wx/core/locale.rb +8 -0
  69. data/lib/wx/core/log.rb +114 -0
  70. data/lib/wx/core/menu.rb +9 -0
  71. data/lib/wx/core/menu_bar.rb +7 -0
  72. data/lib/wx/core/menuitem.rb +9 -0
  73. data/lib/wx/core/notebook.rb +9 -0
  74. data/lib/wx/core/object.rb +9 -0
  75. data/lib/wx/core/paintdc.rb +7 -0
  76. data/lib/wx/core/pen.rb +7 -0
  77. data/lib/wx/core/pen_info.rb +7 -0
  78. data/lib/wx/core/platform_info.rb +7 -0
  79. data/lib/wx/core/point.rb +8 -0
  80. data/lib/wx/core/real_point.rb +8 -0
  81. data/lib/wx/core/rect.rb +9 -0
  82. data/lib/wx/core/region_iterator.rb +7 -0
  83. data/lib/wx/core/simplehelpprovider.rb +9 -0
  84. data/lib/wx/core/size.rb +8 -0
  85. data/lib/wx/core/sizer.rb +9 -0
  86. data/lib/wx/core/splash_screen.rb +22 -2
  87. data/lib/wx/core/text_entry.rb +7 -0
  88. data/lib/wx/core/textctrl.rb +86 -5
  89. data/lib/wx/core/timer.rb +9 -0
  90. data/lib/wx/core/toolbar.rb +9 -0
  91. data/lib/wx/core/toolbartool.rb +8 -0
  92. data/lib/wx/core/treectrl.rb +9 -0
  93. data/lib/wx/core/v_list_box.rb +7 -0
  94. data/lib/wx/core/validator.rb +7 -0
  95. data/lib/wx/core/variant.rb +7 -0
  96. data/lib/wx/core/vboxsizer.rb +16 -0
  97. data/lib/wx/core/window.rb +8 -0
  98. data/lib/wx/core/window_update_locker.rb +9 -0
  99. data/lib/wx/core/xmlresource.rb +8 -0
  100. data/lib/wx/core.rb +4 -1
  101. data/lib/wx/doc/app.rb +7 -1
  102. data/lib/wx/doc/array_ext.rb +6 -0
  103. data/lib/wx/doc/art_locator.rb +7 -0
  104. data/lib/wx/doc/aui/auimanager.rb +6 -0
  105. data/lib/wx/doc/aui/auinotebook.rb +6 -0
  106. data/lib/wx/doc/bitmap.rb +19 -15
  107. data/lib/wx/doc/brush.rb +6 -0
  108. data/lib/wx/doc/busy_info.rb +6 -0
  109. data/lib/wx/doc/client_dc.rb +6 -0
  110. data/lib/wx/doc/clipboard.rb +6 -0
  111. data/lib/wx/doc/colour_dialog.rb +6 -0
  112. data/lib/wx/doc/config.rb +190 -0
  113. data/lib/wx/doc/const.rb +7 -0
  114. data/lib/wx/doc/controlwithitems.rb +6 -0
  115. data/lib/wx/doc/core.rb +6 -0
  116. data/lib/wx/doc/cursor.rb +13 -5
  117. data/lib/wx/doc/data_object.rb +6 -0
  118. data/lib/wx/doc/datetime.rb +16 -0
  119. data/lib/wx/doc/dc.rb +6 -0
  120. data/lib/wx/doc/enum.rb +8 -1
  121. data/lib/wx/doc/event.rb +12 -0
  122. data/lib/wx/doc/event_blocker.rb +6 -0
  123. data/lib/wx/doc/event_loop.rb +13 -0
  124. data/lib/wx/doc/events.rb +6 -0
  125. data/lib/wx/doc/evthandler.rb +8 -0
  126. data/lib/wx/doc/extra/00_starting.md +6 -6
  127. data/lib/wx/doc/extra/01_packages.md +52 -51
  128. data/lib/wx/doc/extra/02_lifecycles.md +9 -8
  129. data/lib/wx/doc/extra/05_event-handling.md +37 -12
  130. data/lib/wx/doc/extra/06_geometry.md +5 -5
  131. data/lib/wx/doc/extra/07_colour_and_font.md +2 -2
  132. data/lib/wx/doc/extra/09_exceptions.md +2 -2
  133. data/lib/wx/doc/extra/10_art.md +18 -12
  134. data/lib/wx/doc/extra/11_drawing_and_dc.md +8 -8
  135. data/lib/wx/doc/font.rb +7 -1
  136. data/lib/wx/doc/font_data.rb +16 -0
  137. data/lib/wx/doc/functions.rb +60 -24
  138. data/lib/wx/doc/gc_dc.rb +7 -1
  139. data/lib/wx/doc/gdi_common.rb +8 -1
  140. data/lib/wx/doc/graphics_context.rb +59 -39
  141. data/lib/wx/doc/grid/grid.rb +16 -1
  142. data/lib/wx/doc/hboxsizer.rb +33 -0
  143. data/lib/wx/doc/help_controller.rb +6 -0
  144. data/lib/wx/doc/html/html_help_controller.rb +6 -0
  145. data/lib/wx/doc/icon.rb +13 -5
  146. data/lib/wx/doc/id_helper.rb +6 -0
  147. data/lib/wx/doc/image.rb +50 -12
  148. data/lib/wx/doc/list_ctrl.rb +38 -0
  149. data/lib/wx/doc/log.rb +45 -0
  150. data/lib/wx/doc/memory_dc.rb +6 -0
  151. data/lib/wx/doc/mirror_dc.rb +6 -0
  152. data/lib/wx/doc/pen.rb +6 -0
  153. data/lib/wx/doc/pg/events.rb +6 -0
  154. data/lib/wx/doc/pg/pg_property.rb +17 -0
  155. data/lib/wx/doc/pg/pgeditor.rb +6 -0
  156. data/lib/wx/doc/pg/property_grid.rb +6 -0
  157. data/lib/wx/doc/pg/property_grid_interface.rb +6 -0
  158. data/lib/wx/doc/progress_dialog.rb +6 -0
  159. data/lib/wx/doc/prt/page_setup_dialog.rb +6 -0
  160. data/lib/wx/doc/prt/print_data.rb +6 -0
  161. data/lib/wx/doc/prt/print_dialog.rb +6 -0
  162. data/lib/wx/doc/prt/printer.rb +6 -0
  163. data/lib/wx/doc/prt/printer_dc.rb +8 -2
  164. data/lib/wx/doc/radio_box.rb +6 -0
  165. data/lib/wx/doc/rbn/ribbon_bar.rb +6 -0
  166. data/lib/wx/doc/rbn/ribbon_button_bar.rb +6 -0
  167. data/lib/wx/doc/rbn/ribbon_gallery.rb +6 -0
  168. data/lib/wx/doc/rbn/ribbon_tool_bar.rb +6 -0
  169. data/lib/wx/doc/region_iterator.rb +6 -0
  170. data/lib/wx/doc/rtc/richtext_buffer.rb +28 -0
  171. data/lib/wx/doc/rtc/richtext_formatting_dialog.rb +68 -0
  172. data/lib/wx/doc/rtc/richtext_printing.rb +6 -0
  173. data/lib/wx/doc/rtc/richtext_style_sheet.rb +20 -0
  174. data/lib/wx/doc/scaled_dc.rb +7 -1
  175. data/lib/wx/doc/screen_dc.rb +6 -0
  176. data/lib/wx/doc/stock_objects.rb +6 -0
  177. data/lib/wx/doc/stream.rb +6 -0
  178. data/lib/wx/doc/svg_file_dc.rb +6 -0
  179. data/lib/wx/doc/system_settings.rb +6 -0
  180. data/lib/wx/doc/text_validator.rb +18 -0
  181. data/lib/wx/doc/textctrl.rb +89 -0
  182. data/lib/wx/doc/tree_event.rb +20 -0
  183. data/lib/wx/doc/treebook.rb +6 -0
  184. data/lib/wx/doc/v_list_box.rb +6 -0
  185. data/lib/wx/doc/variant.rb +6 -0
  186. data/lib/wx/doc/vboxsizer.rb +33 -0
  187. data/lib/wx/doc/window.rb +6 -0
  188. data/lib/wx/doc/window_disabler.rb +6 -0
  189. data/lib/wx/doc/xml_resource.rb +8 -0
  190. data/lib/wx/global_const.rb +4 -1
  191. data/lib/wx/grid/grid.rb +23 -3
  192. data/lib/wx/grid/keyword_defs.rb +8 -1
  193. data/lib/wx/grid/require.rb +4 -1
  194. data/lib/wx/grid.rb +4 -1
  195. data/lib/wx/helpers.rb +8 -1
  196. data/lib/wx/html/htmlhelpcontroller.rb +29 -3
  197. data/lib/wx/html/htmlwindow.rb +23 -12
  198. data/lib/wx/html/keyword_defs.rb +8 -1
  199. data/lib/wx/html/require.rb +4 -1
  200. data/lib/wx/html/simple_html_listbox.rb +3 -0
  201. data/lib/wx/html.rb +4 -1
  202. data/lib/wx/keyword_ctors.rb +22 -3
  203. data/lib/wx/keyword_defs.rb +55 -3
  204. data/lib/wx/pg/events.rb +4 -1
  205. data/lib/wx/pg/keyword_defs.rb +8 -1
  206. data/lib/wx/pg/pg_editor.rb +3 -0
  207. data/lib/wx/pg/pg_properties.rb +4 -1
  208. data/lib/wx/pg/pg_property.rb +18 -5
  209. data/lib/wx/pg/property_grid.rb +4 -1
  210. data/lib/wx/pg/property_grid_interface.rb +3 -0
  211. data/lib/wx/pg/require.rb +4 -1
  212. data/lib/wx/pg.rb +4 -1
  213. data/lib/wx/prt/keyword_defs.rb +8 -1
  214. data/lib/wx/prt/page_setup_dialog.rb +3 -0
  215. data/lib/wx/prt/previewframe.rb +5 -0
  216. data/lib/wx/prt/require.rb +4 -1
  217. data/lib/wx/prt.rb +4 -1
  218. data/lib/wx/rbn/events.rb +4 -1
  219. data/lib/wx/rbn/keyword_defs.rb +8 -1
  220. data/lib/wx/rbn/require.rb +5 -1
  221. data/lib/wx/rbn/ribbon_art_provider.rb +3 -1
  222. data/lib/wx/rbn/ribbon_bar.rb +3 -0
  223. data/lib/wx/rbn/ribbon_button_bar.rb +3 -0
  224. data/lib/wx/rbn/ribbon_control.rb +3 -0
  225. data/lib/wx/rbn/ribbon_gallery.rb +10 -0
  226. data/lib/wx/rbn/ribbon_page.rb +3 -0
  227. data/lib/wx/rbn/ribbon_panel.rb +3 -0
  228. data/lib/wx/rbn/ribbon_tool_bar.rb +3 -0
  229. data/lib/wx/rbn.rb +4 -1
  230. data/lib/wx/rtc/ext.rb +4 -1
  231. data/lib/wx/rtc/keyword_defs.rb +18 -7
  232. data/lib/wx/rtc/require.rb +8 -1
  233. data/lib/wx/rtc/richtext_buffer.rb +36 -0
  234. data/lib/wx/rtc/richtext_formatting_dialog.rb +88 -0
  235. data/lib/wx/rtc/richtext_style_organiser_dialog.rb +46 -0
  236. data/lib/wx/rtc/symbol_picker_dialog.rb +47 -0
  237. data/lib/wx/rtc.rb +5 -1
  238. data/lib/wx/stc/keyword_defs.rb +8 -1
  239. data/lib/wx/stc/require.rb +4 -1
  240. data/lib/wx/stc.rb +4 -1
  241. data/lib/wx/version.rb +5 -1
  242. data/lib/wx/wxruby/base.rb +4 -1
  243. data/lib/wx/wxruby/cmd/sampler.rb +4 -1
  244. data/lib/wx/wxruby/cmd/test.rb +4 -1
  245. data/lib/wx.rb +4 -1
  246. data/rakelib/build.rake +4 -1
  247. data/rakelib/build.rb +4 -1
  248. data/rakelib/config.rake +4 -1
  249. data/rakelib/configure.rb +4 -1
  250. data/rakelib/doc.rake +4 -1
  251. data/rakelib/doc.rb +5 -1
  252. data/rakelib/install.rake +4 -1
  253. data/rakelib/install.rb +4 -1
  254. data/rakelib/lib/config/cygwin.rb +4 -1
  255. data/rakelib/lib/config/linux.rb +4 -1
  256. data/rakelib/lib/config/macosx.rb +5 -2
  257. data/rakelib/lib/config/mingw.rb +4 -1
  258. data/rakelib/lib/config/netbsd.rb +4 -1
  259. data/rakelib/lib/config/unixish.rb +10 -7
  260. data/rakelib/lib/config.rb +7 -2
  261. data/rakelib/lib/core/include/enum.inc +4 -1
  262. data/rakelib/lib/core/include/funcall.inc +10 -64
  263. data/rakelib/lib/core/include/init.inc +3 -0
  264. data/rakelib/lib/core/mapping.rb +40 -55
  265. data/rakelib/lib/core/package.rb +20 -3
  266. data/rakelib/lib/core/parameter.rb +4 -1
  267. data/rakelib/lib/core/spec.rb +35 -18
  268. data/rakelib/lib/core/spec_helper.rb +38 -9
  269. data/rakelib/lib/director/about_dialog_info.rb +4 -1
  270. data/rakelib/lib/director/accelerator.rb +7 -2
  271. data/rakelib/lib/director/animation.rb +4 -1
  272. data/rakelib/lib/director/animation_ctrl.rb +4 -1
  273. data/rakelib/lib/director/any_button.rb +5 -2
  274. data/rakelib/lib/director/app.rb +16 -2
  275. data/rakelib/lib/director/app_traits.rb +71 -0
  276. data/rakelib/lib/director/art_provider.rb +4 -1
  277. data/rakelib/lib/director/aui_dock_art.rb +4 -1
  278. data/rakelib/lib/director/aui_floating_frame.rb +4 -1
  279. data/rakelib/lib/director/aui_manager.rb +12 -5
  280. data/rakelib/lib/director/aui_manager_event.rb +4 -1
  281. data/rakelib/lib/director/aui_mdi_child_frame.rb +25 -1
  282. data/rakelib/lib/director/aui_mdi_client_window.rb +4 -1
  283. data/rakelib/lib/director/aui_mdi_parent_frame.rb +4 -1
  284. data/rakelib/lib/director/aui_notebook.rb +12 -1
  285. data/rakelib/lib/director/aui_notebook_event.rb +4 -1
  286. data/rakelib/lib/director/aui_pane_info.rb +4 -1
  287. data/rakelib/lib/director/aui_tab_art.rb +52 -1
  288. data/rakelib/lib/director/aui_tab_ctrl.rb +14 -1
  289. data/rakelib/lib/director/aui_toolbar.rb +6 -3
  290. data/rakelib/lib/director/aui_toolbar_art.rb +52 -1
  291. data/rakelib/lib/director/aui_toolbar_event.rb +4 -1
  292. data/rakelib/lib/director/aui_toolbar_item.rb +4 -1
  293. data/rakelib/lib/director/banner_window.rb +26 -0
  294. data/rakelib/lib/director/bitmap.rb +11 -2
  295. data/rakelib/lib/director/bitmap_combobox.rb +5 -1
  296. data/rakelib/lib/director/book_ctrls.rb +13 -3
  297. data/rakelib/lib/director/brush.rb +4 -1
  298. data/rakelib/lib/director/busy_info.rb +4 -1
  299. data/rakelib/lib/director/button.rb +4 -1
  300. data/rakelib/lib/director/calendar_ctrl.rb +4 -1
  301. data/rakelib/lib/director/calendar_date_attr.rb +4 -1
  302. data/rakelib/lib/director/caret.rb +4 -1
  303. data/rakelib/lib/director/check_listbox.rb +4 -1
  304. data/rakelib/lib/director/choice.rb +4 -1
  305. data/rakelib/lib/director/clipboard.rb +4 -1
  306. data/rakelib/lib/director/collapsible_pane.rb +4 -1
  307. data/rakelib/lib/director/collapsible_pane_event.rb +4 -1
  308. data/rakelib/lib/director/colour.rb +9 -1
  309. data/rakelib/lib/director/colour_picker_ctrl.rb +4 -1
  310. data/rakelib/lib/director/combobox.rb +4 -1
  311. data/rakelib/lib/director/comboctrl.rb +94 -0
  312. data/rakelib/lib/director/config_base.rb +135 -0
  313. data/rakelib/lib/director/context_help_button.rb +4 -1
  314. data/rakelib/lib/director/control.rb +4 -1
  315. data/rakelib/lib/director/ctrl_with_items.rb +5 -1
  316. data/rakelib/lib/director/cursor.rb +6 -2
  317. data/rakelib/lib/director/data_format.rb +4 -1
  318. data/rakelib/lib/director/data_object.rb +4 -1
  319. data/rakelib/lib/director/data_object_simple_base.rb +4 -1
  320. data/rakelib/lib/director/date_event.rb +9 -2
  321. data/rakelib/lib/director/date_picker_ctrl.rb +4 -1
  322. data/rakelib/lib/director/dc.rb +19 -1
  323. data/rakelib/lib/director/defs.rb +4 -1
  324. data/rakelib/lib/director/derived_dc.rb +27 -20
  325. data/rakelib/lib/director/dialog.rb +49 -3
  326. data/rakelib/lib/director/dir_filterlist_ctrl.rb +4 -1
  327. data/rakelib/lib/director/dir_picker_ctrl.rb +4 -1
  328. data/rakelib/lib/director/drag_image.rb +9 -2
  329. data/rakelib/lib/director/dragdrop.rb +4 -1
  330. data/rakelib/lib/director/editable_listbox.rb +4 -1
  331. data/rakelib/lib/director/event.rb +11 -3
  332. data/rakelib/lib/director/event_blocker.rb +4 -1
  333. data/rakelib/lib/director/event_filter.rb +4 -1
  334. data/rakelib/lib/director/event_handler.rb +28 -11
  335. data/rakelib/lib/director/event_loop.rb +29 -0
  336. data/rakelib/lib/director/events.rb +5 -2
  337. data/rakelib/lib/director/file_dialog_custom_control.rb +28 -0
  338. data/rakelib/lib/director/file_dialog_customize_hook.rb +28 -0
  339. data/rakelib/lib/director/file_picker_ctrl.rb +4 -1
  340. data/rakelib/lib/director/file_system.rb +45 -0
  341. data/rakelib/lib/director/find_dialog_event.rb +4 -1
  342. data/rakelib/lib/director/find_replace_data.rb +4 -1
  343. data/rakelib/lib/director/font.rb +7 -3
  344. data/rakelib/lib/director/font_data.rb +9 -1
  345. data/rakelib/lib/director/font_picker_ctrl.rb +4 -1
  346. data/rakelib/lib/director/frame.rb +45 -33
  347. data/rakelib/lib/director/fs_file.rb +52 -1
  348. data/rakelib/lib/director/functions.rb +51 -49
  349. data/rakelib/lib/director/gdi_object.rb +4 -1
  350. data/rakelib/lib/director/gdicommon.rb +14 -9
  351. data/rakelib/lib/director/generic_dirctrl.rb +4 -1
  352. data/rakelib/lib/director/graphics_context.rb +113 -18
  353. data/rakelib/lib/director/graphics_object.rb +13 -2
  354. data/rakelib/lib/director/grid_cell_attr.rb +28 -4
  355. data/rakelib/lib/director/grid_cell_editor.rb +22 -5
  356. data/rakelib/lib/director/grid_cell_renderer.rb +16 -3
  357. data/rakelib/lib/director/grid_ctrl.rb +146 -5
  358. data/rakelib/lib/director/grid_range_select_event.rb +4 -1
  359. data/rakelib/lib/director/grid_table_base.rb +6 -1
  360. data/rakelib/lib/director/grid_table_message.rb +4 -1
  361. data/rakelib/lib/director/header_ctrl.rb +37 -0
  362. data/rakelib/lib/director/help_controller.rb +13 -6
  363. data/rakelib/lib/director/help_provider.rb +4 -1
  364. data/rakelib/lib/director/html_cell.rb +10 -3
  365. data/rakelib/lib/director/html_data_object.rb +4 -1
  366. data/rakelib/lib/director/html_easy_printing.rb +4 -1
  367. data/rakelib/lib/director/html_event.rb +4 -1
  368. data/rakelib/lib/director/html_help_data.rb +4 -1
  369. data/rakelib/lib/director/html_help_window.rb +30 -0
  370. data/rakelib/lib/director/html_listbox.rb +4 -1
  371. data/rakelib/lib/director/html_printout.rb +6 -1
  372. data/rakelib/lib/director/html_window.rb +10 -8
  373. data/rakelib/lib/director/hyperlink_ctrl.rb +32 -0
  374. data/rakelib/lib/director/hyperlink_event.rb +4 -1
  375. data/rakelib/lib/director/icon.rb +4 -1
  376. data/rakelib/lib/director/image.rb +58 -3
  377. data/rakelib/lib/director/image_list.rb +5 -1
  378. data/rakelib/lib/director/info_bar.rb +26 -0
  379. data/rakelib/lib/director/list_ctrl.rb +42 -9
  380. data/rakelib/lib/director/listbox.rb +4 -1
  381. data/rakelib/lib/director/locale.rb +7 -4
  382. data/rakelib/lib/director/log.rb +111 -6
  383. data/rakelib/lib/director/mdi_frame.rb +4 -1
  384. data/rakelib/lib/director/media_ctrl.rb +4 -1
  385. data/rakelib/lib/director/menu.rb +16 -3
  386. data/rakelib/lib/director/menu_bar.rb +13 -2
  387. data/rakelib/lib/director/menu_item.rb +6 -6
  388. data/rakelib/lib/director/mouse_state.rb +5 -2
  389. data/rakelib/lib/director/numeric_property_validator.rb +4 -1
  390. data/rakelib/lib/director/object.rb +5 -2
  391. data/rakelib/lib/director/page_setup_dialog.rb +4 -1
  392. data/rakelib/lib/director/palette.rb +54 -2
  393. data/rakelib/lib/director/panel.rb +4 -1
  394. data/rakelib/lib/director/pen.rb +5 -2
  395. data/rakelib/lib/director/pgarray_editor_dialog.rb +4 -1
  396. data/rakelib/lib/director/pgcell.rb +4 -1
  397. data/rakelib/lib/director/pgeditor.rb +4 -1
  398. data/rakelib/lib/director/pgmulti_button.rb +4 -1
  399. data/rakelib/lib/director/pgproperties.rb +4 -1
  400. data/rakelib/lib/director/pgproperty.rb +42 -3
  401. data/rakelib/lib/director/pgvalidation_info.rb +9 -1
  402. data/rakelib/lib/director/pickerbase.rb +4 -1
  403. data/rakelib/lib/director/platform_info.rb +9 -1
  404. data/rakelib/lib/director/popup_window.rb +14 -1
  405. data/rakelib/lib/director/preview_frame.rb +5 -2
  406. data/rakelib/lib/director/print_data.rb +4 -1
  407. data/rakelib/lib/director/print_dialog.rb +4 -1
  408. data/rakelib/lib/director/printer.rb +14 -6
  409. data/rakelib/lib/director/property_grid.rb +30 -1
  410. data/rakelib/lib/director/property_grid_event.rb +11 -1
  411. data/rakelib/lib/director/property_grid_interface.rb +20 -6
  412. data/rakelib/lib/director/property_grid_manager.rb +4 -1
  413. data/rakelib/lib/director/property_grid_page.rb +4 -1
  414. data/rakelib/lib/director/property_grid_page_state.rb +4 -1
  415. data/rakelib/lib/director/radio_box.rb +4 -1
  416. data/rakelib/lib/director/rearrange_list.rb +36 -0
  417. data/rakelib/lib/director/region.rb +5 -1
  418. data/rakelib/lib/director/region_iterator.rb +4 -1
  419. data/rakelib/lib/director/ribbon_art_provider.rb +9 -1
  420. data/rakelib/lib/director/ribbon_bar.rb +4 -1
  421. data/rakelib/lib/director/ribbon_bar_event.rb +4 -1
  422. data/rakelib/lib/director/ribbon_button_bar.rb +4 -1
  423. data/rakelib/lib/director/ribbon_button_bar_event.rb +4 -1
  424. data/rakelib/lib/director/ribbon_ctrl.rb +4 -1
  425. data/rakelib/lib/director/ribbon_gallery.rb +8 -3
  426. data/rakelib/lib/director/ribbon_gallery_event.rb +4 -1
  427. data/rakelib/lib/director/ribbon_page.rb +4 -1
  428. data/rakelib/lib/director/ribbon_panel.rb +4 -1
  429. data/rakelib/lib/director/ribbon_panel_event.rb +4 -1
  430. data/rakelib/lib/director/ribbon_tool_bar.rb +4 -1
  431. data/rakelib/lib/director/ribbon_tool_bar_event.rb +4 -1
  432. data/rakelib/lib/director/richtext_box.rb +61 -0
  433. data/rakelib/lib/director/richtext_buffer.rb +219 -22
  434. data/rakelib/lib/director/richtext_buffer_data_object.rb +4 -1
  435. data/rakelib/lib/director/richtext_composite_object.rb +174 -0
  436. data/rakelib/lib/director/richtext_ctrl.rb +157 -4
  437. data/rakelib/lib/director/richtext_event.rb +4 -1
  438. data/rakelib/lib/director/richtext_file_handler.rb +13 -1
  439. data/rakelib/lib/director/richtext_formatting_dialog.rb +44 -0
  440. data/rakelib/lib/director/richtext_header_footer_data.rb +4 -1
  441. data/rakelib/lib/director/richtext_image.rb +56 -0
  442. data/rakelib/lib/director/richtext_object.rb +272 -0
  443. data/rakelib/lib/director/richtext_paragraph_layout_box.rb +178 -0
  444. data/rakelib/lib/director/richtext_printing.rb +4 -1
  445. data/rakelib/lib/director/richtext_style_listbox.rb +37 -0
  446. data/rakelib/lib/director/richtext_style_organiser_dialog.rb +28 -0
  447. data/rakelib/lib/director/sash_layout_event.rb +4 -1
  448. data/rakelib/lib/director/sash_layout_window.rb +4 -1
  449. data/rakelib/lib/director/sash_window.rb +4 -1
  450. data/rakelib/lib/director/scroll_bar.rb +4 -1
  451. data/rakelib/lib/director/scrolled_t.rb +7 -4
  452. data/rakelib/lib/director/searchctrl.rb +4 -1
  453. data/rakelib/lib/director/sizer.rb +4 -1
  454. data/rakelib/lib/director/sizer_item.rb +9 -3
  455. data/rakelib/lib/director/slider.rb +4 -1
  456. data/rakelib/lib/director/splash_screen.rb +4 -1
  457. data/rakelib/lib/director/splitter_event.rb +4 -1
  458. data/rakelib/lib/director/splitter_window.rb +4 -1
  459. data/rakelib/lib/director/static_bitmap.rb +4 -1
  460. data/rakelib/lib/director/static_box.rb +5 -2
  461. data/rakelib/lib/director/status_bar.rb +5 -1
  462. data/rakelib/lib/director/styled_text_ctrl.rb +14 -2
  463. data/rakelib/lib/director/styled_text_event.rb +4 -1
  464. data/rakelib/lib/director/system_options.rb +4 -1
  465. data/rakelib/lib/director/system_settings.rb +4 -1
  466. data/rakelib/lib/director/task_bar_icon.rb +4 -1
  467. data/rakelib/lib/director/text_attr.rb +5 -2
  468. data/rakelib/lib/director/text_entry.rb +29 -1
  469. data/rakelib/lib/director/text_validator.rb +14 -3
  470. data/rakelib/lib/director/textctrl.rb +32 -3
  471. data/rakelib/lib/director/time_picker_ctrl.rb +4 -1
  472. data/rakelib/lib/director/timer.rb +4 -1
  473. data/rakelib/lib/director/tip_provider.rb +4 -1
  474. data/rakelib/lib/director/toggle_button.rb +4 -1
  475. data/rakelib/lib/director/tool_bar.rb +20 -1
  476. data/rakelib/lib/director/tool_tip.rb +5 -2
  477. data/rakelib/lib/director/top_level_window.rb +58 -51
  478. data/rakelib/lib/director/tree_ctrl.rb +5 -2
  479. data/rakelib/lib/director/tree_event.rb +28 -10
  480. data/rakelib/lib/director/uiaction_simulator.rb +4 -1
  481. data/rakelib/lib/director/utils.rb +9 -1
  482. data/rakelib/lib/director/validator.rb +4 -1
  483. data/rakelib/lib/director/variant.rb +22 -6
  484. data/rakelib/lib/director/vlistbox.rb +4 -1
  485. data/rakelib/lib/director/vscrolled_window.rb +4 -1
  486. data/rakelib/lib/director/window.rb +81 -82
  487. data/rakelib/lib/director/window_disabler.rb +4 -1
  488. data/rakelib/lib/director/with_images.rb +5 -2
  489. data/rakelib/lib/director/wizard_page.rb +4 -1
  490. data/rakelib/lib/director/xml_node.rb +4 -1
  491. data/rakelib/lib/director/xml_resource.rb +4 -1
  492. data/rakelib/lib/director.rb +27 -28
  493. data/rakelib/lib/ext/enum_chain.rb +4 -1
  494. data/rakelib/lib/extractor/class.rb +8 -6
  495. data/rakelib/lib/extractor/enum.rb +15 -2
  496. data/rakelib/lib/extractor/function.rb +17 -9
  497. data/rakelib/lib/extractor/module.rb +4 -1
  498. data/rakelib/lib/extractor/variable.rb +10 -7
  499. data/rakelib/lib/extractor.rb +7 -2
  500. data/rakelib/lib/generate/analyzer.rb +31 -21
  501. data/rakelib/lib/generate/base.rb +4 -1
  502. data/rakelib/lib/generate/doc/aui_manager.yaml +21 -0
  503. data/rakelib/lib/generate/doc/font.yaml +29 -0
  504. data/rakelib/lib/generate/doc/frame.yaml +23 -0
  505. data/rakelib/lib/generate/doc/fs_file.yaml +11 -0
  506. data/rakelib/lib/generate/doc/gdi_common.yaml +36 -0
  507. data/rakelib/lib/generate/doc/graphics_context.yaml +34 -0
  508. data/rakelib/lib/generate/doc/grid_cell_attr.yaml +21 -0
  509. data/rakelib/lib/generate/doc/grid_ctrl.yaml +25 -0
  510. data/rakelib/lib/generate/doc/gui_event_loop.yaml +12 -0
  511. data/rakelib/lib/generate/doc/help_controller.yaml +24 -0
  512. data/rakelib/lib/generate/doc/html_cell.yaml +11 -0
  513. data/rakelib/lib/generate/doc/html_help_controller.yaml +23 -0
  514. data/rakelib/lib/generate/doc/html_help_window.yaml +21 -0
  515. data/rakelib/lib/generate/doc/html_window.yaml +47 -0
  516. data/rakelib/lib/generate/doc/icon.yaml +11 -0
  517. data/rakelib/lib/generate/doc/image.yaml +87 -0
  518. data/rakelib/lib/generate/doc/keyboard_state.yaml +19 -0
  519. data/rakelib/lib/generate/doc/list_ctrl.yaml +77 -0
  520. data/rakelib/lib/generate/doc/locale.yaml +12 -0
  521. data/rakelib/lib/generate/doc/log.yaml +86 -0
  522. data/rakelib/lib/generate/doc/mdi_frame.yaml +12 -0
  523. data/rakelib/lib/generate/doc/memory_dc.yaml +42 -0
  524. data/rakelib/lib/generate/doc/menu.yaml +17 -0
  525. data/rakelib/lib/generate/doc/menu_item.yaml +43 -0
  526. data/rakelib/lib/generate/doc/message_dialog.yaml +36 -0
  527. data/rakelib/lib/generate/doc/non_owned_window.yaml +14 -0
  528. data/rakelib/lib/generate/doc/notebook.yaml +18 -0
  529. data/rakelib/lib/generate/doc/pen.yaml +11 -0
  530. data/rakelib/lib/generate/doc/pg_editor.yaml +11 -0
  531. data/rakelib/lib/generate/doc/pg_multi_button.yaml +78 -0
  532. data/rakelib/lib/generate/doc/pg_properties.yaml +244 -0
  533. data/rakelib/lib/generate/doc/pg_property.yaml +188 -0
  534. data/rakelib/lib/generate/doc/picker_base.yaml +19 -0
  535. data/rakelib/lib/generate/doc/platform_info.yaml +15 -0
  536. data/rakelib/lib/generate/doc/property_grid.yaml +23 -0
  537. data/rakelib/lib/generate/doc/property_grid_interface.yaml +30 -0
  538. data/rakelib/lib/generate/doc/property_grid_manager.yaml +40 -0
  539. data/rakelib/lib/generate/doc/property_sheet_dialog.yaml +26 -0
  540. data/rakelib/lib/generate/doc/rich_text_html_handler.yaml +11 -0
  541. data/rakelib/lib/generate/doc/scroll_bar.yaml +11 -0
  542. data/rakelib/lib/generate/doc/scrolled_canvas.yaml +37 -0
  543. data/rakelib/lib/generate/doc/scrolled_control.yaml +37 -0
  544. data/rakelib/lib/generate/doc/scrolled_window.yaml +37 -0
  545. data/rakelib/lib/generate/doc/sizer.yaml +69 -0
  546. data/rakelib/lib/generate/doc/splash_screen.yaml +18 -0
  547. data/rakelib/lib/generate/doc/static_box.yaml +52 -0
  548. data/rakelib/lib/generate/doc/static_box_sizer.yaml +22 -0
  549. data/rakelib/lib/generate/doc/styled_text_ctrl.yaml +18 -0
  550. data/rakelib/lib/generate/doc/svg_file_dc.yaml +11 -0
  551. data/rakelib/lib/generate/doc/symbol_picker_dialog.yaml +40 -0
  552. data/rakelib/lib/generate/doc/text_ctrl.yaml +19 -0
  553. data/rakelib/lib/generate/doc/text_entry.yaml +42 -0
  554. data/rakelib/lib/generate/doc/text_entry_dialog.yaml +17 -0
  555. data/rakelib/lib/generate/doc/timer_event.yaml +28 -0
  556. data/rakelib/lib/generate/doc/tool_bar.yaml +35 -0
  557. data/rakelib/lib/generate/doc/top_level_window.yaml +23 -0
  558. data/rakelib/lib/generate/doc/validator.yaml +12 -0
  559. data/rakelib/lib/generate/doc/variant.yaml +29 -0
  560. data/rakelib/lib/generate/doc/window.yaml +249 -0
  561. data/rakelib/lib/generate/doc/wizard_page_simple.yaml +14 -0
  562. data/rakelib/lib/generate/doc/xml_node.yaml +7 -0
  563. data/rakelib/lib/generate/doc/xml_resource.yaml +27 -0
  564. data/rakelib/lib/generate/doc.rb +54 -4
  565. data/rakelib/lib/generate/interface.rb +79 -110
  566. data/rakelib/lib/generate/rakedep.rb +4 -1
  567. data/rakelib/lib/specs/interfaces.rb +46 -20
  568. data/rakelib/lib/streams.rb +5 -1
  569. data/rakelib/lib/swig_runner.rb +71 -22
  570. data/rakelib/lib/typemap/array_int_selections.rb +4 -1
  571. data/rakelib/lib/typemap/common.rb +57 -2
  572. data/rakelib/lib/typemap/config.rb +55 -0
  573. data/rakelib/lib/typemap/data_format.rb +4 -1
  574. data/rakelib/lib/typemap/data_object_data.rb +4 -1
  575. data/rakelib/lib/typemap/datetime.rb +8 -1
  576. data/rakelib/lib/typemap/grid_client_data.rb +4 -1
  577. data/rakelib/lib/typemap/grid_coords.rb +37 -7
  578. data/rakelib/lib/typemap/html_cell.rb +4 -1
  579. data/rakelib/lib/typemap/io_streams.rb +4 -1
  580. data/rakelib/lib/typemap/pgcell.rb +4 -1
  581. data/rakelib/lib/typemap/pgeditor.rb +4 -1
  582. data/rakelib/lib/typemap/pgprop_arg.rb +4 -1
  583. data/rakelib/lib/typemap/pgproperty.rb +4 -1
  584. data/rakelib/lib/typemap/points_list.rb +4 -1
  585. data/rakelib/lib/typemap/richtext.rb +185 -11
  586. data/rakelib/lib/typemap/tree_itemid.rb +26 -1
  587. data/rakelib/lib/util/string.rb +4 -1
  588. data/rakelib/prepost.rake +4 -1
  589. data/rakelib/prepost.rb +4 -1
  590. data/rakelib/run.rake +4 -1
  591. data/samples/aui/aui.rb +8 -3
  592. data/samples/bigdemo/bigdemo.rb +9 -2
  593. data/samples/bigdemo/run.rb +9 -2
  594. data/samples/bigdemo/utils.rb +9 -1
  595. data/samples/calendar/calendar.rb +9 -4
  596. data/samples/caret/caret.rb +8 -3
  597. data/samples/controls/books.rb +8 -2
  598. data/samples/controls/controls.rb +33 -77
  599. data/samples/controls/get_item_sample.rb +8 -2
  600. data/samples/controls/htlbox.rb +10 -3
  601. data/samples/dialogs/dialogs.rb +9 -4
  602. data/samples/dialogs/wizard.rb +8 -3
  603. data/samples/dragdrop/dragdrop.rb +8 -3
  604. data/samples/drawing/bitmap.rb +8 -3
  605. data/samples/drawing/bitmap_image.rb +8 -3
  606. data/samples/drawing/graphics_drawing.rb +44 -33
  607. data/samples/drawing/image_prt.rb +8 -2
  608. data/samples/drawing/maths_images.rb +8 -3
  609. data/samples/drawing/rmagic_bitmap_image.rb +8 -3
  610. data/samples/etc/choice.rb +8 -3
  611. data/samples/etc/miniframe.rb +8 -3
  612. data/samples/etc/sash.rb +8 -3
  613. data/samples/etc/scrollwin.rb +8 -3
  614. data/samples/etc/system_settings.rb +8 -3
  615. data/samples/event/activation.rb +8 -3
  616. data/samples/event/event.rb +8 -3
  617. data/samples/event/threaded.rb +8 -3
  618. data/samples/event/update_ui_event.rb +8 -3
  619. data/samples/grid/grid.rb +9 -3
  620. data/samples/grid/gridtablebase.rb +8 -3
  621. data/samples/html/html.rb +8 -3
  622. data/samples/mdi/mdi.rb +8 -3
  623. data/samples/minimal/minimal.rb +8 -3
  624. data/samples/minimal/nothing.rb +8 -3
  625. data/samples/printing/printing.rb +8 -3
  626. data/samples/printing/printing2.rb +8 -2
  627. data/samples/propgrid/propgrid.rb +4 -1
  628. data/samples/propgrid/propgrid_minimal.rb +4 -2
  629. data/samples/propgrid/sample_props.rb +4 -1
  630. data/samples/ribbon/ribbon.rb +4 -1
  631. data/samples/sampler/editor.rb +4 -1
  632. data/samples/sampler/ext.rb +4 -1
  633. data/samples/sampler/sample.rb +13 -4
  634. data/samples/sampler/stc_editor.rb +4 -1
  635. data/samples/sampler/txt_editor.rb +4 -1
  636. data/samples/sampler.rb +11 -3
  637. data/samples/splash/splash.rb +4 -2
  638. data/samples/text/art/richtext/alignleft.xpm +24 -0
  639. data/samples/text/art/richtext/alignright.xpm +24 -0
  640. data/samples/text/art/richtext/bold.xpm +24 -0
  641. data/samples/text/art/richtext/centre.xpm +24 -0
  642. data/samples/text/art/richtext/copy.xpm +45 -0
  643. data/samples/text/art/richtext/cut.xpm +47 -0
  644. data/samples/text/art/richtext/font.xpm +25 -0
  645. data/samples/text/art/richtext/idea.xpm +47 -0
  646. data/samples/text/art/richtext/indentless.xpm +25 -0
  647. data/samples/text/art/richtext/indentmore.xpm +25 -0
  648. data/samples/text/art/richtext/italic.xpm +25 -0
  649. data/samples/text/art/richtext/open.xpm +58 -0
  650. data/samples/text/art/richtext/paste.xpm +47 -0
  651. data/samples/text/art/richtext/redo.xpm +59 -0
  652. data/samples/text/art/richtext/save.xpm +43 -0
  653. data/samples/text/art/richtext/smiley.xpm +42 -0
  654. data/samples/text/art/richtext/underline.xpm +25 -0
  655. data/samples/text/art/richtext/undo.xpm +59 -0
  656. data/samples/text/art/richtext/zebra.xpm +409 -0
  657. data/samples/text/rich_textctrl.rb +8 -3
  658. data/samples/text/richtext.rb +1824 -0
  659. data/samples/text/scintilla.rb +8 -3
  660. data/samples/text/textctrl.rb +21 -4
  661. data/samples/text/tn_richtext.png +0 -0
  662. data/samples/text/unicode.rb +9 -4
  663. data/samples/treectrl/treectrl.rb +10 -5
  664. data/samples/xrc/custom_xrc_sample.rb +8 -3
  665. data/samples/xrc/xrc_sample.rb +8 -3
  666. data/tests/art/test_art/bitmap/wxruby-128x128.png +0 -0
  667. data/tests/art/test_art/bitmap/wxruby-256x256.png +0 -0
  668. data/tests/art/test_art/bitmap/wxruby-64x64.png +0 -0
  669. data/tests/lib/item_container_tests.rb +3 -0
  670. data/tests/lib/text_entry_tests.rb +3 -0
  671. data/tests/lib/wxapp_runner.rb +3 -0
  672. data/tests/lib/wxframe_runner.rb +81 -3
  673. data/tests/test_app_event_filter.rb +3 -0
  674. data/tests/test_app_traits.rb +33 -0
  675. data/tests/test_art.rb +31 -0
  676. data/tests/test_art_provider.rb +3 -0
  677. data/tests/test_aui.rb +65 -0
  678. data/tests/test_basic.rb +5 -1
  679. data/tests/test_box_sizer.rb +164 -0
  680. data/tests/test_clipboard.rb +3 -0
  681. data/tests/test_config.rb +150 -0
  682. data/tests/test_dc.rb +3 -0
  683. data/tests/test_dialog.rb +3 -0
  684. data/tests/test_event_handling.rb +3 -0
  685. data/tests/test_events.rb +3 -0
  686. data/tests/test_ext_controls.rb +286 -3
  687. data/tests/test_file_dialog.rb +55 -0
  688. data/tests/test_font.rb +8 -5
  689. data/tests/test_gdi_object.rb +3 -0
  690. data/tests/test_geometry.rb +4 -0
  691. data/tests/test_grid_sizer.rb +151 -0
  692. data/tests/test_intl.rb +3 -0
  693. data/tests/test_item_data.rb +3 -0
  694. data/tests/test_list_ctrl.rb +56 -0
  695. data/tests/test_log.rb +226 -0
  696. data/tests/test_proof_check.rb +52 -0
  697. data/tests/test_richtext.rb +204 -0
  698. data/tests/test_std_controls.rb +99 -31
  699. data/tests/test_timer.rb +98 -0
  700. data/tests/test_variant.rb +3 -0
  701. data/tests/test_window.rb +10 -8
  702. data/tests/testapp.rb +4 -0
  703. data/tests/testapp_noframe.rb +4 -0
  704. metadata +146 -3
  705. data/rakelib/lib/director/html_help_frame.rb +0 -25
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative './event_handler'
@@ -20,8 +23,8 @@ module WXRuby3
20
23
  public:
21
24
  WXRubyTextValidator(const wxTextValidator& v)
22
25
  : wxTextValidator(v) {}
23
- WXRubyTextValidator(long style=wxFILTER_NONE, wxString *valPtr=NULL)
24
- : wxTextValidator(style, valPtr) {}
26
+ WXRubyTextValidator(long style=wxFILTER_NONE)
27
+ : wxTextValidator(style) {}
25
28
  virtual ~WXRubyTextValidator()
26
29
  {
27
30
  wxRuby_ReleaseEvtHandlerProcs(this);
@@ -29,6 +32,14 @@ module WXRuby3
29
32
  };
30
33
  __HEREDOC
31
34
  spec.use_class_implementation 'wxTextValidator', 'WXRubyTextValidator'
35
+ # ignore copy ctor doc
36
+ spec.regard 'wxTextValidator::wxTextValidator(const wxTextValidator&)', regard_doc: false
37
+ # ignore this ctor
38
+ spec.ignore 'wxTextValidator::wxTextValidator(long, wxString*)'
39
+ # add alternative
40
+ spec.extend_interface 'wxTextValidator', 'wxTextValidator(long style=wxFILTER_NONE)'
41
+ # ignore non-virtual standard handler (not really useful in Ruby)
42
+ spec.ignore 'wxTextValidator::OnChar'
32
43
  spec.no_proxy 'wxTextValidator::Clone'
33
44
  spec.new_object 'wxTextValidator::Clone'
34
45
  # handle clone mapping
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative './window'
@@ -17,11 +20,37 @@ module WXRuby3
17
20
  spec.include_mixin 'wxTextCtrl', { 'Wx::TextEntry' => 'wxTextEntryBase' }
18
21
  spec.override_inheritance_chain('wxTextCtrl', %w[wxControl wxWindow wxEvtHandler wxObject])
19
22
  spec.ignore 'wxTextCtrl::HitTest(const wxPoint &,long *)'
20
- if Config.instance.wx_port == :wxQT
23
+ if Config.instance.wx_port == :wxgtk && Config.instance.wx_version >= '3.3.0'
24
+ spec.ignore 'wxTextCtrl::GTKGetTextBuffer',
25
+ 'wxTextCtrl::GTKGetEditable'
26
+ end
27
+ if Config.instance.wx_port == :wxqt
21
28
  # not implemented
22
29
  spec.ignore 'wxTextCtrl::OnDropFiles'
23
30
  end
24
- spec.set_only_for('wxUSE_SPELLCHECK', 'wxTextCtrl::EnableProofCheck', 'wxTextCtrl::GetProofCheckOptions')
31
+ # Ignore these; wxTextProofOptions documentation is absolute crap and as the class is trivial
32
+ # we will not wrap it but create a simplified interface when USE_SPELLCHECK is enabled which
33
+ # we will complement in pure Ruby to provide Wx::TextProofOptions class
34
+ spec.ignore('wxTextCtrl::EnableProofCheck', 'wxTextCtrl::GetProofCheckOptions')
35
+ if Config.instance.features_set?('wxUSE_SPELLCHECK')
36
+ spec.add_extend_code 'wxTextCtrl', <<~__HEREDOC
37
+ VALUE DoEnableProofCheck(bool spelling, bool grammar, const wxString& language)
38
+ {
39
+ bool rc = $self->EnableProofCheck (wxTextProofOptions::Disable().SpellCheck(spelling).GrammarCheck(grammar).Language(language));
40
+ return rc ? Qtrue : Qfalse;
41
+ }
42
+
43
+ VALUE DoGetProofCheckOptions()
44
+ {
45
+ wxTextProofOptions opts = $self->GetProofCheckOptions();
46
+ VALUE rc = rb_ary_new();
47
+ rb_ary_push(rc, opts.IsSpellCheckEnabled() ? Qtrue : Qfalse);
48
+ rb_ary_push(rc, opts.IsGrammarCheckEnabled() ? Qtrue : Qfalse);
49
+ rb_ary_push(rc, WXSTR_TO_RSTR(opts.GetLang()));
50
+ return rc;
51
+ }
52
+ __HEREDOC
53
+ end
25
54
  spec.no_proxy %w[wxTextCtrl::EmulateKeyPress wxTextCtrl::GetDefaultStyle]
26
55
  spec.map_apply 'long * OUTPUT' => 'long *'
27
56
  spec.map_apply 'long * OUTPUT' => [ 'wxTextCoord *col', 'wxTextCoord *row' ]
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative './window'
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative './event_handler'
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  module WXRuby3
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative './window'
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative './window'
@@ -32,6 +35,22 @@ module WXRuby3
32
35
  spec.no_proxy 'wxToolBarToolBase'
33
36
  # more sensible name to use
34
37
  spec.rename_for_ruby('ToolBarTool' => 'wxToolBarToolBase')
38
+ spec.map 'wxToolBarBase *' => 'Wx::ToolBar' do
39
+ map_in code: <<~__CODE
40
+ void *argp = 0;
41
+ int res = SWIG_ConvertPtr($input, &argp, SWIGTYPE_p_wxToolBar, 0);
42
+ if (!SWIG_IsOK(res)) {
43
+ SWIG_exception_fail(SWIG_ArgError(res), Ruby_Format_TypeError( "", "Wx::ToolBar", "$symname", 1, $input));
44
+ }
45
+ $1 = reinterpret_cast< wxToolBarBase * >(argp);
46
+ __CODE
47
+ map_typecheck code: <<~__CODE
48
+ void *vptr = 0;
49
+ int res = SWIG_ConvertPtr($input, &vptr, SWIGTYPE_p_wxToolBar, 0);
50
+ $1 = SWIG_CheckState(res);
51
+ __CODE
52
+ map_out code: '$result = SWIG_NewPointerObj(SWIG_as_voidptr($1), SWIGTYPE_p_wxToolBar, 0);'
53
+ end
35
54
  # Ensure that the C++ wxToolBar(Base) implementation of UpdateWindowUI
36
55
  # is called internally, so that UpdateUIEvents are also sent to each
37
56
  # button within the toolbar. This means update_window_ui can't be
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  module WXRuby3
@@ -10,7 +13,7 @@ module WXRuby3
10
13
  class ToolTip < Director
11
14
 
12
15
  def setup
13
- spec.set_only_for('__WXMSW__', 'wxToolTip::SetMaxWidth')
16
+ spec.ignore('wxToolTip::SetMaxWidth') unless Config.instance.features_set?('__WXMSW__')
14
17
  super
15
18
  end
16
19
  end # class ToolTip
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative './window'
@@ -13,49 +16,6 @@ module WXRuby3
13
16
 
14
17
  def setup
15
18
  super
16
- # for all wxTopLevelWindow (derived) classes
17
- spec.items.each do |itm|
18
- spec.no_proxy("#{itm}::ClearBackground",
19
- "#{itm}::Enable",
20
- "#{itm}::EnableCloseButton",
21
- "#{itm}::EndModal",
22
- "#{itm}::GetHelpTextAtPoint",
23
- "#{itm}::GetMaxSize",
24
- "#{itm}::GetMinSize",
25
- "#{itm}::GetTitle",
26
- "#{itm}::Iconize",
27
- "#{itm}::IsActive",
28
- "#{itm}::IsFullScreen",
29
- "#{itm}::IsMaximzed",
30
- "#{itm}::IsAlwaysMaximzed",
31
- "#{itm}::IsModal",
32
- #"#{itm}::IsTopLevel",
33
- "#{itm}::IsVisible",
34
- "#{itm}::Maximize",
35
- "#{itm}::Navigate",
36
- "#{itm}::Refresh",
37
- "#{itm}::Reparent",
38
- "#{itm}::RequestUserAttention",
39
- "#{itm}::Restore",
40
- "#{itm}::SetIcon",
41
- "#{itm}::SetIcons",
42
- #"#{itm}::SetMaxSize",
43
- #"#{itm}::SetMinSize",
44
- "#{itm}::SetShape",
45
- "#{itm}::SetSize",
46
- "#{itm}::SetSize",
47
- #"#{itm}::SetSizeHints",
48
- #"#{itm}::SetSizeHints",
49
- "#{itm}::SetTitle",
50
- #"#{itm}::SetTransparent",
51
- #"#{itm}::Show",
52
- "#{itm}::ShowFullScreen",
53
- "#{itm}::ShowModal",
54
- "#{itm}::Update",
55
- "#{itm}::UpdateWindow",
56
- "#{itm}::Validate")
57
- end
58
-
59
19
  if spec.module_name == 'wxTopLevelWindow'
60
20
  # add these to the generated interface to be parsed by SWIG
61
21
  # the wxWidgets docs are flawed in this respect that several reimplemented
@@ -81,16 +41,15 @@ module WXRuby3
81
41
  wxTopLevelWindow::RestoreToGeometry
82
42
  wxTopLevelWindow::GeometrySerializer
83
43
  }
84
- spec.set_only_for '__WXUNIVERSAL__', %w{
44
+ unless Config.instance.features_set?('__WXUNIVERSAL__')
45
+ spec.ignore %w{
85
46
  wxTopLevelWindow::IsUsingNativeDecorations
86
47
  wxTopLevelWindow::UseNativeDecorations
87
48
  wxTopLevelWindow::UseNativeDecorationsByDefault
88
- }
89
- spec.set_only_for '__WXMSW__',
90
- 'wxTopLevelWindow::MSWGetSystemMenu'
91
- spec.set_only_for '__WXOSX__',
92
- 'wxTopLevelWindow::OSXSetModified',
93
- 'wxTopLevelWindow::OSXIsModified'
49
+ }
50
+ end
51
+ spec.ignore('wxTopLevelWindow::MSWGetSystemMenu') unless Config.instance.features_set?('__WXMSW__')
52
+ spec.ignore('wxTopLevelWindow::OSXSetModified','wxTopLevelWindow::OSXIsModified') unless Config.instance.features_set?('__WXOSX__')
94
53
  spec.swig_import 'swig/classes/include/wxDefs.h'
95
54
  # incorrectly documented here
96
55
  spec.override_events 'wxTopLevelWindow',
@@ -98,6 +57,54 @@ module WXRuby3
98
57
  'EVT_MAXIMIZE' => ['EVT_MAXIMIZE', 0, 'wxMaximizeEvent'] }
99
58
  end
100
59
  end
60
+
61
+ def process(gendoc: false)
62
+ defmod = super
63
+ # for all wxTopLevelWindow (derived) classes
64
+ spec.items.each do |citem|
65
+ def_item = defmod.find_item(citem)
66
+ if Extractor::ClassDef === def_item && (citem == 'wxTopLevelWindow' || spec.is_derived_from?(def_item, 'wxTopLevelWindow'))
67
+ spec.no_proxy("#{spec.class_name(citem)}::ClearBackground",
68
+ "#{spec.class_name(citem)}::Enable",
69
+ "#{spec.class_name(citem)}::EnableCloseButton",
70
+ "#{spec.class_name(citem)}::GetHelpTextAtPoint",
71
+ "#{spec.class_name(citem)}::GetMaxSize",
72
+ "#{spec.class_name(citem)}::GetMinSize",
73
+ "#{spec.class_name(citem)}::GetTitle",
74
+ "#{spec.class_name(citem)}::Iconize",
75
+ "#{spec.class_name(citem)}::IsActive",
76
+ "#{spec.class_name(citem)}::IsFullScreen",
77
+ "#{spec.class_name(citem)}::IsMaximzed",
78
+ "#{spec.class_name(citem)}::IsAlwaysMaximzed",
79
+ #"#{spec.class_name(citem)}::IsTopLevel",
80
+ "#{spec.class_name(citem)}::IsVisible",
81
+ "#{spec.class_name(citem)}::Maximize",
82
+ "#{spec.class_name(citem)}::Navigate",
83
+ "#{spec.class_name(citem)}::Refresh",
84
+ "#{spec.class_name(citem)}::Reparent",
85
+ "#{spec.class_name(citem)}::RequestUserAttention",
86
+ "#{spec.class_name(citem)}::Restore",
87
+ "#{spec.class_name(citem)}::SetIcon",
88
+ "#{spec.class_name(citem)}::SetIcons",
89
+ #"#{spec.class_name(citem)}::SetMaxSize",
90
+ #"#{spec.class_name(citem)}::SetMinSize",
91
+ "#{spec.class_name(citem)}::SetShape",
92
+ "#{spec.class_name(citem)}::SetSize",
93
+ "#{spec.class_name(citem)}::SetSize",
94
+ #"#{spec.class_name(citem)}::SetSizeHints",
95
+ #"#{spec.class_name(citem)}::SetSizeHints",
96
+ "#{spec.class_name(citem)}::SetTitle",
97
+ #"#{spec.class_name(citem)}::SetTransparent",
98
+ #"#{spec.class_name(citem)}::Show",
99
+ "#{spec.class_name(citem)}::ShowFullScreen",
100
+ "#{spec.class_name(citem)}::Update",
101
+ "#{spec.class_name(citem)}::UpdateWindow",
102
+ "#{spec.class_name(citem)}::Validate")
103
+ end
104
+ end
105
+ defmod
106
+ end
107
+
101
108
  end # class Frame
102
109
 
103
110
  end # class Director
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative './window'
@@ -73,7 +76,7 @@ module WXRuby3
73
76
  (void)self->EditLabel(item);
74
77
  }
75
78
  __HEREDOC
76
- if [:wxMSW, :wxQT].include?(Config.instance.wx_port)
79
+ if [:wxmsw, :wxqt].include?(Config.instance.wx_port)
77
80
  spec.ignore('wxTreeCtrl::SetButtonsImageList')
78
81
  spec.ignore('wxTreeCtrl::GetButtonsImageList')
79
82
  end
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative './event'
@@ -15,7 +18,17 @@ module WXRuby3
15
18
 
16
19
  def setup
17
20
  super
18
- # create a lightweight, but typesafe, wrapper for wxEventId
21
+ # for wxTreeEvent::GetKeyEvent
22
+ spec.map 'const wxKeyEvent&' => 'Wx::KeyEvent' do
23
+ map_out code: <<~__CODE
24
+ #ifdef __WXRB_DEBUG__
25
+ $result = wxRuby_WrapWxEventInRuby(arg1, static_cast<wxEvent*> ($1));
26
+ #else
27
+ $result = wxRuby_WrapWxEventInRuby(static_cast<wxEvent*> ($1));
28
+ #endif
29
+ __CODE
30
+ end
31
+ # create a lightweight, but typesafe, wrapper for TreeItemId
19
32
  spec.add_init_code <<~__HEREDOC
20
33
  // define TreeItemId wrapper class
21
34
  mWxTreeItemId = rb_define_class_under(mWxCore, "TreeItemId", rb_cObject);
@@ -32,19 +45,19 @@ module WXRuby3
32
45
 
33
46
  spec.add_wrapper_code <<~__HEREDOC
34
47
  // wxTreeItemId wrapper class definition and helper functions
35
- static size_t __wxTreeEventId_size(const void* data)
48
+ static size_t __wxTreeItemId_size(const void* data)
36
49
  {
37
50
  return 0;
38
51
  }
39
52
 
40
53
  #include <ruby/version.h>
41
54
 
42
- static const rb_data_type_t __wxTreeEventId_type = {
43
- "TreeEventId",
55
+ static const rb_data_type_t __wxTreeItemId_type = {
56
+ "TreeItemId",
44
57
  #if RUBY_API_VERSION_MAJOR >= 3
45
- { NULL, NULL, __wxTreeEventId_size, 0, 0},
58
+ { NULL, NULL, __wxTreeItemId_size, 0, 0},
46
59
  #else
47
- { NULL, NULL, __wxTreeEventId_size, 0},
60
+ { NULL, NULL, __wxTreeItemId_size, 0},
48
61
  #endif
49
62
  NULL, NULL, RUBY_TYPED_FREE_IMMEDIATELY
50
63
  };
@@ -52,21 +65,26 @@ module WXRuby3
52
65
  VALUE _wxRuby_Wrap_wxTreeItemId(const wxTreeItemId& id)
53
66
  {
54
67
  void* data = id.GetID();
55
- VALUE ret = TypedData_Wrap_Struct(mWxTreeItemId, &__wxTreeEventId_type, data);
68
+ VALUE ret = TypedData_Wrap_Struct(mWxTreeItemId, &__wxTreeItemId_type, data);
56
69
  return ret;
57
70
  }
58
71
 
59
72
  wxTreeItemId _wxRuby_Unwrap_wxTreeItemId(VALUE id)
60
73
  {
61
74
  void *data = 0;
62
- TypedData_Get_Struct(id, void, &__wxTreeEventId_type, data);
75
+ TypedData_Get_Struct(id, void, &__wxTreeItemId_type, data);
63
76
  return wxTreeItemId(data);
64
77
  }
65
78
 
79
+ bool _wxRuby_Is_wxTreeItemId(VALUE id)
80
+ {
81
+ return rb_typeddata_is_kind_of(id, &__wxTreeItemId_type) == 1;
82
+ }
83
+
66
84
  VALUE _wxRuby_wxTreeItemId_IsOk(VALUE self)
67
85
  {
68
86
  void *data = 0;
69
- TypedData_Get_Struct(self, void, &__wxTreeEventId_type, data);
87
+ TypedData_Get_Struct(self, void, &__wxTreeItemId_type, data);
70
88
  return wxTreeItemId(data).IsOk() ? Qtrue : Qfalse;
71
89
  }
72
90
  __HEREDOC
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  module WXRuby3
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  module WXRuby3
@@ -44,6 +47,11 @@ module WXRuby3
44
47
  spec.ignore 'wxGetEmailAddress(char *,int)',
45
48
  'wxGetUserId(char *,int)',
46
49
  'wxGetUserName(char *,int)'
50
+ spec.map 'wxMemorySize' => 'Integer' do
51
+ map_out code: <<~__CODE
52
+ $result = LL2NUM(wxLongLongNative($1).GetValue());
53
+ __CODE
54
+ end
47
55
  # we want only the functions that are not ignored
48
56
  spec.do_not_generate(:classes, :typedefs, :variables, :enums, :defines)
49
57
  super
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative './event_handler'
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  module WXRuby3
@@ -310,7 +313,7 @@ module WXRuby3
310
313
  VALUE var = rb_ary_entry($input, i);
311
314
  int res = SWIG_ConvertPtr(var, &ptr, SWIGTYPE_p_wxVariant, 0 );
312
315
  if (!SWIG_IsOK(res)) {
313
- SWIG_exception_fail(SWIG_ArgError(res), Ruby_Format_TypeError( "", "wxVariantList","wxVariant", 1, var ));
316
+ SWIG_exception_fail(SWIG_ArgError(res), Ruby_Format_TypeError( "", "wxVariantList", "$symname", 1, var ));
314
317
  }
315
318
  // the default constructed wxVariantList tmp will not delete it's contents so no need to copy variant
316
319
  tmp.Append(static_cast<wxVariant*>(ptr));
@@ -437,10 +440,6 @@ module WXRuby3
437
440
  return true;
438
441
  }
439
442
 
440
- //#if wxUSE_ANY
441
- // // Converts value to wxAny, if possible. Return true if successful.
442
- // virtual bool GetAsAny(wxAny* WXUNUSED(any)) const { return false; }
443
- //#endif
444
443
  protected:
445
444
  VALUE m_value;
446
445
  };
@@ -462,6 +461,21 @@ module WXRuby3
462
461
  }
463
462
  __HEREDOC
464
463
  spec.add_init_code 'wxRuby_AppendMarker(wxRuby_markRbValueVariants);'
464
+ # ignore GetType (not doc)
465
+ spec.ignore 'wxVariant::GetType', ignore_doc: false
466
+ # replace with custom implementation
467
+ spec.add_extend_code 'wxVariant', <<~__HEREDOC
468
+ VALUE get_type()
469
+ {
470
+ wxString ts = self->GetType();
471
+ if (ts == WXRBValueVariantData::type_name_)
472
+ {
473
+ VALUE klass = CLASS_OF(((WXRBValueVariantData*)self->GetData())->GetValue());
474
+ return rb_str_new2(rb_class2name(CLASS_OF(klass)));
475
+ }
476
+ return WXSTR_TO_RSTR(ts);
477
+ }
478
+ __HEREDOC
465
479
  # add custom extension methods 'assign' as replacement for operator=
466
480
  spec.add_extend_code 'wxVariant', <<~__HEREDOC
467
481
  void assign(const wxVariant& v)
@@ -504,6 +518,7 @@ module WXRuby3
504
518
  if (ts == wxS("ulonglong")) return ULL2NUM(self->GetULongLong().GetValue());
505
519
  if (ts == wxS("double")) return rb_funcall(SWIG_From_double(self->GetDouble()), to_i_id(), 0);
506
520
  if (ts == wxS("datetime")) return rb_funcall(wxRuby_wxDateTimeToRuby(self->GetDateTime()), to_i_id(), 0);
521
+ if (ts == WXRBValueVariantData::type_name_) return rb_funcall(((WXRBValueVariantData*)self->GetData())->GetValue(), to_i_id(), 0);
507
522
  rb_raise(rb_eTypeError, "Cannot convert Variant<%s> to Integer", (const char*)ts.ToAscii());
508
523
  return Qnil;
509
524
  }
@@ -519,6 +534,7 @@ module WXRuby3
519
534
  if (ts == wxS("ulonglong")) return rb_funcall(ULL2NUM(self->GetULongLong().GetValue()), to_f_id(), 0);
520
535
  if (ts == wxS("double")) return SWIG_From_double(self->GetDouble());
521
536
  if (ts == wxS("datetime")) return rb_funcall(wxRuby_wxDateTimeToRuby(self->GetDateTime()), to_f_id(), 0);
537
+ if (ts == WXRBValueVariantData::type_name_) return rb_funcall(((WXRBValueVariantData*)self->GetData())->GetValue(), to_f_id(), 0);
522
538
  rb_raise(rb_eTypeError, "Cannot convert Variant<%s> to Integer", (const char*)ts.ToAscii());
523
539
  return Qnil;
524
540
  }
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative './window'
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface director
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require_relative './window'