wxruby3 0.9.0.pre.rc.2 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (705) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +30 -8
  3. data/README.md +3 -3
  4. data/ext/mkrf_conf_srcgem.rb +4 -1
  5. data/ext/wxruby3/include/wxruby-Config.h +953 -0
  6. data/ext/wxruby3/include/wxruby-ScaledDC.h +4 -1
  7. data/ext/wxruby3/include/wxruby-runtime.h +10 -1
  8. data/ext/wxruby3/swig/RubyStockObjects.i +5 -3
  9. data/ext/wxruby3/swig/common.i +8 -3
  10. data/ext/wxruby3/swig/mark_free_impl.i +6 -4
  11. data/ext/wxruby3/swig/memory_management.i +5 -3
  12. data/ext/wxruby3/swig/typedefs.i +5 -3
  13. data/ext/wxruby3/swig/wx.i +7 -0
  14. data/ext/wxruby3/swig/wx.rc +4 -2
  15. data/lib/wx/accessors.rb +10 -2
  16. data/lib/wx/aui/auifloatframe.rb +20 -0
  17. data/lib/wx/aui/auimanager.rb +3 -0
  18. data/lib/wx/aui/auinotebook.rb +17 -0
  19. data/lib/wx/aui/require.rb +5 -1
  20. data/lib/wx/aui.rb +4 -1
  21. data/lib/wx/core/acceleratortable.rb +8 -0
  22. data/lib/wx/core/animation.rb +8 -0
  23. data/lib/wx/core/app.rb +8 -0
  24. data/lib/wx/core/array_ext.rb +7 -0
  25. data/lib/wx/core/art_locator.rb +7 -0
  26. data/lib/wx/core/artprovider.rb +9 -0
  27. data/lib/wx/core/bitmap.rb +16 -4
  28. data/lib/wx/core/bitmap_combobox.rb +7 -0
  29. data/lib/wx/core/brush.rb +7 -0
  30. data/lib/wx/core/busycursor.rb +9 -0
  31. data/lib/wx/core/choice.rb +7 -0
  32. data/lib/wx/core/choicedlg.rb +7 -0
  33. data/lib/wx/core/clientdc.rb +9 -0
  34. data/lib/wx/core/clipboard.rb +8 -0
  35. data/lib/wx/core/collapsible_pane.rb +8 -1
  36. data/lib/wx/core/colour.rb +8 -0
  37. data/lib/wx/core/combo_ctrl.rb +110 -0
  38. data/lib/wx/core/combobox.rb +7 -0
  39. data/lib/wx/core/config.rb +303 -0
  40. data/lib/wx/core/controlwithitems.rb +12 -1
  41. data/lib/wx/core/cursor.rb +14 -4
  42. data/lib/wx/core/data_object.rb +7 -0
  43. data/lib/wx/core/dataformat.rb +9 -0
  44. data/lib/wx/core/datetime.rb +14 -0
  45. data/lib/wx/core/dc.rb +7 -0
  46. data/lib/wx/core/dialog.rb +18 -1
  47. data/lib/wx/core/enum.rb +7 -0
  48. data/lib/wx/core/event.rb +7 -0
  49. data/lib/wx/core/event_blocker.rb +7 -0
  50. data/lib/wx/core/event_loop.rb +14 -0
  51. data/lib/wx/core/evthandler.rb +8 -0
  52. data/lib/wx/core/ext.rb +7 -0
  53. data/lib/wx/core/file_dialog.rb +23 -0
  54. data/lib/wx/core/find_replace_dialog.rb +7 -0
  55. data/lib/wx/core/functions.rb +8 -0
  56. data/lib/wx/core/gauge.rb +10 -1
  57. data/lib/wx/core/genericdirctrl.rb +9 -0
  58. data/lib/wx/core/hboxsizer.rb +16 -0
  59. data/lib/wx/core/helpcontroller.rb +8 -0
  60. data/lib/wx/core/helpcontrollerhelpprovider.rb +9 -0
  61. data/lib/wx/core/helpprovider.rb +10 -1
  62. data/lib/wx/core/icon.rb +17 -6
  63. data/lib/wx/core/id_helper.rb +7 -0
  64. data/lib/wx/core/image.rb +49 -4
  65. data/lib/wx/core/imagelist.rb +8 -1
  66. data/lib/wx/core/listbox.rb +7 -0
  67. data/lib/wx/core/listctrl.rb +26 -13
  68. data/lib/wx/core/locale.rb +8 -0
  69. data/lib/wx/core/log.rb +114 -0
  70. data/lib/wx/core/menu.rb +9 -0
  71. data/lib/wx/core/menu_bar.rb +7 -0
  72. data/lib/wx/core/menuitem.rb +9 -0
  73. data/lib/wx/core/notebook.rb +9 -0
  74. data/lib/wx/core/object.rb +9 -0
  75. data/lib/wx/core/paintdc.rb +7 -0
  76. data/lib/wx/core/pen.rb +7 -0
  77. data/lib/wx/core/pen_info.rb +7 -0
  78. data/lib/wx/core/platform_info.rb +7 -0
  79. data/lib/wx/core/point.rb +8 -0
  80. data/lib/wx/core/real_point.rb +8 -0
  81. data/lib/wx/core/rect.rb +9 -0
  82. data/lib/wx/core/region_iterator.rb +7 -0
  83. data/lib/wx/core/simplehelpprovider.rb +9 -0
  84. data/lib/wx/core/size.rb +8 -0
  85. data/lib/wx/core/sizer.rb +9 -0
  86. data/lib/wx/core/splash_screen.rb +22 -2
  87. data/lib/wx/core/text_entry.rb +7 -0
  88. data/lib/wx/core/textctrl.rb +86 -5
  89. data/lib/wx/core/timer.rb +9 -0
  90. data/lib/wx/core/toolbar.rb +9 -0
  91. data/lib/wx/core/toolbartool.rb +8 -0
  92. data/lib/wx/core/treectrl.rb +9 -0
  93. data/lib/wx/core/v_list_box.rb +7 -0
  94. data/lib/wx/core/validator.rb +7 -0
  95. data/lib/wx/core/variant.rb +7 -0
  96. data/lib/wx/core/vboxsizer.rb +16 -0
  97. data/lib/wx/core/window.rb +8 -0
  98. data/lib/wx/core/window_update_locker.rb +9 -0
  99. data/lib/wx/core/xmlresource.rb +8 -0
  100. data/lib/wx/core.rb +4 -1
  101. data/lib/wx/doc/app.rb +7 -1
  102. data/lib/wx/doc/array_ext.rb +6 -0
  103. data/lib/wx/doc/art_locator.rb +7 -0
  104. data/lib/wx/doc/aui/auimanager.rb +6 -0
  105. data/lib/wx/doc/aui/auinotebook.rb +6 -0
  106. data/lib/wx/doc/bitmap.rb +19 -15
  107. data/lib/wx/doc/brush.rb +6 -0
  108. data/lib/wx/doc/busy_info.rb +6 -0
  109. data/lib/wx/doc/client_dc.rb +6 -0
  110. data/lib/wx/doc/clipboard.rb +6 -0
  111. data/lib/wx/doc/colour_dialog.rb +6 -0
  112. data/lib/wx/doc/config.rb +190 -0
  113. data/lib/wx/doc/const.rb +7 -0
  114. data/lib/wx/doc/controlwithitems.rb +6 -0
  115. data/lib/wx/doc/core.rb +6 -0
  116. data/lib/wx/doc/cursor.rb +13 -5
  117. data/lib/wx/doc/data_object.rb +6 -0
  118. data/lib/wx/doc/datetime.rb +16 -0
  119. data/lib/wx/doc/dc.rb +6 -0
  120. data/lib/wx/doc/enum.rb +8 -1
  121. data/lib/wx/doc/event.rb +12 -0
  122. data/lib/wx/doc/event_blocker.rb +6 -0
  123. data/lib/wx/doc/event_loop.rb +13 -0
  124. data/lib/wx/doc/events.rb +6 -0
  125. data/lib/wx/doc/evthandler.rb +8 -0
  126. data/lib/wx/doc/extra/00_starting.md +6 -6
  127. data/lib/wx/doc/extra/01_packages.md +52 -51
  128. data/lib/wx/doc/extra/02_lifecycles.md +9 -8
  129. data/lib/wx/doc/extra/05_event-handling.md +37 -12
  130. data/lib/wx/doc/extra/06_geometry.md +5 -5
  131. data/lib/wx/doc/extra/07_colour_and_font.md +2 -2
  132. data/lib/wx/doc/extra/09_exceptions.md +2 -2
  133. data/lib/wx/doc/extra/10_art.md +18 -12
  134. data/lib/wx/doc/extra/11_drawing_and_dc.md +8 -8
  135. data/lib/wx/doc/font.rb +7 -1
  136. data/lib/wx/doc/font_data.rb +16 -0
  137. data/lib/wx/doc/functions.rb +60 -24
  138. data/lib/wx/doc/gc_dc.rb +7 -1
  139. data/lib/wx/doc/gdi_common.rb +8 -1
  140. data/lib/wx/doc/graphics_context.rb +59 -39
  141. data/lib/wx/doc/grid/grid.rb +16 -1
  142. data/lib/wx/doc/hboxsizer.rb +33 -0
  143. data/lib/wx/doc/help_controller.rb +6 -0
  144. data/lib/wx/doc/html/html_help_controller.rb +6 -0
  145. data/lib/wx/doc/icon.rb +13 -5
  146. data/lib/wx/doc/id_helper.rb +6 -0
  147. data/lib/wx/doc/image.rb +50 -12
  148. data/lib/wx/doc/list_ctrl.rb +38 -0
  149. data/lib/wx/doc/log.rb +45 -0
  150. data/lib/wx/doc/memory_dc.rb +6 -0
  151. data/lib/wx/doc/mirror_dc.rb +6 -0
  152. data/lib/wx/doc/pen.rb +6 -0
  153. data/lib/wx/doc/pg/events.rb +6 -0
  154. data/lib/wx/doc/pg/pg_property.rb +17 -0
  155. data/lib/wx/doc/pg/pgeditor.rb +6 -0
  156. data/lib/wx/doc/pg/property_grid.rb +6 -0
  157. data/lib/wx/doc/pg/property_grid_interface.rb +6 -0
  158. data/lib/wx/doc/progress_dialog.rb +6 -0
  159. data/lib/wx/doc/prt/page_setup_dialog.rb +6 -0
  160. data/lib/wx/doc/prt/print_data.rb +6 -0
  161. data/lib/wx/doc/prt/print_dialog.rb +6 -0
  162. data/lib/wx/doc/prt/printer.rb +6 -0
  163. data/lib/wx/doc/prt/printer_dc.rb +8 -2
  164. data/lib/wx/doc/radio_box.rb +6 -0
  165. data/lib/wx/doc/rbn/ribbon_bar.rb +6 -0
  166. data/lib/wx/doc/rbn/ribbon_button_bar.rb +6 -0
  167. data/lib/wx/doc/rbn/ribbon_gallery.rb +6 -0
  168. data/lib/wx/doc/rbn/ribbon_tool_bar.rb +6 -0
  169. data/lib/wx/doc/region_iterator.rb +6 -0
  170. data/lib/wx/doc/rtc/richtext_buffer.rb +28 -0
  171. data/lib/wx/doc/rtc/richtext_formatting_dialog.rb +68 -0
  172. data/lib/wx/doc/rtc/richtext_printing.rb +6 -0
  173. data/lib/wx/doc/rtc/richtext_style_sheet.rb +20 -0
  174. data/lib/wx/doc/scaled_dc.rb +7 -1
  175. data/lib/wx/doc/screen_dc.rb +6 -0
  176. data/lib/wx/doc/stock_objects.rb +6 -0
  177. data/lib/wx/doc/stream.rb +6 -0
  178. data/lib/wx/doc/svg_file_dc.rb +6 -0
  179. data/lib/wx/doc/system_settings.rb +6 -0
  180. data/lib/wx/doc/text_validator.rb +18 -0
  181. data/lib/wx/doc/textctrl.rb +89 -0
  182. data/lib/wx/doc/tree_event.rb +20 -0
  183. data/lib/wx/doc/treebook.rb +6 -0
  184. data/lib/wx/doc/v_list_box.rb +6 -0
  185. data/lib/wx/doc/variant.rb +6 -0
  186. data/lib/wx/doc/vboxsizer.rb +33 -0
  187. data/lib/wx/doc/window.rb +6 -0
  188. data/lib/wx/doc/window_disabler.rb +6 -0
  189. data/lib/wx/doc/xml_resource.rb +8 -0
  190. data/lib/wx/global_const.rb +4 -1
  191. data/lib/wx/grid/grid.rb +23 -3
  192. data/lib/wx/grid/keyword_defs.rb +8 -1
  193. data/lib/wx/grid/require.rb +4 -1
  194. data/lib/wx/grid.rb +4 -1
  195. data/lib/wx/helpers.rb +8 -1
  196. data/lib/wx/html/htmlhelpcontroller.rb +29 -3
  197. data/lib/wx/html/htmlwindow.rb +23 -12
  198. data/lib/wx/html/keyword_defs.rb +8 -1
  199. data/lib/wx/html/require.rb +4 -1
  200. data/lib/wx/html/simple_html_listbox.rb +3 -0
  201. data/lib/wx/html.rb +4 -1
  202. data/lib/wx/keyword_ctors.rb +22 -3
  203. data/lib/wx/keyword_defs.rb +55 -3
  204. data/lib/wx/pg/events.rb +4 -1
  205. data/lib/wx/pg/keyword_defs.rb +8 -1
  206. data/lib/wx/pg/pg_editor.rb +3 -0
  207. data/lib/wx/pg/pg_properties.rb +4 -1
  208. data/lib/wx/pg/pg_property.rb +18 -5
  209. data/lib/wx/pg/property_grid.rb +4 -1
  210. data/lib/wx/pg/property_grid_interface.rb +3 -0
  211. data/lib/wx/pg/require.rb +4 -1
  212. data/lib/wx/pg.rb +4 -1
  213. data/lib/wx/prt/keyword_defs.rb +8 -1
  214. data/lib/wx/prt/page_setup_dialog.rb +3 -0
  215. data/lib/wx/prt/previewframe.rb +5 -0
  216. data/lib/wx/prt/require.rb +4 -1
  217. data/lib/wx/prt.rb +4 -1
  218. data/lib/wx/rbn/events.rb +4 -1
  219. data/lib/wx/rbn/keyword_defs.rb +8 -1
  220. data/lib/wx/rbn/require.rb +5 -1
  221. data/lib/wx/rbn/ribbon_art_provider.rb +3 -1
  222. data/lib/wx/rbn/ribbon_bar.rb +3 -0
  223. data/lib/wx/rbn/ribbon_button_bar.rb +3 -0
  224. data/lib/wx/rbn/ribbon_control.rb +3 -0
  225. data/lib/wx/rbn/ribbon_gallery.rb +10 -0
  226. data/lib/wx/rbn/ribbon_page.rb +3 -0
  227. data/lib/wx/rbn/ribbon_panel.rb +3 -0
  228. data/lib/wx/rbn/ribbon_tool_bar.rb +3 -0
  229. data/lib/wx/rbn.rb +4 -1
  230. data/lib/wx/rtc/ext.rb +4 -1
  231. data/lib/wx/rtc/keyword_defs.rb +18 -7
  232. data/lib/wx/rtc/require.rb +8 -1
  233. data/lib/wx/rtc/richtext_buffer.rb +36 -0
  234. data/lib/wx/rtc/richtext_formatting_dialog.rb +88 -0
  235. data/lib/wx/rtc/richtext_style_organiser_dialog.rb +46 -0
  236. data/lib/wx/rtc/symbol_picker_dialog.rb +47 -0
  237. data/lib/wx/rtc.rb +5 -1
  238. data/lib/wx/stc/keyword_defs.rb +8 -1
  239. data/lib/wx/stc/require.rb +4 -1
  240. data/lib/wx/stc.rb +4 -1
  241. data/lib/wx/version.rb +5 -1
  242. data/lib/wx/wxruby/base.rb +4 -1
  243. data/lib/wx/wxruby/cmd/sampler.rb +4 -1
  244. data/lib/wx/wxruby/cmd/test.rb +4 -1
  245. data/lib/wx.rb +4 -1
  246. data/rakelib/build.rake +4 -1
  247. data/rakelib/build.rb +4 -1
  248. data/rakelib/config.rake +4 -1
  249. data/rakelib/configure.rb +4 -1
  250. data/rakelib/doc.rake +4 -1
  251. data/rakelib/doc.rb +5 -1
  252. data/rakelib/install.rake +4 -1
  253. data/rakelib/install.rb +4 -1
  254. data/rakelib/lib/config/cygwin.rb +4 -1
  255. data/rakelib/lib/config/linux.rb +4 -1
  256. data/rakelib/lib/config/macosx.rb +5 -2
  257. data/rakelib/lib/config/mingw.rb +4 -1
  258. data/rakelib/lib/config/netbsd.rb +4 -1
  259. data/rakelib/lib/config/unixish.rb +10 -7
  260. data/rakelib/lib/config.rb +7 -2
  261. data/rakelib/lib/core/include/enum.inc +4 -1
  262. data/rakelib/lib/core/include/funcall.inc +10 -64
  263. data/rakelib/lib/core/include/init.inc +3 -0
  264. data/rakelib/lib/core/mapping.rb +40 -55
  265. data/rakelib/lib/core/package.rb +20 -3
  266. data/rakelib/lib/core/parameter.rb +4 -1
  267. data/rakelib/lib/core/spec.rb +35 -18
  268. data/rakelib/lib/core/spec_helper.rb +38 -9
  269. data/rakelib/lib/director/about_dialog_info.rb +4 -1
  270. data/rakelib/lib/director/accelerator.rb +7 -2
  271. data/rakelib/lib/director/animation.rb +4 -1
  272. data/rakelib/lib/director/animation_ctrl.rb +4 -1
  273. data/rakelib/lib/director/any_button.rb +5 -2
  274. data/rakelib/lib/director/app.rb +16 -2
  275. data/rakelib/lib/director/app_traits.rb +71 -0
  276. data/rakelib/lib/director/art_provider.rb +4 -1
  277. data/rakelib/lib/director/aui_dock_art.rb +4 -1
  278. data/rakelib/lib/director/aui_floating_frame.rb +4 -1
  279. data/rakelib/lib/director/aui_manager.rb +12 -5
  280. data/rakelib/lib/director/aui_manager_event.rb +4 -1
  281. data/rakelib/lib/director/aui_mdi_child_frame.rb +25 -1
  282. data/rakelib/lib/director/aui_mdi_client_window.rb +4 -1
  283. data/rakelib/lib/director/aui_mdi_parent_frame.rb +4 -1
  284. data/rakelib/lib/director/aui_notebook.rb +12 -1
  285. data/rakelib/lib/director/aui_notebook_event.rb +4 -1
  286. data/rakelib/lib/director/aui_pane_info.rb +4 -1
  287. data/rakelib/lib/director/aui_tab_art.rb +52 -1
  288. data/rakelib/lib/director/aui_tab_ctrl.rb +14 -1
  289. data/rakelib/lib/director/aui_toolbar.rb +6 -3
  290. data/rakelib/lib/director/aui_toolbar_art.rb +52 -1
  291. data/rakelib/lib/director/aui_toolbar_event.rb +4 -1
  292. data/rakelib/lib/director/aui_toolbar_item.rb +4 -1
  293. data/rakelib/lib/director/banner_window.rb +26 -0
  294. data/rakelib/lib/director/bitmap.rb +11 -2
  295. data/rakelib/lib/director/bitmap_combobox.rb +5 -1
  296. data/rakelib/lib/director/book_ctrls.rb +13 -3
  297. data/rakelib/lib/director/brush.rb +4 -1
  298. data/rakelib/lib/director/busy_info.rb +4 -1
  299. data/rakelib/lib/director/button.rb +4 -1
  300. data/rakelib/lib/director/calendar_ctrl.rb +4 -1
  301. data/rakelib/lib/director/calendar_date_attr.rb +4 -1
  302. data/rakelib/lib/director/caret.rb +4 -1
  303. data/rakelib/lib/director/check_listbox.rb +4 -1
  304. data/rakelib/lib/director/choice.rb +4 -1
  305. data/rakelib/lib/director/clipboard.rb +4 -1
  306. data/rakelib/lib/director/collapsible_pane.rb +4 -1
  307. data/rakelib/lib/director/collapsible_pane_event.rb +4 -1
  308. data/rakelib/lib/director/colour.rb +9 -1
  309. data/rakelib/lib/director/colour_picker_ctrl.rb +4 -1
  310. data/rakelib/lib/director/combobox.rb +4 -1
  311. data/rakelib/lib/director/comboctrl.rb +94 -0
  312. data/rakelib/lib/director/config_base.rb +135 -0
  313. data/rakelib/lib/director/context_help_button.rb +4 -1
  314. data/rakelib/lib/director/control.rb +4 -1
  315. data/rakelib/lib/director/ctrl_with_items.rb +5 -1
  316. data/rakelib/lib/director/cursor.rb +6 -2
  317. data/rakelib/lib/director/data_format.rb +4 -1
  318. data/rakelib/lib/director/data_object.rb +4 -1
  319. data/rakelib/lib/director/data_object_simple_base.rb +4 -1
  320. data/rakelib/lib/director/date_event.rb +9 -2
  321. data/rakelib/lib/director/date_picker_ctrl.rb +4 -1
  322. data/rakelib/lib/director/dc.rb +19 -1
  323. data/rakelib/lib/director/defs.rb +4 -1
  324. data/rakelib/lib/director/derived_dc.rb +27 -20
  325. data/rakelib/lib/director/dialog.rb +49 -3
  326. data/rakelib/lib/director/dir_filterlist_ctrl.rb +4 -1
  327. data/rakelib/lib/director/dir_picker_ctrl.rb +4 -1
  328. data/rakelib/lib/director/drag_image.rb +9 -2
  329. data/rakelib/lib/director/dragdrop.rb +4 -1
  330. data/rakelib/lib/director/editable_listbox.rb +4 -1
  331. data/rakelib/lib/director/event.rb +11 -3
  332. data/rakelib/lib/director/event_blocker.rb +4 -1
  333. data/rakelib/lib/director/event_filter.rb +4 -1
  334. data/rakelib/lib/director/event_handler.rb +28 -11
  335. data/rakelib/lib/director/event_loop.rb +29 -0
  336. data/rakelib/lib/director/events.rb +5 -2
  337. data/rakelib/lib/director/file_dialog_custom_control.rb +28 -0
  338. data/rakelib/lib/director/file_dialog_customize_hook.rb +28 -0
  339. data/rakelib/lib/director/file_picker_ctrl.rb +4 -1
  340. data/rakelib/lib/director/file_system.rb +45 -0
  341. data/rakelib/lib/director/find_dialog_event.rb +4 -1
  342. data/rakelib/lib/director/find_replace_data.rb +4 -1
  343. data/rakelib/lib/director/font.rb +7 -3
  344. data/rakelib/lib/director/font_data.rb +9 -1
  345. data/rakelib/lib/director/font_picker_ctrl.rb +4 -1
  346. data/rakelib/lib/director/frame.rb +45 -33
  347. data/rakelib/lib/director/fs_file.rb +52 -1
  348. data/rakelib/lib/director/functions.rb +51 -49
  349. data/rakelib/lib/director/gdi_object.rb +4 -1
  350. data/rakelib/lib/director/gdicommon.rb +14 -9
  351. data/rakelib/lib/director/generic_dirctrl.rb +4 -1
  352. data/rakelib/lib/director/graphics_context.rb +113 -18
  353. data/rakelib/lib/director/graphics_object.rb +13 -2
  354. data/rakelib/lib/director/grid_cell_attr.rb +28 -4
  355. data/rakelib/lib/director/grid_cell_editor.rb +22 -5
  356. data/rakelib/lib/director/grid_cell_renderer.rb +16 -3
  357. data/rakelib/lib/director/grid_ctrl.rb +146 -5
  358. data/rakelib/lib/director/grid_range_select_event.rb +4 -1
  359. data/rakelib/lib/director/grid_table_base.rb +6 -1
  360. data/rakelib/lib/director/grid_table_message.rb +4 -1
  361. data/rakelib/lib/director/header_ctrl.rb +37 -0
  362. data/rakelib/lib/director/help_controller.rb +13 -6
  363. data/rakelib/lib/director/help_provider.rb +4 -1
  364. data/rakelib/lib/director/html_cell.rb +10 -3
  365. data/rakelib/lib/director/html_data_object.rb +4 -1
  366. data/rakelib/lib/director/html_easy_printing.rb +4 -1
  367. data/rakelib/lib/director/html_event.rb +4 -1
  368. data/rakelib/lib/director/html_help_data.rb +4 -1
  369. data/rakelib/lib/director/html_help_window.rb +30 -0
  370. data/rakelib/lib/director/html_listbox.rb +4 -1
  371. data/rakelib/lib/director/html_printout.rb +6 -1
  372. data/rakelib/lib/director/html_window.rb +10 -8
  373. data/rakelib/lib/director/hyperlink_ctrl.rb +32 -0
  374. data/rakelib/lib/director/hyperlink_event.rb +4 -1
  375. data/rakelib/lib/director/icon.rb +4 -1
  376. data/rakelib/lib/director/image.rb +58 -3
  377. data/rakelib/lib/director/image_list.rb +5 -1
  378. data/rakelib/lib/director/info_bar.rb +26 -0
  379. data/rakelib/lib/director/list_ctrl.rb +42 -9
  380. data/rakelib/lib/director/listbox.rb +4 -1
  381. data/rakelib/lib/director/locale.rb +7 -4
  382. data/rakelib/lib/director/log.rb +111 -6
  383. data/rakelib/lib/director/mdi_frame.rb +4 -1
  384. data/rakelib/lib/director/media_ctrl.rb +4 -1
  385. data/rakelib/lib/director/menu.rb +16 -3
  386. data/rakelib/lib/director/menu_bar.rb +13 -2
  387. data/rakelib/lib/director/menu_item.rb +6 -6
  388. data/rakelib/lib/director/mouse_state.rb +5 -2
  389. data/rakelib/lib/director/numeric_property_validator.rb +4 -1
  390. data/rakelib/lib/director/object.rb +5 -2
  391. data/rakelib/lib/director/page_setup_dialog.rb +4 -1
  392. data/rakelib/lib/director/palette.rb +54 -2
  393. data/rakelib/lib/director/panel.rb +4 -1
  394. data/rakelib/lib/director/pen.rb +5 -2
  395. data/rakelib/lib/director/pgarray_editor_dialog.rb +4 -1
  396. data/rakelib/lib/director/pgcell.rb +4 -1
  397. data/rakelib/lib/director/pgeditor.rb +4 -1
  398. data/rakelib/lib/director/pgmulti_button.rb +4 -1
  399. data/rakelib/lib/director/pgproperties.rb +4 -1
  400. data/rakelib/lib/director/pgproperty.rb +42 -3
  401. data/rakelib/lib/director/pgvalidation_info.rb +9 -1
  402. data/rakelib/lib/director/pickerbase.rb +4 -1
  403. data/rakelib/lib/director/platform_info.rb +9 -1
  404. data/rakelib/lib/director/popup_window.rb +14 -1
  405. data/rakelib/lib/director/preview_frame.rb +5 -2
  406. data/rakelib/lib/director/print_data.rb +4 -1
  407. data/rakelib/lib/director/print_dialog.rb +4 -1
  408. data/rakelib/lib/director/printer.rb +14 -6
  409. data/rakelib/lib/director/property_grid.rb +30 -1
  410. data/rakelib/lib/director/property_grid_event.rb +11 -1
  411. data/rakelib/lib/director/property_grid_interface.rb +20 -6
  412. data/rakelib/lib/director/property_grid_manager.rb +4 -1
  413. data/rakelib/lib/director/property_grid_page.rb +4 -1
  414. data/rakelib/lib/director/property_grid_page_state.rb +4 -1
  415. data/rakelib/lib/director/radio_box.rb +4 -1
  416. data/rakelib/lib/director/rearrange_list.rb +36 -0
  417. data/rakelib/lib/director/region.rb +5 -1
  418. data/rakelib/lib/director/region_iterator.rb +4 -1
  419. data/rakelib/lib/director/ribbon_art_provider.rb +9 -1
  420. data/rakelib/lib/director/ribbon_bar.rb +4 -1
  421. data/rakelib/lib/director/ribbon_bar_event.rb +4 -1
  422. data/rakelib/lib/director/ribbon_button_bar.rb +4 -1
  423. data/rakelib/lib/director/ribbon_button_bar_event.rb +4 -1
  424. data/rakelib/lib/director/ribbon_ctrl.rb +4 -1
  425. data/rakelib/lib/director/ribbon_gallery.rb +8 -3
  426. data/rakelib/lib/director/ribbon_gallery_event.rb +4 -1
  427. data/rakelib/lib/director/ribbon_page.rb +4 -1
  428. data/rakelib/lib/director/ribbon_panel.rb +4 -1
  429. data/rakelib/lib/director/ribbon_panel_event.rb +4 -1
  430. data/rakelib/lib/director/ribbon_tool_bar.rb +4 -1
  431. data/rakelib/lib/director/ribbon_tool_bar_event.rb +4 -1
  432. data/rakelib/lib/director/richtext_box.rb +61 -0
  433. data/rakelib/lib/director/richtext_buffer.rb +219 -22
  434. data/rakelib/lib/director/richtext_buffer_data_object.rb +4 -1
  435. data/rakelib/lib/director/richtext_composite_object.rb +174 -0
  436. data/rakelib/lib/director/richtext_ctrl.rb +157 -4
  437. data/rakelib/lib/director/richtext_event.rb +4 -1
  438. data/rakelib/lib/director/richtext_file_handler.rb +13 -1
  439. data/rakelib/lib/director/richtext_formatting_dialog.rb +44 -0
  440. data/rakelib/lib/director/richtext_header_footer_data.rb +4 -1
  441. data/rakelib/lib/director/richtext_image.rb +56 -0
  442. data/rakelib/lib/director/richtext_object.rb +272 -0
  443. data/rakelib/lib/director/richtext_paragraph_layout_box.rb +178 -0
  444. data/rakelib/lib/director/richtext_printing.rb +4 -1
  445. data/rakelib/lib/director/richtext_style_listbox.rb +37 -0
  446. data/rakelib/lib/director/richtext_style_organiser_dialog.rb +28 -0
  447. data/rakelib/lib/director/sash_layout_event.rb +4 -1
  448. data/rakelib/lib/director/sash_layout_window.rb +4 -1
  449. data/rakelib/lib/director/sash_window.rb +4 -1
  450. data/rakelib/lib/director/scroll_bar.rb +4 -1
  451. data/rakelib/lib/director/scrolled_t.rb +7 -4
  452. data/rakelib/lib/director/searchctrl.rb +4 -1
  453. data/rakelib/lib/director/sizer.rb +4 -1
  454. data/rakelib/lib/director/sizer_item.rb +9 -3
  455. data/rakelib/lib/director/slider.rb +4 -1
  456. data/rakelib/lib/director/splash_screen.rb +4 -1
  457. data/rakelib/lib/director/splitter_event.rb +4 -1
  458. data/rakelib/lib/director/splitter_window.rb +4 -1
  459. data/rakelib/lib/director/static_bitmap.rb +4 -1
  460. data/rakelib/lib/director/static_box.rb +5 -2
  461. data/rakelib/lib/director/status_bar.rb +5 -1
  462. data/rakelib/lib/director/styled_text_ctrl.rb +14 -2
  463. data/rakelib/lib/director/styled_text_event.rb +4 -1
  464. data/rakelib/lib/director/system_options.rb +4 -1
  465. data/rakelib/lib/director/system_settings.rb +4 -1
  466. data/rakelib/lib/director/task_bar_icon.rb +4 -1
  467. data/rakelib/lib/director/text_attr.rb +5 -2
  468. data/rakelib/lib/director/text_entry.rb +29 -1
  469. data/rakelib/lib/director/text_validator.rb +14 -3
  470. data/rakelib/lib/director/textctrl.rb +32 -3
  471. data/rakelib/lib/director/time_picker_ctrl.rb +4 -1
  472. data/rakelib/lib/director/timer.rb +4 -1
  473. data/rakelib/lib/director/tip_provider.rb +4 -1
  474. data/rakelib/lib/director/toggle_button.rb +4 -1
  475. data/rakelib/lib/director/tool_bar.rb +20 -1
  476. data/rakelib/lib/director/tool_tip.rb +5 -2
  477. data/rakelib/lib/director/top_level_window.rb +58 -51
  478. data/rakelib/lib/director/tree_ctrl.rb +5 -2
  479. data/rakelib/lib/director/tree_event.rb +28 -10
  480. data/rakelib/lib/director/uiaction_simulator.rb +4 -1
  481. data/rakelib/lib/director/utils.rb +9 -1
  482. data/rakelib/lib/director/validator.rb +4 -1
  483. data/rakelib/lib/director/variant.rb +22 -6
  484. data/rakelib/lib/director/vlistbox.rb +4 -1
  485. data/rakelib/lib/director/vscrolled_window.rb +4 -1
  486. data/rakelib/lib/director/window.rb +81 -82
  487. data/rakelib/lib/director/window_disabler.rb +4 -1
  488. data/rakelib/lib/director/with_images.rb +5 -2
  489. data/rakelib/lib/director/wizard_page.rb +4 -1
  490. data/rakelib/lib/director/xml_node.rb +4 -1
  491. data/rakelib/lib/director/xml_resource.rb +4 -1
  492. data/rakelib/lib/director.rb +27 -28
  493. data/rakelib/lib/ext/enum_chain.rb +4 -1
  494. data/rakelib/lib/extractor/class.rb +8 -6
  495. data/rakelib/lib/extractor/enum.rb +15 -2
  496. data/rakelib/lib/extractor/function.rb +17 -9
  497. data/rakelib/lib/extractor/module.rb +4 -1
  498. data/rakelib/lib/extractor/variable.rb +10 -7
  499. data/rakelib/lib/extractor.rb +7 -2
  500. data/rakelib/lib/generate/analyzer.rb +31 -21
  501. data/rakelib/lib/generate/base.rb +4 -1
  502. data/rakelib/lib/generate/doc/aui_manager.yaml +21 -0
  503. data/rakelib/lib/generate/doc/font.yaml +29 -0
  504. data/rakelib/lib/generate/doc/frame.yaml +23 -0
  505. data/rakelib/lib/generate/doc/fs_file.yaml +11 -0
  506. data/rakelib/lib/generate/doc/gdi_common.yaml +36 -0
  507. data/rakelib/lib/generate/doc/graphics_context.yaml +34 -0
  508. data/rakelib/lib/generate/doc/grid_cell_attr.yaml +21 -0
  509. data/rakelib/lib/generate/doc/grid_ctrl.yaml +25 -0
  510. data/rakelib/lib/generate/doc/gui_event_loop.yaml +12 -0
  511. data/rakelib/lib/generate/doc/help_controller.yaml +24 -0
  512. data/rakelib/lib/generate/doc/html_cell.yaml +11 -0
  513. data/rakelib/lib/generate/doc/html_help_controller.yaml +23 -0
  514. data/rakelib/lib/generate/doc/html_help_window.yaml +21 -0
  515. data/rakelib/lib/generate/doc/html_window.yaml +47 -0
  516. data/rakelib/lib/generate/doc/icon.yaml +11 -0
  517. data/rakelib/lib/generate/doc/image.yaml +87 -0
  518. data/rakelib/lib/generate/doc/keyboard_state.yaml +19 -0
  519. data/rakelib/lib/generate/doc/list_ctrl.yaml +77 -0
  520. data/rakelib/lib/generate/doc/locale.yaml +12 -0
  521. data/rakelib/lib/generate/doc/log.yaml +86 -0
  522. data/rakelib/lib/generate/doc/mdi_frame.yaml +12 -0
  523. data/rakelib/lib/generate/doc/memory_dc.yaml +42 -0
  524. data/rakelib/lib/generate/doc/menu.yaml +17 -0
  525. data/rakelib/lib/generate/doc/menu_item.yaml +43 -0
  526. data/rakelib/lib/generate/doc/message_dialog.yaml +36 -0
  527. data/rakelib/lib/generate/doc/non_owned_window.yaml +14 -0
  528. data/rakelib/lib/generate/doc/notebook.yaml +18 -0
  529. data/rakelib/lib/generate/doc/pen.yaml +11 -0
  530. data/rakelib/lib/generate/doc/pg_editor.yaml +11 -0
  531. data/rakelib/lib/generate/doc/pg_multi_button.yaml +78 -0
  532. data/rakelib/lib/generate/doc/pg_properties.yaml +244 -0
  533. data/rakelib/lib/generate/doc/pg_property.yaml +188 -0
  534. data/rakelib/lib/generate/doc/picker_base.yaml +19 -0
  535. data/rakelib/lib/generate/doc/platform_info.yaml +15 -0
  536. data/rakelib/lib/generate/doc/property_grid.yaml +23 -0
  537. data/rakelib/lib/generate/doc/property_grid_interface.yaml +30 -0
  538. data/rakelib/lib/generate/doc/property_grid_manager.yaml +40 -0
  539. data/rakelib/lib/generate/doc/property_sheet_dialog.yaml +26 -0
  540. data/rakelib/lib/generate/doc/rich_text_html_handler.yaml +11 -0
  541. data/rakelib/lib/generate/doc/scroll_bar.yaml +11 -0
  542. data/rakelib/lib/generate/doc/scrolled_canvas.yaml +37 -0
  543. data/rakelib/lib/generate/doc/scrolled_control.yaml +37 -0
  544. data/rakelib/lib/generate/doc/scrolled_window.yaml +37 -0
  545. data/rakelib/lib/generate/doc/sizer.yaml +69 -0
  546. data/rakelib/lib/generate/doc/splash_screen.yaml +18 -0
  547. data/rakelib/lib/generate/doc/static_box.yaml +52 -0
  548. data/rakelib/lib/generate/doc/static_box_sizer.yaml +22 -0
  549. data/rakelib/lib/generate/doc/styled_text_ctrl.yaml +18 -0
  550. data/rakelib/lib/generate/doc/svg_file_dc.yaml +11 -0
  551. data/rakelib/lib/generate/doc/symbol_picker_dialog.yaml +40 -0
  552. data/rakelib/lib/generate/doc/text_ctrl.yaml +19 -0
  553. data/rakelib/lib/generate/doc/text_entry.yaml +42 -0
  554. data/rakelib/lib/generate/doc/text_entry_dialog.yaml +17 -0
  555. data/rakelib/lib/generate/doc/timer_event.yaml +28 -0
  556. data/rakelib/lib/generate/doc/tool_bar.yaml +35 -0
  557. data/rakelib/lib/generate/doc/top_level_window.yaml +23 -0
  558. data/rakelib/lib/generate/doc/validator.yaml +12 -0
  559. data/rakelib/lib/generate/doc/variant.yaml +29 -0
  560. data/rakelib/lib/generate/doc/window.yaml +249 -0
  561. data/rakelib/lib/generate/doc/wizard_page_simple.yaml +14 -0
  562. data/rakelib/lib/generate/doc/xml_node.yaml +7 -0
  563. data/rakelib/lib/generate/doc/xml_resource.yaml +27 -0
  564. data/rakelib/lib/generate/doc.rb +54 -4
  565. data/rakelib/lib/generate/interface.rb +79 -110
  566. data/rakelib/lib/generate/rakedep.rb +4 -1
  567. data/rakelib/lib/specs/interfaces.rb +46 -20
  568. data/rakelib/lib/streams.rb +5 -1
  569. data/rakelib/lib/swig_runner.rb +71 -22
  570. data/rakelib/lib/typemap/array_int_selections.rb +4 -1
  571. data/rakelib/lib/typemap/common.rb +57 -2
  572. data/rakelib/lib/typemap/config.rb +55 -0
  573. data/rakelib/lib/typemap/data_format.rb +4 -1
  574. data/rakelib/lib/typemap/data_object_data.rb +4 -1
  575. data/rakelib/lib/typemap/datetime.rb +8 -1
  576. data/rakelib/lib/typemap/grid_client_data.rb +4 -1
  577. data/rakelib/lib/typemap/grid_coords.rb +37 -7
  578. data/rakelib/lib/typemap/html_cell.rb +4 -1
  579. data/rakelib/lib/typemap/io_streams.rb +4 -1
  580. data/rakelib/lib/typemap/pgcell.rb +4 -1
  581. data/rakelib/lib/typemap/pgeditor.rb +4 -1
  582. data/rakelib/lib/typemap/pgprop_arg.rb +4 -1
  583. data/rakelib/lib/typemap/pgproperty.rb +4 -1
  584. data/rakelib/lib/typemap/points_list.rb +4 -1
  585. data/rakelib/lib/typemap/richtext.rb +185 -11
  586. data/rakelib/lib/typemap/tree_itemid.rb +26 -1
  587. data/rakelib/lib/util/string.rb +4 -1
  588. data/rakelib/prepost.rake +4 -1
  589. data/rakelib/prepost.rb +4 -1
  590. data/rakelib/run.rake +4 -1
  591. data/samples/aui/aui.rb +8 -3
  592. data/samples/bigdemo/bigdemo.rb +9 -2
  593. data/samples/bigdemo/run.rb +9 -2
  594. data/samples/bigdemo/utils.rb +9 -1
  595. data/samples/calendar/calendar.rb +9 -4
  596. data/samples/caret/caret.rb +8 -3
  597. data/samples/controls/books.rb +8 -2
  598. data/samples/controls/controls.rb +33 -77
  599. data/samples/controls/get_item_sample.rb +8 -2
  600. data/samples/controls/htlbox.rb +10 -3
  601. data/samples/dialogs/dialogs.rb +9 -4
  602. data/samples/dialogs/wizard.rb +8 -3
  603. data/samples/dragdrop/dragdrop.rb +8 -3
  604. data/samples/drawing/bitmap.rb +8 -3
  605. data/samples/drawing/bitmap_image.rb +8 -3
  606. data/samples/drawing/graphics_drawing.rb +44 -33
  607. data/samples/drawing/image_prt.rb +8 -2
  608. data/samples/drawing/maths_images.rb +8 -3
  609. data/samples/drawing/rmagic_bitmap_image.rb +8 -3
  610. data/samples/etc/choice.rb +8 -3
  611. data/samples/etc/miniframe.rb +8 -3
  612. data/samples/etc/sash.rb +8 -3
  613. data/samples/etc/scrollwin.rb +8 -3
  614. data/samples/etc/system_settings.rb +8 -3
  615. data/samples/event/activation.rb +8 -3
  616. data/samples/event/event.rb +8 -3
  617. data/samples/event/threaded.rb +8 -3
  618. data/samples/event/update_ui_event.rb +8 -3
  619. data/samples/grid/grid.rb +9 -3
  620. data/samples/grid/gridtablebase.rb +8 -3
  621. data/samples/html/html.rb +8 -3
  622. data/samples/mdi/mdi.rb +8 -3
  623. data/samples/minimal/minimal.rb +8 -3
  624. data/samples/minimal/nothing.rb +8 -3
  625. data/samples/printing/printing.rb +8 -3
  626. data/samples/printing/printing2.rb +8 -2
  627. data/samples/propgrid/propgrid.rb +4 -1
  628. data/samples/propgrid/propgrid_minimal.rb +4 -2
  629. data/samples/propgrid/sample_props.rb +4 -1
  630. data/samples/ribbon/ribbon.rb +4 -1
  631. data/samples/sampler/editor.rb +4 -1
  632. data/samples/sampler/ext.rb +4 -1
  633. data/samples/sampler/sample.rb +13 -4
  634. data/samples/sampler/stc_editor.rb +4 -1
  635. data/samples/sampler/txt_editor.rb +4 -1
  636. data/samples/sampler.rb +11 -3
  637. data/samples/splash/splash.rb +4 -2
  638. data/samples/text/art/richtext/alignleft.xpm +24 -0
  639. data/samples/text/art/richtext/alignright.xpm +24 -0
  640. data/samples/text/art/richtext/bold.xpm +24 -0
  641. data/samples/text/art/richtext/centre.xpm +24 -0
  642. data/samples/text/art/richtext/copy.xpm +45 -0
  643. data/samples/text/art/richtext/cut.xpm +47 -0
  644. data/samples/text/art/richtext/font.xpm +25 -0
  645. data/samples/text/art/richtext/idea.xpm +47 -0
  646. data/samples/text/art/richtext/indentless.xpm +25 -0
  647. data/samples/text/art/richtext/indentmore.xpm +25 -0
  648. data/samples/text/art/richtext/italic.xpm +25 -0
  649. data/samples/text/art/richtext/open.xpm +58 -0
  650. data/samples/text/art/richtext/paste.xpm +47 -0
  651. data/samples/text/art/richtext/redo.xpm +59 -0
  652. data/samples/text/art/richtext/save.xpm +43 -0
  653. data/samples/text/art/richtext/smiley.xpm +42 -0
  654. data/samples/text/art/richtext/underline.xpm +25 -0
  655. data/samples/text/art/richtext/undo.xpm +59 -0
  656. data/samples/text/art/richtext/zebra.xpm +409 -0
  657. data/samples/text/rich_textctrl.rb +8 -3
  658. data/samples/text/richtext.rb +1824 -0
  659. data/samples/text/scintilla.rb +8 -3
  660. data/samples/text/textctrl.rb +21 -4
  661. data/samples/text/tn_richtext.png +0 -0
  662. data/samples/text/unicode.rb +9 -4
  663. data/samples/treectrl/treectrl.rb +10 -5
  664. data/samples/xrc/custom_xrc_sample.rb +8 -3
  665. data/samples/xrc/xrc_sample.rb +8 -3
  666. data/tests/art/test_art/bitmap/wxruby-128x128.png +0 -0
  667. data/tests/art/test_art/bitmap/wxruby-256x256.png +0 -0
  668. data/tests/art/test_art/bitmap/wxruby-64x64.png +0 -0
  669. data/tests/lib/item_container_tests.rb +3 -0
  670. data/tests/lib/text_entry_tests.rb +3 -0
  671. data/tests/lib/wxapp_runner.rb +3 -0
  672. data/tests/lib/wxframe_runner.rb +81 -3
  673. data/tests/test_app_event_filter.rb +3 -0
  674. data/tests/test_app_traits.rb +33 -0
  675. data/tests/test_art.rb +31 -0
  676. data/tests/test_art_provider.rb +3 -0
  677. data/tests/test_aui.rb +65 -0
  678. data/tests/test_basic.rb +5 -1
  679. data/tests/test_box_sizer.rb +164 -0
  680. data/tests/test_clipboard.rb +3 -0
  681. data/tests/test_config.rb +150 -0
  682. data/tests/test_dc.rb +3 -0
  683. data/tests/test_dialog.rb +3 -0
  684. data/tests/test_event_handling.rb +3 -0
  685. data/tests/test_events.rb +3 -0
  686. data/tests/test_ext_controls.rb +286 -3
  687. data/tests/test_file_dialog.rb +55 -0
  688. data/tests/test_font.rb +8 -5
  689. data/tests/test_gdi_object.rb +3 -0
  690. data/tests/test_geometry.rb +4 -0
  691. data/tests/test_grid_sizer.rb +151 -0
  692. data/tests/test_intl.rb +3 -0
  693. data/tests/test_item_data.rb +3 -0
  694. data/tests/test_list_ctrl.rb +56 -0
  695. data/tests/test_log.rb +226 -0
  696. data/tests/test_proof_check.rb +52 -0
  697. data/tests/test_richtext.rb +204 -0
  698. data/tests/test_std_controls.rb +99 -31
  699. data/tests/test_timer.rb +98 -0
  700. data/tests/test_variant.rb +3 -0
  701. data/tests/test_window.rb +10 -8
  702. data/tests/testapp.rb +4 -0
  703. data/tests/testapp_noframe.rb +4 -0
  704. metadata +146 -3
  705. data/rakelib/lib/director/html_help_frame.rb +0 -25
@@ -0,0 +1,40 @@
1
+ ---
2
+ :wxSymbolPickerDialog:
3
+ :detail:
4
+ :pre:
5
+ :programlisting:
6
+ - :pattern: !ruby/regexp /.*/
7
+ :replace: |
8
+
9
+ ```ruby
10
+ ctrl = find_window(ID_RICHTEXT_CTRL)
11
+
12
+ attr = Wx::TextAttr.new
13
+ attr.set_flags(Wx::TEXT_ATTR_FONT)
14
+ ctrl.get_style(ctrl.insertion_point, attr)
15
+
16
+ if attr.has_font? && attr.font.ok?
17
+ currentFontName = attr.font.face_name
18
+
19
+ # Don't set the initial font in the dialog (so the user is choosing
20
+ # 'normal text', i.e. the current font) but do tell the dialog
21
+ # what 'normal text' is.
22
+
23
+ Wx.SymbolPickerDialog("*", '', currentFontName, self) do |dlg|
24
+
25
+ if dlg.show_modal == Wx::ID_OK
26
+ if dlg.has_selection?
27
+ insertionPoint = ctrl.insertion_point
28
+
29
+ ctrl.write_text(dlg.symbol)
30
+
31
+ unless dlg.use_normal_font
32
+ font = attr.font
33
+ font.face_name = dlg.font_name
34
+ attr.font = font
35
+ ctrl.set_style(insertionPoint, insertionPoint+1, attr)
36
+ end
37
+ end
38
+ end
39
+ end
40
+ ```
@@ -0,0 +1,19 @@
1
+ ---
2
+ :wxTextCtrl:
3
+ :detail:
4
+ :pre:
5
+ :programlisting:
6
+ - :pattern: !ruby/regexp /SetDefaultStyle.*wxRED/
7
+ :replace: |
8
+
9
+ ```ruby
10
+ text.set_default_style(Wx::TextAttr.new(Wx::RED))
11
+ text.append_text("Red text\n")
12
+ text.set_default_style(Wx::TextAttr.new(Wx::NULL_COLOUR, Wx::LIGHT_GREY))
13
+ text.append_text("Red on grey text\n")
14
+ text.set_default_style(Wx::TextAttr.new(Wx::BLUE))
15
+ text.append_text("Blue on grey text\n")
16
+ ```
17
+ :post:
18
+ - :pattern: !ruby/regexp /==\s+wxTextCtrl\s+and\s+C\+\+\s+Streams.*See\s+\{Wx::StreamToTextRedirector\}\s+for\s+more\s+details\./m
19
+ :subst: ''
@@ -0,0 +1,42 @@
1
+ ---
2
+ :wxTextEntry.GetInsertionPoint:
3
+ :detail:
4
+ :pre:
5
+ :programlisting:
6
+ - :pattern: !ruby/regexp /.*/
7
+ :replace: |
8
+
9
+ ```ruby
10
+ def get_current_char(txt_ctrl)
11
+ pos = txt_ctrl.get_insertion_point
12
+ return '' if pos == txt_ctrl.get_last_position
13
+
14
+ txt_ctrl.get_range(pos, pos + 1)
15
+ end
16
+ ```
17
+ :wxTextCompleterSimple:
18
+ :detail:
19
+ :pre:
20
+ :programlisting:
21
+ - :pattern: !ruby/regexp /.*/
22
+ :replace: |
23
+
24
+ ```ruby
25
+ class MyTextCompleter < Wx::TextCompleterSimple
26
+
27
+ def get_completions(prefix)
28
+ firstWord = prefix.split(' ').shift
29
+ if firstWord == 'white'
30
+ ['white pawn', 'white rook']
31
+ elsif firstWord == 'black'
32
+ ['black king', 'black queen']
33
+ else
34
+ ['white', 'black']
35
+ end
36
+ end
37
+
38
+ end
39
+ ...
40
+ text_ctrl = ...
41
+ text_ctrl.auto_complete(MyTextCompleter.new)
42
+ ```
@@ -0,0 +1,17 @@
1
+ ---
2
+ :wxTextEntryDialog.SetTextValidator:
3
+ :detail:
4
+ :pre:
5
+ :programlisting:
6
+ - :pattern: !ruby/regexp /.*/
7
+ :replace: |
8
+
9
+ ```ruby
10
+ Wx::TextEntryDialog(self, ...) do |dlg|
11
+ dlg.set_text_validator(Wx::FILTER_ALPHA)
12
+ if dlg.show_modal == Wx::ID_OK
13
+ # We can be certain that this string contains letters only.
14
+ value = dlg.get_value
15
+ end
16
+ end
17
+ ```
@@ -0,0 +1,28 @@
1
+ ---
2
+ :wxTimerEvent:
3
+ :detail:
4
+ :pre:
5
+ :programlisting:
6
+ - :pattern: !ruby/regexp /.*/
7
+ :replace: |
8
+
9
+ ```ruby
10
+ class MyFrame < Wx::Frame
11
+
12
+ def initialize
13
+ super(nil)
14
+ @timer = Wx::Timer.new(self, TIMER_ID)
15
+
16
+ evt_timer(TIMER_ID, :on_timer)
17
+
18
+ @timer.start(1000) # 1 second interval
19
+ end
20
+
21
+ ...
22
+
23
+ def on_timer(event)
24
+ # do whatever you want to do every second here
25
+ end
26
+
27
+ end
28
+ ```
@@ -0,0 +1,35 @@
1
+ ---
2
+ :wxToolBar.SetToolBitmapSize:
3
+ :detail:
4
+ :pre:
5
+ :programlisting:
6
+ - :pattern: !ruby/regexp /.*/
7
+ :replace: |
8
+
9
+ ```ruby
10
+ toolbar.set_tool_bitmap_size(from_dip(Wx::Size.new(32, 32)))
11
+ toolbar.add_tool(Wx::ID_NEW, 'New', Wx::BitmapBundle.from_XXX(...))
12
+ ...
13
+ toolbar.realize
14
+ ```
15
+ :wxToolBar:
16
+ :detail:
17
+ :pre:
18
+ :programlisting:
19
+ - :pattern: !ruby/regexp /0\);/
20
+ :replace: |
21
+
22
+ ```ruby
23
+ Wx::SystemOptions.set_option('msw.remap', 0)
24
+ ```
25
+ - :pattern: !ruby/regexp /2\);/
26
+ :replace: |
27
+
28
+ ```ruby
29
+ Wx::SystemOptions.set_option('msw.remap', 2)
30
+ ```
31
+ - :pattern: !ruby/regexp /wxTheApp/
32
+ :replace: ''
33
+ :para:
34
+ - :pattern: !ruby/regexp /But\s+only\s+use.*true\s+colour:/
35
+ :subst: ''
@@ -0,0 +1,23 @@
1
+ ---
2
+ :wxTopLevelWindow.MSWGetSystemMenu:
3
+ :detail:
4
+ :pre:
5
+ :programlisting:
6
+ - :pattern: !ruby/regexp /.*/
7
+ :replace: |
8
+
9
+ ```ruby
10
+ if Wx::PLATFORM == 'WXMSW'
11
+ ```
12
+ :wxTopLevelWindow.UseNativeDecorations:
13
+ :detail:
14
+ :pre:
15
+ :programlisting:
16
+ - :pattern: !ruby/regexp /.*/
17
+ :replace: |
18
+
19
+ ```ruby
20
+ frame = MyFrame.new # use default ctor
21
+ frame.use_native_decorations(false) # change from default "true"
22
+ frame.create(parent, title, ...) # really create the frame
23
+ ```
@@ -0,0 +1,12 @@
1
+ ---
2
+ :wxValidator.SetWindow:
3
+ :detail:
4
+ :pre:
5
+ :programlisting:
6
+ - :pattern: !ruby/regexp /.*/
7
+ :replace: |
8
+
9
+ ```ruby
10
+ Wx::TextCtrl.new(self, Wx::ID_ANY, '', Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, 0,
11
+ Wx::TextValidator.new(Wx::FILTER_ALPHA))
12
+ ```
@@ -0,0 +1,29 @@
1
+ ---
2
+ :wxVariant:
3
+ :detail:
4
+ :pre:
5
+ :detaileddescription:
6
+ - :pattern: !ruby/regexp /.*/
7
+ :replace: |
8
+
9
+ A variant's value can be changed at run time, possibly to a different type of value.
10
+ In wxRuby Wx::Variant is the only available Wx variant class (unlike in C++) and almost exclusively for
11
+ use in combination with the property grid classes (see the {Wx::PG} module).
12
+
13
+ By default Wx::Variant can store values of type bool, {Integer}, {Float}, {String}, {Time} (or {Date} / {DateTime}), {Array} of {String},
14
+ {Array} of {Wx::Variant}, {Wx::Font}, {Wx::Colour} and {Wx::ColourPropertyValue}.
15
+ In addition Wx::Variant can store any Ruby {Object}.
16
+
17
+ An optional name member is associated with a Wx::Variant.
18
+
19
+ In wxRuby Wx::Variant also provides the standard conversion methods #to_i, #to_s and #to_f for supported
20
+ value types. In case of incompatible value types these methods will raise a {TypeError} exception.
21
+ :wxVariant.GetType:
22
+ :detail:
23
+ :post:
24
+ - :pattern: !ruby/regexp /\-\s+\"void\*\"$/
25
+ :subst: ''
26
+ - :pattern: !ruby/regexp /\Z/
27
+ :subst: |
28
+
29
+ If the variant contains an arbitrary Ruby {Object}, the value type returned is the result of `variant.get_object.class.name`.
@@ -0,0 +1,249 @@
1
+ ---
2
+ :wxWindow.SetScrollbar:
3
+ :detail:
4
+ :pre:
5
+ :programlisting:
6
+ - :pattern: !ruby/regexp /.*/
7
+ :replace: |
8
+
9
+ ```ruby
10
+ set_scrollbar(Wx::VERTICAL, 0, 16, 50)
11
+ ```
12
+ :wxWindow.FromDIP:
13
+ :detail:
14
+ :pre:
15
+ :programlisting:
16
+ - :pattern: !ruby/regexp /.*/
17
+ :replace: |
18
+
19
+ ```ruby
20
+ bmp = Wx::Bitmap.new(from_dip(Wx::Size.new(32, 32)))
21
+ ```
22
+ :wxWindow.ToDIP:
23
+ :detail:
24
+ :pre:
25
+ :programlisting:
26
+ - :pattern: !ruby/regexp /.*/
27
+ :replace: |
28
+
29
+ ```ruby
30
+ pt = Wx::Point.new(to_dip(get_position))
31
+ size = Wx::Size.new(to_dip(get_size))
32
+ ```
33
+ :wxWindow.SetMaxClientSize:
34
+ :detail:
35
+ :pre:
36
+ :programlisting:
37
+ - :pattern: !ruby/regexp /.*/
38
+ :replace: |
39
+
40
+ ```ruby
41
+ set_max_size(client_to_window_size(size))
42
+ ```
43
+ :wxWindow.SetMinClientSize:
44
+ :detail:
45
+ :pre:
46
+ :programlisting:
47
+ - :pattern: !ruby/regexp /.*/
48
+ :replace: |
49
+
50
+ ```ruby
51
+ set_min_size(client_to_window_size(size))
52
+ ```
53
+ :wxWindow.Move:
54
+ :detail:
55
+ :pre:
56
+ :programlisting:
57
+ - :pattern: !ruby/regexp /.*/
58
+ :replace: |
59
+
60
+ ```ruby
61
+ set_size(x, y, Wx::DEFAULT_COORD, Wx::DEFAULT_COORD, Wx::SIZE_USE_EXISTING)
62
+ ```
63
+ :wxWindow.ConvertDialogToPixels:
64
+ :detail:
65
+ :pre:
66
+ :para:
67
+ - :pattern: !ruby/regexp /A\s+convenience\s+macro\s+is\s+defined:/
68
+ :subst: ''
69
+ :programlisting:
70
+ - :pattern: !ruby/regexp /.*/
71
+ :replace: ''
72
+ :wxWindow.SetBackgroundStyle:
73
+ :detail:
74
+ :pre:
75
+ :programlisting:
76
+ - :pattern: !ruby/regexp /.*/
77
+ :replace: |
78
+
79
+ ```ruby
80
+ class MyWidget < Wx::Window
81
+ def initialize(parent, ...)
82
+ super() # Use default ctor here!
83
+ # Do this first:
84
+ set_background_style(Wx::BG_STYLE_TRANSPARENT)
85
+
86
+ # And really create the window afterwards:
87
+ create(parent, ...)
88
+ end
89
+ end
90
+ ```
91
+ :wxWindow.HandleWindowEvent:
92
+ :detail:
93
+ :pre:
94
+ :programlisting:
95
+ - :pattern: !ruby/regexp /.*/
96
+ :replace: |
97
+
98
+ ```ruby
99
+ get_event_handler.safely_process_event(event)
100
+ ```
101
+ :wxWindow.ProcessWindowEvent:
102
+ :detail:
103
+ :pre:
104
+ :programlisting:
105
+ - :pattern: !ruby/regexp /.*/
106
+ :replace: |
107
+
108
+ ```ruby
109
+ get_event_handler.process_event(event)
110
+ ```
111
+ :wxWindow.PushEventHandler:
112
+ :detail:
113
+ :pre:
114
+ :programlisting:
115
+ - :pattern: !ruby/regexp /.*/
116
+ :replace: |
117
+
118
+ ```ruby
119
+ W.push_event_handler(A)
120
+ W.push_event_handler(B)
121
+ ```
122
+ :wxWindow.Enable:
123
+ :detail:
124
+ :pre:
125
+ :programlisting:
126
+ - :pattern: !ruby/regexp /.*/
127
+ :replace: |
128
+
129
+ ```ruby
130
+ w = MyWindow.new # Note: default ctor is used here.
131
+ w.enable(false)
132
+ w.create(parent, ... all the usual non-default ctor arguments ...)
133
+ ```
134
+ :wxWindow.EnableTouchEvents:
135
+ :detail:
136
+ :pre:
137
+ :programlisting:
138
+ - :pattern: !ruby/regexp /.*/
139
+ :replace: |
140
+
141
+ ```ruby
142
+ enable_touch_events(Wx::TOUCH_ZOOM_GESTURE | Wx::TOUCH_ROTATE_GESTURE)
143
+ ```
144
+ :wxWindow.DoUpdateWindowUI:
145
+ :detail:
146
+ :pre:
147
+ :programlisting:
148
+ - :pattern: !ruby/regexp /.*/
149
+ :replace: |
150
+
151
+ ```ruby
152
+ # do the window-specific processing after processing the update event
153
+ def Wx::TopLevelWindow.do_update_window_ui(event)
154
+ if event.get_set_enabled
155
+ enable(event.get_enabled)
156
+ end
157
+
158
+ if event.get_set_text
159
+ if event.get_text != get_title
160
+ set_title(event.get_text)
161
+ end
162
+ end
163
+ end
164
+ ```
165
+ :wxWindow.UpdateWindowUI:
166
+ :detail:
167
+ :pre:
168
+ :programlisting:
169
+ - :pattern: !ruby/regexp /.*/
170
+ :replace: |
171
+
172
+ ```ruby
173
+ class MyWindow
174
+ ...
175
+ def on_internal_idle
176
+ update_window_ui(Wx::UPDATE_UI_FROMIDLE) if Wx::UpdateUIEvent.can_update(self)
177
+ end
178
+ ...
179
+ end
180
+ ```
181
+ :wxWindow.Create:
182
+ :detail:
183
+ :pre:
184
+ :programlisting:
185
+ - :pattern: !ruby/regexp /wxPanel/
186
+ :replace: |
187
+
188
+ ```ruby
189
+ panel = Wx::Panel.new # Note: default constructor used.
190
+ panel.hide # Can be called before actually creating it.
191
+ panel.create(parent, Wx::ID_ANY, ...) # Won't be shown yet.
192
+ ... create all the panel children ...
193
+ panel.show # Now everything will be shown at once.
194
+ ```
195
+ - :pattern: !ruby/regexp /MyCreateWindowObjectFunction/
196
+ :replace: |
197
+
198
+ ```ruby
199
+ # Suppose we have this function (which would typically be in a
200
+ # different file from the rest of the code).
201
+ def my_create_window_object_function
202
+ MyCustomClassDerivingFromWindow.new
203
+ end
204
+
205
+ # Then we can create a window of MyCustomClassDerivingFromWindow
206
+ # class without really knowing about this type, as we would have
207
+ # to do if we wanted to use the non-default constructor, like this:
208
+
209
+ # First create the C++ object using the factory function.
210
+ window = my_create_window_object_function
211
+
212
+ # And now create the underlying window.
213
+ #
214
+ # This should call the base Wx::Window#create.
215
+ # In C++ (wxWidgets) this method is not virtual and cannot be overloaded
216
+ # so the derived class can't customize this part.
217
+ # In wxRuby however this method can be overloaded as long as the following
218
+ # is kept in mind:
219
+ # 1. the overloaded version will **NOT** be called when using a non-default
220
+ # constructor (Create will than be called from C++ which will always be
221
+ # the base Wx::Window version);
222
+ # 2. when calling the overloaded version from Ruby understand that the window
223
+ # will not actually be created until after the `super` version has been called.
224
+ # In general it's best not to overload this method but to define a different method
225
+ # if a custom initializer is needed.
226
+ window.create(parent, Wx::ID_ANY, ...)
227
+ ```
228
+ :wxWindow.MSWDisableComposited:
229
+ :detail:
230
+ :pre:
231
+ :programlisting:
232
+ - :pattern: !ruby/regexp /.*/
233
+ :replace: |
234
+
235
+ ```ruby
236
+ class MyFrame < Wx::Frame
237
+ def initialize(...)
238
+ ...
239
+ p = Wx::Panel.new(self)
240
+ if Wx::PLATFORM == 'WXMSW'
241
+ p.msw_disable_composited
242
+ end
243
+
244
+ # Using Wx::ClientDC will work now with this panel in wxMSW --
245
+ # although it still won't with wxOSX nor wxGTK under Wayland.
246
+ end
247
+ ...
248
+ end
249
+ ```
@@ -0,0 +1,14 @@
1
+ ---
2
+ :wxWizardPageSimple.Chain:
3
+ :detail:
4
+ :pre:
5
+ :programlisting:
6
+ - :pattern: !ruby/regexp /.*/
7
+ :replace: |
8
+
9
+ ```ruby
10
+ firstPage = FirstPage.new # derived from Wx::WizardPageSimple
11
+ firstPage.chain(SecondPage.new)
12
+ .chain(ThirdPage.new)
13
+ .chain(LastPage.new)
14
+ ```
@@ -0,0 +1,7 @@
1
+ ---
2
+ :wxXmlNode.GetNodeContent:
3
+ :detail:
4
+ :pre:
5
+ :para:
6
+ - :pattern: !ruby/regexp /tagnametagcontent\/tagname/
7
+ :subst: '&lt;tagname&gt;tagcontent&lt;/tagname&gt;'
@@ -0,0 +1,27 @@
1
+ ---
2
+ :wxXmlResource.Load:
3
+ :detail:
4
+ :pre:
5
+ :programlisting:
6
+ - :pattern: !ruby/regexp /.*/
7
+ :replace: |
8
+
9
+ ```ruby
10
+ if !Wx::XmlResource.get.load('rc/*.xrc')
11
+ Wx.log_error("Couldn't load resources!")
12
+ end
13
+ ```
14
+ :wxXmlResource.LoadDialog:
15
+ :detail:
16
+ :pre:
17
+ :programlisting:
18
+ - :pattern: !ruby/regexp /.*/
19
+ :replace: |
20
+
21
+ ```ruby
22
+ dlg = MyDialog.new
23
+ Wx::XmlResource.get.load_dialog_subclass(dlg, main_frame, 'my_dialog')
24
+ dlg.show_modal
25
+
26
+ dlg.destroy
27
+ ```
@@ -1,6 +1,9 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
1
5
  ###
2
6
  # wxRuby3 wxWidgets interface generation templates
3
- # Copyright (c) M.J.N. Corino, The Netherlands
4
7
  ###
5
8
 
6
9
  require 'set'
@@ -277,6 +280,7 @@ module WXRuby3
277
280
 
278
281
  def _ident_str_to_doc(s, ref_scope = nil)
279
282
  return s if no_idents?
283
+ return s if %w[wxRuby wxMSW wxOSX wxGTK wxX11].any? { |w| s.start_with?(w) }
280
284
  nmlist = s.split('::')
281
285
  nm_str = nmlist.shift.to_s
282
286
  constnm = rb_wx_name(nm_str)
@@ -284,8 +288,12 @@ module WXRuby3
284
288
  if /(\w+)\s*\(([^\)]*)\)/ =~ nm_str # method with arglist?
285
289
  fn = $1
286
290
  args = _arglist_to_doc($2)
287
- mtdsig = args.empty? ? "#{rb_method_name(fn)}" : "#{rb_method_name(fn)}(#{args})"
288
291
  if ref_scope
292
+ mtdsig = if ref_scope == fn
293
+ args.empty? ? 'initialize' : "initialize(#{args})"
294
+ else
295
+ args.empty? ? "#{rb_method_name(fn)}" : "#{rb_method_name(fn)}(#{args})"
296
+ end
289
297
  sep = _is_static_method?(ref_scope, fn) ? '.' : '#'
290
298
  constnm = rb_wx_name(ref_scope)
291
299
  if DocGenerator.constants_xref_db.has_key?(constnm)
@@ -294,6 +302,7 @@ module WXRuby3
294
302
  "Wx::#{constnm}#{sep}#{mtdsig}"
295
303
  end
296
304
  else
305
+ mtdsig = args.empty? ? "#{rb_method_name(fn)}" : "#{rb_method_name(fn)}(#{args})"
297
306
  [mtdsig, true]
298
307
  end
299
308
  else # constant or method name only
@@ -306,8 +315,12 @@ module WXRuby3
306
315
  elsif !_is_method?(nm_str, ref_scope)
307
316
  ["Wx::#{constnm}", true]
308
317
  else
309
- mtdnm = rb_method_name(nm_str)
310
318
  if ref_scope
319
+ mtdnm = if ref_scope == nm_str
320
+ 'initialize'
321
+ else
322
+ rb_method_name(nm_str)
323
+ end
311
324
  sep = _is_static_method?(ref_scope, nm_str) ? '.' : '#'
312
325
  constnm = rb_wx_name(ref_scope)
313
326
  if DocGenerator.constants_xref_db.has_key?(constnm)
@@ -316,6 +329,7 @@ module WXRuby3
316
329
  "Wx::#{constnm}#{sep}#{mtdnm}"
317
330
  end
318
331
  else
332
+ mtdnm = rb_method_name(nm_str)
319
333
  [mtdnm, true]
320
334
  end
321
335
  end
@@ -403,7 +417,7 @@ module WXRuby3
403
417
  itm_text = node_to_doc(node)
404
418
  # fix possible unwanted leading spaces resulting in verbatim blocks
405
419
  itm_text = itm_text.split("\n").collect {|s|s.lstrip}.join("\n") if itm_text.index("\n")
406
- "- #{itm_text}"
420
+ "\n- #{itm_text}"
407
421
  end
408
422
 
409
423
  def node_to_doc(xmlnode)
@@ -571,6 +585,9 @@ module WXRuby3
571
585
  end
572
586
  end
573
587
  end
588
+ if @item_doc_ovr.has_key?(:replace)
589
+ doc = @item_doc_ovr[:replace][:text]
590
+ end
574
591
  doc.sub!(/\<b\>\{Wx::Perl.*/, '')
575
592
  doc.strip!
576
593
  # reduce triple(or more) newlines to max 2
@@ -589,6 +606,39 @@ module WXRuby3
589
606
  DocGenerator.constants_xref_db
590
607
  end
591
608
 
609
+ def type_to_doc(ctype_decl)
610
+ return ctype_decl if ctype_decl == 'void'
611
+ ctype = Typemap.strip_type_decl(ctype_decl)
612
+ nmlist = ctype.split('::')
613
+ nm_str = nmlist.shift.to_s
614
+ constnm = rb_wx_name(nm_str)
615
+ if nmlist.empty? # unscoped id?
616
+ if DocGenerator.constants_xref_db.has_key?(constnm)
617
+ "#{DocGenerator.constants_xref_db[constnm]['mod']}::#{constnm}"
618
+ elsif DocGenerator.constants_xref_db.has_key?(rb_constant_name(nm_str))
619
+ "Wx::#{rb_constant_name(nm_str)}"
620
+ elsif DocGenerator.constants_xref_db.has_key?(rb_constant_name(nm_str, false))
621
+ "Wx::#{rb_constant_name(nm_str, false)}"
622
+ else
623
+ Typemap.wx_type_to_rb(ctype)
624
+ end
625
+ else
626
+ itmnm = nmlist.shift.to_s
627
+ if DocGenerator.constants_xref_db.has_key?(constnm)
628
+ constnm = "#{DocGenerator.constants_xref_db[constnm]['mod']}::#{constnm}"
629
+ elsif DocGenerator.constants_xref_db.has_key?(rb_constant_name(nm_str))
630
+ cnm = rb_constant_name(nm_str)
631
+ constnm = "#{DocGenerator.constants_xref_db[cnm]['mod']}::#{cnm}"
632
+ elsif DocGenerator.constants_xref_db.has_key?(rb_constant_name(nm_str, false))
633
+ cnm = rb_constant_name(nm_str, false)
634
+ constnm = "#{DocGenerator.constants_xref_db[cnm]['mod']}::#{cnm}"
635
+ elsif nm_str.start_with?('wx')
636
+ constnm = "Wx::#{constnm}"
637
+ end
638
+ "#{constnm}::#{rb_wx_name(itmnm)}"
639
+ end
640
+ end
641
+
592
642
  end
593
643
 
594
644
  def run