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

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 (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