wxruby3 0.9.1 → 0.9.3

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 (472) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/INSTALL.md +35 -29
  4. data/README.md +24 -15
  5. data/ext/wxruby3/include/wxRubyApp.h +338 -0
  6. data/ext/wxruby3/include/wxruby-ClientData.h +48 -0
  7. data/ext/wxruby3/include/wxruby-Config.h +6 -6
  8. data/ext/wxruby3/include/wxruby-Validator.h +39 -0
  9. data/ext/wxruby3/include/wxruby-ValidatorBinding.h +64 -0
  10. data/ext/wxruby3/swig/common.i +1 -1
  11. data/ext/wxruby3/swig/custom/director.swg +8 -0
  12. data/ext/wxruby3/swig/mark_free_impl.i +0 -33
  13. data/lib/wx/aui/aui_tab_ctrl.rb +18 -0
  14. data/lib/wx/aui/auinotebook.rb +6 -2
  15. data/lib/wx/aui/require.rb +1 -0
  16. data/lib/wx/core/app.rb +2 -2
  17. data/lib/wx/core/bitmap_combobox.rb +17 -21
  18. data/lib/wx/core/collapsible_pane.rb +1 -1
  19. data/lib/wx/core/combobox.rb +13 -3
  20. data/lib/wx/core/controlwithitems.rb +40 -128
  21. data/lib/wx/core/enum.rb +17 -1
  22. data/lib/wx/core/event.rb +6 -1
  23. data/lib/wx/core/evthandler.rb +8 -2
  24. data/lib/wx/core/generic_validator.rb +312 -0
  25. data/lib/wx/core/listbox.rb +2 -2
  26. data/lib/wx/core/log.rb +1 -1
  27. data/lib/wx/core/menu.rb +10 -0
  28. data/lib/wx/core/notebook.rb +6 -2
  29. data/lib/wx/core/owner_drawn_combobox.rb +45 -0
  30. data/lib/wx/core/size.rb +4 -0
  31. data/lib/wx/core/sizer.rb +12 -2
  32. data/lib/wx/core/standard_paths.rb +22 -0
  33. data/lib/wx/core/task_bar_button.rb +19 -0
  34. data/lib/wx/core/text_entry.rb +4 -1
  35. data/lib/wx/core/textctrl.rb +11 -1
  36. data/lib/wx/core/{treectrl.rb → tree_ctrl.rb} +31 -12
  37. data/lib/wx/core/validator.rb +70 -5
  38. data/lib/wx/core/window.rb +13 -7
  39. data/lib/wx/doc/app.rb +48 -38
  40. data/lib/wx/doc/art_locator.rb +48 -43
  41. data/lib/wx/doc/aui/auimanager.rb +16 -8
  42. data/lib/wx/doc/aui/auinotebook.rb +20 -5
  43. data/lib/wx/doc/clipboard.rb +11 -7
  44. data/lib/wx/doc/colour_dialog.rb +14 -10
  45. data/lib/wx/doc/comboctrl.rb +18 -0
  46. data/lib/wx/doc/controlwithitems.rb +34 -8
  47. data/lib/wx/doc/data_object.rb +2 -2
  48. data/lib/wx/doc/date_picker_ctrl.rb +23 -0
  49. data/lib/wx/doc/editable_listbox.rb +44 -0
  50. data/lib/wx/doc/enum.rb +15 -0
  51. data/lib/wx/doc/event.rb +12 -0
  52. data/lib/wx/doc/evthandler.rb +113 -108
  53. data/lib/wx/doc/extra/12_client_data.md +89 -0
  54. data/lib/wx/doc/extra/13_validators.md +139 -0
  55. data/lib/wx/doc/font.rb +1 -0
  56. data/lib/wx/doc/gc_dc.rb +6 -1
  57. data/lib/wx/doc/gdi_common.rb +4 -0
  58. data/lib/wx/doc/generic_validator.rb +95 -0
  59. data/lib/wx/doc/graphics_context.rb +1 -0
  60. data/lib/wx/doc/grid/grid.rb +22 -1
  61. data/lib/wx/doc/help_controller.rb +11 -7
  62. data/lib/wx/doc/html/html_help_controller.rb +12 -4
  63. data/lib/wx/doc/html/simple_html_listbox.rb +22 -0
  64. data/lib/wx/doc/list_ctrl.rb +33 -29
  65. data/lib/wx/doc/menu.rb +20 -0
  66. data/lib/wx/doc/notebook.rb +21 -0
  67. data/lib/wx/doc/num_validator.rb +387 -0
  68. data/lib/wx/doc/owner_drawn_combobox.rb +96 -0
  69. data/lib/wx/doc/pg/events.rb +13 -9
  70. data/lib/wx/doc/pg/numeric_property_validator.rb +33 -0
  71. data/lib/wx/doc/pg/pg_property.rb +18 -0
  72. data/lib/wx/doc/progress_dialog.rb +36 -32
  73. data/lib/wx/doc/prt/page_setup_dialog.rb +20 -12
  74. data/lib/wx/doc/prt/print_data.rb +13 -5
  75. data/lib/wx/doc/prt/print_dialog.rb +31 -23
  76. data/lib/wx/doc/prt/printer.rb +20 -12
  77. data/lib/wx/doc/radio_box.rb +19 -15
  78. data/lib/wx/doc/rbn/ribbon_bar.rb +13 -5
  79. data/lib/wx/doc/rbn/ribbon_button_bar.rb +13 -5
  80. data/lib/wx/doc/rbn/ribbon_gallery.rb +13 -5
  81. data/lib/wx/doc/rbn/ribbon_tool_bar.rb +13 -5
  82. data/lib/wx/doc/region_iterator.rb +32 -28
  83. data/lib/wx/doc/rtc/rich_text_composite_object.rb +24 -0
  84. data/lib/wx/doc/rtc/rich_text_ctrl.rb +24 -0
  85. data/lib/wx/doc/rtc/rich_text_paragraph.rb +24 -0
  86. data/lib/wx/doc/rtc/richtext_buffer.rb +27 -19
  87. data/lib/wx/doc/rtc/richtext_printing.rb +17 -9
  88. data/lib/wx/doc/rtc/richtext_style_sheet.rb +17 -9
  89. data/lib/wx/doc/sizer.rb +20 -0
  90. data/lib/wx/doc/static_bitmap.rb +25 -0
  91. data/lib/wx/doc/stc/styled_text_ctrl.rb +24 -0
  92. data/lib/wx/doc/stream.rb +39 -35
  93. data/lib/wx/doc/system_settings.rb +30 -26
  94. data/lib/wx/doc/text_validator.rb +23 -9
  95. data/lib/wx/doc/textctrl.rb +16 -0
  96. data/lib/wx/doc/tree_ctrl.rb +95 -0
  97. data/lib/wx/doc/treebook.rb +9 -5
  98. data/lib/wx/doc/v_list_box.rb +9 -5
  99. data/lib/wx/doc/validator.rb +113 -0
  100. data/lib/wx/doc/variant.rb +164 -160
  101. data/lib/wx/doc/window.rb +87 -47
  102. data/lib/wx/doc/window_disabler.rb +10 -6
  103. data/lib/wx/grid/grid.rb +27 -4
  104. data/lib/wx/html/simple_html_listbox.rb +24 -91
  105. data/lib/wx/keyword_defs.rb +34 -2
  106. data/lib/wx/pg/pg_property.rb +22 -0
  107. data/lib/wx/rbn/ribbon_gallery.rb +0 -21
  108. data/lib/wx/rtc/require.rb +3 -0
  109. data/lib/wx/rtc/rich_text_composite_object.rb +25 -0
  110. data/lib/wx/rtc/rich_text_ctrl.rb +25 -0
  111. data/lib/wx/rtc/rich_text_paragraph.rb +25 -0
  112. data/lib/wx/stc/require.rb +1 -0
  113. data/lib/wx/stc/styled_text_ctrl.rb +25 -0
  114. data/lib/wx/version.rb +1 -1
  115. data/rakelib/lib/config/linux.rb +0 -3
  116. data/rakelib/lib/config/macosx.rb +2 -2
  117. data/rakelib/lib/config/mingw.rb +13 -1
  118. data/rakelib/lib/config/unixish.rb +1 -1
  119. data/rakelib/lib/config.rb +14 -4
  120. data/rakelib/lib/core/include/client_data.inc +65 -0
  121. data/rakelib/lib/core/include/funcall.inc +1 -1
  122. data/rakelib/lib/core/package.rb +31 -9
  123. data/rakelib/lib/core/parameter.rb +1 -1
  124. data/rakelib/lib/core/spec.rb +6 -1
  125. data/rakelib/lib/core/spec_helper.rb +7 -1
  126. data/rakelib/lib/director/accelerator.rb +2 -3
  127. data/rakelib/lib/director/accessible.rb +47 -0
  128. data/rakelib/lib/director/app.rb +30 -319
  129. data/rakelib/lib/director/app_traits.rb +13 -13
  130. data/rakelib/lib/director/bitmap_combobox.rb +2 -2
  131. data/rakelib/lib/director/combobox.rb +22 -0
  132. data/rakelib/lib/director/comboctrl.rb +1 -55
  133. data/rakelib/lib/director/ctrl_with_items.rb +105 -26
  134. data/rakelib/lib/director/data_format.rb +1 -1
  135. data/rakelib/lib/director/date_picker_ctrl.rb +8 -6
  136. data/rakelib/lib/director/derived_dc.rb +1 -1
  137. data/rakelib/lib/director/dialog.rb +1 -0
  138. data/rakelib/lib/director/drag_image.rb +2 -3
  139. data/rakelib/lib/director/editable_listbox.rb +30 -0
  140. data/rakelib/lib/director/event.rb +104 -14
  141. data/rakelib/lib/director/event_handler.rb +3 -2
  142. data/rakelib/lib/director/frame.rb +1 -3
  143. data/rakelib/lib/director/functions.rb +4 -2
  144. data/rakelib/lib/director/gdicommon.rb +8 -10
  145. data/rakelib/lib/director/generic_dirctrl.rb +17 -0
  146. data/rakelib/lib/director/graphics_context.rb +2 -4
  147. data/rakelib/lib/director/grid_cell_attr.rb +0 -2
  148. data/rakelib/lib/director/grid_cell_editor.rb +0 -2
  149. data/rakelib/lib/director/grid_cell_renderer.rb +0 -2
  150. data/rakelib/lib/director/grid_ctrl.rb +34 -3
  151. data/rakelib/lib/director/header_ctrl.rb +6 -1
  152. data/rakelib/lib/director/html_listbox.rb +96 -22
  153. data/rakelib/lib/director/icon.rb +5 -2
  154. data/rakelib/lib/director/list_ctrl.rb +5 -6
  155. data/rakelib/lib/director/locale.rb +1 -3
  156. data/rakelib/lib/director/log.rb +1 -4
  157. data/rakelib/lib/director/media_ctrl.rb +54 -0
  158. data/rakelib/lib/director/menu.rb +16 -1
  159. data/rakelib/lib/director/menu_item.rb +2 -2
  160. data/rakelib/lib/director/num_validator.rb +495 -0
  161. data/rakelib/lib/director/numeric_property_validator.rb +131 -6
  162. data/rakelib/lib/director/owner_drawn_combobox.rb +192 -0
  163. data/rakelib/lib/director/pgproperties.rb +1 -1
  164. data/rakelib/lib/director/pgproperty.rb +27 -30
  165. data/rakelib/lib/director/property_grid_interface.rb +5 -10
  166. data/rakelib/lib/director/ribbon_button_bar.rb +3 -3
  167. data/rakelib/lib/director/ribbon_gallery.rb +3 -5
  168. data/rakelib/lib/director/richtext_composite_object.rb +25 -0
  169. data/rakelib/lib/director/richtext_ctrl.rb +14 -4
  170. data/rakelib/lib/director/richtext_formatting_dialog.rb +7 -5
  171. data/rakelib/lib/director/richtext_paragraph_layout_box.rb +9 -7
  172. data/rakelib/lib/director/sizer.rb +30 -4
  173. data/rakelib/lib/director/sizer_item.rb +13 -0
  174. data/rakelib/lib/director/static_bitmap.rb +28 -0
  175. data/rakelib/lib/director/static_box.rb +4 -5
  176. data/rakelib/lib/director/styled_text_ctrl.rb +12 -0
  177. data/rakelib/lib/director/task_bar_button.rb +30 -0
  178. data/rakelib/lib/director/task_bar_icon.rb +5 -13
  179. data/rakelib/lib/director/text_entry.rb +4 -0
  180. data/rakelib/lib/director/text_validator.rb +124 -13
  181. data/rakelib/lib/director/textctrl.rb +12 -1
  182. data/rakelib/lib/director/toggle_button.rb +1 -0
  183. data/rakelib/lib/director/tool_tip.rb +1 -1
  184. data/rakelib/lib/director/top_level_window.rb +4 -7
  185. data/rakelib/lib/director/tree_ctrl.rb +40 -6
  186. data/rakelib/lib/director/utils.rb +16 -2
  187. data/rakelib/lib/director/validator.rb +196 -21
  188. data/rakelib/lib/director/variant.rb +1 -1
  189. data/rakelib/lib/director/window.rb +40 -7
  190. data/rakelib/lib/director.rb +4 -4
  191. data/rakelib/lib/extractor/function.rb +8 -7
  192. data/rakelib/lib/extractor.rb +34 -5
  193. data/rakelib/lib/generate/analyzer.rb +9 -4
  194. data/rakelib/lib/generate/doc/busy_info.yaml +0 -2
  195. data/rakelib/lib/generate/doc/clipboard.yaml +0 -2
  196. data/rakelib/lib/generate/doc/cursor.yaml +0 -2
  197. data/rakelib/lib/generate/doc/panel.yaml +7 -0
  198. data/rakelib/lib/generate/doc.rb +85 -17
  199. data/rakelib/lib/specs/interfaces.rb +163 -160
  200. data/rakelib/lib/swig_runner.rb +55 -9
  201. data/rakelib/lib/typemap/client_data.rb +67 -0
  202. data/rakelib/lib/typemap/common.rb +33 -4
  203. data/rakelib/lib/typemap/datetime.rb +1 -1
  204. data/rakelib/lib/typemap/tree_itemid.rb +2 -2
  205. data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +74 -2
  206. data/rakelib/yard/templates/default/fulldoc/html/full_list.erb +38 -0
  207. data/rakelib/yard/templates/default/fulldoc/html/setup.rb +39 -0
  208. data/rakelib/yard/templates/default/tags/html/wxrb_require.erb +10 -0
  209. data/rakelib/yard/templates/default/tags/setup.rb +16 -0
  210. data/rakelib/yard/yard-custom-templates.rb +3 -0
  211. data/samples/aui/aui.rb +1237 -1233
  212. data/samples/calendar/calendar.rb +293 -289
  213. data/samples/controls/get_item_sample.rb +83 -79
  214. data/samples/controls/htlbox.rb +331 -327
  215. data/samples/dialogs/dialogs.rb +682 -694
  216. data/samples/dialogs/wizard.rb +52 -55
  217. data/samples/dragdrop/dragdrop.rb +146 -142
  218. data/samples/drawing/bitmap.rb +29 -26
  219. data/samples/drawing/bitmap_image.rb +84 -80
  220. data/samples/drawing/graphics_drawing.rb +209 -205
  221. data/samples/drawing/image_prt.rb +344 -340
  222. data/samples/drawing/maths_images.rb +18 -1
  223. data/samples/drawing/rmagic_bitmap_image.rb +88 -84
  224. data/samples/etc/caret.rb +306 -0
  225. data/samples/etc/miniframe.rb +65 -60
  226. data/samples/etc/sash.rb +109 -105
  227. data/samples/etc/scrollwin.rb +86 -80
  228. data/samples/etc/system_settings.rb +216 -209
  229. data/samples/event/activation.rb +72 -67
  230. data/samples/event/event.rb +160 -153
  231. data/samples/event/threaded.rb +8 -1
  232. data/samples/event/update_ui_event.rb +67 -60
  233. data/samples/grid/grid.rb +188 -181
  234. data/samples/grid/gridtablebase.rb +136 -129
  235. data/samples/html/html.rb +208 -204
  236. data/samples/mdi/mdi.rb +59 -54
  237. data/samples/minimal/minimal.rb +54 -51
  238. data/samples/minimal/nothing.rb +1 -0
  239. data/samples/printing/printing.rb +367 -377
  240. data/samples/printing/printing2.rb +203 -198
  241. data/samples/propgrid/propgrid.rb +2312 -2308
  242. data/samples/propgrid/propgrid_minimal.rb +57 -50
  243. data/samples/ribbon/ribbon.rb +780 -774
  244. data/samples/sampler/ext.rb +0 -33
  245. data/samples/sampler/sample.rb +4 -9
  246. data/samples/sampler.rb +1 -1
  247. data/samples/splash/splash.rb +118 -116
  248. data/samples/text/rich_textctrl.rb +207 -201
  249. data/samples/text/richtext.rb +1409 -1405
  250. data/samples/text/scintilla.rb +137 -128
  251. data/samples/text/textctrl.rb +89 -83
  252. data/samples/text/unicode.rb +175 -168
  253. data/samples/treectrl/treectrl.rb +1430 -1426
  254. data/samples/widgets/activityindicator.rb +95 -0
  255. data/samples/widgets/art/widgets/activityindicator.xpm +278 -0
  256. data/samples/widgets/art/widgets/bmpbtn.xpm +37 -0
  257. data/samples/widgets/art/widgets/bmpcombobox.xpm +54 -0
  258. data/samples/widgets/art/widgets/button.xpm +54 -0
  259. data/samples/widgets/art/widgets/checkbox.xpm +54 -0
  260. data/samples/{bigdemo/icons → widgets/art/widgets}/choice.xpm +1 -1
  261. data/samples/widgets/art/widgets/choicebk.xpm +54 -0
  262. data/samples/widgets/art/widgets/clrpicker.xpm +193 -0
  263. data/samples/widgets/art/widgets/combobox.xpm +54 -0
  264. data/samples/widgets/art/widgets/datepick.xpm +200 -0
  265. data/samples/widgets/art/widgets/dirctrl.xpm +54 -0
  266. data/samples/widgets/art/widgets/dirpicker.xpm +213 -0
  267. data/samples/widgets/art/widgets/filepicker.xpm +214 -0
  268. data/samples/widgets/art/widgets/fontpicker.xpm +185 -0
  269. data/samples/widgets/art/widgets/gauge.xpm +54 -0
  270. data/samples/widgets/art/widgets/header.xpm +54 -0
  271. data/samples/widgets/art/widgets/hyperlnk.xpm +54 -0
  272. data/samples/widgets/art/widgets/listbook.xpm +54 -0
  273. data/samples/widgets/art/widgets/listbox.xpm +54 -0
  274. data/samples/widgets/art/widgets/native.xpm +81 -0
  275. data/samples/widgets/art/widgets/notebook.xpm +54 -0
  276. data/samples/widgets/art/widgets/odcombobox.xpm +54 -0
  277. data/samples/widgets/art/widgets/radiobox.xpm +54 -0
  278. data/samples/widgets/art/widgets/scrolbar.xpm +54 -0
  279. data/samples/widgets/art/widgets/slider.xpm +54 -0
  280. data/samples/widgets/art/widgets/spinbtn.xpm +40 -0
  281. data/samples/widgets/art/widgets/statbmp.xpm +40 -0
  282. data/samples/widgets/art/widgets/statbox.xpm +54 -0
  283. data/samples/widgets/art/widgets/stattext.xpm +54 -0
  284. data/samples/widgets/art/widgets/text.xpm +54 -0
  285. data/samples/widgets/art/widgets/timepick.xpm +207 -0
  286. data/samples/widgets/art/widgets/toggle.xpm +54 -0
  287. data/samples/widgets/art/widgets/toucan.png +0 -0
  288. data/samples/widgets/bmpcombobox.rb +651 -0
  289. data/samples/widgets/button.rb +462 -0
  290. data/samples/widgets/checkbox.rb +211 -0
  291. data/samples/widgets/choice.rb +287 -0
  292. data/samples/widgets/clrpicker.rb +156 -0
  293. data/samples/widgets/combobox.rb +516 -0
  294. data/samples/widgets/datepick.rb +215 -0
  295. data/samples/widgets/dirctrl.rb +265 -0
  296. data/samples/widgets/dirpicker.rb +158 -0
  297. data/samples/widgets/editlbox.rb +122 -0
  298. data/samples/widgets/filectrl.rb +216 -0
  299. data/samples/widgets/filepicker.rb +214 -0
  300. data/samples/widgets/fontpicker.rb +135 -0
  301. data/samples/widgets/gauge.rb +311 -0
  302. data/samples/widgets/headerctrl.rb +236 -0
  303. data/samples/widgets/hyperlink.rb +203 -0
  304. data/samples/widgets/itemcontainer.rb +185 -0
  305. data/samples/widgets/listbox.rb +473 -0
  306. data/samples/widgets/notebook.rb +488 -0
  307. data/samples/widgets/odcombobox.rb +608 -0
  308. data/samples/widgets/radiobox.rb +328 -0
  309. data/samples/widgets/searchctrl.rb +159 -0
  310. data/samples/widgets/slider.rb +594 -0
  311. data/samples/widgets/spinbtn.rb +443 -0
  312. data/samples/widgets/statbmp.rb +130 -0
  313. data/samples/widgets/static.rb +436 -0
  314. data/samples/widgets/textctrl.rb +700 -0
  315. data/samples/widgets/timepick.rb +148 -0
  316. data/samples/widgets/tn_widgets.png +0 -0
  317. data/samples/widgets/toggle.rb +385 -0
  318. data/samples/widgets/widgets.rb +1233 -0
  319. data/samples/xrc/custom_xrc_sample.rb +47 -41
  320. data/samples/xrc/xrc_sample.rb +53 -47
  321. data/tests/media/beep_lo.wav +0 -0
  322. data/tests/test_event_handling.rb +52 -34
  323. data/tests/test_events.rb +7 -0
  324. data/tests/test_item_data.rb +24 -0
  325. data/tests/test_list_ctrl.rb +1 -1
  326. data/tests/test_media_ctrl.rb +38 -0
  327. data/tests/test_menu.rb +69 -0
  328. data/tests/test_pg.rb +27 -0
  329. data/tests/test_richtext.rb +45 -0
  330. data/tests/test_sizer.rb +59 -0
  331. data/tests/test_std_controls.rb +42 -1
  332. data/tests/test_styled_text_ctrl.rb +46 -0
  333. data/tests/test_tree_ctrl.rb +138 -0
  334. data/tests/test_validators.rb +805 -0
  335. data/tests/test_window.rb +12 -0
  336. data/tests/testapp_noframe.rb +1 -1
  337. metadata +121 -139
  338. data/lib/wx/core/choice.rb +0 -14
  339. data/lib/wx/core/combo_ctrl.rb +0 -110
  340. data/rakelib/lib/typemap/grid_client_data.rb +0 -58
  341. data/samples/bigdemo/About.rbw +0 -39
  342. data/samples/bigdemo/ColorPanel.rbw +0 -23
  343. data/samples/bigdemo/GridSimple.rbw +0 -78
  344. data/samples/bigdemo/MDIDemo.rbw +0 -57
  345. data/samples/bigdemo/PopupMenu.rbw +0 -146
  346. data/samples/bigdemo/ShapedWindow.rbw +0 -128
  347. data/samples/bigdemo/Sizers.rbw +0 -541
  348. data/samples/bigdemo/bigdemo.rb +0 -817
  349. data/samples/bigdemo/demoTemplate.rbw +0 -33
  350. data/samples/bigdemo/helpfile.htb +0 -0
  351. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  352. data/samples/bigdemo/icons/Test 015.png +0 -0
  353. data/samples/bigdemo/icons/choice.bmp +0 -0
  354. data/samples/bigdemo/icons/combo.bmp +0 -0
  355. data/samples/bigdemo/icons/combo.xpm +0 -27
  356. data/samples/bigdemo/icons/copy.xpm +0 -25
  357. data/samples/bigdemo/icons/cut.xpm +0 -24
  358. data/samples/bigdemo/icons/gauge.bmp +0 -0
  359. data/samples/bigdemo/icons/gauge.xpm +0 -27
  360. data/samples/bigdemo/icons/help.xpm +0 -25
  361. data/samples/bigdemo/icons/list.bmp +0 -0
  362. data/samples/bigdemo/icons/list.xpm +0 -27
  363. data/samples/bigdemo/icons/mondrian.ico +0 -0
  364. data/samples/bigdemo/icons/mondrian.xpm +0 -44
  365. data/samples/bigdemo/icons/new.xpm +0 -24
  366. data/samples/bigdemo/icons/ogl.ico +0 -0
  367. data/samples/bigdemo/icons/ogl.xpm +0 -45
  368. data/samples/bigdemo/icons/open.xpm +0 -26
  369. data/samples/bigdemo/icons/paste.bmp +0 -0
  370. data/samples/bigdemo/icons/paste.xpm +0 -38
  371. data/samples/bigdemo/icons/pointy.png +0 -0
  372. data/samples/bigdemo/icons/preview.xpm +0 -26
  373. data/samples/bigdemo/icons/print.xpm +0 -26
  374. data/samples/bigdemo/icons/radio.bmp +0 -0
  375. data/samples/bigdemo/icons/radio.xpm +0 -27
  376. data/samples/bigdemo/icons/robert.xpm +0 -415
  377. data/samples/bigdemo/icons/sashtest.ico +0 -0
  378. data/samples/bigdemo/icons/save.xpm +0 -25
  379. data/samples/bigdemo/icons/smiles.bmp +0 -0
  380. data/samples/bigdemo/icons/smiles.xpm +0 -39
  381. data/samples/bigdemo/icons/smiley.ico +0 -0
  382. data/samples/bigdemo/icons/smiley.xpm +0 -42
  383. data/samples/bigdemo/icons/stattext.xpm +0 -24
  384. data/samples/bigdemo/icons/test2.bmp +0 -0
  385. data/samples/bigdemo/icons/test2.png +0 -0
  386. data/samples/bigdemo/icons/test2.xpm +0 -79
  387. data/samples/bigdemo/icons/text.bmp +0 -0
  388. data/samples/bigdemo/icons/text.xpm +0 -27
  389. data/samples/bigdemo/icons/tog1.bmp +0 -0
  390. data/samples/bigdemo/icons/tog1.xpm +0 -38
  391. data/samples/bigdemo/icons/tog2.bmp +0 -0
  392. data/samples/bigdemo/icons/tog2.xpm +0 -38
  393. data/samples/bigdemo/icons/wxruby-128x128.png +0 -0
  394. data/samples/bigdemo/icons/wxwin.ico +0 -0
  395. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  396. data/samples/bigdemo/icons/wxwin16x16.xpm +0 -25
  397. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  398. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  399. data/samples/bigdemo/run.rb +0 -98
  400. data/samples/bigdemo/tips.txt +0 -7
  401. data/samples/bigdemo/utils.rb +0 -20
  402. data/samples/bigdemo/wxArtProvider.rbw +0 -282
  403. data/samples/bigdemo/wxBitmapButton.rbw +0 -65
  404. data/samples/bigdemo/wxButton.rbw +0 -64
  405. data/samples/bigdemo/wxCalendarCtrl.rbw +0 -59
  406. data/samples/bigdemo/wxCheckBox.rbw +0 -50
  407. data/samples/bigdemo/wxCheckListBox.rbw +0 -65
  408. data/samples/bigdemo/wxChoice.rbw +0 -47
  409. data/samples/bigdemo/wxChoicebook.rbw +0 -78
  410. data/samples/bigdemo/wxColourDialog.rbw +0 -33
  411. data/samples/bigdemo/wxComboBox.rbw +0 -77
  412. data/samples/bigdemo/wxCursor.rbw +0 -136
  413. data/samples/bigdemo/wxDialog.rbw +0 -74
  414. data/samples/bigdemo/wxDirDialog.rbw +0 -29
  415. data/samples/bigdemo/wxDragImage.rbw +0 -70
  416. data/samples/bigdemo/wxFileDialog.rbw +0 -37
  417. data/samples/bigdemo/wxFileDialog_Save.rbw +0 -35
  418. data/samples/bigdemo/wxFindReplaceDialog.rbw +0 -82
  419. data/samples/bigdemo/wxFontDialog.rbw +0 -200
  420. data/samples/bigdemo/wxFrame.rbw +0 -53
  421. data/samples/bigdemo/wxGauge.rbw +0 -65
  422. data/samples/bigdemo/wxGenericDirCtrl.rbw +0 -74
  423. data/samples/bigdemo/wxGrid.rbw +0 -66
  424. data/samples/bigdemo/wxHtmlHelpController.rbw +0 -52
  425. data/samples/bigdemo/wxListBox.rbw +0 -140
  426. data/samples/bigdemo/wxListCtrl_virtual.rbw +0 -112
  427. data/samples/bigdemo/wxMDIWindows.rbw +0 -50
  428. data/samples/bigdemo/wxMenu.rbw +0 -247
  429. data/samples/bigdemo/wxMessageDialog.rbw +0 -27
  430. data/samples/bigdemo/wxMiniFrame.rbw +0 -70
  431. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +0 -29
  432. data/samples/bigdemo/wxNotebook.rbw +0 -136
  433. data/samples/bigdemo/wxProgressDialog.rbw +0 -43
  434. data/samples/bigdemo/wxRadioBox.rbw +0 -72
  435. data/samples/bigdemo/wxRadioButton.rbw +0 -125
  436. data/samples/bigdemo/wxSashWindow.rbw +0 -141
  437. data/samples/bigdemo/wxScrolledMessageDialog.rbw +0 -57
  438. data/samples/bigdemo/wxScrolledWindow.rbw +0 -199
  439. data/samples/bigdemo/wxSingleChoiceDialog.rbw +0 -33
  440. data/samples/bigdemo/wxSlider.rbw +0 -42
  441. data/samples/bigdemo/wxSpinButton.rbw +0 -50
  442. data/samples/bigdemo/wxSpinCtrl.rbw +0 -51
  443. data/samples/bigdemo/wxSplitterWindow.rbw +0 -63
  444. data/samples/bigdemo/wxStaticBitmap.rbw +0 -47
  445. data/samples/bigdemo/wxStaticText.rbw +0 -55
  446. data/samples/bigdemo/wxStatusBar.rbw +0 -126
  447. data/samples/bigdemo/wxTextCtrl.rbw +0 -149
  448. data/samples/bigdemo/wxTextEntryDialog.rbw +0 -31
  449. data/samples/bigdemo/wxToggleButton.rbw +0 -49
  450. data/samples/bigdemo/wxToolBar.rbw +0 -131
  451. data/samples/bigdemo/wxTreeCtrl.rbw +0 -191
  452. data/samples/caret/caret.rb +0 -298
  453. data/samples/caret/mondrian.xpm +0 -44
  454. data/samples/controls/books.rb +0 -189
  455. data/samples/controls/choice.xpm +0 -27
  456. data/samples/controls/combo.xpm +0 -27
  457. data/samples/controls/controls.rb +0 -1099
  458. data/samples/controls/gauge.xpm +0 -27
  459. data/samples/controls/list.xpm +0 -27
  460. data/samples/controls/mondrian.ico +0 -0
  461. data/samples/controls/mondrian.xpm +0 -44
  462. data/samples/controls/radio.xpm +0 -27
  463. data/samples/controls/stattext.xpm +0 -24
  464. data/samples/controls/test2.bmp +0 -0
  465. data/samples/controls/text.xpm +0 -27
  466. data/samples/controls/tn_books.png +0 -0
  467. data/samples/controls/tn_controls.png +0 -0
  468. data/samples/etc/choice.rb +0 -87
  469. data/samples/etc/tn_choice.png +0 -0
  470. data/samples/text/mondrian.ico +0 -0
  471. data/samples/text/mondrian.xpm +0 -44
  472. /data/samples/{caret → etc}/tn_caret.png +0 -0
@@ -28,7 +28,12 @@ module WXRuby3
28
28
  visibility: 'protected'
29
29
  # handled; can be suppressed
30
30
  spec.suppress_warning(473, 'wxHeaderCtrl::GetColumn', 'wxHeaderCtrlSimple::GetColumn')
31
- spec.do_not_generate :typedefs, :variables, :enums, :defines, :functions
31
+ # ignore here as already available through HeaderCtrlEvent
32
+ spec.ignore '@.wxHD_ALLOW_REORDER',
33
+ '@.wxHD_ALLOW_HIDE',
34
+ '@.wxHD_BITMAP_ON_RIGHT',
35
+ '@.wxHD_DEFAULT_STYLE'
36
+ spec.do_not_generate :typedefs, :variables, :defines, :functions
32
37
  end
33
38
  end # class HeaderCtrl
34
39
 
@@ -14,6 +14,8 @@ module WXRuby3
14
14
 
15
15
  class HtmlListBox < Window
16
16
 
17
+ include Typemap::ClientData
18
+
17
19
  def setup
18
20
  spec.items << 'wxSimpleHtmlListBox' << 'wxItemContainer'
19
21
  super
@@ -72,47 +74,119 @@ module WXRuby3
72
74
  spec.extend_interface 'wxSimpleHtmlListBox',
73
75
  'virtual wxString GetString(unsigned int n) const',
74
76
  'virtual void SetString(unsigned int n, const wxString &string)'
75
- spec.ignore([ 'wxItemContainer::Append(const wxString &, wxClientData *)',
77
+ spec.ignore([ 'wxItemContainer::Append(const wxString &, void *)',
76
78
  'wxItemContainer::Append(const std::vector< wxString > &)',
77
- 'wxItemContainer::Append(const wxArrayString &, wxClientData **)',
79
+ 'wxItemContainer::Append(const wxArrayString &, void **)',
78
80
  'wxItemContainer::Append(unsigned int, const wxString *)',
79
81
  'wxItemContainer::Append(unsigned int, const wxString *, void **)',
80
82
  'wxItemContainer::Append(unsigned int, const wxString *, wxClientData **)',
81
- 'wxItemContainer::Insert(const wxString &, unsigned int, wxClientData *)',
83
+ 'wxItemContainer::Insert(const wxString &, unsigned int, void *)',
82
84
  'wxItemContainer::Insert(const std::vector< wxString > &)',
83
- 'wxItemContainer::Insert(const wxArrayString &, unsigned int, wxClientData **)',
85
+ 'wxItemContainer::Insert(const wxArrayString &, unsigned int, void **)',
84
86
  'wxItemContainer::Insert(unsigned int, const wxString *, unsigned int)',
85
87
  'wxItemContainer::Insert(unsigned int, const wxString *, unsigned int, void **)',
86
88
  'wxItemContainer::Insert(unsigned int, const wxString *, unsigned int, wxClientData **)',
87
89
  'wxItemContainer::Set(const std::vector< wxString > &)',
88
- 'wxItemContainer::Set(const wxArrayString &, wxClientData **)',
90
+ 'wxItemContainer::Set(const wxArrayString &, void **)',
89
91
  'wxItemContainer::Set(unsigned int, const wxString *)',
90
92
  'wxItemContainer::Set(unsigned int, const wxString *, void **)',
91
93
  'wxItemContainer::Set(unsigned int, const wxString *, wxClientData **)',
92
- 'wxItemContainer::DetachClientObject',
93
- 'wxItemContainer::HasClientObjectData',
94
- 'wxItemContainer::GetClientObject',
95
- 'wxItemContainer::SetClientObject',
94
+ 'wxItemContainer::GetClientData',
95
+ 'wxItemContainer::SetClientData',
96
96
  'wxItemContainer::HasClientUntypedData',
97
97
  'wxItemContainer::Clear'])
98
- spec.ignore([ 'wxItemContainer::Append(const wxArrayString &, void **)',
99
- 'wxItemContainer::Insert(const wxArrayString &, unsigned int, void **)',
100
- 'wxItemContainer::Set(const wxArrayString &, void **)'], ignore_doc: false)
98
+ spec.ignore([ 'wxItemContainer::Append(const wxArrayString &, wxClientData **)',
99
+ 'wxItemContainer::Insert(const wxArrayString &, unsigned int, wxClientData **)',
100
+ 'wxItemContainer::Set(const wxArrayString &, wxClientData **)'], ignore_doc: false)
101
101
  # for doc only
102
102
  spec.map 'void** clientData' => 'Array', swig: false do
103
103
  map_in code: ''
104
104
  end
105
- spec.ignore(%w[wxItemContainer::GetClientData wxItemContainer::SetClientData], ignore_doc: false) # keep docs
106
- # Replace the old Wx definition of this method (which segfaults)
107
- # Only need the setter as we cache data in Ruby and the getter
108
- # therefor can be pure Ruby
109
- spec.add_extend_code('wxSimpleHtmlListBox', <<~__HEREDOC
110
- VALUE set_client_data(int n, VALUE item_data) {
111
- self->SetClientData(n, (void *)item_data);
112
- return item_data;
105
+ # Replace the old Wx definitions of these methods adding
106
+ # proper checks on the data arrays.
107
+ # Also add an item enumerator.
108
+ spec.add_extend_code 'wxSimpleHtmlListBox', <<~__HEREDOC
109
+ VALUE DetachClientObject(unsigned int n)
110
+ {
111
+ VALUE rc = Qnil;
112
+ wxClientData *wxcd = $self->DetachClientObject(n);
113
+ wxRubyClientData *rbcd = wxcd ? dynamic_cast<wxRubyClientData*> (wxcd) : nullptr;
114
+ if (rbcd)
115
+ {
116
+ rc = rbcd->GetData();
117
+ delete rbcd;
113
118
  }
114
- __HEREDOC
115
- )
119
+ return rc;
120
+ }
121
+
122
+ int Append(const wxArrayString &items, VALUE rb_clientData)
123
+ {
124
+ if (TYPE(rb_clientData) != T_ARRAY ||
125
+ static_cast<unsigned int> (RARRAY_LEN(rb_clientData)) != items.GetCount())
126
+ {
127
+ rb_raise(rb_eArgError,
128
+ TYPE(rb_clientData) == T_ARRAY ?
129
+ "expected Array for client_data" :
130
+ "client_data Array needs to be equal in size to items Array");
131
+ }
132
+
133
+ std::unique_ptr<wxClientData*[]> cd_arr = std::make_unique<wxClientData*[]> (RARRAY_LEN(rb_clientData));
134
+ for (int i=0; i<RARRAY_LEN(rb_clientData) ;++i)
135
+ {
136
+ cd_arr[i] = new wxRubyClientData(rb_ary_entry(rb_clientData, i));
137
+ }
138
+ return $self->Append(items, cd_arr.get());
139
+ }
140
+
141
+ int Insert(const wxArrayString &items, unsigned int pos, VALUE rb_clientData)
142
+ {
143
+ if (TYPE(rb_clientData) != T_ARRAY ||
144
+ static_cast<unsigned int> (RARRAY_LEN(rb_clientData)) != items.GetCount())
145
+ {
146
+ rb_raise(rb_eArgError,
147
+ TYPE(rb_clientData) == T_ARRAY ?
148
+ "expected Array for client_data" :
149
+ "client_data Array needs to be equal in size to items Array");
150
+ }
151
+
152
+ std::unique_ptr<wxClientData*[]> cd_arr = std::make_unique<wxClientData*[]> (RARRAY_LEN(rb_clientData));
153
+ for (int i=0; i<RARRAY_LEN(rb_clientData) ;++i)
154
+ {
155
+ cd_arr[i] = new wxRubyClientData(rb_ary_entry(rb_clientData, i));
156
+ }
157
+ return $self->Insert(items, pos, cd_arr.get());
158
+ }
159
+
160
+ void Set(const wxArrayString &items, VALUE rb_clientData)
161
+ {
162
+ if (TYPE(rb_clientData) != T_ARRAY ||
163
+ static_cast<unsigned int> (RARRAY_LEN(rb_clientData)) != items.GetCount())
164
+ {
165
+ rb_raise(rb_eArgError,
166
+ TYPE(rb_clientData) == T_ARRAY ?
167
+ "expected Array for client_data" :
168
+ "client_data Array needs to be equal in size to items Array");
169
+ }
170
+
171
+ std::unique_ptr<wxClientData*[]> cd_arr = std::make_unique<wxClientData*[]> (RARRAY_LEN(rb_clientData));
172
+ for (int i=0; i<RARRAY_LEN(rb_clientData) ;++i)
173
+ {
174
+ cd_arr[i] = new wxRubyClientData(rb_ary_entry(rb_clientData, i));
175
+ }
176
+ $self->Set(items, cd_arr.get());
177
+ }
178
+
179
+ VALUE each_string()
180
+ {
181
+ VALUE rc = Qnil;
182
+ for (unsigned int i=0; i<$self->GetCount() ;++i)
183
+ {
184
+ VALUE rb_s = WXSTR_TO_RSTR($self->GetString(i));
185
+ rc = rb_yield(rb_s);
186
+ }
187
+ return rc;
188
+ }
189
+ __HEREDOC
116
190
  end
117
191
  end # class HtmlListBox
118
192
 
@@ -25,9 +25,12 @@ module WXRuby3
25
25
  spec.ignore('wxIcon::wxIcon(const char *const *)', 'wxIcon::wxIcon(const char[],int,int)')
26
26
  # xml specs incorrectly list this method for MWS while it does not exist anymore
27
27
  spec.ignore('wxIcon::ConvertToDisabled')
28
- unless Config.platform == :mingw
28
+ if Config.platform == :mingw
29
+ spec.ignore 'wxIconBundle::wxIconBundle(const wxString &, WXHINSTANCE)',
30
+ 'wxIconBundle::AddIcon(const wxString&,WXHINSTANCE)',
31
+ 'wxIcon::CreateFromHICON'
32
+ else
29
33
  spec.override_inheritance_chain('wxIcon', %w[wxBitmap wxGDIObject wxObject])
30
- spec.ignore 'wxIconBundle::wxIconBundle(const wxString &, WXHINSTANCE)'
31
34
  end
32
35
  super
33
36
  end
@@ -55,12 +55,11 @@ module WXRuby3
55
55
  (void)self->EditLabel(item);
56
56
  }
57
57
  __HEREDOC
58
- unless Config.instance.features_set?('wxHAS_LISTCTRL_COLUMN_ORDER')
59
- spec.ignore %w[wxListCtrl::GetColumnIndexFromOrder
60
- wxListCtrl::GetColumnOrder
61
- wxListCtrl::GetColumnsOrder
62
- wxListCtrl::SetColumnsOrder]
63
- end
58
+ spec.ignore_unless 'HAS_LISTCTRL_COLUMN_ORDER',
59
+ %w[wxListCtrl::GetColumnIndexFromOrder
60
+ wxListCtrl::GetColumnOrder
61
+ wxListCtrl::GetColumnsOrder
62
+ wxListCtrl::SetColumnsOrder]
64
63
  # these are protected so ignored by default but we want them here
65
64
  spec.regard %w[
66
65
  wxListCtrl::OnGetItemAttr
@@ -28,9 +28,7 @@ module WXRuby3
28
28
  wxLanguageInfo::DescriptionNative
29
29
  wxLanguageInfo::LayoutDirection
30
30
  ]
31
- if Config.instance.features_set?('__WXMSW__')
32
- spec.regard('wxLanguageInfo::WinLang', 'wxLanguageInfo::WinSublang')
33
- end
31
+ spec.ignore_unless('WXMSW', 'wxLanguageInfo::WinLang', 'wxLanguageInfo::WinSublang')
34
32
  end
35
33
  end # class Locale
36
34
 
@@ -14,16 +14,13 @@ module WXRuby3
14
14
 
15
15
  def setup
16
16
  spec.gc_as_object %w[wxLog wxLogChain wxLogInterposer wxLogWindow]
17
- spec.items.concat(%w[wxLogBuffer wxLogChain wxLogGui wxLogStderr wxLogStream wxLogTextCtrl wxLogInterposer wxLogWindow wxLogNull wxLogRecordInfo])
17
+ spec.items.concat(%w[wxLogBuffer wxLogChain wxLogGui wxLogStderr wxLogTextCtrl wxLogInterposer wxLogWindow wxLogNull wxLogRecordInfo])
18
18
  spec.no_proxy(%w[wxLogBuffer wxLogGui wxLogStderr wxLogTextCtrl wxLogWindow])
19
19
  spec.force_proxy(%w[wxLogInterposer])
20
20
  spec.ignore 'wxLog::SetFormatter'
21
21
  spec.regard %w[wxLog::DoLogRecord wxLog::DoLogTextAtLevel wxLog::DoLogText]
22
22
  spec.ignore 'wxLogBuffer::Flush'
23
23
  spec.ignore 'wxLogGui::Flush'
24
- if Config.instance.features_set?('wxUSE_STD_IOSTREAM')
25
- spec.ignore 'wxLogStream'
26
- end
27
24
  # wxLogStderr
28
25
  spec.ignore 'wxLogStderr::wxLogStderr'
29
26
  spec.add_extend_code 'wxLogStderr', <<~__HEREDOC
@@ -16,6 +16,60 @@ module WXRuby3
16
16
 
17
17
  def setup
18
18
  super
19
+ spec.map 'const wxURI&' => 'URI' do
20
+ add_header <<~__CODE
21
+ static VALUE wxRuby_GetRubyURIClass()
22
+ {
23
+ static VALUE rb_cURI = Qnil;
24
+ if (NIL_P(rb_cURI))
25
+ {
26
+ rb_require("uri");
27
+ rb_cURI = rb_const_get(rb_cObject, rb_intern("URI"));
28
+ }
29
+ return rb_cURI;
30
+ }
31
+ static WxRuby_ID to_s_id("to_s");
32
+ __CODE
33
+ map_in temp: 'wxURI tmp', code: <<~__CODE
34
+ if (rb_obj_is_kind_of($input, wxRuby_GetRubyURIClass()))
35
+ {
36
+ VALUE s = rb_funcall($input, to_s_id(), 0);
37
+ tmp = wxURI(RSTR_TO_WXSTR(s));
38
+ $1 = &tmp;
39
+ }
40
+ else
41
+ {
42
+ rb_raise(rb_eArgError, "expected URI for %d", $argnum-1);
43
+ }
44
+ __CODE
45
+ map_typecheck precedence: 'POINTER', code: '$1 = rb_obj_is_kind_of($input, wxRuby_GetRubyURIClass());'
46
+ end
47
+ spec.map 'wxFileOffset' => 'Integer' do
48
+ # we need these inline methods here as we do not want SWIG to preprocess the code
49
+ # as it will do in the type mapping code sections
50
+ add_header_code <<~__CODE
51
+ inline wxFileOffset __ruby2wxFileOffset(VALUE num)
52
+ {
53
+ #ifdef wxHAS_HUGE_FILES
54
+ return static_cast<wxFileOffset> (NUM2LL(num));
55
+ #else
56
+ return static_cast<wxFileOffset> (NUM2LONG(num));
57
+ #endif
58
+ }
59
+ inline VALUE __wxFileOffset2ruby(wxFileOffset offs)
60
+ {
61
+ #ifdef wxHAS_HUGE_FILES
62
+ return LL2NUM(offs);
63
+ #else
64
+ return LONG2NUM(offs);
65
+ #endif
66
+ }
67
+ __CODE
68
+
69
+ map_in code: '$1 = __ruby2wxFileOffset($input);'
70
+ map_out code: '$result = __wxFileOffset2ruby($1);'
71
+ map_typecheck code: '$1 = TYPE($input) == T_FIXNUM;'
72
+ end
19
73
  spec.do_not_generate :variables, :enums, :defines, :functions
20
74
  end
21
75
  end # class MediaCtrl
@@ -85,6 +85,8 @@ module WXRuby3
85
85
  spec.add_swig_code <<~__HEREDOC
86
86
  %markfunc wxMenu "mark_wxMenu";
87
87
  __HEREDOC
88
+ # ignore MSW specific method
89
+ spec.ignore 'wxMenu::MSWCommand'
88
90
  # fix SWIG's problems with const& return value
89
91
  spec.ignore('wxMenu::GetTitle', ignore_doc: false) # keep doc
90
92
  spec.add_extend_code 'wxMenu', <<~__HEREDOC
@@ -92,7 +94,20 @@ module WXRuby3
92
94
  wxString const& title = $self->GetTitle();
93
95
  return &const_cast<wxString&> (title);
94
96
  }
95
- __HEREDOC
97
+
98
+ VALUE each_item()
99
+ {
100
+ VALUE rc = Qnil;
101
+ for (size_t i=0; i<$self->GetMenuItemCount(); ++i)
102
+ {
103
+ wxMenuItem *wx_menu_item = $self->FindItemByPosition(i);
104
+ VALUE rb_menu_item = SWIG_NewPointerObj(SWIG_as_voidptr(wx_menu_item),
105
+ SWIGTYPE_p_wxMenuItem, 0);
106
+ rc = rb_yield(rb_menu_item);
107
+ }
108
+ return rc;
109
+ }
110
+ __HEREDOC
96
111
  super
97
112
  end
98
113
  end # class Menu
@@ -21,11 +21,11 @@ module WXRuby3
21
21
  spec.ignore(%w[wxMenuItem::GetLabel wxMenuItem::GetName wxMenuItem::GetText wxMenuItem::SetText wxMenuItem::GetLabelFromText])
22
22
  # ignore this as there is no implementation anymore
23
23
  spec.ignore 'wxMenuItem::GetAccelFromString'
24
- spec.ignore('wxMenuItem::GetAccel') unless Config.instance.features_set?('wxUSE_ACCEL')
24
+ spec.ignore_unless('USE_ACCEL', 'wxMenuItem::GetAccel')
25
25
  spec.no_proxy 'wxMenuItem::GetAccel'
26
26
  spec.ignore 'wxMenuItem::GetBitmap(bool)' # not portable
27
27
  if Config.instance.wx_version >= '3.3.0'
28
- spec.ignore('wxMenuItem::SetBackgroundColour','wxMenuItem::SetFont','wxMenuItem::SetTextColour') unless Config.instance.features_set?('__WXMSW__')
28
+ spec.ignore_unless('WXMSW', 'wxMenuItem::SetBackgroundColour','wxMenuItem::SetFont','wxMenuItem::SetTextColour')
29
29
  end
30
30
  super
31
31
  end