wxruby3 0.9.1 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
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