wxruby3 0.9.0.pre.rc.2 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
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
data/lib/wx/doc/cursor.rb CHANGED
@@ -1,16 +1,24 @@
1
+ # :stopdoc:
2
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
3
+ #
4
+ # This software is released under the MIT license.
5
+ # :startdoc:
1
6
 
2
- class Wx::Cursor
7
+
8
+ class Wx
3
9
 
4
10
  # Searches for an art file with basename 'name' and creates a Cursor if found.
5
11
  # Raises an ArgumentError if not found.
6
12
  # Wx::ArtLocator::find_art is used to look up the art file using ::Kernel#caller_locations to
7
- # determine the values for the 'art_path' and 'art_owner' arguments ('art_path' is set to the
8
- # absolute path to the folder holding the caller's code and 'art_owner' to the basename of the
9
- # caller's source file). The 'art_type' argument is set to <code>:icon</code>.
13
+ # determine the values for the 'art_path' and 'art_section' arguments if not specified here
14
+ # ('art_path' is set to the absolute path to the folder holding the caller's code and 'art_section'
15
+ # to the basename of the caller's source file). The 'art_type' argument is set to <code>:cursor</code>.
10
16
  # @param [String,Symbol] name base name of art file
11
17
  # @param [Wx::BitmapType,nil] bmp_type bitmap type for art file (nil means any supported type)
18
+ # @param [String,nil] art_path base path to look up the art file
19
+ # @param [String,nil] art_section optional owner folder name for art files
12
20
  # @return [Wx::Cursor]
13
21
  # @see Wx::ArtLocator::find_art
14
- def self.Cursor(name, bmp_type = nil); end
22
+ def self.Cursor(name, bmp_type = nil, art_path: nil, art_section: nil); end
15
23
 
16
24
  end
@@ -1,3 +1,9 @@
1
+ # :stopdoc:
2
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
3
+ #
4
+ # This software is released under the MIT license.
5
+ # :startdoc:
6
+
1
7
 
2
8
  module Wx
3
9
 
@@ -0,0 +1,16 @@
1
+ # :stopdoc:
2
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
3
+ #
4
+ # This software is released under the MIT license.
5
+ # :startdoc:
6
+
7
+
8
+ module Wx
9
+
10
+ # Default/Null time (mostly equates to `now`).
11
+ DEFAULT_DATE_TIME = nil
12
+
13
+ # Default/Null time (mostly equates to `now`).
14
+ DefaultDateTime = DEFAULT_DATE_TIME
15
+
16
+ end
data/lib/wx/doc/dc.rb CHANGED
@@ -1,3 +1,9 @@
1
+ # :stopdoc:
2
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
3
+ #
4
+ # This software is released under the MIT license.
5
+ # :startdoc:
6
+
1
7
 
2
8
  module Wx
3
9
  class DC
data/lib/wx/doc/enum.rb CHANGED
@@ -1,7 +1,14 @@
1
+ # :stopdoc:
2
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
3
+ #
4
+ # This software is released under the MIT license.
5
+
6
+
1
7
  ###
2
8
  # wxRuby3 Enum class
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
9
  ###
10
+ # :startdoc:
11
+
5
12
 
6
13
 
7
14
  module Wx
data/lib/wx/doc/event.rb CHANGED
@@ -1,3 +1,9 @@
1
+ # :stopdoc:
2
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
3
+ #
4
+ # This software is released under the MIT license.
5
+ # :startdoc:
6
+
1
7
 
2
8
  module Wx
3
9
 
@@ -21,4 +27,10 @@ module Wx
21
27
 
22
28
  end
23
29
 
30
+ # Find a window with the focus, that is also a descendant of the given window.
31
+ # This is used to determine the window to initially send commands to.
32
+ # @param [Wx::Window] ancestor
33
+ # @return [Wx::Window,nil] descendant window of ancestor with focus
34
+ def self.find_focus_descendant(ancestor) end
35
+
24
36
  end
@@ -1,3 +1,9 @@
1
+ # :stopdoc:
2
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
3
+ #
4
+ # This software is released under the MIT license.
5
+ # :startdoc:
6
+
1
7
 
2
8
  module Wx
3
9
 
@@ -0,0 +1,13 @@
1
+ # :stopdoc:
2
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
3
+ #
4
+ # This software is released under the MIT license.
5
+ # :startdoc:
6
+
7
+
8
+ module Wx
9
+
10
+ # In wxRuby simply an alias for GUIEventLoop.
11
+ EventLoop = GUIEventLoop
12
+
13
+ end
data/lib/wx/doc/events.rb CHANGED
@@ -1,3 +1,9 @@
1
+ # :stopdoc:
2
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
3
+ #
4
+ # This software is released under the MIT license.
5
+ # :startdoc:
6
+
1
7
 
2
8
  module Wx
3
9
 
@@ -1,4 +1,12 @@
1
+ # :stopdoc:
2
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
3
+ #
4
+ # This software is released under the MIT license.
5
+
6
+
1
7
  # Additional event handler methods documentation stubs.
8
+ # :startdoc:
9
+
2
10
 
3
11
 
4
12
  class Wx::EvtHandler
@@ -18,9 +18,9 @@ is available for anyone to look at and use in any way they like. Also, anyone ca
18
18
  and enhancements to the project.
19
19
 
20
20
  Like wxWidgets wxRuby is a cross platform toolkit. This means that the same program will run on multiple platforms
21
- without modification. Currently Supported platforms are Microsoft Windows and Linux or other
22
- unix-like systems with GTK2 or GTK3 libraries. As wxWidgets also has stable releases for Mac OSX and Linux QT platforms
23
- it should not be to hard to support these. Contributions to achieve this are appreciated.
21
+ without modification. Currently Supported platforms are Microsoft Windows, MacOSX and Linux or other
22
+ unix-like systems with GTK2 or GTK3 libraries. Contributions to achieve support for other wxWidgets supported platforms
23
+ are appreciated.
24
24
 
25
25
  Since the programming language is Ruby, wxRuby programs are simple and easy to write and understand. To accomplish the
26
26
  full Ruby experience wxRuby has not ported the wxWidgets API 1 on 1 to Ruby but has made an effort to make the wxRuby
@@ -75,7 +75,7 @@ require 'wx'
75
75
  Wx::App.run { puts 'Hello world!' }
76
76
  ```
77
77
 
78
- As you can there is no obligation to create an instance of the Wx::App class in wxRuby for
78
+ As you can see there is no obligation to create an instance of the Wx::App class in wxRuby for
79
79
  (admittedly extremely) simple applications. Calling the #run class method with a block will suffice.<br>
80
80
  The class method will create an instance of the generic Wx::App class under the hood and use the
81
81
  provided block as the #on_init callback. As the code inside the block returns a false-type value (#puts
@@ -127,8 +127,8 @@ When creating #on_init/#on_exit methods it is important to understand that those
127
127
  with wxWidgets itself). The base Wx::App class actually does not define these methods so it's also not needed (even not possible)
128
128
  to call `super` in the implementation. The wxRuby application class implementation will call the wxWidget OnInit base implementation
129
129
  itself and after successful completion check for the existence of an #on_init method (which could also be 'automagicallly'
130
- created from a block passed to #run) and call that if available or terminate the application if not. For the
131
- exit sequence to executions are similar but reversed (first a possible #on_exit method and than the wxWidgets base OnExit).
130
+ created from a block passed to #run) and call that if available or terminate the application if not. The
131
+ exit sequence of executions are similar but reversed (first a possible #on_exit method and than the wxWidgets base OnExit).
132
132
 
133
133
  What remains though is that for a derived application class it is still not necessary to explicitly create a class instance.
134
134
  Simply calling the #run class method will suffice.
@@ -56,117 +56,118 @@ Currently the following modules have been implemented.
56
56
 
57
57
  ### Core
58
58
 
59
- The core wxRuby package providing the toplevel `Wx` module.
59
+ The core wxRuby package providing the toplevel {Wx} module.
60
60
  This package includes basic classes like:
61
61
 
62
- - `Wx::Object`
63
- - `Wx::EvtHandler`
64
- - `Wx::Event`
65
- - `Wx::CommandEvent`
66
- - `Wx::App`
67
- - `Wx::Window`
68
- - `Wx::NonOwnedWindow`
69
- - `Wx::ToplevelWindow`
70
- - `Wx::Frame`
71
- - `Wx::Dialog`
62
+ - {Wx::Object}
63
+ - {Wx::EvtHandler}
64
+ - {Wx::Event}
65
+ - {Wx::CommandEvent}
66
+ - {Wx::App}
67
+ - {Wx::Window}
68
+ - {Wx::NonOwnedWindow}
69
+ - {Wx::TopLevelWindow}
70
+ - {Wx::Frame}
71
+ - {Wx::Dialog}
72
72
 
73
73
  as well as most common window classes, control/widget classes, event classes, constant and enum definitions
74
74
  and global functions not part of any of the other packages.
75
75
 
76
76
  ### AUI - Advanced User Interface controls and related classes
77
77
 
78
- The wxRuby AUI package providing the `Wx::AUI` module.
78
+ The wxRuby AUI package providing the {Wx::AUI} module.
79
79
  This package includes all classes, constants and enum definitions that are considered part of the
80
80
  wxWidgets AUI framework like:
81
81
 
82
- - `Wx::AUI::AuiManager`
83
- - `Wx::AUI::AuiMDIParentFrame`
84
- - `Wx::AUI::AuiMDIChildFrame`
85
- - `Wx::AUI::AuiMDIClientWindow`
82
+ - {Wx::AUI::AuiManager}
83
+ - {Wx::AUI::AuiMDIParentFrame}
84
+ - {Wx::AUI::AuiMDIChildFrame}
85
+ - {Wx::AUI::AuiMDIClientWindow}
86
86
  - etc
87
87
 
88
88
  ### GRID - Grid control and related classes
89
89
 
90
- The wxRuby GRID package providing the `Wx::GRID` module.
90
+ The wxRuby GRID package providing the {Wx::GRID} module.
91
91
  This package includes all classes, constants and enum definitions that are associated with the
92
92
  wxWidgets wxGrid control like:
93
93
 
94
- - `Wx::GRID::Grid`
95
- - `Wx::GRID::GridTableBase`
96
- - `Wx::GRID::GridCellEditor`
97
- - `Wx::GRID::GridCellRenderer`
98
- - `Wx::GRID::GridEvent`
94
+ - {Wx::GRID::Grid}
95
+ - {Wx::GRID::GridTableBase}
96
+ - {Wx::GRID::GridCellEditor}
97
+ - {Wx::GRID::GridCellRenderer}
98
+ - {Wx::GRID::GridEvent}
99
99
  - etc
100
100
 
101
101
  ### HTML - Html framework classes
102
102
 
103
- The wxRuby HTML package providing the `Wx::HTML` module.
103
+ The wxRuby HTML package providing the {Wx::HTML} module.
104
104
  This package includes all classes, constants and enum definitions that are considered part of the
105
105
  wxWidgets Html framework like:
106
106
 
107
- - `Wx::HTML::HtmlWindow`
108
- - `Wx::HTML::HtmlHelpWindow`
109
- - `Wx::HTML::HtmlHelpFrame`
110
- - `Wx::HTML::HtmlHelpController`
107
+ - {Wx::HTML::HtmlWindow}
108
+ - {Wx::HTML::HtmlHelpWindow}
109
+ - {Wx::HTML::HtmlPrintout}
110
+ - {Wx::HTML::HtmlHelpController}
111
+ - {Wx::HTML::HtmlListBox}
111
112
  - etc
112
113
 
113
114
  ### PG - PropertyGrid control and related classes
114
115
 
115
- The wxRuby PG package providing the `Wx::PG` module.
116
+ The wxRuby PG package providing the {Wx::PG} module.
116
117
  This package includes all classes, constants and enum definitions that are associated with the
117
118
  wxWidgets wxPropertyGrid control like:
118
119
 
119
- - `Wx::PG::PropertyGrid`
120
- - `Wx::PG::PropertyGridManager`
121
- - `Wx::PG::PGCell`
122
- - `Wx::PG::PGProperty`
123
- - `Wx::PG::PropertyGridEvent`
120
+ - {Wx::PG::PropertyGrid}
121
+ - {Wx::PG::PropertyGridManager}
122
+ - {Wx::PG::PGCell}
123
+ - {Wx::PG::PGProperty}
124
+ - {Wx::PG::PropertyGridEvent}
124
125
  - etc
125
126
 
126
127
  ### PRT - Printing framework classes
127
128
 
128
- The wxRuby PRT package providing the `Wx::PRT` module.
129
+ The wxRuby PRT package providing the {Wx::PRT} module.
129
130
  This package includes all classes, constants and enum definitions that are considered part of the
130
131
  wxWidgets Printing framework like:
131
132
 
132
- - `Wx::PRT::PreviewFrame`
133
- - `Wx::PRT::Printer`
134
- - `Wx::PRT::PrinterDC`
135
- - `Wx::PRT::PrintDialog`
133
+ - {Wx::PRT::PreviewFrame}
134
+ - {Wx::PRT::Printer}
135
+ - {Wx::PRT::PrinterDC}
136
+ - {Wx::PRT::PrintDialog}
136
137
  - etc
137
138
 
138
139
  ### RBN - Ribbon framework classes
139
140
 
140
- The wxRuby RBN package providing the `Wx::RBN` module.
141
+ The wxRuby RBN package providing the {Wx::RBN} module.
141
142
  This package includes all classes, constants and enum definitions that are considered part of the
142
143
  wxWidgets Ribbon framework like:
143
144
 
144
- - `Wx::RBN::RibbonControl`
145
- - `Wx::RBN::RibbonGallery`
146
- - `Wx::RBN::RibbonPanel`
147
- - `Wx::RBN::RibbonPage`
148
- - `Wx::RBN::RibbonBar`
145
+ - {Wx::RBN::RibbonControl}
146
+ - {Wx::RBN::RibbonGallery}
147
+ - {Wx::RBN::RibbonPanel}
148
+ - {Wx::RBN::RibbonPage}
149
+ - {Wx::RBN::RibbonBar}
149
150
  - etc
150
151
 
151
152
  ### RTC - RichText control and related classes
152
153
 
153
- The wxRuby RTC package providing the `Wx::RTC` module.
154
+ The wxRuby RTC package providing the {Wx::RTC} module.
154
155
  This package includes all classes, constants and enum definitions that are associated with the
155
156
  wxWidgets wxRichTextCtrl control like:
156
157
 
157
- - `Wx::RTC::RichTextCtrl`
158
- - `Wx::RTC::RichTextEvent`
159
- - `Wx::RTC::RichTextBuffer`
158
+ - {Wx::RTC::RichTextCtrl}
159
+ - {Wx::RTC::RichTextEvent}
160
+ - {Wx::RTC::RichTextBuffer}
160
161
  - etc
161
162
 
162
163
  ### STC - StyledText control and related classes
163
164
 
164
- The wxRuby STC package providing the `Wx::STC` module.
165
+ The wxRuby STC package providing the {Wx::STC} module.
165
166
  This package includes all classes, constants and enum definitions that are associated with the
166
167
  wxWidgets wxStyledTextCtrl control (Scintilla integration) like:
167
168
 
168
- - `Wx::STC::StyledTextCtrl`
169
- - `Wx::STC::StyledTextEvent`
169
+ - {Wx::STC::StyledTextCtrl}
170
+ - {Wx::STC::StyledTextEvent}
170
171
 
171
172
  ## Feature dependencies
172
173
 
@@ -76,7 +76,7 @@ As mentioned above the wxWidgets GUI framework resources will only be fully init
76
76
  starts. Likewise the framework resources will be de-initialized (deleted) after `#on_exit` method ends which means that
77
77
  your application should not attempt to access any of these resources (windows, fonts, colours etc.) after that moment.
78
78
 
79
- Also, largely because of the way the wxWidgets framework is designed but also because of that way this meshes with Ruby
79
+ Also, largely because of the way the wxWidgets framework is designed but also because of the way this meshes with Ruby
80
80
  GC, there is no safe way to re-initialize the framework after an application instance ends it run. This means you
81
81
  **cannot** safely attempt to start another application instance after a previous (first) one has ended.
82
82
 
@@ -120,7 +120,7 @@ therefor provides special support to ease handling the destruction of these. See
120
120
  One of the trickier things to handle correctly in the kind of native extensions like wxRuby is maintaining object
121
121
  identities i.e. keeping native instances synced with their Ruby wrapper counter parts.
122
122
 
123
- Whenever a native extension is allowed to call back into Ruby space we encounter the problem the we need to map any
123
+ Whenever a native extension is allowed to call back into Ruby space we encounter the problem that we need to map any
124
124
  native object data provided for the call to the right Ruby types and when necessary to the right Ruby instance (object
125
125
  identity).
126
126
 
@@ -131,8 +131,8 @@ passing them on to Ruby space.
131
131
  For a lot of other objects though it is essential to not only map to the right **most derived** class type but also to
132
132
  the exact Ruby instance which was originally instantiated as wrapper for the native object if any exists (in case no
133
133
  Ruby instance existed yet a new instance of the correct **most derived** class should be instantiated at that point).
134
- The reason this is important is 1. because the Ruby instance may have been used to identify, link to or otherwise
135
- reference other data and/or functionality related to that specific Ruby/native pair and 2. the Ruby instance could
134
+ The reason this is important is **1.** because the Ruby instance may have been used to identify, link to or otherwise
135
+ reference other data and/or functionality related to that specific Ruby/native pair and **2.** the Ruby instance could
136
136
  contain data elements (instance variables) related to that specific Ruby/native pair.<br>
137
137
  In the case of wxRuby Window instance for example it is common to derive custom Window classes with custom behaviour and
138
138
  corresponding instance variables that drive that behaviour. When an event handler or an overloaded native method is passed
@@ -155,11 +155,12 @@ There are however quite a lot of wrapped native objects in wxRuby for which *obj
155
155
  object tracking has been disabled for their classes. This means these kind of classes/object should **not** be derived from
156
156
  (if even possible and/or useful) to add functionality/information or their identity used as key to link other information.<br>
157
157
  These classes include:
158
- - classes considered POD types like Wx::Size, Wx::Point, Wx::RealPoint, Wx::Rect, Wx::GBSpan, Wx::GBPosition, Wx::BusyInfoFlags,
158
+ * classes considered POD types like Wx::Size, Wx::Point, Wx::RealPoint, Wx::Rect, Wx::GBSpan, Wx::GBPosition, Wx::BusyInfoFlags,
159
159
  Wx::AboutDialogInfo
160
- - final non-instantiatable classes like the Wx::DC (Device Context) class family, Wx::GraphicsContext, Wx::WindowsDisabler,
160
+ * final non-instantiatable classes like the Wx::DC (Device Context) class family, Wx::GraphicsContext, Wx::WindowsDisabler,
161
161
  Wx::EventBlocker, Wx::BusyInfo
162
- - classes with native singleton objects like Wx::Clipboard
163
- - the reference counted GDI objects like Wx::Pen, Wx::Brush, Wx::Colour, Wx::Cursor, Wx::Bitmap, Wx::Icon
162
+ * classes with native singleton objects like Wx::Clipboard
163
+ * the reference counted GDI objects like Wx::Pen, Wx::Brush, Wx::Colour, Wx::Cursor, Wx::Bitmap, Wx::Icon and similar
164
+ reference counted objects like Wx::Font
164
165
 
165
166
  The reference documentation will note untracked object classes.
@@ -15,8 +15,9 @@ Instead wxRuby offers a dynamic solution that is just as easy to use and even of
15
15
  ## Event handlers
16
16
 
17
17
  Instead of the `EVT_XXX` event handler declaration macros used in wxWidgets wxRuby provides similarly named event handler
18
- definition methods for each of the known event declarations which are inherited by **all** classes derived from `Wx::EvtHandler`
19
- (which includes all window classes, the `Wx::App` class and `Wx::Timer` as well as various other classes).<br>
18
+ definition methods for each of the known event declarations which are inherited by **all** classes derived from {Wx::
19
+ EvtHandler}
20
+ (which includes all window classes, the {Wx::App} class and {Wx::Timer} as well as various other classes).<br>
20
21
 
21
22
  Naming is (mostly) identical but rubified. So `EVT_MENU` becomes `evt_menu`, `EVT_IDLE` becomes `evt_idle`, `EVT_UPDATE_UI`
22
23
  becomes `evt_update_ui` etc.
@@ -27,7 +28,7 @@ Like the event handler macros some of these methods require a single (window) id
27
28
 
28
29
  Event handler setup is typically something done during the initialization of an event handler object (like a window) but
29
30
  this is not required. As all event handlers are assigned dynamically in wxRuby you can setup (some) event handlers at a
30
- later moment. You could also disconnect earlier activated handlers at any time (see `Wx::EvtHandler#disconnect`).
31
+ later moment. You could also disconnect earlier activated handlers at any time (see {Wx::EvtHandler#disconnect}).
31
32
 
32
33
  In case of some frame class `MyForm` including a menu a wxWidgets static event handling table like:
33
34
 
@@ -96,7 +97,7 @@ will take care of checking and handling method arity.
96
97
 
97
98
  Custom event definitions are fully supported in wxRuby including the definition of new event types.
98
99
 
99
- New event classes can be registered with `Wx::EvtHandler#register_class` which returns the new event type for the event
100
+ New event classes can be registered with {Wx::EvtHandler#register_class} which returns the new event type for the event
100
101
  class like this:
101
102
 
102
103
  ```ruby
@@ -125,27 +126,27 @@ Check the reference documentation [here](https://mcorino.github.io/wxRuby3/Wx/Ev
125
126
 
126
127
  ## Event processing
127
128
 
128
- In wxRuby overruling the normal chain of event handling has been limited to being able to override the default
129
- `Wx::EvtHandler#try_before` and `Wx::EvtHandler#try_after` methods. These are the advised interception points for events
129
+ In wxRuby overruling the normal chain of event handling has been limited to being able to override the default
130
+ {Wx::EvtHandler#try_before} and {Wx::EvtHandler#try_after} methods. These are the advised interception points for events
130
131
  when you really need to do this.<br>
131
- Overriding `Wx::EvtHandler#process_event` is not considered to be efficient (or desired)
132
+ Overriding {Wx::EvtHandler#process_event} is not considered to be efficient (or desired)
132
133
  for wxRuby applications and has therefor been blocked.
133
134
 
134
135
  ## Event insertion
135
136
 
136
- Use of `Wx::EvtHandler#process_event` or `Wx::EvtHandler#queue_event` and `Wx::EvtHandler#add_pending_event` in wxRuby to
137
+ Use of {Wx::EvtHandler#process_event} or {Wx::EvtHandler#queue_event} and {Wx::EvtHandler#add_pending_event} in wxRuby to
137
138
  trigger event processing of user generated (possibly custom) events is fully supported.
138
139
 
139
- As with wxWidgets `Wx::EvtHandler#process_event` will trigger immediate processing of the given event, not returning before
140
+ As with wxWidgets {Wx::EvtHandler#process_event} will trigger immediate processing of the given event, not returning before
140
141
  this has finished.<br>
141
- `Wx::EvtHandler#queue_event` and `Wx::EvtHandler#add_pending_event` on the other hand will post (append) the given event
142
+ {Wx::EvtHandler#queue_event} and {Wx::EvtHandler#add_pending_event} on the other hand will post (append) the given event
142
143
  to the event queue and return immediately after that is done. The event will than be processed after any other events in
143
144
  the queue. Unlike in wxWidgets in wxRuby there is no practical difference between `queue_event` and `add_pending_event`.
144
145
 
145
146
  ## Asynchronous execution
146
147
 
147
- In addition to `Wx::EvtHandler#queue_event` and `Wx::EvtHandler#add_pending_event` to trigger asynchronous processing
148
- wxRuby also supports `Wx::EvtHandler#call_after`.
148
+ In addition to {Wx::EvtHandler#queue_event} and {Wx::EvtHandler#add_pending_event} to trigger asynchronous processing
149
+ wxRuby also supports {Wx::EvtHandler#call_after}.
149
150
 
150
151
  This method provides the means to trigger asynchronous execution of arbitrary code and because it has been rubified is
151
152
  easy and powerful to use. Like with event handler definition this method accepts a `Symbol` or `String` (identifying a
@@ -164,3 +165,27 @@ evt_handler.call_after(->(txt) { Wx.log_info(txt) }, "Hello")
164
165
  # async call of block
165
166
  evt_handler.call_after('Call nr. %d', 1) { |fmt, num| Wx.log_info(fmt, num) }
166
167
  ```
168
+
169
+ ## Event life cycles!
170
+
171
+ Like in C++ the wxRuby Event objects passed to the event handlers are (in general) references to **temporary** objects
172
+ which are only safe to access within the execution scope of the event handler that received the reference.
173
+ If you *need* (really?) to store a reference to such an object do so to a cloned version (see {Wx::Event#clone}) and **not**
174
+ to the original object otherwise you **will** run into 'Object already deleted' exceptions.
175
+
176
+ Only user defined events instantiated in Ruby code (or cloned Event objects) will be subject to Ruby's normal life cycle
177
+ rules (GC).
178
+ This means that when you instantiate a user defined event and pass it to {Wx::EvtHandler#process_event} it would be possible
179
+ to directly store the reference to such an Event object passed to it's event handler. You have to **know** for sure though
180
+ (see below). So, in case of doubt (or to be safe) use {Wx::Event#clone}.
181
+
182
+ Another 'feature' to be aware of is the fact that when passing an (user instantiated) Event object to {Wx::
183
+ EvtHandler#queue_event}
184
+ or {Wx::EvtHandler#add_pending_event} the Ruby event instance is unlinked from it's C++ counterpart (or in the case of user
185
+ defined events a cloned instance is associated with it's C++ counterpart) before being queued and the C++ side now takes ownership
186
+ (and will delete the Event object when handled).
187
+ As a result this means that even in the case of a user defined Event object any event handler triggered by a asynchronously
188
+ processed event will be handling a temporary Event object.
189
+ Additionally this also means that any Event object passed to {Wx::EvtHandler#queue_event} or {Wx::
190
+ EvtHandler#add_pending_event}
191
+ is essentially invalidated after these methods return and should not be referenced anymore.
@@ -19,13 +19,13 @@ Wx::Frame.new(nil, -1, 'title', Wx::Point.new(0,0), Wx::Size.new(500,400))
19
19
  which starts to feel awkward to specify what are in essence just pairs of integers.
20
20
 
21
21
  To provide a simpler, more compact and more Ruby-like, alternative the wxRuby API therefor supports specifying arrays
22
- of integer (or float in case of Wx::RealPoint) pairs in (almost) all cases where `Wx::Size` or `Wx::Point`
23
- (or Wx::RealPoint) is expected. So the following code is equivalent to the previous code:
22
+ of integer (or float in case of {Wx::RealPoint}) pairs in (almost) all cases where {Wx::Size} or {Wx::Point}
23
+ (or {Wx::RealPoint}) is expected. So the following code is equivalent to the previous code:
24
24
  ```ruby
25
25
  Wx::Frame.new(nil, -1, 'title', [0,0], [500,400])
26
26
  ```
27
27
 
28
- In addition `Wx::Size`, `Wx::Point` and `Wx::RealPoint` support parallel assignment semantics such that you can write code like
28
+ In addition {Wx::Size}, {Wx::Point} and {Wx::RealPoint} support parallel assignment semantics such that you can write code like
29
29
  ```ruby
30
30
  win.paint do | dc |
31
31
  # ...
@@ -47,12 +47,12 @@ instead of
47
47
  Instances of these classes can also be converted (back) to arrays with their `#to_ary` methods.
48
48
 
49
49
  Lastly wxRuby also extends the standard Ruby Array class with conversion methods to explicitly convert
50
- arrays to `Wx::Size`, `Wx::Point` or `Wx::RealPoint`; respectively the `#to_size`, `#to_point` and `#to_real_point`
50
+ arrays to {Wx::Size}, {Wx::Point} or {Wx::RealPoint}; respectively the `#to_size`, `#to_point` and `#to_real_point`
51
51
  methods.
52
52
 
53
53
  ## Areas (Wx::Rect)
54
54
 
55
- Like `Wx::Size` and `Wx::Point` wxRuby supports parallel assignment for `Wx::Rect` such that you can write code like
55
+ Like {Wx::Size} and {Wx::Point} wxRuby supports parallel assignment for {Wx::Rect} such that you can write code like
56
56
  ```ruby
57
57
  x, y, width, height = win.get_client_rect
58
58
  ```
@@ -21,7 +21,7 @@ For the wxRuby API similar support has been achieved for various much used argum
21
21
 
22
22
  ## Colour
23
23
 
24
- Wherever a `Wx::Colour` object is expected as an argument wxRuby supports the specification of `String` or `Symbol`
24
+ Wherever a {Wx::Colour} object is expected as an argument wxRuby supports the specification of `String` or `Symbol`
25
25
  values as a developer friendly alternative. This way the following code is equivalent:
26
26
 
27
27
  ```ruby
@@ -37,7 +37,7 @@ pen.set_colour(:CYAN)
37
37
 
38
38
  ## Font
39
39
 
40
- Wherever a `Wx::Font` object is expected as an argument wxRuby supports the specification of a `Wx::FontInfo` object.
40
+ Wherever a {Wx::Font} object is expected as an argument wxRuby supports the specification of a {Wx::FontInfo} object.
41
41
  This way the following code is equivalent:
42
42
 
43
43
  ```ruby
@@ -15,7 +15,7 @@ your own Ruby application code.
15
15
 
16
16
  Any exceptions raised from wxRuby wrapper code signal coding errors that need to be rectified.
17
17
 
18
- As far as handling application code exceptions is concerned the same advice applies as for wxWidgets itself; do **not**
18
+ As far as handling application code exceptions is concerned the same advice applies as for wxWidgets itself; do **NOT**
19
19
  let exceptions escape your event handlers meaning that if you can reasonably expect application code to raise exceptions
20
20
  you should make sure to catch any such exceptions within the context of the event handler like:
21
21
 
@@ -50,5 +50,5 @@ end
50
50
 
51
51
  In wxRuby event handler code is executed in an exception safe way which will capture any leaking exceptions. As wxRuby
52
52
  however has no idea why this exception was raised and how to handle it, the result will be an exit of the main event loop
53
- of the running `Wx::App` instance and re-raising the exception to be handled by Ruby like any unhandled application
53
+ of the running {Wx::App} instance and re-raising the exception to be handled by Ruby like any unhandled application
54
54
  exception.
@@ -18,8 +18,8 @@ Art that is part of the application's design will preferably be stored with the
18
18
  is not standard for this nor is there any standard support for locating those files from the application
19
19
  code like there is for `require`-s of other code modules.
20
20
 
21
- The wxRuby framework provides a convenience module `Wx::ArtLocator` to assist in that respect.
22
- Wx::ArtLocator aims on the one side to standardize folder structures for storing art files and on the
21
+ The wxRuby framework provides a convenience module {Wx::ArtLocator} to assist in that respect.
22
+ {Wx::ArtLocator} aims on the one side to standardize folder structures for storing art files and on the
23
23
  other side to provide runtime support for locating those files from code.
24
24
 
25
25
  The main locator method provided is:
@@ -63,41 +63,47 @@ The first location can be skipped by specifying `nil` for 'art_type'.
63
63
 
64
64
  ## Bitmap types
65
65
 
66
- Based on platform and specified '<art_type>' (and optionally a specific Wx::BitmapType) art files with a specific
66
+ Based on platform and specified '<art_type>' (and optionally a specific {Wx::BitmapType}) art files with a specific
67
67
  range of extensions will be tested in a specific order.
68
68
  For example for locating an `:icon` (<art_type>) on platform 'WXGTK' the locator will test the preferred extension
69
69
  '.xpm' followed by any of supported extensions of all other supported bitmap types.
70
70
  For platform 'WXMSW' however the same search would test only the extensions '.ico' and '.xpm' (in that
71
71
  order).
72
- Specifying a specific Wx::BitmapType for a search will restrict the search to testing only the extensions supported
73
- for the specified Wx::BitmapType.
72
+ Specifying a specific {Wx::BitmapType} for a search will restrict the search to testing only the extensions supported
73
+ for the specified {Wx::BitmapType}.
74
74
 
75
75
  ## Search paths
76
76
 
77
- To prevent having to specify base search path for every location request Wx::Locator provides 2 options.
77
+ To prevent having to specify base search path for every location request {Wx::Locator} provides 2 options.
78
78
 
79
79
  When an explicit specification of a base search path ('art_path) is omitted from a location request the locator
80
80
  will determine one by using `Kernel#caller_locations` to extract the absolute path for the source file containing
81
81
  the caller's code. The result of `File.dirname(src_path)` is than used as base search path.
82
82
  If 'art_section' is also omitted the result of `File.basename(src_path, '.*')` will be used instead.
83
83
 
84
- This means that calling `Wx::ArtLocator.find_art` from some code in file `/some/lib/path/to/ruby/code.rb` without
84
+ This means that calling {Wx::ArtLocator.find_art} from some code in file `/some/lib/path/to/ruby/code.rb` without
85
85
  specifying both 'art_path' and 'art_section' would result in looking for an art file with the base search path
86
86
  being `/some/lib/path/to/ruby/` and using `code` as 'art_section'.
87
87
 
88
- It is also possible to add 'application global' search paths with the method `Wx::ArtLocator.add_search_path`.
88
+ It is also possible to add 'application global' search paths with the method {Wx::ArtLocator.add_search_path}.
89
89
  Search paths added in this way will be tested after failing to find any matching art file at the initial 'art_path'
90
90
  location. The same location steps apply to these search paths as with the initial 'art_path' (see above).
91
91
 
92
92
  ## Convenience methods
93
93
 
94
- Based on the Wx::ArtLocator implementation wxRuby additionally provides a number of convenience methods to
95
- easily create Icons, Bitmaps, Cursors and Images from simple ids (symbols).
94
+ Based on the {Wx::ArtLocator} implementation wxRuby additionally provides a number of convenience methods to
95
+ easily create Icons, Bitmaps, Cursors and Images from simple ids (symbols):
96
+
97
+ - {Wx.Bitmap}
98
+ - {Wx.Cursor}
99
+ - {Wx.Icon}
100
+ - {Wx.Image}
101
+
96
102
  These methods mimic the ease of use of the `wxICON` and `wxBITMAP` macros used with C++ wxWidgets such that
97
- creating an Wx::Icon instance could be as easy as:
103
+ creating an {Wx::Icon} instance could be as easy as:
98
104
 
99
105
  ```ruby
100
- frame.icon = Wx::Icon(:sample)
106
+ frame.icon = Wx.Icon(:sample)
101
107
  ```
102
108
 
103
109
  As these methods apply the same search path 'automagic' as `Wx::ArtLocator.find_art` (see [Search paths](#Search-paths))