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
@@ -9,6 +9,8 @@
9
9
  require 'rbconfig'
10
10
  require 'fileutils'
11
11
  require 'json'
12
+ require 'open3'
13
+ require 'monitor'
12
14
 
13
15
  module FileUtils
14
16
  # add convenience methods
@@ -73,14 +75,16 @@ module WXRuby3
73
75
  'with-wxwin' => !!ENV['WITH_WXWIN'],
74
76
  'with-debug' => ((ENV['WXRUBY_DEBUG'] || '') == '1'),
75
77
  'swig' => ENV['WXRUBY_SWIG'] || 'swig',
76
- 'doxygen' => ENV['WXRUBY_DOXYGEN'] || 'doxygen'
78
+ 'doxygen' => ENV['WXRUBY_DOXYGEN'] || 'doxygen',
79
+ 'git' => ENV['WXRUBY_GIT'] || 'git'
77
80
  })
81
+ CONFIG['autoinstall'] = (ENV['WXRUBY_AUTOINSTALL'] != '0') if ENV['WXRUBY_AUTOINSTALL']
78
82
  BUILD_CFG = '.wxconfig'
79
83
 
80
84
  # Ruby 2.5 is the minimum version for wxRuby3
81
85
  __rb_ver = RUBY_VERSION.split('.').collect {|v| v.to_i}
82
86
  if (__rb_major = __rb_ver.shift) < 2 || (__rb_major == 2 && __rb_ver.shift < 5)
83
- STDERR.puts 'ERROR: wxRuby3 requires Ruby >= 2.5.0!'
87
+ $stderr.puts 'ERROR: wxRuby3 requires Ruby >= 2.5.0!'
84
88
  exit(1)
85
89
  end
86
90
 
@@ -111,38 +115,186 @@ module WXRuby3
111
115
 
112
116
  module Config
113
117
 
114
- def do_run(*cmd, capture: nil)
115
- output = nil
116
- if capture
117
- env_bup = exec_env.keys.inject({}) do |h, ev|
118
- h[ev] = ENV[ev] ? ENV[ev].dup : nil
119
- h
118
+ def self.command_to_s(*cmd)
119
+ txt = if ::Hash === cmd.first
120
+ cmd = cmd.dup
121
+ env = cmd.shift
122
+ env.collect { |k, v| "#{k}=#{v}" }.join(' ') << ' '
123
+ else
124
+ ''
125
+ end
126
+ txt << cmd.join(' ')
127
+ end
128
+
129
+ def run_silent?
130
+ !!ENV['WXRUBY_RUN_SILENT']
131
+ end
132
+
133
+ def silent_log_name
134
+ ENV['WXRUBY_RUN_SILENT'] || 'silent_run.log'
135
+ end
136
+
137
+ def log_progress(msg)
138
+ run_silent? ? silent_runner.log(msg) : $stdout.puts(msg)
139
+ end
140
+
141
+ class SilentRunner < Monitor
142
+
143
+ PROGRESS_CH = '.|/-\\|/-\\|'
144
+
145
+ def initialize
146
+ super
147
+ @cout = 0
148
+ @incremental = false
149
+ end
150
+
151
+ def incremental(f=true)
152
+ synchronize do
153
+ @cout = 0
154
+ @incremental = !!f
120
155
  end
121
- case capture
122
- when :out
123
- # default
124
- when :no_err
125
- # redirect stderr to null sink
126
- cmd << '2> ' << (windows? ? 'NULL' : '/dev/null')
127
- when :err, :all
128
- cmd << '2>&1'
156
+ end
157
+
158
+ def run(*cmd, **kwargs)
159
+ synchronize do
160
+ @cout = 0 unless @incremental
129
161
  end
130
- begin
131
- # setup ENV for child execution
132
- ENV.merge!(Config.instance.exec_env)
133
- output = `#{cmd.join(' ')}`
134
- ensure
135
- # restore ENV
136
- env_bup.each_pair do |k,v|
137
- if v
138
- ENV[k] = v
139
- else
140
- ENV.delete(k)
162
+ output = nil
163
+ verbose = kwargs.delete(:verbose)
164
+ capture = kwargs.delete(:capture)
165
+ if (Config.instance.verbose? && verbose != false) || !capture
166
+ txt = Config.command_to_s(*cmd)
167
+ if Config.instance.verbose? && verbose != false
168
+ $stdout.puts txt
169
+ end
170
+ if !capture
171
+ silent_log { |f| f.puts txt }
172
+ end
173
+ end
174
+ if capture
175
+ if capture == :out || capture == :no_err
176
+ kwargs[:err] = (Config.instance.windows? ? 'NULL' : '/dev/null') if capture == :no_err
177
+ Open3.popen2(*cmd, **kwargs) do |_ins, os, tw|
178
+ output = silent_runner(os)
179
+ tw.value
180
+ end
181
+ else
182
+ Open3.popen2e(*cmd, **kwargs) do |_ins, eos, tw|
183
+ output = silent_runner(eos)
184
+ tw.value
141
185
  end
142
186
  end
187
+ output.join
188
+ else
189
+ rc = silent_log do |fout|
190
+ Open3.popen2e(*cmd, **kwargs) do |_ins, eos, tw|
191
+ silent_runner(eos, fout)
192
+ v = tw.value.exitstatus
193
+ fout.puts "-> Exit code: #{v}"
194
+ v
195
+ end
196
+ end
197
+ rc
198
+ end
199
+ end
200
+
201
+ def log(msg)
202
+ silent_log { |f| f.puts(msg) }
203
+ end
204
+
205
+ private
206
+
207
+ def silent_runner(os, output=[])
208
+ synchronize do
209
+ if @incremental
210
+ @cout += 1
211
+ $stdout.print "#{PROGRESS_CH[@cout%10]}\b"
212
+ $stdout.flush
213
+ end
214
+ end
215
+ os.each do |ln|
216
+ synchronize do
217
+ unless @incremental
218
+ @cout += 1
219
+ $stdout.print "#{PROGRESS_CH[@cout%10]}\b"
220
+ $stdout.flush
221
+ end
222
+ output << ln
223
+ end
224
+ end
225
+ output
226
+ end
227
+
228
+ def silent_log(&block)
229
+ File.open(Config.instance.silent_log_name, 'a') do |fout|
230
+ block.call(fout)
231
+ end
232
+ end
233
+
234
+ end
235
+
236
+ def silent_runner
237
+ @silent_runner ||= SilentRunner.new
238
+ end
239
+ private :silent_runner
240
+
241
+ def do_silent_run(*cmd, **kwargs)
242
+ silent_runner.run(*cmd, **kwargs)
243
+ end
244
+ private :do_silent_run
245
+
246
+ def do_silent_run_step(*cmd, **kwargs)
247
+ silent_runner.run_one(*cmd, **kwargs)
248
+ end
249
+ private :do_silent_run_step
250
+
251
+ def set_silent_run_incremental
252
+ silent_runner.incremental
253
+ end
254
+
255
+ def set_silent_run_batched
256
+ silent_runner.incremental(false)
257
+ end
258
+
259
+ def do_run(*cmd, capture: nil)
260
+ output = nil
261
+ if run_silent?
262
+ output = do_silent_run(exec_env, *cmd, capture: capture)
263
+ unless capture
264
+ fail "Command failed with status (#{rc}): #{Config.command_to_s(*cmd)}" unless output == 0
143
265
  end
144
266
  else
145
- Rake.sh(exec_env, *cmd, verbose: verbose?)
267
+ if capture
268
+ env_bup = exec_env.keys.inject({}) do |h, ev|
269
+ h[ev] = ENV[ev] ? ENV[ev].dup : nil
270
+ h
271
+ end
272
+ case capture
273
+ when :out
274
+ # default
275
+ when :no_err
276
+ # redirect stderr to null sink
277
+ cmd << '2> ' << (windows? ? 'NULL' : '/dev/null')
278
+ when :err, :all
279
+ cmd << '2>&1'
280
+ end
281
+ begin
282
+ # setup ENV for child execution
283
+ ENV.merge!(Config.instance.exec_env)
284
+ output = `#{cmd.join(' ')}`
285
+ ensure
286
+ # restore ENV
287
+ env_bup.each_pair do |k,v|
288
+ if v
289
+ ENV[k] = v
290
+ else
291
+ ENV.delete(k)
292
+ end
293
+ end
294
+ end
295
+ else
296
+ Rake.sh(exec_env, *cmd, verbose: verbose?)
297
+ end
146
298
  end
147
299
  output
148
300
  end
@@ -182,24 +334,32 @@ module WXRuby3
182
334
  def expand(cmd)
183
335
  `#{cmd}`
184
336
  end
185
- private :expand
186
337
 
187
- def sh(*cmd, **kwargs)
188
- Rake.sh(*cmd, **kwargs) { |ok,_| !!ok }
338
+ def sh(*cmd, fail_on_error: false, **kwargs)
339
+ if run_silent?
340
+ rc = do_silent_run(*cmd, **kwargs)
341
+ fail "Command failed with status (#{rc}): #{Config.command_to_s(*cmd)}" if fail_on_error && rc != 0
342
+ rc == 0
343
+ elsif fail_on_error
344
+ Rake.sh(*cmd, **kwargs)
345
+ else
346
+ Rake.sh(*cmd, **kwargs) { |ok,_| !!ok }
347
+ end
189
348
  end
190
- private :sh
191
349
  alias :bash :sh
192
- private :bash
193
350
 
194
351
  def test(*tests, **options)
195
352
  errors = 0
353
+ excludes = (ENV['WXRUBY_TEST_EXCLUDE'] || '').split(';')
196
354
  tests = Dir.glob(File.join(Config.instance.test_dir, '*.rb')) if tests.empty?
197
355
  tests.each do |test|
198
- unless File.exist?(test)
199
- test = File.join(Config.instance.test_dir, test)
200
- test = Dir.glob(test+'.rb').shift || test unless File.exist?(test)
356
+ unless excludes.include?(File.basename(test, '.*'))
357
+ unless File.exist?(test)
358
+ test = File.join(Config.instance.test_dir, test)
359
+ test = Dir.glob(test+'.rb').shift || test unless File.exist?(test)
360
+ end
361
+ Rake.sh(Config.instance.exec_env, *make_ruby_cmd(test)) { |ok,status| errors += 1 unless ok }
201
362
  end
202
- Rake.sh(Config.instance.exec_env, *make_ruby_cmd(test)) { |ok,status| errors += 1 unless ok }
203
363
  end
204
364
  fail "ERRORS: ##{errors} test scripts failed." if errors>0
205
365
  end
@@ -209,26 +369,56 @@ module WXRuby3
209
369
  Rake.sh(Config.instance.exec_env, *make_ruby_cmd('-x', irb_cmd), **options)
210
370
  end
211
371
 
212
- def check_git
213
- if expand("which git 2>/dev/null").chomp.empty?
214
- STDERR.puts 'ERROR: Need GIT installed to run wxRuby3 bootstrap!'
215
- exit(1)
216
- end
372
+ def check_wx_config
373
+ false
217
374
  end
218
375
 
219
- def check_doxygen
220
- if expand("which #{get_config('doxygen')} 2>/dev/null").chomp.empty?
221
- STDERR.puts "ERROR: Cannot find #{get_config('doxygen')}. Need Doxygen installed to run wxRuby3 bootstrap!"
376
+ def wx_config(_option)
377
+ nil
378
+ end
379
+
380
+ def check_tool_pkgs
381
+ []
382
+ end
383
+
384
+ def install_prerequisites
385
+ pkg_deps = check_tool_pkgs
386
+ if get_config('autoinstall') == false
387
+ $stderr.puts <<~__ERROR_TXT
388
+ ERROR: This system lacks installed versions of the following required software packages:
389
+ #{pkg_deps.join(', ')}
390
+
391
+ Install these packages and try again.
392
+ __ERROR_TXT
222
393
  exit(1)
223
394
  end
395
+ pkg_deps
224
396
  end
225
397
 
226
- def check_wx_config
227
- false
398
+ # only called after src gem build
399
+ def cleanup_prerequisites
400
+ # noop
228
401
  end
229
402
 
230
- def wx_config(_option)
231
- nil
403
+ def wants_autoinstall?
404
+ flag = get_config('autoinstall')
405
+ if flag.nil?
406
+ $stdout.puts <<~__Q_TEXT
407
+
408
+ [ --- ATTENTION! --- ]
409
+ wxRuby3 requires some software packages to be installed before being able to continue building.
410
+ If you like these can be automatically installed next (if you are building the source gem the
411
+ software will be removed again after building finishes).
412
+ Do you want to have the required software installed now? [yN] :
413
+ __Q_TEXT
414
+ answer = $stdin.gets(chomp: true).strip
415
+ while !answer.empty? && !%w[Y y N n].include?(answer)
416
+ $stdout.puts 'Please answer Y/y or N/n [Yn] : '
417
+ answer = $stdin.gets(chomp: true).strip
418
+ end
419
+ flag = %w[Y y].include?(answer)
420
+ end
421
+ flag
232
422
  end
233
423
 
234
424
  def get_config(key)
@@ -341,10 +531,10 @@ module WXRuby3
341
531
  def create
342
532
  load # load the build config (if any)
343
533
  klass = Class.new do
344
- include Config
345
-
346
534
  include FileUtils
347
535
 
536
+ include Config
537
+
348
538
  def initialize
349
539
  @ruby_exe = RB_CONFIG["ruby_install_name"]
350
540
 
@@ -431,8 +621,10 @@ module WXRuby3
431
621
  @ruby_includes = [ RB_CONFIG["rubyhdrdir"],
432
622
  RB_CONFIG["sitehdrdir"],
433
623
  RB_CONFIG["vendorhdrdir"],
434
- File.join(RB_CONFIG["rubyhdrdir"],
435
- RB_CONFIG['arch']) ].compact
624
+ RB_CONFIG['rubyarchhdrdir'] ?
625
+ RB_CONFIG['rubyarchhdrdir'] :
626
+ File.join(RB_CONFIG["rubyhdrdir"], RB_CONFIG['arch'])
627
+ ].compact
436
628
  @ruby_includes << File.join(@wxruby_path, 'include')
437
629
 
438
630
  @ruby_cppflags = [RB_CONFIG["CFLAGS"]].compact
@@ -482,10 +674,9 @@ module WXRuby3
482
674
 
483
675
  def report
484
676
  if @debug_build
485
- puts "Enabled DEBUG build"
486
- puts "Enabled debugging output"
677
+ log_progress("Enabled DEBUG build")
487
678
  else
488
- puts "Enabled RELEASE build"
679
+ log_progress("Enabled RELEASE build")
489
680
  end
490
681
  end
491
682
 
@@ -550,7 +741,7 @@ module WXRuby3
550
741
  end
551
742
 
552
743
  def do_bootstrap
553
- check_doxygen
744
+ install_prerequisites
554
745
  # do we have a local wxWidgets tree already?
555
746
  unless File.directory?(File.join(ext_path, 'wxWidgets', 'docs', 'doxygen'))
556
747
  wx_checkout
@@ -567,6 +758,11 @@ module WXRuby3
567
758
  respawn_rake
568
759
  end
569
760
 
761
+ def cleanup_bootstrap
762
+ rm_rf(File.join(ext_path, 'wxWidgets'), verbose: !WXRuby3.config.run_silent?) if File.directory?(File.join(ext_path, 'wxWidgets'))
763
+ cleanup_prerequisites
764
+ end
765
+
570
766
  # Testing the relevant wxWidgets setup.h file to see what
571
767
  # features are supported.
572
768
 
@@ -638,10 +834,7 @@ module WXRuby3
638
834
  private :create
639
835
 
640
836
  def instance
641
- unless @instance
642
- @instance = create
643
- end
644
- @instance
837
+ @instance ||= create
645
838
  end
646
839
 
647
840
  def get_config(key)
data/rakelib/prepost.rake CHANGED
@@ -23,16 +23,21 @@ namespace 'wxruby' do
23
23
 
24
24
  namespace 'post' do
25
25
 
26
- task :srcgem => %w[gem:wxwin gem:install wxruby:doc] do
26
+ task :srcgem => %w[gem:wxwin gem:install] do
27
+ $stdout.print "Generating wxRuby3 reference documentation..." if WXRuby3.config.run_silent?
28
+ Rake::Task['wxruby:doc'].invoke
29
+ $stdout.puts 'done!' if WXRuby3.config.run_silent?
27
30
  # cleanup
28
- rm_rf('rakelib')
29
- rm_rf('ext/wxruby3')
30
- rm_rf('ext/wxWidgets') if File.exist?('ext/wxWidgets')
31
+ rm_rf('rakelib', verbose: !WXRuby3.config.run_silent?)
32
+ rm_rf('ext/wxruby3', verbose: !WXRuby3.config.run_silent?)
33
+ WXRuby3.config.cleanup_bootstrap
34
+ File.open(File.join(WXRuby3::Config.wxruby_root, 'ext', 'wxruby.setup.done'), 'w') { |f| f << '1' }
31
35
  end
32
36
 
33
37
  task :bingem => 'gem:install' do
34
38
  # cleanup
35
39
  rm_rf('rakelib')
40
+ File.open(File.join(WXRuby3::Config.wxruby_root, 'ext', 'wxruby.setup.done'), 'w') { |f| f << '1' }
36
41
  end
37
42
 
38
43
  namespace 'gem' do
@@ -77,3 +77,17 @@ div.wxrb-logo table td {
77
77
  font-weight: bold;
78
78
  font-size: 0.9em;
79
79
  }
80
+
81
+ #filecontents {
82
+ margin-right: 340px;
83
+ }
84
+
85
+ #filecontents blockquote {
86
+ border-left: .5em solid #e0e0e0;
87
+ margin: 10px;
88
+ padding-left: 10px;
89
+ }
90
+
91
+ #toc {
92
+ position: fixed;
93
+ }
@@ -1,19 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  def init
4
- # It seems YARD messes things up so that a number of classes are not properly
4
+ # It seems YARD messes things up so that a lot of classes, modules and constants are not properly
5
5
  # registered in their enclosing namespaces.
6
6
  # This hack makes sure that if that is the case we fix that here.
7
- all_classes = Registry.all(:class)
8
- all_classes.each do |c|
7
+ all_objects = Registry.all(:class, :constant, :module)
8
+ all_objects.each do |c|
9
9
  if (ns = c.namespace)
10
10
  unless ns.children.any? { |nsc| nsc.path == c.path }
11
- ns.children << c # class missing from child list of enclosing namespace -> add here
11
+ ns.children << c # class/module/constant missing from child list of enclosing namespace -> add here
12
12
  end
13
13
  end
14
14
  if (ns = Registry[c.namespace.path])
15
15
  unless ns.children.any? { |nsc| nsc.path == c.path }
16
- ns.children << c # class missing from child list of enclosing namespace -> add here
16
+ ns.children << c # class/module/constant missing from child list of enclosing namespace -> add here
17
17
  end
18
18
  end
19
19
  end
@@ -31,12 +31,18 @@ module YARD # rubocop:disable Style/Documentation
31
31
  if fnames.include?(href.path)
32
32
  link.replace "{file:#{href} #{link.inner_html}}"
33
33
  elsif href.path.end_with?('_md.html') && (fname = fnames.find {|fnm| fnm.end_with?(href.path.sub(/_md.html\Z/, '.md')) })
34
- link.replace "{file:#{fname} #{link.inner_html}}"
34
+ link.replace "{file:#{fname}#{href.fragment ? "##{fragment_to_yard(href.fragment)}" : ''} #{link.inner_html}}"
35
35
  end
36
36
  end
37
37
  end
38
38
  super(html.to_s)
39
39
  end
40
+
41
+ # this does not work with mixed case labels but is good enough for us
42
+ def fragment_to_yard(s)
43
+ s.start_with?('label-') ? s : "label-#{s.gsub('-', '+').capitalize}"
44
+ end
45
+
40
46
  end
41
47
 
42
48
  Templates::Template.extra_includes << RelativeMarkdownLinks