wxruby3 0.9.4-x64-mingw-ucrt → 0.9.7-x64-mingw-ucrt

Sign up to get free protection for your applications and to get access to all the features.
Files changed (390) hide show
  1. checksums.yaml +4 -4
  2. data/.wxconfig +9 -8
  3. data/INSTALL.md +315 -78
  4. data/README.md +32 -21
  5. data/ext/wxbase32u_gcc_custom.dll +0 -0
  6. data/ext/wxbase32u_net_gcc_custom.dll +0 -0
  7. data/ext/wxbase32u_xml_gcc_custom.dll +0 -0
  8. data/ext/wxmsw32u_aui_gcc_custom.dll +0 -0
  9. data/ext/wxmsw32u_core_gcc_custom.dll +0 -0
  10. data/ext/wxmsw32u_gl_gcc_custom.dll +0 -0
  11. data/ext/wxmsw32u_html_gcc_custom.dll +0 -0
  12. data/ext/wxmsw32u_media_gcc_custom.dll +0 -0
  13. data/ext/wxmsw32u_propgrid_gcc_custom.dll +0 -0
  14. data/ext/wxmsw32u_qa_gcc_custom.dll +0 -0
  15. data/ext/wxmsw32u_ribbon_gcc_custom.dll +0 -0
  16. data/ext/wxmsw32u_richtext_gcc_custom.dll +0 -0
  17. data/ext/wxmsw32u_stc_gcc_custom.dll +0 -0
  18. data/ext/wxmsw32u_webview_gcc_custom.dll +0 -0
  19. data/ext/wxmsw32u_xrc_gcc_custom.dll +0 -0
  20. data/lib/wx/core/combo_ctrl.rb +171 -0
  21. data/lib/wx/core/ext.rb +22 -3
  22. data/lib/wx/doc/comboctrl.rb +128 -3
  23. data/lib/wx/doc/gen/about_dialog_info.rb +1 -1
  24. data/lib/wx/doc/gen/accelerator.rb +1 -1
  25. data/lib/wx/doc/gen/accessible.rb +1 -1
  26. data/lib/wx/doc/gen/activity_indicator.rb +1 -1
  27. data/lib/wx/doc/gen/animation.rb +1 -1
  28. data/lib/wx/doc/gen/animation_ctrl.rb +1 -1
  29. data/lib/wx/doc/gen/any_button.rb +1 -1
  30. data/lib/wx/doc/gen/app.rb +1 -1
  31. data/lib/wx/doc/gen/app_traits.rb +3 -55
  32. data/lib/wx/doc/gen/art_provider.rb +1 -3
  33. data/lib/wx/doc/gen/aui/aui_dock_art.rb +430 -426
  34. data/lib/wx/doc/gen/aui/aui_floating_frame.rb +34 -30
  35. data/lib/wx/doc/gen/aui/aui_manager.rb +352 -349
  36. data/lib/wx/doc/gen/aui/aui_manager_event.rb +107 -103
  37. data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +157 -153
  38. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +42 -37
  39. data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +109 -105
  40. data/lib/wx/doc/gen/aui/aui_notebook.rb +438 -434
  41. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +145 -141
  42. data/lib/wx/doc/gen/aui/aui_pane_info.rb +689 -685
  43. data/lib/wx/doc/gen/aui/aui_tab_art.rb +369 -365
  44. data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +100 -96
  45. data/lib/wx/doc/gen/aui/aui_tool_bar.rb +445 -441
  46. data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +268 -264
  47. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +179 -175
  48. data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +219 -215
  49. data/lib/wx/doc/gen/banner_window.rb +1 -1
  50. data/lib/wx/doc/gen/bitmap.rb +1 -1
  51. data/lib/wx/doc/gen/bitmap_button.rb +1 -1
  52. data/lib/wx/doc/gen/bitmap_combo_box.rb +1 -1
  53. data/lib/wx/doc/gen/book_ctrl_base.rb +1 -1
  54. data/lib/wx/doc/gen/book_ctrl_event.rb +1 -1
  55. data/lib/wx/doc/gen/box_sizer.rb +1 -1
  56. data/lib/wx/doc/gen/brush.rb +1 -1
  57. data/lib/wx/doc/gen/busy_info.rb +1 -1
  58. data/lib/wx/doc/gen/button.rb +1 -1
  59. data/lib/wx/doc/gen/calculate_layout_event.rb +1 -1
  60. data/lib/wx/doc/gen/calendar_ctrl.rb +1 -1
  61. data/lib/wx/doc/gen/calendar_date_attr.rb +1 -1
  62. data/lib/wx/doc/gen/calendar_event.rb +1 -1
  63. data/lib/wx/doc/gen/caret.rb +1 -1
  64. data/lib/wx/doc/gen/check_box.rb +1 -1
  65. data/lib/wx/doc/gen/check_list_box.rb +1 -1
  66. data/lib/wx/doc/gen/choice.rb +1 -1
  67. data/lib/wx/doc/gen/choicebook.rb +1 -1
  68. data/lib/wx/doc/gen/client_dc.rb +1 -1
  69. data/lib/wx/doc/gen/clipboard.rb +1 -1
  70. data/lib/wx/doc/gen/collapsible_pane.rb +1 -1
  71. data/lib/wx/doc/gen/collapsible_pane_event.rb +1 -1
  72. data/lib/wx/doc/gen/colour.rb +1 -2
  73. data/lib/wx/doc/gen/colour_dialog.rb +2 -2
  74. data/lib/wx/doc/gen/colour_picker_ctrl.rb +1 -1
  75. data/lib/wx/doc/gen/colour_picker_event.rb +1 -1
  76. data/lib/wx/doc/gen/combo_box.rb +4 -3
  77. data/lib/wx/doc/gen/combo_ctrl.rb +92 -228
  78. data/lib/wx/doc/gen/command_link_button.rb +1 -1
  79. data/lib/wx/doc/gen/config_base.rb +1 -1
  80. data/lib/wx/doc/gen/context_help_button.rb +1 -1
  81. data/lib/wx/doc/gen/control.rb +1 -1
  82. data/lib/wx/doc/gen/control_with_items.rb +1 -1
  83. data/lib/wx/doc/gen/core.rb +5 -5
  84. data/lib/wx/doc/gen/cursor.rb +1 -1
  85. data/lib/wx/doc/gen/data_format.rb +1 -1
  86. data/lib/wx/doc/gen/data_object.rb +1 -1
  87. data/lib/wx/doc/gen/data_object_simple_base.rb +1 -1
  88. data/lib/wx/doc/gen/date_event.rb +1 -1
  89. data/lib/wx/doc/gen/date_picker_ctrl.rb +1 -1
  90. data/lib/wx/doc/gen/dc.rb +1 -4
  91. data/lib/wx/doc/gen/defs.rb +1 -1
  92. data/lib/wx/doc/gen/dial_up_event.rb +1 -1
  93. data/lib/wx/doc/gen/dial_up_manager.rb +1 -1
  94. data/lib/wx/doc/gen/dialog.rb +1 -2
  95. data/lib/wx/doc/gen/dir_dialog.rb +1 -1
  96. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +1 -1
  97. data/lib/wx/doc/gen/dir_picker_ctrl.rb +1 -1
  98. data/lib/wx/doc/gen/drag_drop.rb +1 -1
  99. data/lib/wx/doc/gen/drag_image.rb +1 -1
  100. data/lib/wx/doc/gen/editable_list_box.rb +1 -1
  101. data/lib/wx/doc/gen/event.rb +1 -1
  102. data/lib/wx/doc/gen/event_blocker.rb +1 -1
  103. data/lib/wx/doc/gen/event_filter.rb +1 -1
  104. data/lib/wx/doc/gen/events.rb +3 -25
  105. data/lib/wx/doc/gen/evt_handler.rb +1 -1
  106. data/lib/wx/doc/gen/ext_help_controller.rb +1 -1
  107. data/lib/wx/doc/gen/file_ctrl.rb +1 -1
  108. data/lib/wx/doc/gen/file_ctrl_event.rb +1 -1
  109. data/lib/wx/doc/gen/file_dialog.rb +1 -3
  110. data/lib/wx/doc/gen/file_dialog_custom_control.rb +1 -1
  111. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +54 -62
  112. data/lib/wx/doc/gen/file_dir_picker_event.rb +1 -1
  113. data/lib/wx/doc/gen/file_picker_ctrl.rb +1 -1
  114. data/lib/wx/doc/gen/file_system.rb +2 -59
  115. data/lib/wx/doc/gen/find_dialog_event.rb +1 -1
  116. data/lib/wx/doc/gen/find_replace_data.rb +1 -1
  117. data/lib/wx/doc/gen/find_replace_dialog.rb +1 -1
  118. data/lib/wx/doc/gen/flex_grid_sizer.rb +1 -1
  119. data/lib/wx/doc/gen/font.rb +1 -1
  120. data/lib/wx/doc/gen/font_data.rb +1 -1
  121. data/lib/wx/doc/gen/font_dialog.rb +1 -1
  122. data/lib/wx/doc/gen/font_picker_ctrl.rb +1 -1
  123. data/lib/wx/doc/gen/font_picker_event.rb +1 -1
  124. data/lib/wx/doc/gen/frame.rb +1 -2
  125. data/lib/wx/doc/gen/fs_file.rb +1 -1
  126. data/lib/wx/doc/gen/functions.rb +1 -1
  127. data/lib/wx/doc/gen/gauge.rb +1 -1
  128. data/lib/wx/doc/gen/gb_sizer_item.rb +1 -1
  129. data/lib/wx/doc/gen/gcdc.rb +1 -1
  130. data/lib/wx/doc/gen/gdi_common.rb +3 -3
  131. data/lib/wx/doc/gen/gdi_object.rb +1 -1
  132. data/lib/wx/doc/gen/generic_dir_ctrl.rb +1 -1
  133. data/lib/wx/doc/gen/graphics_context.rb +1 -1
  134. data/lib/wx/doc/gen/graphics_object.rb +1 -1
  135. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +28 -24
  136. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +251 -247
  137. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +25 -21
  138. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +27 -23
  139. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +38 -34
  140. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +25 -21
  141. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +35 -31
  142. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +28 -24
  143. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +34 -30
  144. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +30 -26
  145. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +183 -179
  146. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +29 -25
  147. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +33 -29
  148. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +34 -30
  149. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +67 -63
  150. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +34 -30
  151. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +25 -21
  152. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +93 -89
  153. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +25 -21
  154. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +38 -34
  155. data/lib/wx/doc/gen/grid/grid_ctrl.rb +2716 -2724
  156. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +82 -78
  157. data/lib/wx/doc/gen/grid/grid_event.rb +106 -102
  158. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +93 -89
  159. data/lib/wx/doc/gen/grid/grid_size_event.rb +70 -66
  160. data/lib/wx/doc/gen/grid/grid_string_table.rb +130 -126
  161. data/lib/wx/doc/gen/grid/grid_table_base.rb +303 -299
  162. data/lib/wx/doc/gen/grid/grid_table_message.rb +70 -66
  163. data/lib/wx/doc/gen/grid_bag_sizer.rb +1 -1
  164. data/lib/wx/doc/gen/grid_sizer.rb +1 -1
  165. data/lib/wx/doc/gen/gui_event_loop.rb +1 -1
  166. data/lib/wx/doc/gen/header_ctrl.rb +1 -2
  167. data/lib/wx/doc/gen/header_ctrl_event.rb +1 -1
  168. data/lib/wx/doc/gen/help_controller.rb +1 -1
  169. data/lib/wx/doc/gen/help_provider.rb +1 -1
  170. data/lib/wx/doc/gen/html/html_cell.rb +515 -511
  171. data/lib/wx/doc/gen/html/html_cell_event.rb +58 -54
  172. data/lib/wx/doc/gen/html/html_easy_printing.rb +171 -167
  173. data/lib/wx/doc/gen/html/html_help_controller.rb +292 -288
  174. data/lib/wx/doc/gen/html/html_help_data.rb +147 -143
  175. data/lib/wx/doc/gen/html/html_help_window.rb +232 -228
  176. data/lib/wx/doc/gen/html/html_link_event.rb +30 -26
  177. data/lib/wx/doc/gen/html/html_list_box.rb +301 -297
  178. data/lib/wx/doc/gen/html/html_printout.rb +94 -90
  179. data/lib/wx/doc/gen/html/html_window.rb +406 -402
  180. data/lib/wx/doc/gen/hyperlink_ctrl.rb +1 -1
  181. data/lib/wx/doc/gen/hyperlink_event.rb +1 -1
  182. data/lib/wx/doc/gen/icon.rb +1 -1
  183. data/lib/wx/doc/gen/icon_location.rb +1 -1
  184. data/lib/wx/doc/gen/image.rb +1 -3
  185. data/lib/wx/doc/gen/image_list.rb +1 -1
  186. data/lib/wx/doc/gen/info_bar.rb +1 -1
  187. data/lib/wx/doc/gen/keyboard_state.rb +1 -1
  188. data/lib/wx/doc/gen/list_box.rb +1 -1
  189. data/lib/wx/doc/gen/list_ctrl.rb +1 -2
  190. data/lib/wx/doc/gen/list_event.rb +1 -1
  191. data/lib/wx/doc/gen/listbook.rb +1 -1
  192. data/lib/wx/doc/gen/locale.rb +1 -1
  193. data/lib/wx/doc/gen/log.rb +1 -1
  194. data/lib/wx/doc/gen/mdi_client_window.rb +1 -1
  195. data/lib/wx/doc/gen/mdi_frame.rb +1 -1
  196. data/lib/wx/doc/gen/media_ctrl.rb +1 -7
  197. data/lib/wx/doc/gen/media_event.rb +1 -1
  198. data/lib/wx/doc/gen/memory_dc.rb +1 -1
  199. data/lib/wx/doc/gen/menu.rb +1 -3
  200. data/lib/wx/doc/gen/menu_bar.rb +1 -1
  201. data/lib/wx/doc/gen/menu_item.rb +1 -1
  202. data/lib/wx/doc/gen/message_dialog.rb +1 -1
  203. data/lib/wx/doc/gen/mini_frame.rb +1 -1
  204. data/lib/wx/doc/gen/mirror_dc.rb +1 -1
  205. data/lib/wx/doc/gen/mouse_state.rb +1 -1
  206. data/lib/wx/doc/gen/multi_choice_dialog.rb +1 -1
  207. data/lib/wx/doc/gen/non_owned_window.rb +1 -1
  208. data/lib/wx/doc/gen/notebook.rb +1 -2
  209. data/lib/wx/doc/gen/num_validator.rb +1 -1
  210. data/lib/wx/doc/gen/number_entry_dialog.rb +1 -1
  211. data/lib/wx/doc/gen/object.rb +1 -1
  212. data/lib/wx/doc/gen/owner_drawn_combo_box.rb +1 -1
  213. data/lib/wx/doc/gen/paint_dc.rb +1 -1
  214. data/lib/wx/doc/gen/palette.rb +1 -1
  215. data/lib/wx/doc/gen/panel.rb +1 -1
  216. data/lib/wx/doc/gen/pen.rb +1 -1
  217. data/lib/wx/doc/gen/persistence_manager.rb +1 -1
  218. data/lib/wx/doc/gen/persistent_object.rb +1 -1
  219. data/lib/wx/doc/gen/persistent_window.rb +1 -1
  220. data/lib/wx/doc/gen/pg/numeric_property_validator.rb +33 -29
  221. data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +299 -295
  222. data/lib/wx/doc/gen/pg/pg_cell.rb +162 -158
  223. data/lib/wx/doc/gen/pg/pg_editor.rb +693 -689
  224. data/lib/wx/doc/gen/pg/pg_multi_button.rb +133 -129
  225. data/lib/wx/doc/gen/pg/pg_properties.rb +2662 -2658
  226. data/lib/wx/doc/gen/pg/pg_property.rb +1929 -1938
  227. data/lib/wx/doc/gen/pg/pg_validation_info.rb +275 -273
  228. data/lib/wx/doc/gen/pg/property_grid.rb +708 -706
  229. data/lib/wx/doc/gen/pg/property_grid_event.rb +168 -164
  230. data/lib/wx/doc/gen/pg/property_grid_interface.rb +1071 -1067
  231. data/lib/wx/doc/gen/pg/property_grid_manager.rb +386 -384
  232. data/lib/wx/doc/gen/pg/property_grid_page.rb +267 -265
  233. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +147 -144
  234. data/lib/wx/doc/gen/picker_base.rb +1 -1
  235. data/lib/wx/doc/gen/platform_info.rb +1 -1
  236. data/lib/wx/doc/gen/popup_window.rb +1 -1
  237. data/lib/wx/doc/gen/progress_dialog.rb +1 -1
  238. data/lib/wx/doc/gen/property_sheet_dialog.rb +1 -1
  239. data/lib/wx/doc/gen/prt/page_setup_dialog.rb +32 -28
  240. data/lib/wx/doc/gen/prt/post_script_dc.rb +21 -18
  241. data/lib/wx/doc/gen/prt/preview_frame.rb +49 -45
  242. data/lib/wx/doc/gen/prt/print_abort_dialog.rb +126 -122
  243. data/lib/wx/doc/gen/prt/print_data.rb +637 -633
  244. data/lib/wx/doc/gen/prt/print_dialog.rb +43 -39
  245. data/lib/wx/doc/gen/prt/printer.rb +484 -480
  246. data/lib/wx/doc/gen/prt/printer_dc.rb +26 -22
  247. data/lib/wx/doc/gen/query_layout_info_event.rb +1 -1
  248. data/lib/wx/doc/gen/radio_box.rb +1 -1
  249. data/lib/wx/doc/gen/radio_button.rb +1 -1
  250. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +1716 -1712
  251. data/lib/wx/doc/gen/rbn/ribbon_bar.rb +239 -235
  252. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +34 -30
  253. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +439 -435
  254. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +52 -48
  255. data/lib/wx/doc/gen/rbn/ribbon_control.rb +116 -112
  256. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +205 -201
  257. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +44 -40
  258. data/lib/wx/doc/gen/rbn/ribbon_page.rb +129 -125
  259. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +229 -225
  260. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +34 -30
  261. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +329 -325
  262. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +31 -27
  263. data/lib/wx/doc/gen/rearrange_ctrl.rb +1 -1
  264. data/lib/wx/doc/gen/rearrange_list.rb +1 -1
  265. data/lib/wx/doc/gen/region.rb +1 -1
  266. data/lib/wx/doc/gen/region_iterator.rb +1 -1
  267. data/lib/wx/doc/gen/rtc/rich_text_box.rb +424 -420
  268. data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +1148 -1144
  269. data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +30 -26
  270. data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +516 -512
  271. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +1991 -1987
  272. data/lib/wx/doc/gen/rtc/rich_text_event.rb +159 -155
  273. data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +167 -163
  274. data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +271 -267
  275. data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +171 -167
  276. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +88 -85
  277. data/lib/wx/doc/gen/rtc/rich_text_image.rb +323 -319
  278. data/lib/wx/doc/gen/rtc/rich_text_object.rb +2819 -2815
  279. data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +1187 -1183
  280. data/lib/wx/doc/gen/rtc/rich_text_printing.rb +242 -238
  281. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +286 -279
  282. data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +181 -177
  283. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +47 -44
  284. data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +145 -141
  285. data/lib/wx/doc/gen/sash_event.rb +1 -1
  286. data/lib/wx/doc/gen/sash_layout_window.rb +1 -1
  287. data/lib/wx/doc/gen/sash_window.rb +1 -1
  288. data/lib/wx/doc/gen/scaled_dc.rb +1 -1
  289. data/lib/wx/doc/gen/screen_dc.rb +1 -1
  290. data/lib/wx/doc/gen/scroll_bar.rb +1 -2
  291. data/lib/wx/doc/gen/scrolled_canvas.rb +1 -1
  292. data/lib/wx/doc/gen/scrolled_control.rb +1 -1
  293. data/lib/wx/doc/gen/scrolled_window.rb +1 -1
  294. data/lib/wx/doc/gen/search_ctrl.rb +1 -1
  295. data/lib/wx/doc/gen/simplebook.rb +1 -1
  296. data/lib/wx/doc/gen/single_choice_dialog.rb +1 -1
  297. data/lib/wx/doc/gen/sizer.rb +1 -2
  298. data/lib/wx/doc/gen/sizer_item.rb +1 -1
  299. data/lib/wx/doc/gen/slider.rb +1 -2
  300. data/lib/wx/doc/gen/spin_button.rb +1 -1
  301. data/lib/wx/doc/gen/spin_ctrl.rb +1 -1
  302. data/lib/wx/doc/gen/spin_ctrl_double.rb +1 -1
  303. data/lib/wx/doc/gen/spin_double_event.rb +1 -1
  304. data/lib/wx/doc/gen/spin_event.rb +1 -1
  305. data/lib/wx/doc/gen/splash_screen.rb +2 -2
  306. data/lib/wx/doc/gen/splitter_event.rb +1 -1
  307. data/lib/wx/doc/gen/splitter_window.rb +1 -1
  308. data/lib/wx/doc/gen/static_bitmap.rb +1 -1
  309. data/lib/wx/doc/gen/static_box.rb +1 -1
  310. data/lib/wx/doc/gen/static_box_sizer.rb +1 -1
  311. data/lib/wx/doc/gen/static_line.rb +1 -1
  312. data/lib/wx/doc/gen/static_text.rb +1 -1
  313. data/lib/wx/doc/gen/status_bar.rb +1 -1
  314. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +4202 -4199
  315. data/lib/wx/doc/gen/stc/styled_text_event.rb +7511 -7508
  316. data/lib/wx/doc/gen/std_dialog_button_sizer.rb +1 -1
  317. data/lib/wx/doc/gen/svg_file_dc.rb +1 -1
  318. data/lib/wx/doc/gen/system_options.rb +1 -1
  319. data/lib/wx/doc/gen/system_settings.rb +1 -1
  320. data/lib/wx/doc/gen/task_bar_button.rb +1 -1
  321. data/lib/wx/doc/gen/task_bar_icon.rb +1 -2
  322. data/lib/wx/doc/gen/task_bar_icon_event.rb +1 -1
  323. data/lib/wx/doc/gen/text_attr.rb +1 -1
  324. data/lib/wx/doc/gen/text_ctrl.rb +1 -6
  325. data/lib/wx/doc/gen/text_entry.rb +1 -1
  326. data/lib/wx/doc/gen/text_entry_dialog.rb +1 -1
  327. data/lib/wx/doc/gen/text_validator.rb +1 -1
  328. data/lib/wx/doc/gen/time_picker_ctrl.rb +1 -1
  329. data/lib/wx/doc/gen/timer.rb +1 -1
  330. data/lib/wx/doc/gen/timer_event.rb +1 -1
  331. data/lib/wx/doc/gen/tip_provider.rb +1 -1
  332. data/lib/wx/doc/gen/toggle_button.rb +1 -1
  333. data/lib/wx/doc/gen/tool_bar.rb +1 -1
  334. data/lib/wx/doc/gen/tool_tip.rb +1 -1
  335. data/lib/wx/doc/gen/toolbook.rb +1 -1
  336. data/lib/wx/doc/gen/top_level_window.rb +1 -1
  337. data/lib/wx/doc/gen/tree_ctrl.rb +1 -3
  338. data/lib/wx/doc/gen/tree_event.rb +1 -1
  339. data/lib/wx/doc/gen/treebook.rb +1 -1
  340. data/lib/wx/doc/gen/ui_action_simulator.rb +1 -1
  341. data/lib/wx/doc/gen/utils.rb +1 -1
  342. data/lib/wx/doc/gen/v_list_box.rb +1 -1
  343. data/lib/wx/doc/gen/v_scrolled_window.rb +1 -2
  344. data/lib/wx/doc/gen/validator.rb +1 -1
  345. data/lib/wx/doc/gen/variant.rb +1 -1
  346. data/lib/wx/doc/gen/window.rb +1 -1
  347. data/lib/wx/doc/gen/window_dc.rb +1 -1
  348. data/lib/wx/doc/gen/window_disabler.rb +1 -1
  349. data/lib/wx/doc/gen/with_images.rb +1 -1
  350. data/lib/wx/doc/gen/wizard.rb +1 -2
  351. data/lib/wx/doc/gen/wizard_event.rb +1 -1
  352. data/lib/wx/doc/gen/wizard_page.rb +1 -2
  353. data/lib/wx/doc/gen/wizard_page_simple.rb +1 -1
  354. data/lib/wx/doc/gen/wrap_sizer.rb +1 -1
  355. data/lib/wx/doc/gen/xml_node.rb +1 -1
  356. data/lib/wx/doc/gen/xml_resource.rb +1 -1
  357. data/lib/wx/doc/owner_drawn_combobox.rb +5 -1
  358. data/lib/wx/rtc/ext/rich_text_ctrl.rb +5 -5
  359. data/lib/wx/version.rb +1 -1
  360. data/lib/wx/wxruby/base.rb +6 -4
  361. data/lib/wx/wxruby/cmd/sampler.rb +39 -29
  362. data/lib/wx/wxruby/cmd/setup.rb +122 -0
  363. data/lib/wx/wxruby/cmd/test.rb +56 -6
  364. data/lib/wxruby_aui.so +0 -0
  365. data/lib/wxruby_core.so +0 -0
  366. data/lib/wxruby_grid.so +0 -0
  367. data/lib/wxruby_html.so +0 -0
  368. data/lib/wxruby_pg.so +0 -0
  369. data/lib/wxruby_prt.so +0 -0
  370. data/lib/wxruby_rbn.so +0 -0
  371. data/lib/wxruby_rtc.so +0 -0
  372. data/lib/wxruby_stc.so +0 -0
  373. data/rakelib/install.rb +2 -0
  374. data/rakelib/lib/config/linux.rb +24 -2
  375. data/rakelib/lib/config/macosx.rb +16 -0
  376. data/rakelib/lib/config/mingw.rb +133 -9
  377. data/rakelib/lib/config/pkgman/arch.rb +53 -0
  378. data/rakelib/lib/config/pkgman/base.rb +169 -0
  379. data/rakelib/lib/config/pkgman/debian.rb +66 -0
  380. data/rakelib/lib/config/pkgman/macosx.rb +183 -0
  381. data/rakelib/lib/config/pkgman/rhel.rb +54 -0
  382. data/rakelib/lib/config/pkgman/suse.rb +54 -0
  383. data/rakelib/lib/config/unixish.rb +36 -19
  384. data/rakelib/lib/config.rb +254 -61
  385. data/rakelib/prepost.rake +9 -4
  386. data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +14 -0
  387. data/rakelib/yard/templates/default/fulldoc/html/setup.rb +5 -5
  388. data/rakelib/yard/yard/relative_markdown_links.rb +7 -1
  389. data/tests/test_combo_ctrl.rb +196 -0
  390. metadata +25 -4
@@ -86,4 +86,4 @@ module Wx
86
86
  end # StdDialogButtonSizer
87
87
 
88
88
 
89
- end
89
+ end
@@ -157,4 +157,4 @@ module Wx
157
157
  end # SVGBitmapEmbedHandler
158
158
 
159
159
 
160
- end
160
+ end
@@ -124,4 +124,4 @@ module Wx
124
124
  end # SystemOptions
125
125
 
126
126
 
127
- end
127
+ end
@@ -484,4 +484,4 @@ module Wx
484
484
  end # SystemSettings
485
485
 
486
486
 
487
- end
487
+ end
@@ -321,4 +321,4 @@ module Wx
321
321
  end # ThumbBarButton
322
322
 
323
323
 
324
- end
324
+ end
@@ -11,7 +11,6 @@ module Wx
11
11
  # A taskbar icon is an icon that appears in the 'system tray' and responds to mouse clicks, optionally with a tooltip above it to help provide information.
12
12
  #
13
13
  # ## X Window System Note
14
- #
15
14
  # Under X Window System, the window manager must support either the "System Tray Protocol" (see http://freedesktop.org/wiki/Specifications/systemtray-spec) by freedesktop.org (WMs used by modern desktop environments such as GNOME >= 2, KDE >= 3 and XFCE >= 4 all do) or the older methods used in GNOME 1.2 and KDE 1 and 2.
16
15
  # If it doesn't, the icon will appear as a toplevel window on user's desktop. Because not all window managers have system tray, there's no guarantee that {Wx::TaskBarIcon} will work correctly under X Window System and so the applications should use it only as an optional component of their user interface. The user should be required to explicitly enable the taskbar icon on Unix, it shouldn't be on by default.
17
16
  # ### Events emitted by this class
@@ -117,4 +116,4 @@ module Wx
117
116
  end # TaskBarIcon
118
117
 
119
118
 
120
- end
119
+ end
@@ -85,4 +85,4 @@ module Wx
85
85
  end # TaskBarIconEvent
86
86
 
87
87
 
88
- end
88
+ end
@@ -690,4 +690,4 @@ module Wx
690
690
  end # TextAttr
691
691
 
692
692
 
693
- end
693
+ end
@@ -524,19 +524,16 @@ module Wx
524
524
  # Note that alignment styles ({Wx::TE_LEFT}, {Wx::TE_CENTRE} and {Wx::TE_RIGHT}) can be changed dynamically after control creation on WXMSW, WXGTK and WXOSX. {Wx::TE_READONLY}, {Wx::TE_PASSWORD} and wrapping styles can be dynamically changed under WXGTK but not WXMSW. The other styles can be only set during control creation.
525
525
  #
526
526
  # ## wxTextCtrl Text Format
527
- #
528
527
  # The multiline text controls always store the text as a sequence of lines separated by <code>'\n'</code> characters, i.e. in the Unix text format even on non-Unix platforms. This allows the user code to ignore the differences between the platforms but at a price: the indices in the control such as those returned by {Wx::TextCtrl#get_insertion_point} or {Wx::TextCtrl#get_selection} can <b>not</b> be used as indices into the string returned by {Wx::TextCtrl#get_value} as they're going to be slightly off for platforms using <code>"\\r\\n"</code> as separator (as Windows does).
529
528
  # Instead, if you need to obtain a substring between the 2 indices obtained from the control with the help of the functions mentioned above, you should use {Wx::TextCtrl#get_range}. And the indices themselves can only be passed to other methods, for example {Wx::TextCtrl#set_insertion_point} or {Wx::TextCtrl#set_selection}.
530
529
  # To summarize: never use the indices returned by (multiline) {Wx::TextCtrl} as indices into the string it contains, but only as arguments to be passed back to the other {Wx::TextCtrl} methods. This problem doesn't arise for single-line platforms however where the indices in the control do correspond to the positions in the value string.
531
530
  #
532
531
  # ## wxTextCtrl Positions and Coordinates
533
- #
534
532
  # It is possible to use either linear positions, i.e. roughly (but not always exactly, as explained in the previous section) the index of the character in the text contained in the control or X-Y coordinates, i.e. column and line of the character when working with this class and it provides the functions {Wx::TextCtrl#position_to_xy} and {Wx::TextCtrl#xy_to_position} to convert between the two.
535
533
  # Additionally, a position in the control can be converted to its coordinates in pixels using {Wx::TextCtrl#position_to_coords} which can be useful to e.g. show a popup menu near the given character. And, in the other direction, {Wx::TextCtrl#hit_test} can be used to find the character under, or near, the given pixel coordinates.
536
534
  # To be more precise, positions actually refer to the gaps between characters and not the characters themselves. Thus, position 0 is the one before the very first character in the control and so is a valid position even when the control is empty. And if the control contains a single character, it has two valid positions: 0 before this character and 1 after it. This, when the documentation of various functions mentions "invalid position", it doesn't consider the position just after the last character of the line to be invalid, only the positions beyond that one (e.g. 2 and greater in the single character example) are actually invalid.
537
535
  #
538
536
  # ## wxTextCtrl Styles.
539
- #
540
537
  # Multi-line text controls support styling, i.e. provide a possibility to set colours and font for individual characters in it (note that under Windows {Wx::TE_RICH} style is required for style support). To use the styles you can either call {Wx::TextCtrl#set_default_style} before inserting the text or call {Wx::TextCtrl#set_style} later to change the style of the text already in the control (the first solution is much more efficient).
541
538
  # In either case, if the style doesn't specify some of the attributes (for example you only want to set the text colour but without changing the font nor the text background), the values of the default style will be used for them. If there is no default style, the attributes of the text control itself are used.
542
539
  # So the following code correctly describes what it does: the second call to {Wx::TextCtrl#set_default_style} doesn't change the text foreground colour (which stays red) while the last one doesn't change the background colour (which stays grey):
@@ -551,7 +548,6 @@ module Wx
551
548
  # ```
552
549
  #
553
550
  # ## wxTextCtrl and C++ Streams
554
- #
555
551
  # This class multiply-inherits from std::streambuf (except for some really old compilers using non-standard iostream library), allowing code such as the following:
556
552
  #
557
553
  # ```
@@ -604,7 +600,6 @@ module Wx
604
600
  # See {Wx::StreamToTextRedirector} for more details.
605
601
  #
606
602
  # ## Event Handling.
607
- #
608
603
  # The following commands are processed by default event handlers in {Wx::TextCtrl}: {Wx::StandardID::ID_CUT}, {Wx::StandardID::ID_COPY}, {Wx::StandardID::ID_PASTE}, {Wx::StandardID::ID_UNDO}, {Wx::StandardID::ID_REDO}. The associated UI update events are also processed automatically, when the control has the focus.
609
604
  # ### Events emitted by this class
610
605
  #
@@ -879,4 +874,4 @@ module Wx
879
874
  end # TextCtrl
880
875
 
881
876
 
882
- end
877
+ end
@@ -433,4 +433,4 @@ module Wx
433
433
  end # TextCompleterSimple
434
434
 
435
435
 
436
- end
436
+ end
@@ -179,4 +179,4 @@ module Wx
179
179
  end # PasswordEntryDialog
180
180
 
181
181
 
182
- end
182
+ end
@@ -242,4 +242,4 @@ module Wx
242
242
  end # TextValidator
243
243
 
244
244
 
245
- end
245
+ end
@@ -106,4 +106,4 @@ module Wx
106
106
  end # TimePickerCtrl
107
107
 
108
108
 
109
- end
109
+ end
@@ -116,4 +116,4 @@ module Wx
116
116
  end # Timer
117
117
 
118
118
 
119
- end
119
+ end
@@ -65,4 +65,4 @@ module Wx
65
65
  end # TimerEvent
66
66
 
67
67
 
68
- end
68
+ end
@@ -60,4 +60,4 @@ module Wx
60
60
  end # TipProvider
61
61
 
62
62
 
63
- end
63
+ end
@@ -149,4 +149,4 @@ module Wx
149
149
  end # BitmapToggleButton
150
150
 
151
151
 
152
- end
152
+ end
@@ -871,4 +871,4 @@ module Wx
871
871
  end # ToolBarToolBase
872
872
 
873
873
 
874
- end
874
+ end
@@ -98,4 +98,4 @@ module Wx
98
98
  end # ToolTip
99
99
 
100
100
 
101
- end
101
+ end
@@ -105,4 +105,4 @@ module Wx
105
105
  end # Toolbook
106
106
 
107
107
 
108
- end
108
+ end
@@ -479,4 +479,4 @@ module Wx
479
479
  end # TopLevelWindow
480
480
 
481
481
 
482
- end
482
+ end
@@ -235,13 +235,11 @@ module Wx
235
235
  # A similar control with a fully native implementation for GTK+ and macOS as well is {Wx::DataViewTreeCtrl}.
236
236
  #
237
237
  # ## Images in wxTreeCtrl
238
- #
239
238
  # {Wx::TreeCtrl} inherits from {Wx::WithImages} classes providing the functions for associating images with the control items. Each item refers to its image using an index, which can possibly by {Wx::WithImages::NO_IMAGE} to indicate that the item doesn't use any image at all, and the corresponding image is taken either from the vector passed to {Wx::WithImages#set_images} or from the image list passed to {Wx::WithImages#set_image_list} or {Wx::WithImages#assign_image_list} functions.
240
239
  # In addition to normal images, handled with the methods mentioned above, {Wx::TreeCtrl} also provides optional state images that may be used to indicate some additional state of the item, e.g. checked or unchecked status. These images can be set using {Wx::TreeCtrl#set_state_image_list} and {Wx::TreeCtrl#assign_state_image_list} functions that behave in the same way as the corresponding methods of {Wx::WithImages}.
241
240
  # Finally, in the generic version of this control ({Wx::GenericTreeCtrl}), also provides {Wx::TreeCtrl#set_buttons_image_list} and {Wx::TreeCtrl#assign_buttons_image_list}, which can be used to change the images used for the control buttons, used to expand or collapse its branches. These methods are not available in the native WXMSW and {Wx::Qt} implementations.
242
241
  #
243
242
  # ## Events
244
- #
245
243
  # To intercept events from a tree control, use the event table macros described in {Wx::TreeEvent}.
246
244
  # ### Styles
247
245
  #
@@ -977,4 +975,4 @@ module Wx
977
975
  end # TreeCtrl
978
976
 
979
977
 
980
- end
978
+ end
@@ -124,4 +124,4 @@ module Wx
124
124
  end # TreeEvent
125
125
 
126
126
 
127
- end
127
+ end
@@ -167,4 +167,4 @@ module Wx
167
167
  end # Treebook
168
168
 
169
169
 
170
- end
170
+ end
@@ -106,4 +106,4 @@ module Wx
106
106
  end # UIActionSimulator
107
107
 
108
108
 
109
- end
109
+ end
@@ -294,4 +294,4 @@ module Wx
294
294
  def self.shutdown(flags=Wx::SHUTDOWN_POWEROFF) end
295
295
 
296
296
 
297
- end
297
+ end
@@ -256,4 +256,4 @@ module Wx
256
256
  end # VListBox
257
257
 
258
258
 
259
- end
259
+ end
@@ -12,7 +12,6 @@ module Wx
12
12
  # To use this class, you need to derive from it and implement the {Wx::VScrolledWindow#on_get_row_height} pure virtual method. You also must call {Wx::VScrolledWindow#set_row_count} to let the base class know how many rows it should display, but from that moment on the scrolling is handled entirely by {Wx::VScrolledWindow}. You only need to draw the visible part of contents in your <code>OnPaint()</code> method as usual. You should use {Wx::VScrolledWindow#get_visible_rows_begin} and {Wx::VScrolledWindow#get_visible_rows_end} to select the lines to display. Note that the device context origin is not shifted so the first visible row always appears at the point (0, 0) in physical as well as logical coordinates.
13
13
  #
14
14
  # ## wxWidgets 2.8 Compatibility Functions
15
- #
16
15
  # The following functions provide backwards compatibility for applications originally built using {Wx::VScrolledWindow} in 2.6 or 2.8. Originally, {Wx::VScrolledWindow} referred to scrolling "lines". We now use "units" in {Wx::VarScrollHelperBase} to avoid implying any orientation (since the functions are used for both horizontal and vertical scrolling in derived classes). And in the new {Wx::VScrolledWindow} and {Wx::HScrolledWindow} classes, we refer to them as "rows" and "columns", respectively. This is to help clear some confusion in not only those classes, but also in {Wx::HVScrolledWindow} where functions are inherited from both.
17
16
  # You are encouraged to update any existing code using these function to use the new replacements mentioned below, and avoid using these functions for any new code as they are deprecated.
18
17
  #
@@ -238,4 +237,4 @@ module Wx
238
237
  end # VScrolledWindow
239
238
 
240
239
 
241
- end
240
+ end
@@ -69,4 +69,4 @@ module Wx
69
69
  end # Validator
70
70
 
71
71
 
72
- end
72
+ end
@@ -291,4 +291,4 @@ module Wx
291
291
  end # Variant
292
292
 
293
293
 
294
- end
294
+ end
@@ -2875,4 +2875,4 @@ module Wx
2875
2875
  end # VisualAttributes
2876
2876
 
2877
2877
 
2878
- end
2878
+ end
@@ -35,4 +35,4 @@ module Wx
35
35
  end # WindowDC
36
36
 
37
37
 
38
- end
38
+ end
@@ -27,4 +27,4 @@ module Wx
27
27
  end # WindowDisabler
28
28
 
29
29
 
30
- end
30
+ end
@@ -81,4 +81,4 @@ module Wx
81
81
  end # WithImages
82
82
 
83
83
 
84
- end
84
+ end
@@ -33,7 +33,6 @@ module Wx
33
33
  # - {Wx::EvtHandler#evt_wizard_finished}(id, meth = nil, &block): The wizard finished button was pressed.
34
34
  #
35
35
  # ## Extended styles
36
- #
37
36
  # Use the {Wx::Window#set_extra_style} function to set the following style. You will need to use two-step construction (use the default constructor, call {Wx::Wizard#set_extra_style}, then call Create).
38
37
  #
39
38
  # ### Extra Styles
@@ -225,4 +224,4 @@ module Wx
225
224
  end # Wizard
226
225
 
227
226
 
228
- end
227
+ end
@@ -110,4 +110,4 @@ module Wx
110
110
  end # WizardEvent
111
111
 
112
112
 
113
- end
113
+ end
@@ -12,7 +12,6 @@ module Wx
12
12
  # This class allows the programmer to decide the order of pages in the wizard dynamically (during run-time) and so provides maximal flexibility. Usually, however, the order of pages is known in advance in which case {Wx::WizardPageSimple} class is enough and it is simpler to use.
13
13
  #
14
14
  # ## Virtual functions to override
15
- #
16
15
  # To use this class, you must override {Wx::WizardPage#get_prev} and {Wx::WizardPage#get_next} pure virtual functions (or you may use {Wx::WizardPageSimple} instead). {Wx::WizardPage#get_bitmap} can also be overridden, but this should be very rarely needed.
17
16
  #
18
17
  # Category: Miscellaneous Windows
@@ -63,4 +62,4 @@ module Wx
63
62
  end # WizardPage
64
63
 
65
64
 
66
- end
65
+ end
@@ -75,4 +75,4 @@ module Wx
75
75
  end # WizardPageSimple
76
76
 
77
77
 
78
- end
78
+ end
@@ -66,4 +66,4 @@ module Wx
66
66
  end # WrapSizer
67
67
 
68
68
 
69
- end
69
+ end
@@ -314,4 +314,4 @@ module Wx
314
314
  end # XmlNode
315
315
 
316
316
 
317
- end
317
+ end
@@ -342,4 +342,4 @@ module Wx
342
342
  end # XmlResource
343
343
 
344
344
 
345
- end
345
+ end
@@ -7,7 +7,11 @@
7
7
 
8
8
  module Wx
9
9
 
10
- class OwnerDrawnComboBox
10
+ class OwnerDrawnComboBox < ComboCtrl
11
+
12
+ alias :get_item_data :get_client_object
13
+
14
+ alias :set_item_data :set_client_object
11
15
 
12
16
  # Returns the label of the selected item or an empty string if no item is selected.
13
17
  #
@@ -10,15 +10,15 @@ module Wx
10
10
 
11
11
  RICHTEXT_DEFAULT_IMAGE_SIZE = Wx::Size.new(80, 80)
12
12
 
13
- Wx.add_delayed_constant(self, :RICHTEXT_DEFAULT_UNFOCUSSED_BACKGROUND) { Wx::Colour.new(175, 175, 175) }
13
+ Wx.add_delayed_constant(self, :RICHTEXT_DEFAULT_UNFOCUSSED_BACKGROUND, 'Wx::Colour.new(175, 175, 175)') { Wx::Colour.new(175, 175, 175) }
14
14
 
15
- Wx.add_delayed_constant(self, :RICHTEXT_DEFAULT_FOCUSSED_BACKGROUND) { Wx::Colour.new(140, 140, 140) }
15
+ Wx.add_delayed_constant(self, :RICHTEXT_DEFAULT_FOCUSSED_BACKGROUND, 'Wx::Colour.new(140, 140, 140)') { Wx::Colour.new(140, 140, 140) }
16
16
 
17
- Wx.add_delayed_constant(self, :RICHTEXT_DEFAULT_UNSELECTED_BACKGROUND) { Wx::SystemSettings.get_colour(Wx::SYS_COLOUR_3DFACE) }
17
+ Wx.add_delayed_constant(self, :RICHTEXT_DEFAULT_UNSELECTED_BACKGROUND, 'Wx::SystemSettings.get_colour(Wx::SYS_COLOUR_3DFACE)') { Wx::SystemSettings.get_colour(Wx::SYS_COLOUR_3DFACE) }
18
18
 
19
- Wx.add_delayed_constant(self, :RICHTEXT_DEFAULT_TYPE_COLOUR) { Wx::Colour.new(0, 0, 200) }
19
+ Wx.add_delayed_constant(self, :RICHTEXT_DEFAULT_TYPE_COLOUR, 'Wx::Colour.new(0, 0, 200)') { Wx::Colour.new(0, 0, 200) }
20
20
 
21
- Wx.add_delayed_constant(self, :RICHTEXT_DEFAULT_FOCUS_RECT_COLOUR) { Wx::Colour.new(100, 80, 80) }
21
+ Wx.add_delayed_constant(self, :RICHTEXT_DEFAULT_FOCUS_RECT_COLOUR, 'Wx::Colour.new(100, 80, 80)') { Wx::Colour.new(100, 80, 80) }
22
22
 
23
23
  end
24
24
  end
data/lib/wx/version.rb CHANGED
@@ -3,5 +3,5 @@
3
3
  # This software is released under the MIT license.
4
4
 
5
5
  module Wx
6
- WXRUBY_VERSION = '0.9.4'
6
+ WXRUBY_VERSION = '0.9.7'
7
7
  end
@@ -25,12 +25,15 @@ module WxRuby
25
25
  end
26
26
  private :commands
27
27
 
28
+ def setup_done?
29
+ File.exist?(File.join(WxRuby::ROOT, 'ext', 'wxruby.setup.done'))
30
+ end
31
+
28
32
  def options
29
33
  @options ||= {
30
34
  :verbose => false
31
35
  }
32
36
  end
33
- private :options
34
37
 
35
38
  def register(cmdid, cmdhandler)
36
39
  commands[cmdid.to_s] = case
@@ -59,7 +62,7 @@ module WxRuby
59
62
  def parse_args(args)
60
63
  opts = OptionParser.new
61
64
  opts.banner = "Usage: wxruby [global options] COMMAND [arguments]\n\n" +
62
- " COMMAND\t\t\tSpecifies wxruby command to execute."
65
+ " COMMAND\t\t\t\tSpecifies wxruby command to execute."
63
66
  opts.separator ''
64
67
  opts.on('-v', '--verbose',
65
68
  'Show verbose output') { |v| ::WxRuby::Commands.options[:verbose] = true }
@@ -70,8 +73,7 @@ module WxRuby
70
73
  describe_all
71
74
  exit(0)
72
75
  end
73
- opts.raise_unknown = false
74
- opts.parse!(args)
76
+ opts.order!(args)
75
77
  end
76
78
  end
77
79
  end
@@ -10,44 +10,54 @@ require 'fileutils'
10
10
  module WxRuby
11
11
  module Commands
12
12
  class Sampler
13
- OPTIONS = {
14
- save_path: nil
15
- }
13
+
14
+ DESC = 'Run wxRuby3 Sampler application (or copy samples).'
16
15
 
17
16
  def self.description
18
- " sampler [help]|[copy DEST]\tRun wxRuby3 Sampler application (or copy samples)."
17
+ " sampler -h|[options]\t\t#{DESC}"
18
+ end
19
+
20
+ def self.options
21
+ Commands.options['sampler'] ||= { verbose: Commands.options[:verbose] }
22
+ end
23
+
24
+ def self.parse_args(args)
25
+ opts = OptionParser.new
26
+ opts.banner = "#{DESC}\n\nUsage: wxruby sampler -h|--help OR wxruby sampler [options]\n\n" +
27
+ "Runs the sampler application if no options specified.\n\n"
28
+ opts.separator ''
29
+ opts.on('--copy=DEST',
30
+ 'Copies the included wxRuby sample folders under the directory indicated by DEST (MUST exist)') {|v| Sampler.options[:copy] << v }
31
+ opts.on('-h', '--help',
32
+ 'Show this message.') do |v|
33
+ puts opts
34
+ puts
35
+ exit(0)
36
+ end
37
+ opts.parse!(args)
19
38
  end
20
39
 
21
40
  def self.run(argv)
22
- if argv == :describe
23
- description
24
- else
25
- if argv.empty?
26
- exec(RUBY, File.join(WxRuby::ROOT, 'samples', 'sampler.rb'))
27
- else
28
- arg = argv.shift
29
- if arg == 'help'
30
- puts 'Usage: wxruby [global options] sampler [help]|[copy DEST]'
31
- puts
32
- puts ' Starts the sampler application if called without arguments.'
33
- puts ' Otherwise shows this help for argument "help" or copies the included wxRuby'
34
- puts ' sample folders under the directory indicated by DEST for argument "copy DEST".'
35
- puts ' The directory indicated by DEST *must* already exist.'
36
- puts
37
- elsif arg == 'copy'
38
- unless File.directory?(dest = argv.shift)
39
- STDERR.puts "ERROR: Invalid destination folder #{dest}"
40
- exit(1)
41
- end
42
- Dir[File.join(WxRuby::ROOT, 'samples', '*')].each do |fp|
43
- FileUtils.cp_r(fp, dest, verbose: true)
44
- end
45
- end
41
+ return description if argv == :describe
42
+
43
+ parse_args(argv)
44
+
45
+ if options[:copy]
46
+ unless File.directory?(dest = options[:copy])
47
+ $stderr.puts "ERROR: Invalid destination folder #{dest}"
48
+ exit(1)
46
49
  end
50
+ Dir[File.join(WxRuby::ROOT, 'samples', '*')].each do |fp|
51
+ FileUtils.cp_r(fp, dest, verbose: true)
52
+ end
53
+ else
54
+ exec(RUBY, File.join(WxRuby::ROOT, 'samples', 'sampler.rb'))
47
55
  end
48
56
  end
49
57
  end
50
58
 
51
- self.register('sampler', Sampler)
59
+ if self.setup_done?
60
+ self.register('sampler', Sampler)
61
+ end
52
62
  end
53
63
  end