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
@@ -16,29 +16,204 @@ module WXRuby3
16
16
 
17
17
  def setup
18
18
  super
19
- # make Ruby director and wrappers use custom implementation
20
- spec.use_class_implementation('wxValidator', 'wxRubyValidator')
21
- # provide custom wxRuby derivative of validator
22
- spec.add_header_code <<~__HEREDOC
23
- class wxRubyValidator : public wxValidator
24
- {
25
- public:
26
- wxRubyValidator () : wxValidator () {}
27
- virtual ~wxRubyValidator ()
19
+ if spec.module_name == 'wxValidator'
20
+ # make Ruby director and wrappers use custom implementation
21
+ spec.use_class_implementation('wxValidator', 'wxRubyValidator')
22
+ # provide custom wxRuby derivative of validator
23
+ spec.add_header_code <<~__HEREDOC
24
+ #include "wxruby-Validator.h"
25
+
26
+ WxRuby_ID wxRubyValidator::do_transfer_from_window_id("do_transfer_from_window");
27
+ WxRuby_ID wxRubyValidator::do_transfer_to_window_id("do_transfer_to_window");
28
+ WxRuby_ID wxRubyValidator::clone_id("clone");
29
+
30
+ wxRubyValidator::wxRubyValidator ()
31
+ : wxValidator ()
32
+ , wxRubyValidatorBinding ()
33
+ {}
34
+ wxRubyValidator::wxRubyValidator (const wxRubyValidator& v)
35
+ : wxValidator (v)
36
+ , wxRubyValidatorBinding (v)
37
+ {}
38
+ wxRubyValidator::~wxRubyValidator ()
28
39
  {
29
40
  wxRuby_ReleaseEvtHandlerProcs(this);
30
- }
31
-
32
- // these two methods are noops in wxRuby (since we do not support C++ data transfer there)
33
- // but we want them to always return true to prevent wxWidgets from complaining
34
- bool TransferFromWindow () override { return true; }
35
- bool TransferToWindow () override { return true; }
36
- };
37
- __HEREDOC
38
- # will be provided as a pure Ruby method
39
- spec.ignore 'wxValidator::Clone'
40
- # not provided in Ruby
41
- spec.ignore %w[wxValidator::TransferFromWindow wxValidator::TransferToWindow]
41
+ }
42
+
43
+ wxObject* wxRubyValidator::Clone() const
44
+ {
45
+ bool ex_caught = false;
46
+ VALUE self = const_cast<wxRubyValidator*> (this)->get_self();
47
+ VALUE rc = wxRuby_Funcall(ex_caught, self, clone_id(), 0);
48
+ if (ex_caught)
49
+ {
50
+ throw Swig::DirectorRubyException(rc, self, clone_id());
51
+ }
52
+ void *ptr;
53
+ int res = SWIG_ConvertPtr(rc, &ptr, SWIGTYPE_p_wxValidator, 0);
54
+ if (!SWIG_IsOK(res))
55
+ {
56
+ Swig::DirectorTypeMismatchException::raise(self, "clone", SWIG_ErrorType(SWIG_ArgError(res)), "in output value of type '""Wx::Validator *""'");
57
+ }
58
+ return reinterpret_cast< wxValidator * >(ptr);
59
+ }
60
+
61
+ void wxRubyValidator::SetWindow(wxWindow *win)
62
+ {
63
+ this->wxValidator::SetWindow(win);
64
+ VALUE self = this->get_self();
65
+ // make sure Ruby does not own this validator instance anymore
66
+ RDATA(self)->dfree = SWIG_RubyRemoveTracking;
67
+ }
68
+
69
+ bool wxRubyValidator::TransferFromWindow()
70
+ {
71
+ return this->DoOnTransferFromWindow(this->DoTransferFromWindow());
72
+ }
73
+ bool wxRubyValidator::TransferToWindow()
74
+ {
75
+ return this->DoTransferToWindow(this->DoOnTransferToWindow());
76
+ }
77
+
78
+ VALUE wxRubyValidator::DoTransferFromWindow()
79
+ {
80
+ bool ex_caught = false;
81
+ VALUE rc = wxRuby_Funcall(ex_caught, this->get_self(), do_transfer_from_window_id(), 0);
82
+ if (ex_caught)
83
+ {
84
+ throw Swig::DirectorRubyException(rc, this->get_self(), do_transfer_from_window_id());
85
+ }
86
+ return rc;
87
+ }
88
+ bool wxRubyValidator::DoTransferToWindow(VALUE data)
89
+ {
90
+ bool ex_caught = false;
91
+ VALUE rc = wxRuby_Funcall(ex_caught, this->get_self(), do_transfer_to_window_id(), 1, data);
92
+ if (ex_caught)
93
+ {
94
+ throw Swig::DirectorRubyException(rc, this->get_self(), do_transfer_to_window_id());
95
+ }
96
+ return (rc == Qtrue);
97
+ }
98
+
99
+ VALUE wxRubyValidator::get_self()
100
+ {
101
+ if (NIL_P(this->self_))
102
+ {
103
+ this->self_ = SWIG_RubyInstanceFor(this);
104
+ }
105
+ return this->self_;
106
+ }
107
+
108
+ WxRuby_ID wxRubyValidatorBinding::do_on_transfer_from_window_id("do_on_transfer_from_window");
109
+ WxRuby_ID wxRubyValidatorBinding::do_on_transfer_to_window_id("do_on_transfer_to_window");
110
+ WxRuby_ID wxRubyValidatorBinding::call_id("call");
111
+
112
+ bool wxRubyValidatorBinding::DoOnTransferFromWindow(VALUE data)
113
+ {
114
+ bool ex_caught = false;
115
+ VALUE rc = wxRuby_Funcall(ex_caught, this->get_self(), do_on_transfer_from_window_id(), 1, data);
116
+ if (ex_caught)
117
+ {
118
+ throw Swig::DirectorRubyException(rc, this->get_self(), do_on_transfer_from_window_id());
119
+ }
120
+ return (rc == Qtrue);
121
+ }
122
+ VALUE wxRubyValidatorBinding::DoOnTransferToWindow()
123
+ {
124
+ bool ex_caught = false;
125
+ VALUE rc = wxRuby_Funcall(ex_caught, this->get_self(), do_on_transfer_to_window_id(), 0);
126
+ if (ex_caught)
127
+ {
128
+ throw Swig::DirectorRubyException(rc, this->get_self(), do_on_transfer_to_window_id());
129
+ }
130
+ return rc;
131
+ }
132
+
133
+ bool wxRubyValidatorBinding::OnTransferFromWindow(VALUE data)
134
+ {
135
+ if (!NIL_P(this->on_transfer_from_win_proc_))
136
+ {
137
+ bool ex_caught = false;
138
+ VALUE rc = wxRuby_Funcall(ex_caught, this->on_transfer_from_win_proc_, call_id(), 1, data);
139
+ if (ex_caught)
140
+ {
141
+ throw Swig::DirectorRubyException(rc, this->on_transfer_from_win_proc_, call_id());
142
+ }
143
+ }
144
+ return true;
145
+ }
146
+ VALUE wxRubyValidatorBinding::OnTransferToWindow()
147
+ {
148
+ if (!NIL_P(this->on_transfer_to_win_proc_))
149
+ {
150
+ bool ex_caught = false;
151
+ VALUE rc = wxRuby_Funcall(ex_caught, this->on_transfer_to_win_proc_, call_id(), 0);
152
+ if (ex_caught)
153
+ {
154
+ throw Swig::DirectorRubyException(rc, this->on_transfer_to_win_proc_, call_id());
155
+ }
156
+ return rc;
157
+ }
158
+ return Qnil;
159
+ }
160
+
161
+ void wxRubyValidatorBinding::CopyBindings(const wxRubyValidatorBinding* val_bind)
162
+ {
163
+ if (val_bind)
164
+ {
165
+ this->on_transfer_from_win_proc_ = val_bind->on_transfer_from_win_proc_;
166
+ this->on_transfer_to_win_proc_ = val_bind->on_transfer_to_win_proc_;
167
+ }
168
+ }
169
+
170
+ static void GC_mark_wxValidator(void* ptr)
171
+ {
172
+ if (ptr)
173
+ {
174
+ wxValidator* vp = reinterpret_cast<wxValidator*> (ptr);
175
+ wxRubyValidator* rbvp = dynamic_cast<wxRubyValidator*> (vp);
176
+ // This might be a pointer to the global constant wxDefaultValidator or one of it's clones
177
+ // which are not wxRubyValidator-s
178
+ if (rbvp) rbvp->GC_Mark();
179
+ }
180
+ }
181
+ __HEREDOC
182
+ spec.add_swig_code '%markfunc wxValidator "GC_mark_wxValidator";'
183
+ # will be provided as a pure Ruby method
184
+ spec.ignore 'wxValidator::Clone', ignore_doc: false
185
+ # add wxRuby specifics
186
+ spec.extend_interface 'wxValidator',
187
+ 'wxValidator(const wxValidator& other)'
188
+ spec.add_extend_code 'wxValidator', <<~__HEREDOC
189
+ void OnTransferFromWindow(VALUE proc)
190
+ {
191
+ dynamic_cast<wxRubyValidatorBinding *>($self)->SetOnTransferFromWindow(proc);
192
+ }
193
+ void OnTransferToWindow(VALUE proc)
194
+ {
195
+ dynamic_cast<wxRubyValidatorBinding *>($self)->SetOnTransferToWindow(proc);
196
+ }
197
+ bool DoOnTransferFromWindow(VALUE data)
198
+ {
199
+ return dynamic_cast<wxRubyValidatorBinding *>($self)->OnTransferFromWindow(data);
200
+ }
201
+ VALUE DoOnTransferToWindow()
202
+ {
203
+ return dynamic_cast<wxRubyValidatorBinding *>($self)->OnTransferToWindow();
204
+ }
205
+ __HEREDOC
206
+ # not provided in Ruby
207
+ spec.ignore %w[wxValidator::TransferFromWindow wxValidator::TransferToWindow wxValidator::SetWindow]
208
+ else
209
+ spec.add_header_code <<~__HEREDOC
210
+ #include "wxruby-ValidatorBinding.h"
211
+ __HEREDOC
212
+ end
213
+ # overrule common typemap for parent arg of Validate
214
+ spec.map 'wxWindow* parent' do
215
+ map_check code: ''
216
+ end
42
217
  end
43
218
  end # class Validator
44
219
 
@@ -227,7 +227,7 @@ module WXRuby3
227
227
  $1 = rb_obj_is_kind_of($input, rb_const_get(mWxPG, var_ColourPropertyValue_id()));
228
228
  __CODE
229
229
  end
230
- if Config.instance.features_set?('wxUSE_LONGLONG')
230
+ if Config.instance.features_set?('USE_LONGLONG')
231
231
  # wxLongLong mapping to be considered before considering 'long' (see typecheck precedence)
232
232
  spec.map 'wxLongLong' => 'Integer' do
233
233
  map_in code: <<~__CODE
@@ -66,9 +66,6 @@ module WXRuby3
66
66
  __CODE
67
67
  end
68
68
  spec.ignore [
69
- 'wxWindow::TransferDataFromWindow',
70
- 'wxWindow::TransferDataToWindow',
71
- 'wxWindow::GetAccessible',
72
69
  'wxWindow::PopEventHandler',
73
70
  'wxWindow::SetConstraints',
74
71
  'wxWindow::GetHandle',
@@ -82,6 +79,9 @@ module WXRuby3
82
79
  'wxWindow::SendIdleEvents',
83
80
  'wxWindow::ClientToScreen(int*,int*)', # no need; prefer the wxPoint version
84
81
  'wxWindow::ScreenToClient(int*,int*)', # no need; prefer the wxPoint version
82
+ # provide (non-virtual) renamed alternatives (prevent Ruby keyword/standard clash)
83
+ 'wxWindow::Raise',
84
+ 'wxWindow::Lower'
85
85
  ]
86
86
  # no real docs and can't find actual examples of usage; ignore
87
87
  spec.ignore 'wxWindow::GetConstraints', 'wxWindow::SetConstraints'
@@ -92,6 +92,15 @@ module WXRuby3
92
92
  map_check code: ''
93
93
  end
94
94
  spec.add_extend_code 'wxWindow', <<~__HEREDOC
95
+ void raise_window()
96
+ {
97
+ $self->Raise();
98
+ }
99
+ void lower_window()
100
+ {
101
+ $self->Lower();
102
+ }
103
+
95
104
  static wxWindow* find_window_by_id(long id, const wxWindow *find_from_parent=0)
96
105
  {
97
106
  return wxWindow::FindWindowById(id, find_from_parent);
@@ -110,10 +119,15 @@ module WXRuby3
110
119
  spec.ignore 'wxWindow::EnableTouchEvents'
111
120
  end
112
121
  if Config.instance.wx_version >= '3.3.0'
113
- spec.ignore('wxWindow::MSWDisableComposited') unless Config.instance.features_set?('__WXMSW__')
122
+ spec.ignore_unless('WXMSW', 'wxWindow::MSWDisableComposited')
123
+ end
124
+ if Config.instance.features_set?('USE_ACCESSIBILITY')
125
+ spec.disown 'wxAccessible *accessible'
126
+ else
127
+ spec.ignore('wxWindow::SetAccessible',
128
+ 'wxWindow::GetAccessible')
114
129
  end
115
- spec.ignore('wxWindow::SetAccessible') unless Config.instance.features_set?('wxUSE_ACCESSIBILITY')
116
- spec.ignore(%w[wxWindow::RegisterHotKey wxWindow::UnregisterHotKey]) unless Config.instance.features_set?('wxUSE_HOTKEY')
130
+ spec.ignore_unless('USE_HOTKEY', %w[wxWindow::RegisterHotKey wxWindow::UnregisterHotKey])
117
131
  spec.ignore('wxWindow::SetSize(int, int)') # not useful as the wxSize variant will also accept an array
118
132
  spec.swig_import %w{
119
133
  swig/classes/include/wxObject.h
@@ -189,7 +203,22 @@ module WXRuby3
189
203
 
190
204
  return do_paint_buffered(self);
191
205
  }
192
- __HEREDOC
206
+
207
+ VALUE each_child()
208
+ {
209
+ const wxWindowList& child_list = self->GetChildren();
210
+ VALUE rc = Qnil;
211
+ wxWindowList::compatibility_iterator node = child_list.GetFirst();
212
+ while (node)
213
+ {
214
+ wxObject *child = node->GetData();
215
+ VALUE rb_child = wxRuby_WrapWxObjectInRuby(child);
216
+ rc = rb_yield(rb_child);
217
+ node = node->GetNext();
218
+ }
219
+ return rc;
220
+ }
221
+ __HEREDOC
193
222
  spec.override_events 'wxWindow', 'EVT_ACTIVATE' => ['EVT_ACTIVATE', 0, 'wxActivateEvent']
194
223
  when 'wxNonOwnedWindow'
195
224
  spec.no_proxy('wxNonOwnedWindow')
@@ -250,9 +279,13 @@ module WXRuby3
250
279
  "#{spec.class_name(citem)}::SetAcceleratorTable",
251
280
  "#{spec.class_name(citem)}::SetBackgroundColour",
252
281
  "#{spec.class_name(citem)}::SetBackgroundStyle",
282
+ "#{spec.class_name(citem)}::HasTransparentBackground",
253
283
  "#{spec.class_name(citem)}::SetCursor",
254
284
  "#{spec.class_name(citem)}::SetFocus",
255
285
  "#{spec.class_name(citem)}::SetFocusFromKbd",
286
+ "#{spec.class_name(citem)}::AcceptsFocus",
287
+ "#{spec.class_name(citem)}::AcceptsFocusRecursively",
288
+ "#{spec.class_name(citem)}::AcceptsFocusFromKeyboard",
256
289
  "#{spec.class_name(citem)}::SetFont",
257
290
  "#{spec.class_name(citem)}::SetForegroundColour",
258
291
  "#{spec.class_name(citem)}::SetHelpText",
@@ -94,7 +94,7 @@ module WXRuby3
94
94
 
95
95
  def each_package(&block)
96
96
  packages.each_value do |pkg|
97
- pkg.each_package(&block) if Config.instance.features_set?(*pkg.required_features)
97
+ pkg.each_package(&block) if Package.full_docs? || Config.instance.features_set?(*pkg.required_features)
98
98
  end
99
99
  end
100
100
 
@@ -269,7 +269,7 @@ module WXRuby3
269
269
  end
270
270
 
271
271
  def handle_item_ignore(defmod, fullname, ignore, ignoredoc)
272
- action = ignore ? 'ignore' : 'regard'
272
+ action = (ignore==false) ? 'regard' : 'ignore'
273
273
  # find the item
274
274
  item = defmod.find_item(fullname)
275
275
  if item
@@ -361,8 +361,8 @@ module WXRuby3
361
361
  # extract the module definitions
362
362
  defmod = Extractor.extract_module(spec.package, spec.module_name, spec.name, spec.items, gendoc: gendoc)
363
363
  # handle ignores
364
- spec.ignores.each_pair do |fullname, ignoredoc|
365
- handle_item_ignore(defmod, fullname, true, ignoredoc)
364
+ spec.ignores.each_pair do |fullname, ignore_spec|
365
+ handle_item_ignore(defmod, fullname, ignore_spec[:ignore], ignore_spec[:ignore_doc])
366
366
  end
367
367
  # handle regards
368
368
  spec.regards.each_pair do |fullname, regarddoc|
@@ -75,14 +75,14 @@ module WXRuby3
75
75
  "self.#{rb_method_name(rb_name || name)}"
76
76
  end
77
77
 
78
- def rb_doc(xml_trans, type_maps)
79
- ovls = all.select {|m| !m.docs_ignored && !m.deprecated }
80
- ovl_docs = ovls.collect { |mo| mo.rb_doc_decl(xml_trans, type_maps) }
81
- ovl_docs.inject({}) do |docs, (name, params, doc)|
78
+ def rb_doc(xml_trans, type_maps, fulldocs=false)
79
+ ovls = all.select {|m| !m.docs_ignored(fulldocs) && !m.deprecated }
80
+ ovl_docs = ovls.collect { |mo| [mo]+mo.rb_doc_decl(xml_trans, type_maps) }
81
+ ovl_docs.inject({}) do |docs, (movl, name, params, doc)|
82
82
  if docs.has_key?(name)
83
- docs[name] << [params, doc]
83
+ docs[name] << [movl, params, doc]
84
84
  else
85
- docs[name] = [[params, doc]]
85
+ docs[name] = [[movl, params, doc]]
86
86
  end
87
87
  docs
88
88
  end
@@ -95,8 +95,9 @@ module WXRuby3
95
95
  params_doc.unlink if params_doc
96
96
  # get brief doc
97
97
  doc = xml_trans.to_doc(@brief_doc, item: self)
98
+ doc << "\n" if @detailed_doc # force empty line (paragraph break) between summary and detail
98
99
  # add detailed doc text without params doc
99
- doc << xml_trans.to_doc(@detailed_doc, item: self, desc: :detail)
100
+ doc << xml_trans.to_doc(@detailed_doc, item: self, desc: :detail) if @detailed_doc
100
101
  # get mapped ruby parameter list
101
102
  params = []
102
103
  mapped_ret_args = nil
@@ -182,7 +182,7 @@ module WXRuby3
182
182
  extract(element) if element
183
183
  end
184
184
 
185
- attr_accessor :name, :rb_name, :ignored, :docs_ignored, :brief_doc, :detailed_doc, :deprecated, :only_for, :items
185
+ attr_accessor :name, :rb_name, :brief_doc, :detailed_doc, :deprecated, :only_for, :items
186
186
 
187
187
  def extra_attributes
188
188
  @extra_attributes ||= {}
@@ -221,8 +221,10 @@ module WXRuby3
221
221
  @detailed_doc = element.xpath('detaileddescription')
222
222
  if (el = @detailed_doc.at_xpath('para/onlyfor'))
223
223
  @only_for = el.text.strip.split(',').collect { |s| s.downcase }
224
- @ignored = @only_for.none? { |s| Config.instance.wx_port == s.to_sym }
225
- @docs_ignored = @ignored
224
+ unless @only_for.empty?
225
+ @ignored = [Config::AnyOf.new(*@only_for.collect { |s| s.upcase })] # transform to feature ids like 'WXGTK'
226
+ @docs_ignored = @ignored
227
+ end
226
228
  end
227
229
  end
228
230
  end
@@ -256,12 +258,39 @@ module WXRuby3
256
258
  end
257
259
  end
258
260
 
261
+ def get_ignore_val(val)
262
+ if val.is_a?(::Array)
263
+ val
264
+ elsif val.is_a?(Config::AnyOf) || val.is_a?(::String)
265
+ [val]
266
+ else
267
+ !!val
268
+ end
269
+ end
270
+ private :get_ignore_val
271
+
259
272
  def ignore(val = true, ignore_doc: nil)
260
- @ignored = !!val
261
- @docs_ignored = ignore_doc.nil? ? @ignored : ignore_doc
273
+ @ignored = get_ignore_val(val)
274
+ @docs_ignored = if ignore_doc.nil?
275
+ @ignored
276
+ else
277
+ get_ignore_val(ignore_doc)
278
+ end
262
279
  self
263
280
  end
264
281
 
282
+ def ignored
283
+ @ignored == true || (@ignored.is_a?(::Array) && !Config.instance.features_set?(*@ignored))
284
+ end
285
+
286
+ def docs_ignored(fulldocs)
287
+ @docs_ignored == true || (!fulldocs && @docs_ignored.is_a?(::Array) && !Config.instance.features_set?(*@docs_ignored))
288
+ end
289
+
290
+ def required_features_doc
291
+ @docs_ignored.is_a?(::Array) ? @docs_ignored : nil
292
+ end
293
+
265
294
  def find(name)
266
295
  # Locate and return an item within this item that has a matching name.
267
296
  # The name string can use a dotted notation to continue the search
@@ -87,7 +87,7 @@ module WXRuby3
87
87
  attr_reader :director, :classdef, :class_spec_name, :class_registry
88
88
 
89
89
  def item_ignored?(item)
90
- @doc_gen ? item.docs_ignored : item.ignored
90
+ @doc_gen ? item.docs_ignored(Director::Package.full_docs?) : item.ignored
91
91
  end
92
92
  private :item_ignored?
93
93
 
@@ -366,7 +366,7 @@ module WXRuby3
366
366
  type_list = [type]
367
367
  type_list << "#{enum_scope}::#{type.split('::').pop}" unless enum_scope.empty?
368
368
  rb_enum_name = if !enum_scope.empty?
369
- "#{enum_scope}::#{rb_wx_name(type.split('::').pop)}"
369
+ "#{rb_wx_name(enum_scope)}::#{rb_wx_name(type.split('::').pop)}"
370
370
  else
371
371
  rb_wx_name(type)
372
372
  end
@@ -482,12 +482,17 @@ module WXRuby3
482
482
  end
483
483
  end
484
484
 
485
+ def item_ignored(item, doc_gen)
486
+ doc_gen ? item.docs_ignored(Director::Package.full_docs?) : item.ignored
487
+ end
488
+ private :item_ignored
489
+
485
490
  def preprocess(enum_maps, doc_gen = false)
486
491
  STDERR.puts "** Preprocessing #{module_name}" if Director.trace?
487
492
  def_items.each do |item|
488
493
  case item
489
494
  when Extractor::ClassDef
490
- if !(doc_gen ? item.docs_ignored : item.ignored) &&
495
+ if !item_ignored(item, doc_gen) &&
491
496
  (!item.is_template? || template_as_class?(item.name)) &&
492
497
  !is_folded_base?(item.name)
493
498
  clsproc = ClassProcessor.new(director, item, doc_gen)
@@ -536,7 +541,7 @@ module WXRuby3
536
541
  errors = []
537
542
  warnings = []
538
543
  def_items.each do |item|
539
- if Extractor::ClassDef === item && !(doc_gen ? item.docs_ignored : item.ignored) &&
544
+ if Extractor::ClassDef === item && !item_ignored(item, doc_gen) &&
540
545
  (!item.is_template? || template_as_class?(item.name)) &&
541
546
  !is_folded_base?(item.name)
542
547
  intf_class_name = if item.is_template? || template_as_class?(item.name)
@@ -47,8 +47,6 @@
47
47
 
48
48
  but take care to not cause undesirable re-entrance when doing it (see {Wx::App#yield} for more details). The simplest way to do it is to use {Wx::WindowDisabler} class as illustrated in the above example.
49
49
  Note that a {Wx::BusyInfo} is always built with the {Wx::STAY_ON_TOP} window style (see {Wx::Frame} window styles for more info).
50
-
51
- ===
52
50
 
53
51
  Category: Common Dialogs
54
52
 
@@ -37,7 +37,5 @@
37
37
  clipboard managers will automatically flush the clipboard after each new piece of data is added, while others
38
38
  will not. The {Wx::Clipboard#flush} function will force the clipboard manager to flush the data.
39
39
 
40
- ===
41
-
42
40
  Category: Clipboard and Drag & Drop
43
41
  @see Wx::DataObject
@@ -13,8 +13,6 @@
13
13
  the cursor for a window, as in X, rather than to set it globally as in MS Windows, although a global
14
14
  {set_cursor} function is also available for MS Windows use.
15
15
 
16
- ===
17
-
18
16
  Category: Graphics Device Interface (GDI)
19
17
  Predefined objects/pointers:
20
18
  - {Wx::NULL_CURSOR}
@@ -0,0 +1,7 @@
1
+ ---
2
+ :wxPanel:
3
+ :detail:
4
+ :pre:
5
+ :simplesect:
6
+ - :pattern: !ruby/regexp /Tab\s+traversal\s+is\s+implemented.*/
7
+ :replace: ''