wxruby3 1.6.0 → 1.7.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 (541) hide show
  1. checksums.yaml +4 -4
  2. data/CREDITS.md +32 -25
  3. data/INSTALL.md +21 -6
  4. data/README.md +5 -5
  5. data/assets/repo-social-preview.odg +0 -0
  6. data/assets/repo-social-preview.xcf +0 -0
  7. data/ext/wxruby3/include/wxRubyApp.h +58 -45
  8. data/ext/wxruby3/include/wxruby-runtime.h +78 -1
  9. data/ext/wxruby3/swig/common.i +2 -2
  10. data/ext/wxruby3/swig/custom/director.swg +2 -2
  11. data/ext/wxruby3/swig/custom/rubyprimtypes.swg +59 -15
  12. data/ext/wxruby3/swig/custom/rubyrun.swg +4 -0
  13. data/ext/wxruby3/swig/custom/rubytracking.swg +4 -0
  14. data/ext/wxruby3/swig/custom/swiglabels.swg +129 -0
  15. data/ext/wxruby3/swig/custom/swigrun.swg +15 -0
  16. data/ext/wxruby3/swig/custom/typemaps/swigtypemaps.swg +20 -0
  17. data/ext/wxruby3/swig/mark_free_impl.i +154 -88
  18. data/ext/wxruby3/swig/memory_management.i +1 -0
  19. data/ext/wxruby3/swig/wx.i +73 -44
  20. data/lib/wx/aui/events/evt_list.rb +148 -0
  21. data/lib/wx/aui/require.rb +0 -1
  22. data/lib/wx/core/calendar_ctrl.rb +15 -0
  23. data/lib/wx/core/clipboard.rb +9 -13
  24. data/lib/wx/core/config.rb +1 -1
  25. data/lib/wx/core/events/evt_list.rb +1458 -0
  26. data/lib/wx/core/font/encoding.rb +113 -0
  27. data/lib/wx/core/generic_validator.rb +83 -31
  28. data/lib/wx/core/tipwindow.rb +16 -0
  29. data/lib/wx/core/variant.rb +6 -0
  30. data/lib/wx/doc/aui/auitabctrl.rb +35 -0
  31. data/lib/wx/doc/config.rb +2 -2
  32. data/lib/wx/doc/functions.rb +1 -1
  33. data/lib/wx/doc/gen/about_dialog_info.rb +330 -0
  34. data/lib/wx/doc/gen/accelerator.rb +178 -0
  35. data/lib/wx/doc/gen/activity_indicator.rb +83 -0
  36. data/lib/wx/doc/gen/affine_matrix2d.rb +284 -0
  37. data/lib/wx/doc/gen/animation.rb +275 -0
  38. data/lib/wx/doc/gen/animation_ctrl.rb +300 -0
  39. data/lib/wx/doc/gen/any_button.rb +191 -0
  40. data/lib/wx/doc/gen/app.rb +463 -0
  41. data/lib/wx/doc/gen/app_traits.rb +396 -0
  42. data/lib/wx/doc/gen/art_provider.rb +605 -0
  43. data/lib/wx/doc/gen/aui/aui_dock_art.rb +455 -0
  44. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +54 -0
  45. data/lib/wx/doc/gen/aui/aui_manager.rb +847 -0
  46. data/lib/wx/doc/gen/aui/aui_manager_event.rb +131 -0
  47. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +180 -0
  48. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +59 -0
  49. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +130 -0
  50. data/lib/wx/doc/gen/aui/aui_notebook.rb +631 -0
  51. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +233 -0
  52. data/lib/wx/doc/gen/aui/aui_pane_info.rb +769 -0
  53. data/lib/wx/doc/gen/aui/aui_tab_art.rb +352 -0
  54. data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +14 -0
  55. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +510 -0
  56. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +340 -0
  57. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +244 -0
  58. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +257 -0
  59. data/lib/wx/doc/gen/aui/event_list.rb +179 -0
  60. data/lib/wx/doc/gen/banner_window.rb +124 -0
  61. data/lib/wx/doc/gen/bitmap.rb +731 -0
  62. data/lib/wx/doc/gen/bitmap_button.rb +123 -0
  63. data/lib/wx/doc/gen/bitmap_combo_box.rb +221 -0
  64. data/lib/wx/doc/gen/book_ctrl_base.rb +273 -0
  65. data/lib/wx/doc/gen/book_ctrl_event.rb +66 -0
  66. data/lib/wx/doc/gen/box_sizer.rb +85 -0
  67. data/lib/wx/doc/gen/brush.rb +251 -0
  68. data/lib/wx/doc/gen/busy_info.rb +157 -0
  69. data/lib/wx/doc/gen/button.rb +182 -0
  70. data/lib/wx/doc/gen/calculate_layout_event.rb +62 -0
  71. data/lib/wx/doc/gen/calendar_ctrl.rb +505 -0
  72. data/lib/wx/doc/gen/calendar_date_attr.rb +138 -0
  73. data/lib/wx/doc/gen/calendar_event.rb +147 -0
  74. data/lib/wx/doc/gen/caret.rb +97 -0
  75. data/lib/wx/doc/gen/check_box.rb +175 -0
  76. data/lib/wx/doc/gen/check_list_box.rb +121 -0
  77. data/lib/wx/doc/gen/choice.rb +175 -0
  78. data/lib/wx/doc/gen/choicebook.rb +116 -0
  79. data/lib/wx/doc/gen/client_dc.rb +43 -0
  80. data/lib/wx/doc/gen/clipboard.rb +144 -0
  81. data/lib/wx/doc/gen/collapsible_pane.rb +138 -0
  82. data/lib/wx/doc/gen/collapsible_pane_event.rb +46 -0
  83. data/lib/wx/doc/gen/colour.rb +333 -0
  84. data/lib/wx/doc/gen/colour_dialog.rb +190 -0
  85. data/lib/wx/doc/gen/colour_picker_ctrl.rb +110 -0
  86. data/lib/wx/doc/gen/colour_picker_event.rb +77 -0
  87. data/lib/wx/doc/gen/combo_box.rb +292 -0
  88. data/lib/wx/doc/gen/combo_ctrl.rb +662 -0
  89. data/lib/wx/doc/gen/command_link_button.rb +134 -0
  90. data/lib/wx/doc/gen/config_base.rb +10 -0
  91. data/lib/wx/doc/gen/context_help_button.rb +109 -0
  92. data/lib/wx/doc/gen/control.rb +277 -0
  93. data/lib/wx/doc/gen/control_with_items.rb +253 -0
  94. data/lib/wx/doc/gen/core.rb +45 -0
  95. data/lib/wx/doc/gen/credential_entry_dialog.rb +137 -0
  96. data/lib/wx/doc/gen/cursor.rb +193 -0
  97. data/lib/wx/doc/gen/data_format.rb +85 -0
  98. data/lib/wx/doc/gen/data_object.rb +436 -0
  99. data/lib/wx/doc/gen/data_object_simple_base.rb +10 -0
  100. data/lib/wx/doc/gen/date_event.rb +49 -0
  101. data/lib/wx/doc/gen/date_picker_ctrl.rb +161 -0
  102. data/lib/wx/doc/gen/dc.rb +1631 -0
  103. data/lib/wx/doc/gen/dc_overlay.rb +102 -0
  104. data/lib/wx/doc/gen/defs.rb +2802 -0
  105. data/lib/wx/doc/gen/dial_up_event.rb +45 -0
  106. data/lib/wx/doc/gen/dial_up_manager.rb +149 -0
  107. data/lib/wx/doc/gen/dialog.rb +541 -0
  108. data/lib/wx/doc/gen/dir_dialog.rb +164 -0
  109. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +90 -0
  110. data/lib/wx/doc/gen/dir_picker_ctrl.rb +125 -0
  111. data/lib/wx/doc/gen/display.rb +238 -0
  112. data/lib/wx/doc/gen/drag_drop.rb +299 -0
  113. data/lib/wx/doc/gen/drag_image.rb +116 -0
  114. data/lib/wx/doc/gen/editable_list_box.rb +109 -0
  115. data/lib/wx/doc/gen/event.rb +990 -0
  116. data/lib/wx/doc/gen/event_blocker.rb +50 -0
  117. data/lib/wx/doc/gen/event_filter.rb +92 -0
  118. data/lib/wx/doc/gen/event_list.rb +1644 -0
  119. data/lib/wx/doc/gen/events.rb +2809 -0
  120. data/lib/wx/doc/gen/evt_handler.rb +229 -0
  121. data/lib/wx/doc/gen/ext_help_controller.rb +109 -0
  122. data/lib/wx/doc/gen/file_ctrl.rb +231 -0
  123. data/lib/wx/doc/gen/file_ctrl_event.rb +83 -0
  124. data/lib/wx/doc/gen/file_dialog.rb +353 -0
  125. data/lib/wx/doc/gen/file_dialog_custom_control.rb +165 -0
  126. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +158 -0
  127. data/lib/wx/doc/gen/file_dir_picker_event.rb +100 -0
  128. data/lib/wx/doc/gen/file_picker_ctrl.rb +132 -0
  129. data/lib/wx/doc/gen/file_system.rb +232 -0
  130. data/lib/wx/doc/gen/find_dialog_event.rb +126 -0
  131. data/lib/wx/doc/gen/find_replace_data.rb +60 -0
  132. data/lib/wx/doc/gen/find_replace_dialog.rb +58 -0
  133. data/lib/wx/doc/gen/flex_grid_sizer.rb +199 -0
  134. data/lib/wx/doc/gen/font.rb +1379 -0
  135. data/lib/wx/doc/gen/font_data.rb +151 -0
  136. data/lib/wx/doc/gen/font_dialog.rb +88 -0
  137. data/lib/wx/doc/gen/font_picker_ctrl.rb +143 -0
  138. data/lib/wx/doc/gen/font_picker_event.rb +65 -0
  139. data/lib/wx/doc/gen/frame.rb +352 -0
  140. data/lib/wx/doc/gen/fs_file.rb +337 -0
  141. data/lib/wx/doc/gen/functions.rb +10 -0
  142. data/lib/wx/doc/gen/gauge.rb +157 -0
  143. data/lib/wx/doc/gen/gb_sizer_item.rb +68 -0
  144. data/lib/wx/doc/gen/gcdc.rb +46 -0
  145. data/lib/wx/doc/gen/gdi_common.rb +1271 -0
  146. data/lib/wx/doc/gen/gdi_object.rb +31 -0
  147. data/lib/wx/doc/gen/generic_about_dialog.rb +140 -0
  148. data/lib/wx/doc/gen/generic_dir_ctrl.rb +223 -0
  149. data/lib/wx/doc/gen/geometry.rb +661 -0
  150. data/lib/wx/doc/gen/graphics_context.rb +1184 -0
  151. data/lib/wx/doc/gen/graphics_object.rb +750 -0
  152. data/lib/wx/doc/gen/grid/event_list.rb +191 -0
  153. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +40 -0
  154. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +280 -0
  155. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +35 -0
  156. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +37 -0
  157. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +49 -0
  158. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +35 -0
  159. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +46 -0
  160. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +38 -0
  161. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +45 -0
  162. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +40 -0
  163. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +197 -0
  164. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +39 -0
  165. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +44 -0
  166. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +45 -0
  167. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +79 -0
  168. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +46 -0
  169. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +35 -0
  170. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +108 -0
  171. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +35 -0
  172. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +49 -0
  173. data/lib/wx/doc/gen/grid/grid_ctrl.rb +3002 -0
  174. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +95 -0
  175. data/lib/wx/doc/gen/grid/grid_event.rb +129 -0
  176. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +104 -0
  177. data/lib/wx/doc/gen/grid/grid_size_event.rb +85 -0
  178. data/lib/wx/doc/gen/grid/grid_string_table.rb +142 -0
  179. data/lib/wx/doc/gen/grid/grid_table_base.rb +317 -0
  180. data/lib/wx/doc/gen/grid/grid_table_message.rb +81 -0
  181. data/lib/wx/doc/gen/grid_bag_sizer.rb +323 -0
  182. data/lib/wx/doc/gen/grid_sizer.rb +195 -0
  183. data/lib/wx/doc/gen/gui_event_loop.rb +159 -0
  184. data/lib/wx/doc/gen/h_scrolled_window.rb +562 -0
  185. data/lib/wx/doc/gen/header_ctrl.rb +880 -0
  186. data/lib/wx/doc/gen/header_ctrl_event.rb +133 -0
  187. data/lib/wx/doc/gen/help_controller.rb +195 -0
  188. data/lib/wx/doc/gen/help_provider.rb +98 -0
  189. data/lib/wx/doc/gen/html/event_list.rb +38 -0
  190. data/lib/wx/doc/gen/html/html_cell.rb +536 -0
  191. data/lib/wx/doc/gen/html/html_cell_event.rb +69 -0
  192. data/lib/wx/doc/gen/html/html_data_object.rb +42 -0
  193. data/lib/wx/doc/gen/html/html_easy_printing.rb +203 -0
  194. data/lib/wx/doc/gen/html/html_help_controller.rb +340 -0
  195. data/lib/wx/doc/gen/html/html_help_data.rb +159 -0
  196. data/lib/wx/doc/gen/html/html_help_window.rb +258 -0
  197. data/lib/wx/doc/gen/html/html_link_event.rb +41 -0
  198. data/lib/wx/doc/gen/html/html_list_box.rb +346 -0
  199. data/lib/wx/doc/gen/html/html_printout.rb +109 -0
  200. data/lib/wx/doc/gen/html/html_window.rb +461 -0
  201. data/lib/wx/doc/gen/hyperlink_ctrl.rb +311 -0
  202. data/lib/wx/doc/gen/hyperlink_event.rb +44 -0
  203. data/lib/wx/doc/gen/icon.rb +267 -0
  204. data/lib/wx/doc/gen/icon_location.rb +40 -0
  205. data/lib/wx/doc/gen/image.rb +1371 -0
  206. data/lib/wx/doc/gen/image_list.rb +168 -0
  207. data/lib/wx/doc/gen/info_bar.rb +195 -0
  208. data/lib/wx/doc/gen/keyboard_state.rb +140 -0
  209. data/lib/wx/doc/gen/list_box.rb +304 -0
  210. data/lib/wx/doc/gen/list_ctrl.rb +1774 -0
  211. data/lib/wx/doc/gen/list_event.rb +208 -0
  212. data/lib/wx/doc/gen/listbook.rb +116 -0
  213. data/lib/wx/doc/gen/locale.rb +4293 -0
  214. data/lib/wx/doc/gen/log.rb +603 -0
  215. data/lib/wx/doc/gen/mdi_client_window.rb +47 -0
  216. data/lib/wx/doc/gen/mdi_frame.rb +324 -0
  217. data/lib/wx/doc/gen/media_ctrl.rb +269 -0
  218. data/lib/wx/doc/gen/media_event.rb +117 -0
  219. data/lib/wx/doc/gen/memory_dc.rb +174 -0
  220. data/lib/wx/doc/gen/menu.rb +509 -0
  221. data/lib/wx/doc/gen/menu_bar.rb +287 -0
  222. data/lib/wx/doc/gen/menu_item.rb +362 -0
  223. data/lib/wx/doc/gen/message_dialog.rb +238 -0
  224. data/lib/wx/doc/gen/mini_frame.rb +108 -0
  225. data/lib/wx/doc/gen/mirror_dc.rb +22 -0
  226. data/lib/wx/doc/gen/mouse_state.rb +150 -0
  227. data/lib/wx/doc/gen/multi_choice_dialog.rb +80 -0
  228. data/lib/wx/doc/gen/non_owned_window.rb +49 -0
  229. data/lib/wx/doc/gen/notebook.rb +278 -0
  230. data/lib/wx/doc/gen/num_validator.rb +37 -0
  231. data/lib/wx/doc/gen/number_entry_dialog.rb +93 -0
  232. data/lib/wx/doc/gen/object.rb +59 -0
  233. data/lib/wx/doc/gen/owner_drawn_combo_box.rb +395 -0
  234. data/lib/wx/doc/gen/paint_dc.rb +27 -0
  235. data/lib/wx/doc/gen/palette.rb +92 -0
  236. data/lib/wx/doc/gen/panel.rb +127 -0
  237. data/lib/wx/doc/gen/pen.rb +511 -0
  238. data/lib/wx/doc/gen/persistence_manager.rb +135 -0
  239. data/lib/wx/doc/gen/persistent_object.rb +52 -0
  240. data/lib/wx/doc/gen/persistent_window.rb +241 -0
  241. data/lib/wx/doc/gen/pg/event_list.rb +106 -0
  242. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +54 -0
  243. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +292 -0
  244. data/lib/wx/doc/gen/pg/pg_cell.rb +177 -0
  245. data/lib/wx/doc/gen/pg/pg_editor.rb +721 -0
  246. data/lib/wx/doc/gen/pg/pg_multi_button.rb +152 -0
  247. data/lib/wx/doc/gen/pg/pg_properties.rb +2829 -0
  248. data/lib/wx/doc/gen/pg/pg_property.rb +2078 -0
  249. data/lib/wx/doc/gen/pg/pg_validation_info.rb +344 -0
  250. data/lib/wx/doc/gen/pg/property_grid.rb +740 -0
  251. data/lib/wx/doc/gen/pg/property_grid_event.rb +184 -0
  252. data/lib/wx/doc/gen/pg/property_grid_interface.rb +1098 -0
  253. data/lib/wx/doc/gen/pg/property_grid_manager.rb +415 -0
  254. data/lib/wx/doc/gen/pg/property_grid_page.rb +354 -0
  255. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +165 -0
  256. data/lib/wx/doc/gen/picker_base.rb +152 -0
  257. data/lib/wx/doc/gen/platform_info.rb +622 -0
  258. data/lib/wx/doc/gen/popup_window.rb +107 -0
  259. data/lib/wx/doc/gen/progress_dialog.rb +100 -0
  260. data/lib/wx/doc/gen/property_sheet_dialog.rb +216 -0
  261. data/lib/wx/doc/gen/prt/event_list.rb +17 -0
  262. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +44 -0
  263. data/lib/wx/doc/gen/prt/post_script_dc.rb +30 -0
  264. data/lib/wx/doc/gen/prt/preview_frame.rb +78 -0
  265. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +151 -0
  266. data/lib/wx/doc/gen/prt/print_data.rb +804 -0
  267. data/lib/wx/doc/gen/prt/print_dialog.rb +55 -0
  268. data/lib/wx/doc/gen/prt/printer.rb +518 -0
  269. data/lib/wx/doc/gen/prt/printer_dc.rb +37 -0
  270. data/lib/wx/doc/gen/query_layout_info_event.rb +106 -0
  271. data/lib/wx/doc/gen/radio_box.rb +306 -0
  272. data/lib/wx/doc/gen/radio_button.rb +159 -0
  273. data/lib/wx/doc/gen/rbn/event_list.rb +136 -0
  274. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +1132 -0
  275. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +308 -0
  276. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +45 -0
  277. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +458 -0
  278. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +63 -0
  279. data/lib/wx/doc/gen/rbn/ribbon_control.rb +143 -0
  280. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +229 -0
  281. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +55 -0
  282. data/lib/wx/doc/gen/rbn/ribbon_page.rb +174 -0
  283. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +270 -0
  284. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +45 -0
  285. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +360 -0
  286. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +42 -0
  287. data/lib/wx/doc/gen/rearrange_ctrl.rb +78 -0
  288. data/lib/wx/doc/gen/rearrange_list.rb +123 -0
  289. data/lib/wx/doc/gen/region.rb +380 -0
  290. data/lib/wx/doc/gen/region_iterator.rb +76 -0
  291. data/lib/wx/doc/gen/rich_tool_tip.rb +154 -0
  292. data/lib/wx/doc/gen/rtc/event_list.rb +125 -0
  293. data/lib/wx/doc/gen/rtc/rich_text_box.rb +445 -0
  294. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +1188 -0
  295. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +41 -0
  296. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +538 -0
  297. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +2103 -0
  298. data/lib/wx/doc/gen/rtc/rich_text_event.rb +173 -0
  299. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +181 -0
  300. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +319 -0
  301. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +193 -0
  302. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +102 -0
  303. data/lib/wx/doc/gen/rtc/rich_text_image.rb +337 -0
  304. data/lib/wx/doc/gen/rtc/rich_text_object.rb +2922 -0
  305. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +1240 -0
  306. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +258 -0
  307. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +344 -0
  308. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +227 -0
  309. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +59 -0
  310. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +169 -0
  311. data/lib/wx/doc/gen/sash_event.rb +147 -0
  312. data/lib/wx/doc/gen/sash_layout_window.rb +232 -0
  313. data/lib/wx/doc/gen/sash_window.rb +171 -0
  314. data/lib/wx/doc/gen/scaled_dc.rb +10 -0
  315. data/lib/wx/doc/gen/screen_dc.rb +30 -0
  316. data/lib/wx/doc/gen/scroll_bar.rb +204 -0
  317. data/lib/wx/doc/gen/scrolled_canvas.rb +410 -0
  318. data/lib/wx/doc/gen/scrolled_control.rb +410 -0
  319. data/lib/wx/doc/gen/scrolled_window.rb +430 -0
  320. data/lib/wx/doc/gen/search_ctrl.rb +159 -0
  321. data/lib/wx/doc/gen/secret_store.rb +116 -0
  322. data/lib/wx/doc/gen/simplebook.rb +110 -0
  323. data/lib/wx/doc/gen/single_choice_dialog.rb +89 -0
  324. data/lib/wx/doc/gen/sizer.rb +945 -0
  325. data/lib/wx/doc/gen/sizer_item.rb +244 -0
  326. data/lib/wx/doc/gen/slider.rb +342 -0
  327. data/lib/wx/doc/gen/spin_button.rb +157 -0
  328. data/lib/wx/doc/gen/spin_ctrl.rb +231 -0
  329. data/lib/wx/doc/gen/spin_ctrl_double.rb +192 -0
  330. data/lib/wx/doc/gen/spin_double_event.rb +55 -0
  331. data/lib/wx/doc/gen/spin_event.rb +51 -0
  332. data/lib/wx/doc/gen/splash_screen.rb +113 -0
  333. data/lib/wx/doc/gen/splitter_event.rb +99 -0
  334. data/lib/wx/doc/gen/splitter_window.rb +498 -0
  335. data/lib/wx/doc/gen/static_bitmap.rb +256 -0
  336. data/lib/wx/doc/gen/static_box.rb +180 -0
  337. data/lib/wx/doc/gen/static_box_sizer.rb +85 -0
  338. data/lib/wx/doc/gen/static_line.rb +83 -0
  339. data/lib/wx/doc/gen/static_text.rb +127 -0
  340. data/lib/wx/doc/gen/status_bar.rb +290 -0
  341. data/lib/wx/doc/gen/stc/event_list.rb +221 -0
  342. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +4474 -0
  343. data/lib/wx/doc/gen/stc/styled_text_event.rb +8762 -0
  344. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +129 -0
  345. data/lib/wx/doc/gen/svg_file_dc.rb +164 -0
  346. data/lib/wx/doc/gen/system_options.rb +129 -0
  347. data/lib/wx/doc/gen/system_settings.rb +507 -0
  348. data/lib/wx/doc/gen/task_bar_icon.rb +127 -0
  349. data/lib/wx/doc/gen/task_bar_icon_event.rb +88 -0
  350. data/lib/wx/doc/gen/text_attr.rb +756 -0
  351. data/lib/wx/doc/gen/text_ctrl.rb +1033 -0
  352. data/lib/wx/doc/gen/text_entry.rb +441 -0
  353. data/lib/wx/doc/gen/text_entry_dialog.rb +220 -0
  354. data/lib/wx/doc/gen/text_validator.rb +245 -0
  355. data/lib/wx/doc/gen/time_picker_ctrl.rb +128 -0
  356. data/lib/wx/doc/gen/timer.rb +119 -0
  357. data/lib/wx/doc/gen/timer_event.rb +68 -0
  358. data/lib/wx/doc/gen/tip_provider.rb +63 -0
  359. data/lib/wx/doc/gen/tip_window.rb +51 -0
  360. data/lib/wx/doc/gen/toggle_button.rb +182 -0
  361. data/lib/wx/doc/gen/tool_bar.rb +890 -0
  362. data/lib/wx/doc/gen/tool_tip.rb +86 -0
  363. data/lib/wx/doc/gen/toolbook.rb +118 -0
  364. data/lib/wx/doc/gen/top_level_window.rb +497 -0
  365. data/lib/wx/doc/gen/tree_ctrl.rb +1052 -0
  366. data/lib/wx/doc/gen/tree_event.rb +127 -0
  367. data/lib/wx/doc/gen/treebook.rb +180 -0
  368. data/lib/wx/doc/gen/ui_action_simulator.rb +109 -0
  369. data/lib/wx/doc/gen/utils.rb +273 -0
  370. data/lib/wx/doc/gen/v_list_box.rb +272 -0
  371. data/lib/wx/doc/gen/v_scrolled_canvas.rb +195 -0
  372. data/lib/wx/doc/gen/v_scrolled_window.rb +191 -0
  373. data/lib/wx/doc/gen/validator.rb +68 -0
  374. data/lib/wx/doc/gen/variant.rb +294 -0
  375. data/lib/wx/doc/gen/window.rb +2917 -0
  376. data/lib/wx/doc/gen/window_dc.rb +38 -0
  377. data/lib/wx/doc/gen/window_disabler.rb +30 -0
  378. data/lib/wx/doc/gen/with_images.rb +84 -0
  379. data/lib/wx/doc/gen/wizard.rb +257 -0
  380. data/lib/wx/doc/gen/wizard_event.rb +113 -0
  381. data/lib/wx/doc/gen/wizard_page.rb +65 -0
  382. data/lib/wx/doc/gen/wizard_page_simple.rb +88 -0
  383. data/lib/wx/doc/gen/wrap_sizer.rb +79 -0
  384. data/lib/wx/doc/gen/xml_node.rb +316 -0
  385. data/lib/wx/doc/gen/xml_resource.rb +320 -0
  386. data/lib/wx/doc/generic_validator.rb +5 -0
  387. data/lib/wx/doc/pg/pg_property.rb +5 -0
  388. data/lib/wx/doc/tip_window.rb +18 -6
  389. data/lib/wx/doc/variant.rb +30 -0
  390. data/lib/wx/grid/events/evt_list.rb +166 -0
  391. data/lib/wx/html/events/evt_list.rb +27 -0
  392. data/lib/wx/html/simple_html_listbox.rb +46 -33
  393. data/lib/wx/keyword_defs.rb +9 -0
  394. data/lib/wx/pg/events/evt_list.rb +73 -0
  395. data/lib/wx/pg/pg_property.rb +85 -52
  396. data/lib/wx/pg/property_grid_interface.rb +12 -2
  397. data/lib/wx/rbn/events/evt_list.rb +102 -0
  398. data/lib/wx/rtc/events/evt_list.rb +98 -0
  399. data/lib/wx/rtc/ext/rich_text_ctrl.rb +24 -0
  400. data/lib/wx/stc/events/evt_list.rb +178 -0
  401. data/lib/wx/version.rb +1 -1
  402. data/lib/wx/wxruby/cmd/setup.rb +6 -0
  403. data/rakelib/configure.rb +9 -0
  404. data/rakelib/gem.rake +84 -66
  405. data/rakelib/gem.rb +4 -20
  406. data/rakelib/lib/config/linux.rb +1 -1
  407. data/rakelib/lib/config/macosx.rb +15 -1
  408. data/rakelib/lib/config/pkgman/linux.rb +7 -2
  409. data/rakelib/lib/config/unixish.rb +3 -3
  410. data/rakelib/lib/config.rb +19 -8
  411. data/rakelib/lib/core/include/swigdirector.inc +3 -3
  412. data/rakelib/lib/core/include/swigrubyerrors.inc +4 -8
  413. data/rakelib/lib/core/include/swigrubyrun.inc +20 -4
  414. data/rakelib/lib/core/include/swigrun.inc +189 -0
  415. data/rakelib/lib/core/package.rb +3 -1
  416. data/rakelib/lib/core/spec.rb +1 -1
  417. data/rakelib/lib/director/accelerator.rb +1 -1
  418. data/rakelib/lib/director/animation.rb +1 -0
  419. data/rakelib/lib/director/app_traits.rb +1 -1
  420. data/rakelib/lib/director/aui_manager.rb +21 -14
  421. data/rakelib/lib/director/aui_mdi_child_frame.rb +2 -0
  422. data/rakelib/lib/director/aui_mdi_parent_frame.rb +4 -0
  423. data/rakelib/lib/director/aui_notebook.rb +20 -3
  424. data/rakelib/lib/director/aui_tab_ctrl.rb +64 -106
  425. data/rakelib/lib/director/bitmap_combobox.rb +4 -2
  426. data/rakelib/lib/director/calendar_ctrl.rb +72 -14
  427. data/rakelib/lib/director/clipboard.rb +2 -0
  428. data/rakelib/lib/director/data_object.rb +15 -7
  429. data/rakelib/lib/director/date_picker_ctrl.rb +4 -1
  430. data/rakelib/lib/director/display.rb +81 -0
  431. data/rakelib/lib/director/event.rb +33 -16
  432. data/rakelib/lib/director/event_handler.rb +27 -2
  433. data/rakelib/lib/director/functions.rb +9 -0
  434. data/rakelib/lib/director/geometry.rb +5 -0
  435. data/rakelib/lib/director/grid_ctrl.rb +123 -28
  436. data/rakelib/lib/director/help_provider.rb +1 -1
  437. data/rakelib/lib/director/html_listbox.rb +30 -4
  438. data/rakelib/lib/director/hvscrolled.rb +154 -0
  439. data/rakelib/lib/director/image_list.rb +1 -0
  440. data/rakelib/lib/director/mdi_frame.rb +4 -0
  441. data/rakelib/lib/director/menu.rb +56 -15
  442. data/rakelib/lib/director/menu_bar.rb +62 -0
  443. data/rakelib/lib/director/menu_item.rb +7 -1
  444. data/rakelib/lib/director/num_validator.rb +27 -0
  445. data/rakelib/lib/director/numeric_property_validator.rb +9 -0
  446. data/rakelib/lib/director/persistent_window.rb +16 -0
  447. data/rakelib/lib/director/pgproperty.rb +3 -2
  448. data/rakelib/lib/director/popup_window.rb +2 -0
  449. data/rakelib/lib/director/preview_frame.rb +29 -6
  450. data/rakelib/lib/director/printer.rb +59 -5
  451. data/rakelib/lib/director/property_grid.rb +37 -18
  452. data/rakelib/lib/director/property_grid_interface.rb +10 -8
  453. data/rakelib/lib/director/property_grid_manager.rb +99 -39
  454. data/rakelib/lib/director/property_grid_page.rb +60 -0
  455. data/rakelib/lib/director/rich_tooltip.rb +22 -0
  456. data/rakelib/lib/director/richtext_ctrl.rb +5 -0
  457. data/rakelib/lib/director/richtext_object.rb +13 -4
  458. data/rakelib/lib/director/richtext_style_listbox.rb +11 -2
  459. data/rakelib/lib/director/scrolled_t.rb +3 -0
  460. data/rakelib/lib/director/searchctrl.rb +1 -0
  461. data/rakelib/lib/director/task_bar_icon.rb +14 -8
  462. data/rakelib/lib/director/text_validator.rb +9 -0
  463. data/rakelib/lib/director/tip_window.rb +117 -6
  464. data/rakelib/lib/director/tool_bar.rb +6 -0
  465. data/rakelib/lib/director/top_level_window.rb +0 -1
  466. data/rakelib/lib/director/utils.rb +3 -1
  467. data/rakelib/lib/director/validator.rb +12 -0
  468. data/rakelib/lib/director/variant.rb +64 -20
  469. data/rakelib/lib/director/vlistbox.rb +29 -22
  470. data/rakelib/lib/director/window.rb +12 -2
  471. data/rakelib/lib/director/xml_resource.rb +6 -0
  472. data/rakelib/lib/generate/doc/aui_manager.yaml +1 -1
  473. data/rakelib/lib/generate/doc/rich_tool_tip.yaml +26 -0
  474. data/rakelib/lib/generate/doc.rb +12 -7
  475. data/rakelib/lib/generate/interface.rb +16 -1
  476. data/rakelib/lib/specs/interfaces.rb +6 -2
  477. data/rakelib/lib/swig_runner.rb +12 -12
  478. data/rakelib/lib/typemap/aui_tabctrl.rb +46 -0
  479. data/rakelib/lib/typemap/common.rb +3 -3
  480. data/rakelib/lib/typemap/print_page_range.rb +32 -8
  481. data/samples/art/wxruby-512x512.png +0 -0
  482. data/samples/calendar/calendar.rb +64 -1
  483. data/samples/dialogs/dialogs.rb +172 -0
  484. data/samples/dialogs/tip.xpm +157 -0
  485. data/samples/drawing/maths_images.rb +1 -1
  486. data/samples/event/event.rb +1 -1
  487. data/samples/printing/printing2.rb +1 -1
  488. data/samples/sampler.rb +26 -8
  489. data/samples/text/textctrl.rb +2 -2
  490. data/samples/treectrl/treectrl.rb +2 -2
  491. data/tests/lib/leaked_process_event_exception_test.rb +1 -1
  492. data/tests/lib/leaked_queued_event_exception_test.rb +1 -1
  493. data/tests/lib/wxapp_runner.rb +31 -41
  494. data/tests/lib/wxframe_runner.rb +23 -11
  495. data/tests/lib/wxrb_test.rb +58 -0
  496. data/tests/test_app_event_filter.rb +1 -1
  497. data/tests/test_app_exit_exception.rb +3 -3
  498. data/tests/test_app_init_exception.rb +3 -3
  499. data/tests/test_app_traits.rb +24 -21
  500. data/tests/test_art.rb +7 -7
  501. data/tests/test_art_provider.rb +1 -1
  502. data/tests/test_basic.rb +2 -2
  503. data/tests/test_book_controls.rb +1 -1
  504. data/tests/test_box_sizer.rb +1 -1
  505. data/tests/test_clipboard.rb +5 -5
  506. data/tests/test_combo_ctrl.rb +2 -2
  507. data/tests/test_config.rb +11 -1
  508. data/tests/test_dc.rb +1 -1
  509. data/tests/test_dialog.rb +1 -1
  510. data/tests/test_event_handling.rb +1 -1
  511. data/tests/test_events.rb +1 -1
  512. data/tests/test_exceptions.rb +2 -2
  513. data/tests/test_ext_controls.rb +10 -10
  514. data/tests/test_file_dialog.rb +1 -1
  515. data/tests/test_font.rb +1 -1
  516. data/tests/test_gdi_object.rb +1 -1
  517. data/tests/test_geometry.rb +2 -2
  518. data/tests/test_grid_sizer.rb +2 -2
  519. data/tests/test_intl.rb +1 -1
  520. data/tests/test_item_data.rb +12 -12
  521. data/tests/test_list_ctrl.rb +1 -1
  522. data/tests/test_log.rb +2 -2
  523. data/tests/test_media_ctrl.rb +1 -1
  524. data/tests/test_menu.rb +114 -43
  525. data/tests/test_proof_check.rb +1 -1
  526. data/tests/test_propgrid.rb +857 -0
  527. data/tests/test_richtext.rb +10 -24
  528. data/tests/test_secret_store.rb +1 -1
  529. data/tests/test_sizer.rb +1 -1
  530. data/tests/test_std_controls.rb +8 -8
  531. data/tests/test_styled_text_ctrl.rb +1 -1
  532. data/tests/test_timer.rb +1 -1
  533. data/tests/test_tree_ctrl.rb +1 -1
  534. data/tests/test_validators.rb +79 -36
  535. data/tests/test_variant.rb +1 -1
  536. data/tests/test_window.rb +11 -11
  537. data/tests/testapp.rb +2 -2
  538. data/tests/testapp_noframe.rb +2 -2
  539. metadata +402 -12
  540. data/lib/wx/aui/aui_tab_ctrl.rb +0 -18
  541. data/rakelib/lib/director/hvscrolled_window.rb +0 -140
@@ -23,6 +23,7 @@ module CalendarTest
23
23
  Calendar_Cal_Year = 204
24
24
  Calendar_Cal_SeqMonth = 205
25
25
  Calendar_Cal_SurroundWeeks = 206
26
+ Calendar_Cal_Generic = 207
26
27
 
27
28
  Calendar_DatePicker_AskDate = 300
28
29
  Calendar_DatePicker_ShowCentury = 301
@@ -75,6 +76,51 @@ module CalendarTest
75
76
  end
76
77
  end
77
78
 
79
+ class MyGenericCalendar < GenericCalendarCtrl
80
+ attr_reader :date
81
+
82
+ def initialize(parent, display_frame, initial_date, calendar_flags)
83
+ super( parent,
84
+ :date => initial_date,
85
+ :style => calendar_flags | Wx::RAISED_BORDER)
86
+
87
+ @display = display_frame
88
+ @date = initial_date
89
+ @weekday_names = %w|Sun Mon Tue Wed Thu Fri Sat|
90
+
91
+ evt_calendar self, :on_calendar
92
+ evt_calendar_sel_changed self, :on_calendar_change
93
+ evt_calendar_weekday_clicked self, :on_calendar_weekday_click
94
+ evt_right_down :on_hit_test
95
+ end
96
+
97
+ def on_calendar(event)
98
+ @display.date = event.date
99
+ end
100
+
101
+ def on_calendar_change(event)
102
+ @date = event.date
103
+ Wx.log_status("Selected date: #{@date.strftime('%A %d %B %Y')}")
104
+ end
105
+
106
+ def on_calendar_weekday_click(event)
107
+ wday = event.week_day
108
+ Wx.log_status("Clicked on #{@weekday_names[wday]}")
109
+ end
110
+
111
+ def on_hit_test(event)
112
+ hit = hit_test(event.position)
113
+ case hit
114
+ when Time, DateTime
115
+ Wx.log_status("Hit-test: date #{hit}")
116
+ when Fixnum
117
+ Wx.log_status("Hit-test: weekday header #{hit}")
118
+ when NilClass
119
+ Wx.log_status("Hit-test: Nothing")
120
+ end
121
+ end
122
+ end
123
+
78
124
  class MyFrame < Frame
79
125
  def initialize(title)
80
126
  super(nil, -1, title)
@@ -102,12 +148,18 @@ module CalendarTest
102
148
  evt_menu Calendar_Cal_Month, :on_cal_allow_month
103
149
  evt_menu Calendar_Cal_Year, :on_cal_allow_year if Wx::PLATFORM == 'WXOSX'
104
150
 
151
+ evt_menu Calendar_Cal_Generic, :on_cal_use_generic
152
+
105
153
  evt_menu Calendar_Cal_SeqMonth, :on_cal_seq_month
106
154
  evt_menu Calendar_Cal_SurroundWeeks, :on_cal_show_surrounding_weeks
107
155
 
108
156
  evt_update_ui Calendar_Cal_Year, :on_allow_year_update
109
157
  end
110
158
 
159
+ protected def calendar_klass
160
+ get_menu_bar.is_checked(Calendar_Cal_Generic) ? MyGenericCalendar : MyCalendar
161
+ end
162
+
111
163
  def add_menu_bar
112
164
  # create a menu bar
113
165
  menu_file = Wx::Menu.new
@@ -142,6 +194,10 @@ module CalendarTest
142
194
  menu_cal.append(Calendar_Cal_Year, "&Year can be changed\tCtrl-Y",
143
195
  "Allow changing the year in the calendar",
144
196
  Wx::ITEM_CHECK) if Wx::PLATFORM == 'WXOSX'
197
+ menu_cal.append_separator
198
+ menu_cal.append(Calendar_Cal_Generic, "Use generic control",
199
+ "Use Generic Calendar control",
200
+ Wx::ITEM_CHECK)
145
201
 
146
202
  menu_date = Wx::Menu.new
147
203
  menu_date.append_check_item(Calendar_DatePicker_ShowCentury, "Al&ways show century")
@@ -216,6 +272,13 @@ module CalendarTest
216
272
  @calendar.enable_year_change(allow)
217
273
  end
218
274
 
275
+ def on_cal_use_generic(_event)
276
+ calendar = calendar_klass.new(@panel, self, Wx::DEFAULT_DATE_TIME, @calendar_flags)
277
+ @sizer.replace(@calendar, calendar)
278
+ @calendar.destroy
279
+ @calendar = calendar
280
+ end
281
+
219
282
  def on_cal_seq_month(event)
220
283
  allow = get_menu_bar.is_checked(event.get_id)
221
284
  toggle_cal_style(allow, Wx::CAL_SEQUENTIAL_MONTH_SELECTION)
@@ -271,7 +334,7 @@ module CalendarTest
271
334
  else
272
335
  style &= ~flag
273
336
  end
274
- @calendar = MyCalendar.new(@panel, self, date, style)
337
+ @calendar = calendar_klass.new(@panel, self, date, style)
275
338
  @sizer.add(@calendar, 0, Wx::ALIGN_CENTRE|Wx::ALL, 5)
276
339
  @panel.layout
277
340
  end
@@ -42,6 +42,8 @@ module Dialogs
42
42
  DIALOGS_REPLACE = 27
43
43
  DIALOGS_PREFS = 28
44
44
  DIALOGS_PREFS_TOOLBOOK = 29
45
+ DIALOGS_SHOW_TIP = 30
46
+ DIALOGS_RICHTIP_DIALOG = 31
45
47
 
46
48
  class MyTipProvider < Wx::TipProvider
47
49
  TIPS = [
@@ -251,6 +253,8 @@ module Dialogs
251
253
 
252
254
  @find_data = Wx::FindReplaceData.new
253
255
 
256
+ @tipRef = nil
257
+
254
258
  @ext_def = ""
255
259
  @index = -1
256
260
  @index_2 = -1
@@ -289,6 +293,9 @@ module Dialogs
289
293
  evt_find_replace(-1, :on_find_dialog)
290
294
  evt_find_replace_all(-1, :on_find_dialog)
291
295
  evt_find_close(-1, :on_find_dialog)
296
+ evt_menu(DIALOGS_SHOW_TIP, :on_show_tip_window)
297
+ evt_menu(DIALOGS_RICHTIP_DIALOG, :on_show_rich_tip)
298
+ evt_update_ui(DIALOGS_SHOW_TIP, :on_update_show_tip_ui)
292
299
  evt_menu(Wx::ID_EXIT, :on_exit)
293
300
 
294
301
  end
@@ -613,6 +620,169 @@ module Dialogs
613
620
 
614
621
  end
615
622
 
623
+ class RichTipDialog < Wx::Dialog
624
+
625
+ Icon_None = 0
626
+ Icon_Info = 1
627
+ Icon_Warning = 2
628
+ Icon_Error = 3
629
+ Icon_Custom = 4
630
+ Icon_Max = 5
631
+
632
+ Bg_Default = 0
633
+ Bg_Solid = 0
634
+ Bg_Gradient = 0
635
+ Bg_Max = 0
636
+
637
+ Timeout_None = 0
638
+ Timeout_Default = 1
639
+ Timeout_3sec = 2
640
+ Timeout_Max = 3
641
+
642
+ def initialize(parent)
643
+ super(parent, Wx::ID_ANY, "wxRichToolTip Test",
644
+ Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
645
+ Wx::DEFAULT_DIALOG_STYLE | Wx::RESIZE_BORDER)
646
+ # Create the controls.
647
+ @textTitle = Wx::TextCtrl.new(self, Wx::ID_ANY, "Tooltip title")
648
+ @textBody = Wx::TextCtrl.new(self, Wx::ID_ANY, "Main tooltip text\n" \
649
+ "possibly on several\n" \
650
+ "lines.",
651
+ Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
652
+ Wx::TE_MULTILINE)
653
+ btnShowText = Wx::Button.new(self, Wx::ID_ANY, "Show for &text")
654
+ btnShowBtn = Wx::Button.new(self, Wx::ID_ANY, "Show for &button")
655
+
656
+ icon_names = %w[&None &Information &Warning &Error &Custom]
657
+ @icons = Wx::RadioBox.new(self, Wx::ID_ANY, "&Icon choice:",
658
+ Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
659
+ icon_names,
660
+ 1, Wx::RA_SPECIFY_ROWS)
661
+ @icons.set_selection(Icon_Info)
662
+
663
+ tip_kinds = [ "&None", "Top left", "Top", "Top right",
664
+ "Bottom left", "Bottom", "Bottom right", "&Auto" ]
665
+ @tipKinds = Wx::RadioBox.new(self, Wx::ID_ANY, "Tip &kind:",
666
+ Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
667
+ tip_kinds,
668
+ 4, Wx::RA_SPECIFY_COLS)
669
+ @tipKinds.set_selection(Wx::TipKind_Auto)
670
+
671
+ bg_styles = %w[&Default &Solid &Gradient]
672
+ @bgStyles = Wx::RadioBox.new(self, Wx::ID_ANY, "Background style:",
673
+ Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
674
+ bg_styles,
675
+ 1, Wx::RA_SPECIFY_ROWS)
676
+
677
+ timeout_nms = [ "&None", "&Default (no delay)", "&3 seconds" ]
678
+ @timeouts = Wx::RadioBox.new(self, Wx::ID_ANY, "Timeout:",
679
+ Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
680
+ timeout_nms,
681
+ 1, Wx::RA_SPECIFY_ROWS)
682
+ @timeouts.set_selection(Timeout_Default)
683
+ @timeDelay = Wx::CheckBox.new(self, Wx::ID_ANY, "Delay show" )
684
+
685
+ # Lay them out.
686
+ @textBody.set_min_size([300, 200])
687
+
688
+ sizer = Wx::VBoxSizer.new
689
+ sizer.add(@textTitle, Wx::SizerFlags.new.expand.border)
690
+ sizer.add(@textBody, Wx::SizerFlags.new(1).expand.border)
691
+ sizer.add(@icons, Wx::SizerFlags.new.expand.border)
692
+ sizer.add(@tipKinds, Wx::SizerFlags.new.centre.border)
693
+ sizer.add(@bgStyles, Wx::SizerFlags.new.centre.border)
694
+ sizer.add(@timeouts, Wx::SizerFlags.new.centre.border)
695
+ sizer.add(@timeDelay, Wx::SizerFlags.new.centre.border)
696
+ sizerBtns = Wx::HBoxSizer.new
697
+ sizerBtns.add(btnShowText, Wx::SizerFlags.new.border(Wx::RIGHT))
698
+ sizerBtns.add(btnShowBtn, Wx::SizerFlags.new.border(Wx::LEFT))
699
+ sizer.add(sizerBtns, Wx::SizerFlags.new.centre.border)
700
+ sizer.add(create_std_dialog_button_sizer(Wx::OK),
701
+ Wx::SizerFlags.new.expand.border)
702
+ set_sizer_and_fit(sizer)
703
+
704
+
705
+ # And connect the event handlers.
706
+ evt_button(btnShowText, :on_show_tip_for_text)
707
+ evt_button(btnShowBtn, :on_show_tip_for_btn)
708
+ end
709
+
710
+ private
711
+
712
+ def on_show_tip_for_text(_event)
713
+ do_show_tip(@textTitle)
714
+ end
715
+
716
+ def on_show_tip_for_btn(_event)
717
+ do_show_tip(find_window_by_id(Wx::ID_OK))
718
+ end
719
+
720
+ def do_show_tip(win)
721
+ tip = Wx::RichToolTip.new(@textTitle.value, @textBody.value)
722
+ iconSel = @icons.get_selection
723
+ if iconSel == Icon_Custom
724
+ tip.set_icon(Wx.Icon(:tip, art_path: __dir__))
725
+ else # Use a standard icon.
726
+ stdIcons =[
727
+ Wx::ICON_NONE,
728
+ Wx::ICON_INFORMATION,
729
+ Wx::ICON_WARNING,
730
+ Wx::ICON_ERROR
731
+ ]
732
+
733
+ tip.set_icon(stdIcons[iconSel])
734
+ end
735
+
736
+ case @bgStyles.get_selection
737
+ when Bg_Solid
738
+ tip.set_background_colour(Wx::LIGHT_GREY)
739
+ when Bg_Gradient
740
+ tip.set_background_colour(Wx::WHITE, Wx::Colour.new(0xe4, 0xe5, 0xf0))
741
+ else
742
+ #
743
+ end
744
+
745
+ delay = @timeDelay.is_checked ? 500 : 0
746
+
747
+ case @timeouts.get_selection
748
+ when Timeout_None
749
+ # Don't call SetTimeout unnecessarily
750
+ # or msw will show generic impl
751
+ tip.set_timeout(0, delay) if delay > 0
752
+ when Timeout_3sec
753
+ tip.set_timeout(3000, delay)
754
+ else
755
+ #
756
+ end
757
+
758
+ tip.set_tip_kind(Wx::TipKind.new(@tipKinds.get_selection))
759
+
760
+ tip.show_for(win)
761
+ end
762
+
763
+ end
764
+
765
+ def on_show_rich_tip(_event)
766
+ MyFrame.RichTipDialog(self)
767
+ end
768
+
769
+ def on_show_tip_window(_event)
770
+ if @tipRef&.ok?
771
+ @tipRef.tip_window.close
772
+ else
773
+ @tipRef = Wx::TipWindow::new_tip(
774
+ self,
775
+ "This is just some text to be shown in the tip " \
776
+ "window, broken into multiple lines, each less " \
777
+ "than 60 logical pixels wide.",
778
+ from_dip(60))
779
+ end
780
+ end
781
+
782
+ def on_update_show_tip_ui(event)
783
+ event.check(!!@tipRef&.ok?)
784
+ end
785
+
616
786
  def on_exit(_event)
617
787
  close(true)
618
788
  end
@@ -832,6 +1002,8 @@ module Dialogs
832
1002
  file_menu.append_separator
833
1003
  file_menu.append(DIALOGS_TIP, "&Tip of the day\tCtrl-T")
834
1004
  file_menu.append(DIALOGS_CUSTOM_TIP, "Custom tip of the day")
1005
+ file_menu.append_check_item(DIALOGS_SHOW_TIP, "Show &tip window\tShift-Ctrl-H")
1006
+ file_menu.append(DIALOGS_RICHTIP_DIALOG, "Rich &tooltip dialog...\tCtrl-H")
835
1007
  file_menu.append_separator
836
1008
  file_menu.append(DIALOGS_FILE_OPEN, "&Open file\tCtrl-O")
837
1009
  file_menu.append(DIALOGS_FILE_OPEN2, "&Second open file\tCtrl-2")
@@ -0,0 +1,157 @@
1
+ /* XPM */
2
+ static const char *const tip_xpm[] = {
3
+ /* columns rows colors chars-per-pixel */
4
+ "32 32 119 2",
5
+ " c #141414",
6
+ ". c #1B1B1B",
7
+ "X c #1F2527",
8
+ "o c #242525",
9
+ "O c #242728",
10
+ "+ c #262A2B",
11
+ "@ c #2B2B2B",
12
+ "# c #2A2E30",
13
+ "$ c #2C3233",
14
+ "% c #2C3639",
15
+ "& c #2F3A3D",
16
+ "* c #313131",
17
+ "= c #303C3F",
18
+ "- c #2D3E42",
19
+ "; c #323F42",
20
+ ": c #33454A",
21
+ "> c #34494F",
22
+ ", c #324A50",
23
+ "< c #3B4E52",
24
+ "1 c #2F5058",
25
+ "2 c #325157",
26
+ "3 c #3D545A",
27
+ "4 c #3A5A62",
28
+ "5 c #34606A",
29
+ "6 c #3F616A",
30
+ "7 c #464646",
31
+ "8 c #4B4B4B",
32
+ "9 c #41585E",
33
+ "0 c gray33",
34
+ "q c #5D5D5D",
35
+ "w c #425B62",
36
+ "e c #456067",
37
+ "r c #46646B",
38
+ "t c #456972",
39
+ "y c #4B6972",
40
+ "u c #416F7A",
41
+ "i c #646464",
42
+ "p c gray42",
43
+ "a c #696F71",
44
+ "s c #767676",
45
+ "d c #787777",
46
+ "f c gray49",
47
+ "g c #3E7582",
48
+ "h c #3E7D8A",
49
+ "j c #417A86",
50
+ "k c #417F8E",
51
+ "l c #3E8494",
52
+ "z c #418595",
53
+ "x c #4D8995",
54
+ "c c #468D9E",
55
+ "v c #6B848A",
56
+ "b c #4795A7",
57
+ "n c #4F92A1",
58
+ "m c #4D9AAA",
59
+ "M c #5695A4",
60
+ "N c #55A2B3",
61
+ "B c #5FAABA",
62
+ "V c #7BA6AF",
63
+ "C c #4FAFC5",
64
+ "Z c #5DB7CA",
65
+ "A c #52BAD1",
66
+ "S c #58BDD4",
67
+ "D c #62C2D5",
68
+ "F c #64C3DA",
69
+ "G c #73C8DA",
70
+ "H c #7ECBDD",
71
+ "J c #868686",
72
+ "K c gray55",
73
+ "L c #9FA0A0",
74
+ "P c #98A8AB",
75
+ "I c #ADADAC",
76
+ "U c #AAB1B2",
77
+ "Y c #A8B9BD",
78
+ "T c gray70",
79
+ "R c #90C3CF",
80
+ "E c #87C8D7",
81
+ "W c #82CADA",
82
+ "Q c #91C8D4",
83
+ "! c #93CFDC",
84
+ "~ c #98CEDB",
85
+ "^ c #93D1DF",
86
+ "/ c #9AD1DC",
87
+ "( c #A4CCD7",
88
+ ") c #A3CFDA",
89
+ "_ c #A1D0DB",
90
+ "` c #ACD1DA",
91
+ "' c #B2D6DE",
92
+ "] c #BCD7DD",
93
+ "[ c #89D2E2",
94
+ "{ c #9BD5E1",
95
+ "} c #A9DEE9",
96
+ "| c #BFE1E7",
97
+ " . c #BDE3EB",
98
+ ".. c #C5C5C5",
99
+ "X. c #CACACA",
100
+ "o. c #C2D5D9",
101
+ "O. c #C2D8DD",
102
+ "+. c #CCD9DD",
103
+ "@. c #D4DBDD",
104
+ "#. c #DBDDDE",
105
+ "$. c #E0DFDF",
106
+ "%. c #CCDDE1",
107
+ "&. c #D2DFE1",
108
+ "*. c #CCE5EB",
109
+ "=. c #D6E2E4",
110
+ "-. c #DCE3E5",
111
+ ";. c #D4E6E9",
112
+ ":. c #DBE6E8",
113
+ ">. c #E2E4E4",
114
+ ",. c #E6E9E9",
115
+ "<. c #ECECEC",
116
+ "1. c #F1EFEF",
117
+ "2. c #E1EDF0",
118
+ "3. c #E9EFF0",
119
+ "4. c #EEF3F3",
120
+ "5. c #F5F5F4",
121
+ "6. c #F8F7F7",
122
+ "7. c #FBFBFA",
123
+ "8. c None",
124
+ /* pixels */
125
+ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
126
+ "8.8.8.8.8.8.8.8.8.8.8.o o o o @ @ o o o o 8.8.8.8.8.8.8.8.8.8.8.",
127
+ "8.8.8.8.8.8.8.8.o o @ * * q q f J i q 7 * @ o o 8.8.8.8.8.8.8.8.",
128
+ "8.8.8.8.8.8.o O @ 7 K X.7.7.7.7.7.7.7.7.>.I i * @ o 8.8.8.8.8.8.",
129
+ "8.8.8.8.8.o @ 8 T 6.7.7.7.7.7.7.7.7.7.7.7.7.7.#.s @ o o 8.8.8.8.",
130
+ "8.8.8.o O * K 5.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7...8 O o 8.8.8.",
131
+ "8.8.o O * I 7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.>.0 O o 8.8.",
132
+ "8.8.o @ I 7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.<.7 O 8.8.",
133
+ "8.o @ d 7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.X.@ o 8.",
134
+ "8.O @ $.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.7.6.a O 8.",
135
+ "o @ p 6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.Y @ o ",
136
+ "o @ L 6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.*.$ o ",
137
+ "o O U 6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.5. .; o ",
138
+ "O $ P 5.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.6.4.} % o ",
139
+ "o < v 3.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.2.W O o ",
140
+ "o w < *.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.| x # o ",
141
+ "8.$ < V :.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.;.[ , ; ",
142
+ "8.o y : ( -.<.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.<.=.{ j 3 o 8.",
143
+ "8.8.+ w 4 ` =.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.<.%.^ m > % . 8.",
144
+ "8.8.o & 3 2 Q O.-.<.<.<.<.<.<.<.<.<.<.<.<.<.,.=.' H z : : . 8.8.",
145
+ "8.8.8.o % w - M / ] &.-.,.,.<.<.<.<.<.<.<.>.O.! Z 5 < ; . 8.8.8.",
146
+ "8.8.8.8.o O e : 1 n W ~ ` ] O.%.%.+.@.>.,.+.! z : w @ . 8.8.8.8.",
147
+ "8.8.8.8.8.8.o % r 3 > 5 h N B G G R o.#.>.` D : ; . 8.8.8.8.8.",
148
+ "8.8.8.8.8.8.8.8.o + : w y w 3 3 - X ` @.%.W l w . 8.8.8.8.8.8.8.",
149
+ "8.8.8.8.8.8.8.8.8.8.. o o o o O + - ( +._ S 6 O 8.8.8.8.8.8.8.",
150
+ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.o 4 ( ) F g = . 8.8.8.8.8.8.8.8.",
151
+ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.O u E F z < . 8.8.8.8.8.8.8.8.8.",
152
+ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.o 3 C A k > . 8.8.8.8.8.8.8.8.8.8.",
153
+ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.9 c b t + . 8.8.8.8.8.8.8.8.8.8.8.",
154
+ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.: % o . 8.8.8.8.8.8.8.8.8.8.8.8.",
155
+ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.. 8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.",
156
+ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8."
157
+ };
@@ -227,7 +227,7 @@ class MathsPanel < Panel
227
227
 
228
228
  # Display a dialog to save the image to a file
229
229
  def on_save
230
- SaveImageDialog(parent) do |dlg|
230
+ MathImages::SaveImageDialog(parent) do |dlg|
231
231
  if dlg.show_modal == Wx::ID_OK
232
232
  if dlg.image_type == Wx::BITMAP_TYPE_PNG
233
233
  # test writing to IO
@@ -175,7 +175,7 @@ module Event
175
175
 
176
176
  Wx::MessageDialog(self, msg, 'About Event Handling',
177
177
  Wx::OK | Wx::ICON_INFORMATION) do |about_dlg|
178
- about_dlg.ok_label = Wx::ButtonLabel.new('Close')
178
+ about_dlg.ok_label = 'Close'
179
179
  about_dlg.show_modal
180
180
  end
181
181
  end
@@ -172,7 +172,7 @@ module Printing2
172
172
  msg = <<~__STR
173
173
  Print framework sample application
174
174
 
175
- Using wxRuby #{Wx::version()}
175
+ Using wxRuby #{Wx::WXRUBY_VERSION}
176
176
  __STR
177
177
 
178
178
  Wx::message_box(msg,'About')
data/samples/sampler.rb CHANGED
@@ -79,14 +79,32 @@ module WxRuby
79
79
  evt_menu(ID::TB_CLOSE) { @frame.close }
80
80
  end
81
81
 
82
- def create_popup_menu
83
- # Called by the base class when it needs to popup the menu
84
- # (the default evt_right_down event). Create and return
85
- # the menu to display.
86
- menu = Wx::Menu.new
87
- menu.append(ID::TB_RESTORE, "Restore wxRuby Sampler")
88
- menu.append(ID::TB_CLOSE, "Close wxRuby Sampler")
89
- return menu
82
+ if ::Wx::WXWIDGETS_VERSION >= '3.1.5'
83
+
84
+ def get_popup_menu
85
+ # Called by the base class when it needs to popup the menu
86
+ # (the default evt_right_down event). Create once and return
87
+ # the menu to display.
88
+ unless @popup_menu
89
+ @popup_menu = Wx::Menu.new
90
+ @popup_menu.append(ID::TB_RESTORE, "Restore wxRuby Sampler")
91
+ @popup_menu.append(ID::TB_CLOSE, "Close wxRuby Sampler")
92
+ end
93
+ @popup_menu
94
+ end
95
+
96
+ else
97
+
98
+ def create_popup_menu
99
+ # Called by the base class when it needs to popup the menu
100
+ # (the default evt_right_down event). Create and return
101
+ # the menu to display.
102
+ menu = Wx::Menu.new
103
+ menu.append(ID::TB_RESTORE, "Restore wxRuby Sampler")
104
+ menu.append(ID::TB_CLOSE, "Close wxRuby Sampler")
105
+ menu
106
+ end
107
+
90
108
  end
91
109
 
92
110
  def make_icon(imgname)
@@ -45,8 +45,8 @@ module TextCtrl
45
45
  end
46
46
 
47
47
  class TextCtrlFrame < Wx::Frame
48
- def initialize(*args)
49
- super(nil, *args)
48
+ def initialize(*args, **kwargs)
49
+ super(nil, *args, **kwargs)
50
50
 
51
51
  self.icon = Wx.Icon(:sample, Wx::BITMAP_TYPE_XPM, art_path: File.join(__dir__, '..'))
52
52
 
@@ -89,8 +89,8 @@ module TreeCtrl
89
89
  TreeCtrlIcon_FolderOpened = 0, 1, 2, 3, 4
90
90
 
91
91
  class MyTreeCtrl < Wx::TreeCtrl
92
- def initialize(parent, *args)
93
- super(parent, *args)
92
+ def initialize(parent, *args, **kwargs)
93
+ super(parent, *args, **kwargs)
94
94
 
95
95
  @alternate_images = false
96
96
  @alternate_states = false
@@ -4,7 +4,7 @@
4
4
 
5
5
  require_relative './wxapp_runner'
6
6
 
7
- class ProcessEventHandlingExceptionTests < Test::Unit::TestCase
7
+ class ProcessEventHandlingExceptionTests < WxRuby::Test::Unit
8
8
 
9
9
  class TestEvent < Wx::Event
10
10
  EVT_TEST_EVENT = Wx::EvtHandler.register_class(self, nil, 'evt_test_event', 0)
@@ -4,7 +4,7 @@
4
4
 
5
5
  require_relative './wxapp_runner'
6
6
 
7
- class QueuedEventHandlingExceptionTests < Test::Unit::TestCase
7
+ class QueuedEventHandlingExceptionTests < WxRuby::Test::Unit
8
8
 
9
9
  class TestEvent < Wx::Event
10
10
  EVT_TEST_EVENT = Wx::EvtHandler.register_class(self, nil, 'evt_test_event', 0)
@@ -2,8 +2,7 @@
2
2
  #
3
3
  # This software is released under the MIT license.
4
4
 
5
- require 'test/unit'
6
- require 'test/unit/ui/console/testrunner'
5
+ require_relative './wxrb_test'
7
6
  require 'wx'
8
7
 
9
8
  module WxRuby
@@ -11,33 +10,42 @@ module WxRuby
11
10
  module Test
12
11
 
13
12
  class App < Wx::App
14
- def initialize(test_runner, start_mtd)
13
+ def initialize(test_runner, start_mtd, *args, **kwargs)
15
14
  super()
16
15
  @test_runner = test_runner
17
16
  @start_mtd = start_mtd
17
+ @args = args
18
+ @kwargs = kwargs
19
+ end
20
+
21
+ protected def run_all_tests
22
+ @start_mtd.bind(@test_runner).call(*@args, **@kwargs)
18
23
  end
19
24
 
20
25
  def on_init
21
- @result = @start_mtd.bind(@test_runner).call
26
+ @result = run_all_tests
22
27
  false
23
28
  end
24
29
 
25
30
  attr_reader :result
26
31
  end
27
32
 
28
- if defined? ::IntelliJ
29
- require 'test/unit/ui/teamcity/testrunner'
30
- BaseRunner = ::Test::Unit::UI::TeamCity::TestRunner
31
- else
32
- BaseRunner = ::Test::Unit::UI::Console::TestRunner
33
- end
33
+ class Unit < Minitest::Test
34
34
 
35
- class Runner < BaseRunner
35
+ def self.is_ci_build?
36
+ (ENV['GITHUB_ACTION'] || ENV['CI'])
37
+ end
38
+
39
+ def is_ci_build?
40
+ Unit.is_ci_build?
41
+ end
42
+
43
+ def self.uses_wayland?
44
+ Wx.has_feature?('HAVE_WAYLAND_CLIENT')
45
+ end
36
46
 
37
- org_start_mtd = instance_method :start
38
- define_method :start do
39
- (app = WxRuby::Test::App.new(self, org_start_mtd)).run
40
- app.result
47
+ def uses_wayland?
48
+ Unit.uses_wayland?
41
49
  end
42
50
 
43
51
  end
@@ -46,34 +54,16 @@ module WxRuby
46
54
 
47
55
  end
48
56
 
49
- module Test
50
- module Unit
51
- AutoRunner.register_runner(:wxapp) do |auto_runner|
52
- WxRuby::Test::Runner
53
- end
54
- AutoRunner.default_runner = :wxapp
55
- if defined? ::IntelliJ
56
- class AutoRunner
57
- alias :wx_initialize :initialize
58
- private :wx_initialize
59
-
60
- def initialize(*args)
61
- wx_initialize(*args)
62
- @runner = AutoRunner.default_runner
63
- end
64
- end
65
- end
57
+ module Minitest
66
58
 
67
- class TestCase
68
-
69
- def self.is_ci_build?
70
- (ENV['GITHUB_ACTION'] || ENV['CI'])
71
- end
72
-
73
- def is_ci_build?
74
- TestCase.is_ci_build?
75
- end
59
+ RUN_ALL_METHOD = VERSION >= '6.0.0' ? :run_all_suites : :__run
76
60
 
61
+ class << self
62
+ org_run_all_suites_mtd = instance_method RUN_ALL_METHOD
63
+ define_method RUN_ALL_METHOD do |*args, **kwargs|
64
+ (app = WxRuby::Test::App.new(self, org_run_all_suites_mtd, *args, **kwargs)).run
65
+ app.result
77
66
  end
78
67
  end
68
+
79
69
  end