wxruby3 0.9.1 → 0.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/INSTALL.md +35 -29
  4. data/README.md +24 -15
  5. data/ext/wxruby3/include/wxRubyApp.h +338 -0
  6. data/ext/wxruby3/include/wxruby-ClientData.h +48 -0
  7. data/ext/wxruby3/include/wxruby-Config.h +6 -6
  8. data/ext/wxruby3/include/wxruby-Validator.h +39 -0
  9. data/ext/wxruby3/include/wxruby-ValidatorBinding.h +64 -0
  10. data/ext/wxruby3/swig/common.i +1 -1
  11. data/ext/wxruby3/swig/custom/director.swg +8 -0
  12. data/ext/wxruby3/swig/mark_free_impl.i +0 -33
  13. data/lib/wx/aui/aui_tab_ctrl.rb +18 -0
  14. data/lib/wx/aui/auinotebook.rb +6 -2
  15. data/lib/wx/aui/require.rb +1 -0
  16. data/lib/wx/core/app.rb +2 -2
  17. data/lib/wx/core/bitmap_combobox.rb +17 -21
  18. data/lib/wx/core/collapsible_pane.rb +1 -1
  19. data/lib/wx/core/combobox.rb +13 -3
  20. data/lib/wx/core/controlwithitems.rb +40 -128
  21. data/lib/wx/core/enum.rb +17 -1
  22. data/lib/wx/core/event.rb +6 -1
  23. data/lib/wx/core/evthandler.rb +8 -2
  24. data/lib/wx/core/generic_validator.rb +312 -0
  25. data/lib/wx/core/listbox.rb +2 -2
  26. data/lib/wx/core/log.rb +1 -1
  27. data/lib/wx/core/menu.rb +10 -0
  28. data/lib/wx/core/notebook.rb +6 -2
  29. data/lib/wx/core/owner_drawn_combobox.rb +45 -0
  30. data/lib/wx/core/size.rb +4 -0
  31. data/lib/wx/core/sizer.rb +12 -2
  32. data/lib/wx/core/standard_paths.rb +22 -0
  33. data/lib/wx/core/task_bar_button.rb +19 -0
  34. data/lib/wx/core/text_entry.rb +4 -1
  35. data/lib/wx/core/textctrl.rb +11 -1
  36. data/lib/wx/core/{treectrl.rb → tree_ctrl.rb} +31 -12
  37. data/lib/wx/core/validator.rb +70 -5
  38. data/lib/wx/core/window.rb +13 -7
  39. data/lib/wx/doc/app.rb +48 -38
  40. data/lib/wx/doc/art_locator.rb +48 -43
  41. data/lib/wx/doc/aui/auimanager.rb +16 -8
  42. data/lib/wx/doc/aui/auinotebook.rb +20 -5
  43. data/lib/wx/doc/clipboard.rb +11 -7
  44. data/lib/wx/doc/colour_dialog.rb +14 -10
  45. data/lib/wx/doc/comboctrl.rb +18 -0
  46. data/lib/wx/doc/controlwithitems.rb +34 -8
  47. data/lib/wx/doc/data_object.rb +2 -2
  48. data/lib/wx/doc/date_picker_ctrl.rb +23 -0
  49. data/lib/wx/doc/editable_listbox.rb +44 -0
  50. data/lib/wx/doc/enum.rb +15 -0
  51. data/lib/wx/doc/event.rb +12 -0
  52. data/lib/wx/doc/evthandler.rb +113 -108
  53. data/lib/wx/doc/extra/12_client_data.md +89 -0
  54. data/lib/wx/doc/extra/13_validators.md +139 -0
  55. data/lib/wx/doc/font.rb +1 -0
  56. data/lib/wx/doc/gc_dc.rb +6 -1
  57. data/lib/wx/doc/gdi_common.rb +4 -0
  58. data/lib/wx/doc/generic_validator.rb +95 -0
  59. data/lib/wx/doc/graphics_context.rb +1 -0
  60. data/lib/wx/doc/grid/grid.rb +22 -1
  61. data/lib/wx/doc/help_controller.rb +11 -7
  62. data/lib/wx/doc/html/html_help_controller.rb +12 -4
  63. data/lib/wx/doc/html/simple_html_listbox.rb +22 -0
  64. data/lib/wx/doc/list_ctrl.rb +33 -29
  65. data/lib/wx/doc/menu.rb +20 -0
  66. data/lib/wx/doc/notebook.rb +21 -0
  67. data/lib/wx/doc/num_validator.rb +387 -0
  68. data/lib/wx/doc/owner_drawn_combobox.rb +96 -0
  69. data/lib/wx/doc/pg/events.rb +13 -9
  70. data/lib/wx/doc/pg/numeric_property_validator.rb +33 -0
  71. data/lib/wx/doc/pg/pg_property.rb +18 -0
  72. data/lib/wx/doc/progress_dialog.rb +36 -32
  73. data/lib/wx/doc/prt/page_setup_dialog.rb +20 -12
  74. data/lib/wx/doc/prt/print_data.rb +13 -5
  75. data/lib/wx/doc/prt/print_dialog.rb +31 -23
  76. data/lib/wx/doc/prt/printer.rb +20 -12
  77. data/lib/wx/doc/radio_box.rb +19 -15
  78. data/lib/wx/doc/rbn/ribbon_bar.rb +13 -5
  79. data/lib/wx/doc/rbn/ribbon_button_bar.rb +13 -5
  80. data/lib/wx/doc/rbn/ribbon_gallery.rb +13 -5
  81. data/lib/wx/doc/rbn/ribbon_tool_bar.rb +13 -5
  82. data/lib/wx/doc/region_iterator.rb +32 -28
  83. data/lib/wx/doc/rtc/rich_text_composite_object.rb +24 -0
  84. data/lib/wx/doc/rtc/rich_text_ctrl.rb +24 -0
  85. data/lib/wx/doc/rtc/rich_text_paragraph.rb +24 -0
  86. data/lib/wx/doc/rtc/richtext_buffer.rb +27 -19
  87. data/lib/wx/doc/rtc/richtext_printing.rb +17 -9
  88. data/lib/wx/doc/rtc/richtext_style_sheet.rb +17 -9
  89. data/lib/wx/doc/sizer.rb +20 -0
  90. data/lib/wx/doc/static_bitmap.rb +25 -0
  91. data/lib/wx/doc/stc/styled_text_ctrl.rb +24 -0
  92. data/lib/wx/doc/stream.rb +39 -35
  93. data/lib/wx/doc/system_settings.rb +30 -26
  94. data/lib/wx/doc/text_validator.rb +23 -9
  95. data/lib/wx/doc/textctrl.rb +16 -0
  96. data/lib/wx/doc/tree_ctrl.rb +95 -0
  97. data/lib/wx/doc/treebook.rb +9 -5
  98. data/lib/wx/doc/v_list_box.rb +9 -5
  99. data/lib/wx/doc/validator.rb +113 -0
  100. data/lib/wx/doc/variant.rb +164 -160
  101. data/lib/wx/doc/window.rb +87 -47
  102. data/lib/wx/doc/window_disabler.rb +10 -6
  103. data/lib/wx/grid/grid.rb +27 -4
  104. data/lib/wx/html/simple_html_listbox.rb +24 -91
  105. data/lib/wx/keyword_defs.rb +34 -2
  106. data/lib/wx/pg/pg_property.rb +22 -0
  107. data/lib/wx/rbn/ribbon_gallery.rb +0 -21
  108. data/lib/wx/rtc/require.rb +3 -0
  109. data/lib/wx/rtc/rich_text_composite_object.rb +25 -0
  110. data/lib/wx/rtc/rich_text_ctrl.rb +25 -0
  111. data/lib/wx/rtc/rich_text_paragraph.rb +25 -0
  112. data/lib/wx/stc/require.rb +1 -0
  113. data/lib/wx/stc/styled_text_ctrl.rb +25 -0
  114. data/lib/wx/version.rb +1 -1
  115. data/rakelib/lib/config/linux.rb +0 -3
  116. data/rakelib/lib/config/macosx.rb +2 -2
  117. data/rakelib/lib/config/mingw.rb +13 -1
  118. data/rakelib/lib/config/unixish.rb +1 -1
  119. data/rakelib/lib/config.rb +14 -4
  120. data/rakelib/lib/core/include/client_data.inc +65 -0
  121. data/rakelib/lib/core/include/funcall.inc +1 -1
  122. data/rakelib/lib/core/package.rb +31 -9
  123. data/rakelib/lib/core/parameter.rb +1 -1
  124. data/rakelib/lib/core/spec.rb +6 -1
  125. data/rakelib/lib/core/spec_helper.rb +7 -1
  126. data/rakelib/lib/director/accelerator.rb +2 -3
  127. data/rakelib/lib/director/accessible.rb +47 -0
  128. data/rakelib/lib/director/app.rb +30 -319
  129. data/rakelib/lib/director/app_traits.rb +13 -13
  130. data/rakelib/lib/director/bitmap_combobox.rb +2 -2
  131. data/rakelib/lib/director/combobox.rb +22 -0
  132. data/rakelib/lib/director/comboctrl.rb +1 -55
  133. data/rakelib/lib/director/ctrl_with_items.rb +105 -26
  134. data/rakelib/lib/director/data_format.rb +1 -1
  135. data/rakelib/lib/director/date_picker_ctrl.rb +8 -6
  136. data/rakelib/lib/director/derived_dc.rb +1 -1
  137. data/rakelib/lib/director/dialog.rb +1 -0
  138. data/rakelib/lib/director/drag_image.rb +2 -3
  139. data/rakelib/lib/director/editable_listbox.rb +30 -0
  140. data/rakelib/lib/director/event.rb +104 -14
  141. data/rakelib/lib/director/event_handler.rb +3 -2
  142. data/rakelib/lib/director/frame.rb +1 -3
  143. data/rakelib/lib/director/functions.rb +4 -2
  144. data/rakelib/lib/director/gdicommon.rb +8 -10
  145. data/rakelib/lib/director/generic_dirctrl.rb +17 -0
  146. data/rakelib/lib/director/graphics_context.rb +2 -4
  147. data/rakelib/lib/director/grid_cell_attr.rb +0 -2
  148. data/rakelib/lib/director/grid_cell_editor.rb +0 -2
  149. data/rakelib/lib/director/grid_cell_renderer.rb +0 -2
  150. data/rakelib/lib/director/grid_ctrl.rb +34 -3
  151. data/rakelib/lib/director/header_ctrl.rb +6 -1
  152. data/rakelib/lib/director/html_listbox.rb +96 -22
  153. data/rakelib/lib/director/icon.rb +5 -2
  154. data/rakelib/lib/director/list_ctrl.rb +5 -6
  155. data/rakelib/lib/director/locale.rb +1 -3
  156. data/rakelib/lib/director/log.rb +1 -4
  157. data/rakelib/lib/director/media_ctrl.rb +54 -0
  158. data/rakelib/lib/director/menu.rb +16 -1
  159. data/rakelib/lib/director/menu_item.rb +2 -2
  160. data/rakelib/lib/director/num_validator.rb +495 -0
  161. data/rakelib/lib/director/numeric_property_validator.rb +131 -6
  162. data/rakelib/lib/director/owner_drawn_combobox.rb +192 -0
  163. data/rakelib/lib/director/pgproperties.rb +1 -1
  164. data/rakelib/lib/director/pgproperty.rb +27 -30
  165. data/rakelib/lib/director/property_grid_interface.rb +5 -10
  166. data/rakelib/lib/director/ribbon_button_bar.rb +3 -3
  167. data/rakelib/lib/director/ribbon_gallery.rb +3 -5
  168. data/rakelib/lib/director/richtext_composite_object.rb +25 -0
  169. data/rakelib/lib/director/richtext_ctrl.rb +14 -4
  170. data/rakelib/lib/director/richtext_formatting_dialog.rb +7 -5
  171. data/rakelib/lib/director/richtext_paragraph_layout_box.rb +9 -7
  172. data/rakelib/lib/director/sizer.rb +30 -4
  173. data/rakelib/lib/director/sizer_item.rb +13 -0
  174. data/rakelib/lib/director/static_bitmap.rb +28 -0
  175. data/rakelib/lib/director/static_box.rb +4 -5
  176. data/rakelib/lib/director/styled_text_ctrl.rb +12 -0
  177. data/rakelib/lib/director/task_bar_button.rb +30 -0
  178. data/rakelib/lib/director/task_bar_icon.rb +5 -13
  179. data/rakelib/lib/director/text_entry.rb +4 -0
  180. data/rakelib/lib/director/text_validator.rb +124 -13
  181. data/rakelib/lib/director/textctrl.rb +12 -1
  182. data/rakelib/lib/director/toggle_button.rb +1 -0
  183. data/rakelib/lib/director/tool_tip.rb +1 -1
  184. data/rakelib/lib/director/top_level_window.rb +4 -7
  185. data/rakelib/lib/director/tree_ctrl.rb +40 -6
  186. data/rakelib/lib/director/utils.rb +16 -2
  187. data/rakelib/lib/director/validator.rb +196 -21
  188. data/rakelib/lib/director/variant.rb +1 -1
  189. data/rakelib/lib/director/window.rb +40 -7
  190. data/rakelib/lib/director.rb +4 -4
  191. data/rakelib/lib/extractor/function.rb +8 -7
  192. data/rakelib/lib/extractor.rb +34 -5
  193. data/rakelib/lib/generate/analyzer.rb +9 -4
  194. data/rakelib/lib/generate/doc/busy_info.yaml +0 -2
  195. data/rakelib/lib/generate/doc/clipboard.yaml +0 -2
  196. data/rakelib/lib/generate/doc/cursor.yaml +0 -2
  197. data/rakelib/lib/generate/doc/panel.yaml +7 -0
  198. data/rakelib/lib/generate/doc.rb +85 -17
  199. data/rakelib/lib/specs/interfaces.rb +163 -160
  200. data/rakelib/lib/swig_runner.rb +55 -9
  201. data/rakelib/lib/typemap/client_data.rb +67 -0
  202. data/rakelib/lib/typemap/common.rb +33 -4
  203. data/rakelib/lib/typemap/datetime.rb +1 -1
  204. data/rakelib/lib/typemap/tree_itemid.rb +2 -2
  205. data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +74 -2
  206. data/rakelib/yard/templates/default/fulldoc/html/full_list.erb +38 -0
  207. data/rakelib/yard/templates/default/fulldoc/html/setup.rb +39 -0
  208. data/rakelib/yard/templates/default/tags/html/wxrb_require.erb +10 -0
  209. data/rakelib/yard/templates/default/tags/setup.rb +16 -0
  210. data/rakelib/yard/yard-custom-templates.rb +3 -0
  211. data/samples/aui/aui.rb +1237 -1233
  212. data/samples/calendar/calendar.rb +293 -289
  213. data/samples/controls/get_item_sample.rb +83 -79
  214. data/samples/controls/htlbox.rb +331 -327
  215. data/samples/dialogs/dialogs.rb +682 -694
  216. data/samples/dialogs/wizard.rb +52 -55
  217. data/samples/dragdrop/dragdrop.rb +146 -142
  218. data/samples/drawing/bitmap.rb +29 -26
  219. data/samples/drawing/bitmap_image.rb +84 -80
  220. data/samples/drawing/graphics_drawing.rb +209 -205
  221. data/samples/drawing/image_prt.rb +344 -340
  222. data/samples/drawing/maths_images.rb +18 -1
  223. data/samples/drawing/rmagic_bitmap_image.rb +88 -84
  224. data/samples/etc/caret.rb +306 -0
  225. data/samples/etc/miniframe.rb +65 -60
  226. data/samples/etc/sash.rb +109 -105
  227. data/samples/etc/scrollwin.rb +86 -80
  228. data/samples/etc/system_settings.rb +216 -209
  229. data/samples/event/activation.rb +72 -67
  230. data/samples/event/event.rb +160 -153
  231. data/samples/event/threaded.rb +8 -1
  232. data/samples/event/update_ui_event.rb +67 -60
  233. data/samples/grid/grid.rb +188 -181
  234. data/samples/grid/gridtablebase.rb +136 -129
  235. data/samples/html/html.rb +208 -204
  236. data/samples/mdi/mdi.rb +59 -54
  237. data/samples/minimal/minimal.rb +54 -51
  238. data/samples/minimal/nothing.rb +1 -0
  239. data/samples/printing/printing.rb +367 -377
  240. data/samples/printing/printing2.rb +203 -198
  241. data/samples/propgrid/propgrid.rb +2312 -2308
  242. data/samples/propgrid/propgrid_minimal.rb +57 -50
  243. data/samples/ribbon/ribbon.rb +780 -774
  244. data/samples/sampler/ext.rb +0 -33
  245. data/samples/sampler/sample.rb +4 -9
  246. data/samples/sampler.rb +1 -1
  247. data/samples/splash/splash.rb +118 -116
  248. data/samples/text/rich_textctrl.rb +207 -201
  249. data/samples/text/richtext.rb +1409 -1405
  250. data/samples/text/scintilla.rb +137 -128
  251. data/samples/text/textctrl.rb +89 -83
  252. data/samples/text/unicode.rb +175 -168
  253. data/samples/treectrl/treectrl.rb +1430 -1426
  254. data/samples/widgets/activityindicator.rb +95 -0
  255. data/samples/widgets/art/widgets/activityindicator.xpm +278 -0
  256. data/samples/widgets/art/widgets/bmpbtn.xpm +37 -0
  257. data/samples/widgets/art/widgets/bmpcombobox.xpm +54 -0
  258. data/samples/widgets/art/widgets/button.xpm +54 -0
  259. data/samples/widgets/art/widgets/checkbox.xpm +54 -0
  260. data/samples/{bigdemo/icons → widgets/art/widgets}/choice.xpm +1 -1
  261. data/samples/widgets/art/widgets/choicebk.xpm +54 -0
  262. data/samples/widgets/art/widgets/clrpicker.xpm +193 -0
  263. data/samples/widgets/art/widgets/combobox.xpm +54 -0
  264. data/samples/widgets/art/widgets/datepick.xpm +200 -0
  265. data/samples/widgets/art/widgets/dirctrl.xpm +54 -0
  266. data/samples/widgets/art/widgets/dirpicker.xpm +213 -0
  267. data/samples/widgets/art/widgets/filepicker.xpm +214 -0
  268. data/samples/widgets/art/widgets/fontpicker.xpm +185 -0
  269. data/samples/widgets/art/widgets/gauge.xpm +54 -0
  270. data/samples/widgets/art/widgets/header.xpm +54 -0
  271. data/samples/widgets/art/widgets/hyperlnk.xpm +54 -0
  272. data/samples/widgets/art/widgets/listbook.xpm +54 -0
  273. data/samples/widgets/art/widgets/listbox.xpm +54 -0
  274. data/samples/widgets/art/widgets/native.xpm +81 -0
  275. data/samples/widgets/art/widgets/notebook.xpm +54 -0
  276. data/samples/widgets/art/widgets/odcombobox.xpm +54 -0
  277. data/samples/widgets/art/widgets/radiobox.xpm +54 -0
  278. data/samples/widgets/art/widgets/scrolbar.xpm +54 -0
  279. data/samples/widgets/art/widgets/slider.xpm +54 -0
  280. data/samples/widgets/art/widgets/spinbtn.xpm +40 -0
  281. data/samples/widgets/art/widgets/statbmp.xpm +40 -0
  282. data/samples/widgets/art/widgets/statbox.xpm +54 -0
  283. data/samples/widgets/art/widgets/stattext.xpm +54 -0
  284. data/samples/widgets/art/widgets/text.xpm +54 -0
  285. data/samples/widgets/art/widgets/timepick.xpm +207 -0
  286. data/samples/widgets/art/widgets/toggle.xpm +54 -0
  287. data/samples/widgets/art/widgets/toucan.png +0 -0
  288. data/samples/widgets/bmpcombobox.rb +651 -0
  289. data/samples/widgets/button.rb +462 -0
  290. data/samples/widgets/checkbox.rb +211 -0
  291. data/samples/widgets/choice.rb +287 -0
  292. data/samples/widgets/clrpicker.rb +156 -0
  293. data/samples/widgets/combobox.rb +516 -0
  294. data/samples/widgets/datepick.rb +215 -0
  295. data/samples/widgets/dirctrl.rb +265 -0
  296. data/samples/widgets/dirpicker.rb +158 -0
  297. data/samples/widgets/editlbox.rb +122 -0
  298. data/samples/widgets/filectrl.rb +216 -0
  299. data/samples/widgets/filepicker.rb +214 -0
  300. data/samples/widgets/fontpicker.rb +135 -0
  301. data/samples/widgets/gauge.rb +311 -0
  302. data/samples/widgets/headerctrl.rb +236 -0
  303. data/samples/widgets/hyperlink.rb +203 -0
  304. data/samples/widgets/itemcontainer.rb +185 -0
  305. data/samples/widgets/listbox.rb +473 -0
  306. data/samples/widgets/notebook.rb +488 -0
  307. data/samples/widgets/odcombobox.rb +608 -0
  308. data/samples/widgets/radiobox.rb +328 -0
  309. data/samples/widgets/searchctrl.rb +159 -0
  310. data/samples/widgets/slider.rb +594 -0
  311. data/samples/widgets/spinbtn.rb +443 -0
  312. data/samples/widgets/statbmp.rb +130 -0
  313. data/samples/widgets/static.rb +436 -0
  314. data/samples/widgets/textctrl.rb +700 -0
  315. data/samples/widgets/timepick.rb +148 -0
  316. data/samples/widgets/tn_widgets.png +0 -0
  317. data/samples/widgets/toggle.rb +385 -0
  318. data/samples/widgets/widgets.rb +1233 -0
  319. data/samples/xrc/custom_xrc_sample.rb +47 -41
  320. data/samples/xrc/xrc_sample.rb +53 -47
  321. data/tests/media/beep_lo.wav +0 -0
  322. data/tests/test_event_handling.rb +52 -34
  323. data/tests/test_events.rb +7 -0
  324. data/tests/test_item_data.rb +24 -0
  325. data/tests/test_list_ctrl.rb +1 -1
  326. data/tests/test_media_ctrl.rb +38 -0
  327. data/tests/test_menu.rb +69 -0
  328. data/tests/test_pg.rb +27 -0
  329. data/tests/test_richtext.rb +45 -0
  330. data/tests/test_sizer.rb +59 -0
  331. data/tests/test_std_controls.rb +42 -1
  332. data/tests/test_styled_text_ctrl.rb +46 -0
  333. data/tests/test_tree_ctrl.rb +138 -0
  334. data/tests/test_validators.rb +805 -0
  335. data/tests/test_window.rb +12 -0
  336. data/tests/testapp_noframe.rb +1 -1
  337. metadata +121 -139
  338. data/lib/wx/core/choice.rb +0 -14
  339. data/lib/wx/core/combo_ctrl.rb +0 -110
  340. data/rakelib/lib/typemap/grid_client_data.rb +0 -58
  341. data/samples/bigdemo/About.rbw +0 -39
  342. data/samples/bigdemo/ColorPanel.rbw +0 -23
  343. data/samples/bigdemo/GridSimple.rbw +0 -78
  344. data/samples/bigdemo/MDIDemo.rbw +0 -57
  345. data/samples/bigdemo/PopupMenu.rbw +0 -146
  346. data/samples/bigdemo/ShapedWindow.rbw +0 -128
  347. data/samples/bigdemo/Sizers.rbw +0 -541
  348. data/samples/bigdemo/bigdemo.rb +0 -817
  349. data/samples/bigdemo/demoTemplate.rbw +0 -33
  350. data/samples/bigdemo/helpfile.htb +0 -0
  351. data/samples/bigdemo/icons/Test 015.jpg +0 -0
  352. data/samples/bigdemo/icons/Test 015.png +0 -0
  353. data/samples/bigdemo/icons/choice.bmp +0 -0
  354. data/samples/bigdemo/icons/combo.bmp +0 -0
  355. data/samples/bigdemo/icons/combo.xpm +0 -27
  356. data/samples/bigdemo/icons/copy.xpm +0 -25
  357. data/samples/bigdemo/icons/cut.xpm +0 -24
  358. data/samples/bigdemo/icons/gauge.bmp +0 -0
  359. data/samples/bigdemo/icons/gauge.xpm +0 -27
  360. data/samples/bigdemo/icons/help.xpm +0 -25
  361. data/samples/bigdemo/icons/list.bmp +0 -0
  362. data/samples/bigdemo/icons/list.xpm +0 -27
  363. data/samples/bigdemo/icons/mondrian.ico +0 -0
  364. data/samples/bigdemo/icons/mondrian.xpm +0 -44
  365. data/samples/bigdemo/icons/new.xpm +0 -24
  366. data/samples/bigdemo/icons/ogl.ico +0 -0
  367. data/samples/bigdemo/icons/ogl.xpm +0 -45
  368. data/samples/bigdemo/icons/open.xpm +0 -26
  369. data/samples/bigdemo/icons/paste.bmp +0 -0
  370. data/samples/bigdemo/icons/paste.xpm +0 -38
  371. data/samples/bigdemo/icons/pointy.png +0 -0
  372. data/samples/bigdemo/icons/preview.xpm +0 -26
  373. data/samples/bigdemo/icons/print.xpm +0 -26
  374. data/samples/bigdemo/icons/radio.bmp +0 -0
  375. data/samples/bigdemo/icons/radio.xpm +0 -27
  376. data/samples/bigdemo/icons/robert.xpm +0 -415
  377. data/samples/bigdemo/icons/sashtest.ico +0 -0
  378. data/samples/bigdemo/icons/save.xpm +0 -25
  379. data/samples/bigdemo/icons/smiles.bmp +0 -0
  380. data/samples/bigdemo/icons/smiles.xpm +0 -39
  381. data/samples/bigdemo/icons/smiley.ico +0 -0
  382. data/samples/bigdemo/icons/smiley.xpm +0 -42
  383. data/samples/bigdemo/icons/stattext.xpm +0 -24
  384. data/samples/bigdemo/icons/test2.bmp +0 -0
  385. data/samples/bigdemo/icons/test2.png +0 -0
  386. data/samples/bigdemo/icons/test2.xpm +0 -79
  387. data/samples/bigdemo/icons/text.bmp +0 -0
  388. data/samples/bigdemo/icons/text.xpm +0 -27
  389. data/samples/bigdemo/icons/tog1.bmp +0 -0
  390. data/samples/bigdemo/icons/tog1.xpm +0 -38
  391. data/samples/bigdemo/icons/tog2.bmp +0 -0
  392. data/samples/bigdemo/icons/tog2.xpm +0 -38
  393. data/samples/bigdemo/icons/wxruby-128x128.png +0 -0
  394. data/samples/bigdemo/icons/wxwin.ico +0 -0
  395. data/samples/bigdemo/icons/wxwin16x16.png +0 -0
  396. data/samples/bigdemo/icons/wxwin16x16.xpm +0 -25
  397. data/samples/bigdemo/icons/wxwin32x32.png +0 -0
  398. data/samples/bigdemo/icons/wxwin48x48.png +0 -0
  399. data/samples/bigdemo/run.rb +0 -98
  400. data/samples/bigdemo/tips.txt +0 -7
  401. data/samples/bigdemo/utils.rb +0 -20
  402. data/samples/bigdemo/wxArtProvider.rbw +0 -282
  403. data/samples/bigdemo/wxBitmapButton.rbw +0 -65
  404. data/samples/bigdemo/wxButton.rbw +0 -64
  405. data/samples/bigdemo/wxCalendarCtrl.rbw +0 -59
  406. data/samples/bigdemo/wxCheckBox.rbw +0 -50
  407. data/samples/bigdemo/wxCheckListBox.rbw +0 -65
  408. data/samples/bigdemo/wxChoice.rbw +0 -47
  409. data/samples/bigdemo/wxChoicebook.rbw +0 -78
  410. data/samples/bigdemo/wxColourDialog.rbw +0 -33
  411. data/samples/bigdemo/wxComboBox.rbw +0 -77
  412. data/samples/bigdemo/wxCursor.rbw +0 -136
  413. data/samples/bigdemo/wxDialog.rbw +0 -74
  414. data/samples/bigdemo/wxDirDialog.rbw +0 -29
  415. data/samples/bigdemo/wxDragImage.rbw +0 -70
  416. data/samples/bigdemo/wxFileDialog.rbw +0 -37
  417. data/samples/bigdemo/wxFileDialog_Save.rbw +0 -35
  418. data/samples/bigdemo/wxFindReplaceDialog.rbw +0 -82
  419. data/samples/bigdemo/wxFontDialog.rbw +0 -200
  420. data/samples/bigdemo/wxFrame.rbw +0 -53
  421. data/samples/bigdemo/wxGauge.rbw +0 -65
  422. data/samples/bigdemo/wxGenericDirCtrl.rbw +0 -74
  423. data/samples/bigdemo/wxGrid.rbw +0 -66
  424. data/samples/bigdemo/wxHtmlHelpController.rbw +0 -52
  425. data/samples/bigdemo/wxListBox.rbw +0 -140
  426. data/samples/bigdemo/wxListCtrl_virtual.rbw +0 -112
  427. data/samples/bigdemo/wxMDIWindows.rbw +0 -50
  428. data/samples/bigdemo/wxMenu.rbw +0 -247
  429. data/samples/bigdemo/wxMessageDialog.rbw +0 -27
  430. data/samples/bigdemo/wxMiniFrame.rbw +0 -70
  431. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +0 -29
  432. data/samples/bigdemo/wxNotebook.rbw +0 -136
  433. data/samples/bigdemo/wxProgressDialog.rbw +0 -43
  434. data/samples/bigdemo/wxRadioBox.rbw +0 -72
  435. data/samples/bigdemo/wxRadioButton.rbw +0 -125
  436. data/samples/bigdemo/wxSashWindow.rbw +0 -141
  437. data/samples/bigdemo/wxScrolledMessageDialog.rbw +0 -57
  438. data/samples/bigdemo/wxScrolledWindow.rbw +0 -199
  439. data/samples/bigdemo/wxSingleChoiceDialog.rbw +0 -33
  440. data/samples/bigdemo/wxSlider.rbw +0 -42
  441. data/samples/bigdemo/wxSpinButton.rbw +0 -50
  442. data/samples/bigdemo/wxSpinCtrl.rbw +0 -51
  443. data/samples/bigdemo/wxSplitterWindow.rbw +0 -63
  444. data/samples/bigdemo/wxStaticBitmap.rbw +0 -47
  445. data/samples/bigdemo/wxStaticText.rbw +0 -55
  446. data/samples/bigdemo/wxStatusBar.rbw +0 -126
  447. data/samples/bigdemo/wxTextCtrl.rbw +0 -149
  448. data/samples/bigdemo/wxTextEntryDialog.rbw +0 -31
  449. data/samples/bigdemo/wxToggleButton.rbw +0 -49
  450. data/samples/bigdemo/wxToolBar.rbw +0 -131
  451. data/samples/bigdemo/wxTreeCtrl.rbw +0 -191
  452. data/samples/caret/caret.rb +0 -298
  453. data/samples/caret/mondrian.xpm +0 -44
  454. data/samples/controls/books.rb +0 -189
  455. data/samples/controls/choice.xpm +0 -27
  456. data/samples/controls/combo.xpm +0 -27
  457. data/samples/controls/controls.rb +0 -1099
  458. data/samples/controls/gauge.xpm +0 -27
  459. data/samples/controls/list.xpm +0 -27
  460. data/samples/controls/mondrian.ico +0 -0
  461. data/samples/controls/mondrian.xpm +0 -44
  462. data/samples/controls/radio.xpm +0 -27
  463. data/samples/controls/stattext.xpm +0 -24
  464. data/samples/controls/test2.bmp +0 -0
  465. data/samples/controls/text.xpm +0 -27
  466. data/samples/controls/tn_books.png +0 -0
  467. data/samples/controls/tn_controls.png +0 -0
  468. data/samples/etc/choice.rb +0 -87
  469. data/samples/etc/tn_choice.png +0 -0
  470. data/samples/text/mondrian.ico +0 -0
  471. data/samples/text/mondrian.xpm +0 -44
  472. /data/samples/{caret → etc}/tn_caret.png +0 -0
@@ -0,0 +1,39 @@
1
+ // Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ //
3
+ // This software is released under the MIT license.
4
+
5
+ /*
6
+ * WxRuby3 wxRubyValidator class
7
+ */
8
+
9
+ #ifndef _WXRUBY_VALIDATOR_H
10
+ #define _WXRUBY_VALIDATOR_H
11
+
12
+ #include "wxruby-ValidatorBinding.h"
13
+
14
+ class WXRUBY_EXPORT wxRubyValidator : public wxValidator, public wxRubyValidatorBinding
15
+ {
16
+ public:
17
+ wxRubyValidator ();
18
+ wxRubyValidator (const wxRubyValidator&);
19
+ virtual ~wxRubyValidator ();
20
+
21
+ virtual wxObject* Clone() const override;
22
+
23
+ virtual void SetWindow(wxWindow *win) override;
24
+
25
+ virtual bool TransferFromWindow () override;
26
+ virtual bool TransferToWindow () override;
27
+
28
+ protected:
29
+ static WxRuby_ID do_transfer_from_window_id;
30
+ static WxRuby_ID do_transfer_to_window_id;
31
+ static WxRuby_ID clone_id;
32
+
33
+ virtual VALUE DoTransferFromWindow();
34
+ virtual bool DoTransferToWindow(VALUE data);
35
+
36
+ virtual VALUE get_self() override;
37
+ };
38
+
39
+ #endif /* _WXRUBY_VALIDATOR_HASH_H */
@@ -0,0 +1,64 @@
1
+ // Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ //
3
+ // This software is released under the MIT license.
4
+
5
+ /*
6
+ * WxRuby3 wxRubyValidatorBinding class
7
+ */
8
+
9
+ #ifndef _WXRUBY_VALIDATOR_BINDING_H
10
+ #define _WXRUBY_VALIDATOR_BINDING_H
11
+
12
+ class WXRUBY_EXPORT wxRubyValidatorBinding
13
+ {
14
+ public:
15
+ wxRubyValidatorBinding ()
16
+ : self_(Qnil)
17
+ , on_transfer_from_win_proc_(Qnil)
18
+ , on_transfer_to_win_proc_(Qnil)
19
+ {}
20
+
21
+ void SetOnTransferFromWindow(VALUE proc)
22
+ {
23
+ this->on_transfer_from_win_proc_ = proc;
24
+ }
25
+ void SetOnTransferToWindow(VALUE proc)
26
+ {
27
+ this->on_transfer_to_win_proc_ = proc;
28
+ }
29
+
30
+ VALUE DoOnTransferToWindow();
31
+ bool DoOnTransferFromWindow(VALUE data);
32
+
33
+ bool OnTransferFromWindow(VALUE data);
34
+ VALUE OnTransferToWindow();
35
+
36
+ void GC_Mark()
37
+ {
38
+ rb_gc_mark(this->on_transfer_from_win_proc_);
39
+ rb_gc_mark(this->on_transfer_to_win_proc_);
40
+ }
41
+
42
+ protected:
43
+ static WxRuby_ID do_on_transfer_from_window_id;
44
+ static WxRuby_ID do_on_transfer_to_window_id;
45
+ static WxRuby_ID call_id;
46
+
47
+ wxRubyValidatorBinding (const wxRubyValidatorBinding& vb)
48
+ : self_(Qnil)
49
+ , on_transfer_from_win_proc_(vb.on_transfer_from_win_proc_)
50
+ , on_transfer_to_win_proc_(vb.on_transfer_to_win_proc_)
51
+ {}
52
+
53
+ void CopyBindings(const wxRubyValidatorBinding* val_bind);
54
+
55
+ virtual VALUE get_self() = 0;
56
+
57
+ VALUE self_;
58
+
59
+ private:
60
+ VALUE on_transfer_from_win_proc_;
61
+ VALUE on_transfer_to_win_proc_;
62
+ };
63
+
64
+ #endif /* #define _WXRUBY_VALIDATOR_BINDING_H */
@@ -24,7 +24,7 @@
24
24
  }
25
25
  else
26
26
  {
27
- rb_raise(swigex.getError(), swigex.what());
27
+ rb_exc_raise(rb_exc_new_cstr(swigex.getError(), swigex.what()));
28
28
  }
29
29
  }
30
30
  catch (const std::exception& ex) {
@@ -195,6 +195,14 @@ namespace Swig {
195
195
  }
196
196
  };
197
197
 
198
+ /* wxRuby customization */
199
+ class WXRUBY_EXPORT DirectorRubyException : public DirectorException
200
+ {
201
+ public:
202
+ DirectorRubyException(VALUE error, VALUE rcvr, ID fn_id);
203
+
204
+ };
205
+
198
206
  /* Simple thread abstraction for pthreads on win32 */
199
207
  #ifdef __THREAD__
200
208
  # define __PTHREAD__
@@ -309,37 +309,4 @@ WXRUBY_EXPORT void GC_mark_wxFrame(void *ptr)
309
309
  std::wcout << "> GC_mark_wxFrame : " << ptr << std::endl;
310
310
  #endif
311
311
  }
312
-
313
- // wxRuby must preserve ruby objects attached as the ClientData of
314
- // command events that have been user-defined in ruby. Some of the
315
- // standard wxWidgets CommandEvent classes (which have a constant event
316
- // id less than wxEVT_USER_FIRST, from wx/event.h) also use ClientData
317
- // for their own purposes, and this must not be marked as the data is
318
- // not a ruby object, and will thus crash.
319
- WXRUBY_EXPORT void GC_mark_wxEvent(void *ptr)
320
- {
321
- #ifdef __WXRB_DEBUG__
322
- if (wxRuby_TraceLevel()>1)
323
- std::wcout << "> GC_mark_wxEvent : " << ptr << std::endl;
324
- #endif
325
-
326
- if ( ! ptr ) return;
327
- wxEvent* wx_event = (wxEvent*)ptr;
328
- #ifdef __WXRB_DEBUG__
329
- if (wxRuby_TraceLevel()>2)
330
- std::wcout << "* GC_mark_wxEvent(" << ptr << ":{" << wx_event->GetEventType() << "})" << std::endl;
331
- #endif
332
- if ( wx_event->GetEventType() > wxEVT_USER_FIRST &&
333
- wx_event->IsCommandEvent() )
334
- {
335
- wxCommandEvent* wx_cm_event = (wxCommandEvent*)ptr;
336
- VALUE rb_client_data = (VALUE)wx_cm_event->GetClientData();
337
- rb_gc_mark(rb_client_data);
338
- }
339
-
340
- #ifdef __WXRB_DEBUG__
341
- if (wxRuby_TraceLevel()>1)
342
- std::wcout << "< GC_mark_wxEvent : " << ptr << std::endl;
343
- #endif
344
- }
345
312
  %}
@@ -0,0 +1,18 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+ class Wx::AUI::AuiTabCtrl
6
+
7
+ # Convenience method for iterating pages
8
+ def each_page
9
+ if block_given?
10
+ 0.upto(get_page_count - 1) do | i |
11
+ yield get_page(i)
12
+ end
13
+ else
14
+ ::Enumerator.new { |y| each_page { |pg| y << pg } }
15
+ end
16
+ end
17
+
18
+ end
@@ -19,8 +19,12 @@ class Wx::AUI::AuiNotebook
19
19
 
20
20
  # Convenience method for iterating pages
21
21
  def each_page
22
- 0.upto(get_page_count - 1) do | i |
23
- yield get_page(i)
22
+ if block_given?
23
+ 0.upto(get_page_count - 1) do | i |
24
+ yield get_page(i)
25
+ end
26
+ else
27
+ ::Enumerator.new { |y| each_page { |pg| y << pg } }
24
28
  end
25
29
  end
26
30
  end
@@ -9,5 +9,6 @@ require_relative './events/evt_list'
9
9
  require_relative './auimanager'
10
10
  require_relative './auinotebook'
11
11
  require_relative './auifloatframe'
12
+ require_relative './aui_tab_ctrl'
12
13
 
13
14
  Wx::Dialog.setup_dialog_functors(Wx::AUI)
data/lib/wx/core/app.rb CHANGED
@@ -79,8 +79,8 @@ class Wx::App
79
79
  # WxRuby. Such messages usually indicate that the API is being used
80
80
  # incorrectly; the file/line reference points to the place in the
81
81
  # WxWidgets source code where the assertion was made.
82
- define_method(:on_assert_failure) do | file, line, func, condition, message |
83
- warn "Wx WARNING: #{message} (#{func}@#{file}:#{line})"
82
+ def on_assert_failure(file, line, func, condition, message)
83
+ warn %Q{Wx WARNING: ASSERT #{condition} fired with "#{message}" at (#{func}@#{file}:#{line})}
84
84
  end
85
85
 
86
86
  # For use in development only, of no practical use in production code.
@@ -8,32 +8,28 @@
8
8
 
9
9
  module Wx
10
10
 
11
- class BitmapCombobox < Wx::ComboBox
12
-
13
- # We need to cache client data in Ruby variables as we cannot access items
14
- # during the GC mark phase as for some platforms (WXMSW at least) that would
15
- # involve calling methods that would break in that phase.
11
+ class BitmapComboBox < Wx::ComboBox
16
12
 
17
13
  wx_append = instance_method :append
18
- define_method :append do |item, bitmap=Wx::NULL_BITMAP, data=nil|
19
- itm_pos = if data
20
- wx_append.bind(self).call(item, bitmap, data)
21
- else
22
- wx_append.bind(self).call(item, bitmap)
23
- end
24
- client_data_store.insert(itm_pos, data)
25
- itm_pos
14
+ define_method :append do |item, *rest| #bitmap=Wx::NULL_BITMAP, data=nil|
15
+ if ::Array === item
16
+ super(item, *rest)
17
+ elsif rest.empty? || Wx::Bitmap === rest.first
18
+ wx_append.bind(self).call(item, *rest)
19
+ else
20
+ super(item, *rest)
21
+ end
26
22
  end
27
23
 
28
24
  wx_insert = instance_method :insert
29
- define_method :insert do |item, bitmap, pos, data=nil|
30
- itm_pos = if data
31
- wx_insert.bind(self).call(item, bitmap, pos, data)
32
- else
33
- wx_insert.bind(self).call(item, bitmap, pos)
34
- end
35
- client_data_store.insert(itm_pos, data)
36
- itm_pos
25
+ define_method :insert do |item, *rest| # bitmap, pos, data=nil|
26
+ if ::Array === item
27
+ super(item, *rest)
28
+ elsif rest.empty? || Wx::Bitmap === rest.first
29
+ wx_insert.bind(self).call(item, *rest)
30
+ else
31
+ super(item, *rest)
32
+ end
37
33
  end
38
34
 
39
35
  end
@@ -10,7 +10,7 @@
10
10
 
11
11
  module Wx
12
12
 
13
- if Wx.has_feature?(:USE_COLLPANE) && (!Wx.has_feature?(:WXGTK20) || Wx.has_feature?(:WXUNIVERSAL))
13
+ if Wx.has_feature?(:USE_COLLPANE)
14
14
 
15
15
  GenericCollapsiblePane = CollapsiblePane
16
16
 
@@ -8,7 +8,17 @@
8
8
 
9
9
  require_relative './controlwithitems'
10
10
 
11
- class Wx::ComboBox
12
- alias :get_item_data :get_client_data
13
- alias :set_item_data :set_client_data
11
+ module Wx
12
+
13
+ class ComboBox
14
+
15
+ # redefine #clear method to take care of client data and to call the proper #clear_items method
16
+ # (not the #clear method inherited from the TextEntry mixin)
17
+ wx_clear = instance_method :clear_items
18
+ define_method :clear do
19
+ wx_clear.bind(self).call
20
+ end
21
+
22
+ end
23
+
14
24
  end
@@ -9,147 +9,59 @@
9
9
  # Superclass of a variety of controls that display lists of items (eg
10
10
  # Choice, ListBox, CheckListBox)
11
11
 
12
- class Wx::ControlWithItems
12
+ module Wx
13
13
 
14
- # Make these Ruby enumerables so find, find_all, map etc are available
15
- include Enumerable
14
+ class ControlWithItems
16
15
 
17
- # Passes each valid item index into the passed block
18
- def each
19
- get_count.times { | i | yield i }
20
- end
21
-
22
- # We need to cache client data in Ruby variables as we cannot access items
23
- # during the GC mark phase as for some platforms (WXMSW at least) that would
24
- # involve calling methods that would break in that phase.
25
-
26
- def client_data_store
27
- @client_data ||= []
28
- end
29
- private :client_data_store
30
-
31
- wx_set_client_data = instance_method :set_client_data
32
- define_method :set_client_data do |item, data|
33
- item = item.to_i
34
- wx_set_client_data.bind(self).call(item, data)
35
- client_data_store[item] = data
36
- end
37
-
38
- def get_client_data(item)
39
- client_data_store[item.to_i]
40
- end
41
-
42
- wx_append = instance_method :append
43
- define_method :append do |item, data=nil|
44
- itm_pos = -1
45
- if data
46
- if ::Array === item
47
- if !(::Array === data)
48
- ::Kernel.raise ::TypeError.new("Expected Array for argument 3")
49
- elsif data.size != item.size
50
- ::Kernel.raise ::ArgumentError.new("item and data array must be equal size")
51
- end
52
- if sorted?
53
- item.each_with_index do |itm, ix|
54
- itm_pos = wx_append.bind(self).call(itm, data[ix])
55
- client_data_store.insert(itm_pos, data[ix])
56
- end
57
- else
58
- offs = get_count
59
- itm_pos = wx_append.bind(self).call(item)
60
- item.size.times { |ix| set_client_data(offs+ix, data[ix]) }
61
- end
16
+ # make sure to honor the inherited common overloads
17
+ wx_get_client_object = instance_method :get_client_object
18
+ define_method :get_client_object do |*args|
19
+ if args.empty?
20
+ super()
62
21
  else
63
- itm_pos = wx_append.bind(self).call(item, data)
64
- client_data_store.insert(itm_pos, data)
22
+ wx_get_client_object.bind(self).call(*args)
65
23
  end
66
- else
67
- if ::Array === item
68
- if sorted?
69
- item.each_with_index do |itm, ix|
70
- itm_pos = wx_append.bind(self).call(itm, data[ix])
71
- client_data_store.insert(itm_pos, nil)
72
- end
73
- else
74
- itm_pos = wx_append.bind(self).call(item)
75
- client_data_store.concat(::Array.new(item.size))
76
- end
24
+ end
25
+ wx_set_client_object = instance_method :set_client_object
26
+ define_method :set_client_object do |*args|
27
+ if args.size < 2
28
+ super(*args)
77
29
  else
78
- itm_pos = wx_append.bind(self).call(item)
79
- client_data_store.insert(itm_pos, nil)
30
+ wx_set_client_object.bind(self).call(*args)
80
31
  end
81
32
  end
82
- itm_pos
83
- end
33
+ # redefine aliases
34
+ alias :client_object :get_client_object
35
+ alias :client_object= :set_client_object
84
36
 
85
- wx_insert = instance_method :insert
86
- define_method :insert do |item, pos, data=nil|
87
- itm_pos = -1
88
- if data
89
- if ::Array === item
90
- if !(::Array === data)
91
- ::Kernel.raise ::TypeError.new("Expected Array for argument 3")
92
- elsif data.size != item.size
93
- ::Kernel.raise ::ArgumentError.new("item and data array must be equal size")
94
- end
95
- if sorted?
96
- item.each_with_index do |itm, ix|
97
- itm_pos = wx_insert.bind(self).call(itm, data[ix])
98
- client_data_store.insert(itm_pos, data[ix])
99
- end
100
- else
101
- itm_pos = wx_insert.bind(self).call(item, pos)
102
- client_data_store.insert(pos, *::Array.new(item.size))
103
- item.size.times { |ix| set_client_data(pos+ix, data[ix]) }
104
- end
105
- else
106
- itm_pos = wx_insert.bind(self).call(item, pos, data)
107
- client_data_store.insert(itm_pos, data)
108
- end
109
- else
110
- if ::Array === item
111
- if sorted?
112
- item.each_with_index do |itm, ix|
113
- itm_pos = wx_insert.bind(self).call(itm)
114
- client_data_store.insert(itm_pos, nil)
115
- end
116
- else
117
- itm_pos = wx_insert.bind(self).call(item, pos)
118
- client_data_store.insert(pos, *::Array.new(item.size))
119
- end
37
+ alias :get_client_data :get_client_object
38
+ alias :set_client_data :set_client_object
39
+
40
+ alias :has_client_data :has_client_object_data
41
+ alias :has_client_data? :has_client_object_data
42
+
43
+ alias :get_item_data :get_client_object
44
+ alias :set_item_data :set_client_object
45
+
46
+ # Overload to provide Enumerator without block
47
+ wx_each_string = instance_method :each_string
48
+ define_method :each_string do |&block|
49
+ if block
50
+ wx_each_string.bind(self).call(&block)
120
51
  else
121
- itm_pos = wx_insert.bind(self).call(item, pos)
122
- client_data_store.insert(pos, nil)
52
+ ::Enumerator.new { |y| wx_each_string.bind(self).call { |ln| y << ln } }
123
53
  end
124
54
  end
125
- itm_pos
126
- end
127
55
 
128
- wx_set = instance_method :set
129
- define_method :set do |items, data=nil|
130
- if data
131
- if !(::Array === data)
132
- ::Kernel.raise ::TypeError.new("Expected Array for argument 2")
133
- elsif data.size != items.size
134
- ::Kernel.raise ::ArgumentError.new("items and data array must be equal size")
135
- end
136
- end
137
- wx_set.bind(self).call(items)
138
- client_data_store.clear
139
- if data
140
- items.each_with_index { |item, ix| set_client_data(item, data[ix]) }
141
- end
142
- end
56
+ # define these aliases so controls like ComboBox and OwnerDrawnComboBox and the like all end up with
57
+ # similar methods
143
58
 
144
- wx_clear = instance_method :clear
145
- define_method :clear do
146
- wx_clear.bind(self).call
147
- client_data_store.clear
148
- end
59
+ alias :get_list_selection :get_selection
60
+ alias :set_list_selection :set_selection
61
+
62
+ alias :get_list_string_selection :get_string_selection
63
+ alias :set_list_string_selection :set_string_selection
149
64
 
150
- wx_delete = instance_method :delete
151
- define_method :delete do |item|
152
- wx_delete.bind(self).call(item.to_i)
153
- client_data_store.slice!(item.to_i)
154
65
  end
66
+
155
67
  end
data/lib/wx/core/enum.rb CHANGED
@@ -29,11 +29,27 @@ class Wx::Enum
29
29
  end
30
30
 
31
31
  def !
32
- self.to_i == 0
32
+ to_i == 0
33
+ end
34
+
35
+ def allbits?(mask)
36
+ to_i.allbits?(mask)
37
+ end
38
+
39
+ def anybits?(mask)
40
+ to_i.anybits?(mask)
41
+ end
42
+
43
+ def nobits?(mask)
44
+ to_i.nobits?(mask)
33
45
  end
34
46
 
35
47
  def hash
36
48
  @value.hash
37
49
  end
38
50
 
51
+ def to_s
52
+ to_i.to_s
53
+ end
54
+
39
55
  end
data/lib/wx/core/event.rb CHANGED
@@ -29,7 +29,7 @@ module Wx
29
29
  alias :id :get_id
30
30
  end
31
31
 
32
- class Wx::CommandEvent
32
+ class CommandEvent
33
33
 
34
34
  # overload the #initialize method to add a check on a
35
35
  # correct match between EventType and event class
@@ -43,6 +43,11 @@ module Wx
43
43
  end
44
44
  end
45
45
 
46
+ alias :set_client_data :set_client_object
47
+ alias :client_data= :set_client_object
48
+ alias :get_client_data :get_client_object
49
+ alias :client_data :get_client_object
50
+
46
51
  end
47
52
 
48
53
  # reduce mapping warnings for this unpublished event class
@@ -10,6 +10,12 @@
10
10
  # EvtHandler. This includes all Wx::Window subclasses and Wx::App.
11
11
 
12
12
  class Wx::EvtHandler
13
+
14
+ alias :set_client_data :set_client_object
15
+ alias :client_data= :set_client_object
16
+ alias :get_client_data :get_client_object
17
+ alias :client_data :get_client_object
18
+
13
19
  # EventType is an internal class that's used to set up event handlers
14
20
  # and mappings.
15
21
  # * 'name' is the name of the event handler method in ruby
@@ -182,7 +188,7 @@ class Wx::EvtHandler
182
188
  # check arity <= 1
183
189
  if h_meth.arity>1
184
190
  Kernel.raise ArgumentError,
185
- "Event handler should not accept more than at most a single argument"
191
+ "Event handler should not accept more than at most a single argument",
186
192
  caller
187
193
  end
188
194
  # wrap method without any argument in anonymous proc to prevent strict argument checking
@@ -193,7 +199,7 @@ class Wx::EvtHandler
193
199
  end
194
200
  else
195
201
  Kernel.raise ArgumentError,
196
- "Specify event handler with a method, name, proc OR block"
202
+ "Specify event handler with a method, name, proc OR block",
197
203
  caller
198
204
  end
199
205
  end