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.
- checksums.yaml +4 -4
- data/.wxconfig +9 -8
- data/INSTALL.md +315 -78
- data/README.md +32 -21
- data/ext/wxbase32u_gcc_custom.dll +0 -0
- data/ext/wxbase32u_net_gcc_custom.dll +0 -0
- data/ext/wxbase32u_xml_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_aui_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_core_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_gl_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_html_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_media_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_propgrid_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_qa_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_ribbon_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_richtext_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_stc_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_webview_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_xrc_gcc_custom.dll +0 -0
- data/lib/wx/core/combo_ctrl.rb +171 -0
- data/lib/wx/core/ext.rb +22 -3
- data/lib/wx/doc/comboctrl.rb +128 -3
- data/lib/wx/doc/gen/about_dialog_info.rb +1 -1
- data/lib/wx/doc/gen/accelerator.rb +1 -1
- data/lib/wx/doc/gen/accessible.rb +1 -1
- data/lib/wx/doc/gen/activity_indicator.rb +1 -1
- data/lib/wx/doc/gen/animation.rb +1 -1
- data/lib/wx/doc/gen/animation_ctrl.rb +1 -1
- data/lib/wx/doc/gen/any_button.rb +1 -1
- data/lib/wx/doc/gen/app.rb +1 -1
- data/lib/wx/doc/gen/app_traits.rb +3 -55
- data/lib/wx/doc/gen/art_provider.rb +1 -3
- data/lib/wx/doc/gen/aui/aui_dock_art.rb +430 -426
- data/lib/wx/doc/gen/aui/aui_floating_frame.rb +34 -30
- data/lib/wx/doc/gen/aui/aui_manager.rb +352 -349
- data/lib/wx/doc/gen/aui/aui_manager_event.rb +107 -103
- data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +157 -153
- data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +42 -37
- data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +109 -105
- data/lib/wx/doc/gen/aui/aui_notebook.rb +438 -434
- data/lib/wx/doc/gen/aui/aui_notebook_event.rb +145 -141
- data/lib/wx/doc/gen/aui/aui_pane_info.rb +689 -685
- data/lib/wx/doc/gen/aui/aui_tab_art.rb +369 -365
- data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +100 -96
- data/lib/wx/doc/gen/aui/aui_tool_bar.rb +445 -441
- data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +268 -264
- data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +179 -175
- data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +219 -215
- data/lib/wx/doc/gen/banner_window.rb +1 -1
- data/lib/wx/doc/gen/bitmap.rb +1 -1
- data/lib/wx/doc/gen/bitmap_button.rb +1 -1
- data/lib/wx/doc/gen/bitmap_combo_box.rb +1 -1
- data/lib/wx/doc/gen/book_ctrl_base.rb +1 -1
- data/lib/wx/doc/gen/book_ctrl_event.rb +1 -1
- data/lib/wx/doc/gen/box_sizer.rb +1 -1
- data/lib/wx/doc/gen/brush.rb +1 -1
- data/lib/wx/doc/gen/busy_info.rb +1 -1
- data/lib/wx/doc/gen/button.rb +1 -1
- data/lib/wx/doc/gen/calculate_layout_event.rb +1 -1
- data/lib/wx/doc/gen/calendar_ctrl.rb +1 -1
- data/lib/wx/doc/gen/calendar_date_attr.rb +1 -1
- data/lib/wx/doc/gen/calendar_event.rb +1 -1
- data/lib/wx/doc/gen/caret.rb +1 -1
- data/lib/wx/doc/gen/check_box.rb +1 -1
- data/lib/wx/doc/gen/check_list_box.rb +1 -1
- data/lib/wx/doc/gen/choice.rb +1 -1
- data/lib/wx/doc/gen/choicebook.rb +1 -1
- data/lib/wx/doc/gen/client_dc.rb +1 -1
- data/lib/wx/doc/gen/clipboard.rb +1 -1
- data/lib/wx/doc/gen/collapsible_pane.rb +1 -1
- data/lib/wx/doc/gen/collapsible_pane_event.rb +1 -1
- data/lib/wx/doc/gen/colour.rb +1 -2
- data/lib/wx/doc/gen/colour_dialog.rb +2 -2
- data/lib/wx/doc/gen/colour_picker_ctrl.rb +1 -1
- data/lib/wx/doc/gen/colour_picker_event.rb +1 -1
- data/lib/wx/doc/gen/combo_box.rb +4 -3
- data/lib/wx/doc/gen/combo_ctrl.rb +92 -228
- data/lib/wx/doc/gen/command_link_button.rb +1 -1
- data/lib/wx/doc/gen/config_base.rb +1 -1
- data/lib/wx/doc/gen/context_help_button.rb +1 -1
- data/lib/wx/doc/gen/control.rb +1 -1
- data/lib/wx/doc/gen/control_with_items.rb +1 -1
- data/lib/wx/doc/gen/core.rb +5 -5
- data/lib/wx/doc/gen/cursor.rb +1 -1
- data/lib/wx/doc/gen/data_format.rb +1 -1
- data/lib/wx/doc/gen/data_object.rb +1 -1
- data/lib/wx/doc/gen/data_object_simple_base.rb +1 -1
- data/lib/wx/doc/gen/date_event.rb +1 -1
- data/lib/wx/doc/gen/date_picker_ctrl.rb +1 -1
- data/lib/wx/doc/gen/dc.rb +1 -4
- data/lib/wx/doc/gen/defs.rb +1 -1
- data/lib/wx/doc/gen/dial_up_event.rb +1 -1
- data/lib/wx/doc/gen/dial_up_manager.rb +1 -1
- data/lib/wx/doc/gen/dialog.rb +1 -2
- data/lib/wx/doc/gen/dir_dialog.rb +1 -1
- data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +1 -1
- data/lib/wx/doc/gen/dir_picker_ctrl.rb +1 -1
- data/lib/wx/doc/gen/drag_drop.rb +1 -1
- data/lib/wx/doc/gen/drag_image.rb +1 -1
- data/lib/wx/doc/gen/editable_list_box.rb +1 -1
- data/lib/wx/doc/gen/event.rb +1 -1
- data/lib/wx/doc/gen/event_blocker.rb +1 -1
- data/lib/wx/doc/gen/event_filter.rb +1 -1
- data/lib/wx/doc/gen/events.rb +3 -25
- data/lib/wx/doc/gen/evt_handler.rb +1 -1
- data/lib/wx/doc/gen/ext_help_controller.rb +1 -1
- data/lib/wx/doc/gen/file_ctrl.rb +1 -1
- data/lib/wx/doc/gen/file_ctrl_event.rb +1 -1
- data/lib/wx/doc/gen/file_dialog.rb +1 -3
- data/lib/wx/doc/gen/file_dialog_custom_control.rb +1 -1
- data/lib/wx/doc/gen/file_dialog_customize_hook.rb +54 -62
- data/lib/wx/doc/gen/file_dir_picker_event.rb +1 -1
- data/lib/wx/doc/gen/file_picker_ctrl.rb +1 -1
- data/lib/wx/doc/gen/file_system.rb +2 -59
- data/lib/wx/doc/gen/find_dialog_event.rb +1 -1
- data/lib/wx/doc/gen/find_replace_data.rb +1 -1
- data/lib/wx/doc/gen/find_replace_dialog.rb +1 -1
- data/lib/wx/doc/gen/flex_grid_sizer.rb +1 -1
- data/lib/wx/doc/gen/font.rb +1 -1
- data/lib/wx/doc/gen/font_data.rb +1 -1
- data/lib/wx/doc/gen/font_dialog.rb +1 -1
- data/lib/wx/doc/gen/font_picker_ctrl.rb +1 -1
- data/lib/wx/doc/gen/font_picker_event.rb +1 -1
- data/lib/wx/doc/gen/frame.rb +1 -2
- data/lib/wx/doc/gen/fs_file.rb +1 -1
- data/lib/wx/doc/gen/functions.rb +1 -1
- data/lib/wx/doc/gen/gauge.rb +1 -1
- data/lib/wx/doc/gen/gb_sizer_item.rb +1 -1
- data/lib/wx/doc/gen/gcdc.rb +1 -1
- data/lib/wx/doc/gen/gdi_common.rb +3 -3
- data/lib/wx/doc/gen/gdi_object.rb +1 -1
- data/lib/wx/doc/gen/generic_dir_ctrl.rb +1 -1
- data/lib/wx/doc/gen/graphics_context.rb +1 -1
- data/lib/wx/doc/gen/graphics_object.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +28 -24
- data/lib/wx/doc/gen/grid/grid_cell_attr.rb +251 -247
- data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +25 -21
- data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +27 -23
- data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +38 -34
- data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +25 -21
- data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +35 -31
- data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +28 -24
- data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +34 -30
- data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +30 -26
- data/lib/wx/doc/gen/grid/grid_cell_editor.rb +183 -179
- data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +29 -25
- data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +33 -29
- data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +34 -30
- data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +67 -63
- data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +34 -30
- data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +25 -21
- data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +93 -89
- data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +25 -21
- data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +38 -34
- data/lib/wx/doc/gen/grid/grid_ctrl.rb +2716 -2724
- data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +82 -78
- data/lib/wx/doc/gen/grid/grid_event.rb +106 -102
- data/lib/wx/doc/gen/grid/grid_range_select_event.rb +93 -89
- data/lib/wx/doc/gen/grid/grid_size_event.rb +70 -66
- data/lib/wx/doc/gen/grid/grid_string_table.rb +130 -126
- data/lib/wx/doc/gen/grid/grid_table_base.rb +303 -299
- data/lib/wx/doc/gen/grid/grid_table_message.rb +70 -66
- data/lib/wx/doc/gen/grid_bag_sizer.rb +1 -1
- data/lib/wx/doc/gen/grid_sizer.rb +1 -1
- data/lib/wx/doc/gen/gui_event_loop.rb +1 -1
- data/lib/wx/doc/gen/header_ctrl.rb +1 -2
- data/lib/wx/doc/gen/header_ctrl_event.rb +1 -1
- data/lib/wx/doc/gen/help_controller.rb +1 -1
- data/lib/wx/doc/gen/help_provider.rb +1 -1
- data/lib/wx/doc/gen/html/html_cell.rb +515 -511
- data/lib/wx/doc/gen/html/html_cell_event.rb +58 -54
- data/lib/wx/doc/gen/html/html_easy_printing.rb +171 -167
- data/lib/wx/doc/gen/html/html_help_controller.rb +292 -288
- data/lib/wx/doc/gen/html/html_help_data.rb +147 -143
- data/lib/wx/doc/gen/html/html_help_window.rb +232 -228
- data/lib/wx/doc/gen/html/html_link_event.rb +30 -26
- data/lib/wx/doc/gen/html/html_list_box.rb +301 -297
- data/lib/wx/doc/gen/html/html_printout.rb +94 -90
- data/lib/wx/doc/gen/html/html_window.rb +406 -402
- data/lib/wx/doc/gen/hyperlink_ctrl.rb +1 -1
- data/lib/wx/doc/gen/hyperlink_event.rb +1 -1
- data/lib/wx/doc/gen/icon.rb +1 -1
- data/lib/wx/doc/gen/icon_location.rb +1 -1
- data/lib/wx/doc/gen/image.rb +1 -3
- data/lib/wx/doc/gen/image_list.rb +1 -1
- data/lib/wx/doc/gen/info_bar.rb +1 -1
- data/lib/wx/doc/gen/keyboard_state.rb +1 -1
- data/lib/wx/doc/gen/list_box.rb +1 -1
- data/lib/wx/doc/gen/list_ctrl.rb +1 -2
- data/lib/wx/doc/gen/list_event.rb +1 -1
- data/lib/wx/doc/gen/listbook.rb +1 -1
- data/lib/wx/doc/gen/locale.rb +1 -1
- data/lib/wx/doc/gen/log.rb +1 -1
- data/lib/wx/doc/gen/mdi_client_window.rb +1 -1
- data/lib/wx/doc/gen/mdi_frame.rb +1 -1
- data/lib/wx/doc/gen/media_ctrl.rb +1 -7
- data/lib/wx/doc/gen/media_event.rb +1 -1
- data/lib/wx/doc/gen/memory_dc.rb +1 -1
- data/lib/wx/doc/gen/menu.rb +1 -3
- data/lib/wx/doc/gen/menu_bar.rb +1 -1
- data/lib/wx/doc/gen/menu_item.rb +1 -1
- data/lib/wx/doc/gen/message_dialog.rb +1 -1
- data/lib/wx/doc/gen/mini_frame.rb +1 -1
- data/lib/wx/doc/gen/mirror_dc.rb +1 -1
- data/lib/wx/doc/gen/mouse_state.rb +1 -1
- data/lib/wx/doc/gen/multi_choice_dialog.rb +1 -1
- data/lib/wx/doc/gen/non_owned_window.rb +1 -1
- data/lib/wx/doc/gen/notebook.rb +1 -2
- data/lib/wx/doc/gen/num_validator.rb +1 -1
- data/lib/wx/doc/gen/number_entry_dialog.rb +1 -1
- data/lib/wx/doc/gen/object.rb +1 -1
- data/lib/wx/doc/gen/owner_drawn_combo_box.rb +1 -1
- data/lib/wx/doc/gen/paint_dc.rb +1 -1
- data/lib/wx/doc/gen/palette.rb +1 -1
- data/lib/wx/doc/gen/panel.rb +1 -1
- data/lib/wx/doc/gen/pen.rb +1 -1
- data/lib/wx/doc/gen/persistence_manager.rb +1 -1
- data/lib/wx/doc/gen/persistent_object.rb +1 -1
- data/lib/wx/doc/gen/persistent_window.rb +1 -1
- data/lib/wx/doc/gen/pg/numeric_property_validator.rb +33 -29
- data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +299 -295
- data/lib/wx/doc/gen/pg/pg_cell.rb +162 -158
- data/lib/wx/doc/gen/pg/pg_editor.rb +693 -689
- data/lib/wx/doc/gen/pg/pg_multi_button.rb +133 -129
- data/lib/wx/doc/gen/pg/pg_properties.rb +2662 -2658
- data/lib/wx/doc/gen/pg/pg_property.rb +1929 -1938
- data/lib/wx/doc/gen/pg/pg_validation_info.rb +275 -273
- data/lib/wx/doc/gen/pg/property_grid.rb +708 -706
- data/lib/wx/doc/gen/pg/property_grid_event.rb +168 -164
- data/lib/wx/doc/gen/pg/property_grid_interface.rb +1071 -1067
- data/lib/wx/doc/gen/pg/property_grid_manager.rb +386 -384
- data/lib/wx/doc/gen/pg/property_grid_page.rb +267 -265
- data/lib/wx/doc/gen/pg/property_grid_page_state.rb +147 -144
- data/lib/wx/doc/gen/picker_base.rb +1 -1
- data/lib/wx/doc/gen/platform_info.rb +1 -1
- data/lib/wx/doc/gen/popup_window.rb +1 -1
- data/lib/wx/doc/gen/progress_dialog.rb +1 -1
- data/lib/wx/doc/gen/property_sheet_dialog.rb +1 -1
- data/lib/wx/doc/gen/prt/page_setup_dialog.rb +32 -28
- data/lib/wx/doc/gen/prt/post_script_dc.rb +21 -18
- data/lib/wx/doc/gen/prt/preview_frame.rb +49 -45
- data/lib/wx/doc/gen/prt/print_abort_dialog.rb +126 -122
- data/lib/wx/doc/gen/prt/print_data.rb +637 -633
- data/lib/wx/doc/gen/prt/print_dialog.rb +43 -39
- data/lib/wx/doc/gen/prt/printer.rb +484 -480
- data/lib/wx/doc/gen/prt/printer_dc.rb +26 -22
- data/lib/wx/doc/gen/query_layout_info_event.rb +1 -1
- data/lib/wx/doc/gen/radio_box.rb +1 -1
- data/lib/wx/doc/gen/radio_button.rb +1 -1
- data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +1716 -1712
- data/lib/wx/doc/gen/rbn/ribbon_bar.rb +239 -235
- data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +34 -30
- data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +439 -435
- data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +52 -48
- data/lib/wx/doc/gen/rbn/ribbon_control.rb +116 -112
- data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +205 -201
- data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +44 -40
- data/lib/wx/doc/gen/rbn/ribbon_page.rb +129 -125
- data/lib/wx/doc/gen/rbn/ribbon_panel.rb +229 -225
- data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +34 -30
- data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +329 -325
- data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +31 -27
- data/lib/wx/doc/gen/rearrange_ctrl.rb +1 -1
- data/lib/wx/doc/gen/rearrange_list.rb +1 -1
- data/lib/wx/doc/gen/region.rb +1 -1
- data/lib/wx/doc/gen/region_iterator.rb +1 -1
- data/lib/wx/doc/gen/rtc/rich_text_box.rb +424 -420
- data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +1148 -1144
- data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +30 -26
- data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +516 -512
- data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +1991 -1987
- data/lib/wx/doc/gen/rtc/rich_text_event.rb +159 -155
- data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +167 -163
- data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +271 -267
- data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +171 -167
- data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +88 -85
- data/lib/wx/doc/gen/rtc/rich_text_image.rb +323 -319
- data/lib/wx/doc/gen/rtc/rich_text_object.rb +2819 -2815
- data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +1187 -1183
- data/lib/wx/doc/gen/rtc/rich_text_printing.rb +242 -238
- data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +286 -279
- data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +181 -177
- data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +47 -44
- data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +145 -141
- data/lib/wx/doc/gen/sash_event.rb +1 -1
- data/lib/wx/doc/gen/sash_layout_window.rb +1 -1
- data/lib/wx/doc/gen/sash_window.rb +1 -1
- data/lib/wx/doc/gen/scaled_dc.rb +1 -1
- data/lib/wx/doc/gen/screen_dc.rb +1 -1
- data/lib/wx/doc/gen/scroll_bar.rb +1 -2
- data/lib/wx/doc/gen/scrolled_canvas.rb +1 -1
- data/lib/wx/doc/gen/scrolled_control.rb +1 -1
- data/lib/wx/doc/gen/scrolled_window.rb +1 -1
- data/lib/wx/doc/gen/search_ctrl.rb +1 -1
- data/lib/wx/doc/gen/simplebook.rb +1 -1
- data/lib/wx/doc/gen/single_choice_dialog.rb +1 -1
- data/lib/wx/doc/gen/sizer.rb +1 -2
- data/lib/wx/doc/gen/sizer_item.rb +1 -1
- data/lib/wx/doc/gen/slider.rb +1 -2
- data/lib/wx/doc/gen/spin_button.rb +1 -1
- data/lib/wx/doc/gen/spin_ctrl.rb +1 -1
- data/lib/wx/doc/gen/spin_ctrl_double.rb +1 -1
- data/lib/wx/doc/gen/spin_double_event.rb +1 -1
- data/lib/wx/doc/gen/spin_event.rb +1 -1
- data/lib/wx/doc/gen/splash_screen.rb +2 -2
- data/lib/wx/doc/gen/splitter_event.rb +1 -1
- data/lib/wx/doc/gen/splitter_window.rb +1 -1
- data/lib/wx/doc/gen/static_bitmap.rb +1 -1
- data/lib/wx/doc/gen/static_box.rb +1 -1
- data/lib/wx/doc/gen/static_box_sizer.rb +1 -1
- data/lib/wx/doc/gen/static_line.rb +1 -1
- data/lib/wx/doc/gen/static_text.rb +1 -1
- data/lib/wx/doc/gen/status_bar.rb +1 -1
- data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +4202 -4199
- data/lib/wx/doc/gen/stc/styled_text_event.rb +7511 -7508
- data/lib/wx/doc/gen/std_dialog_button_sizer.rb +1 -1
- data/lib/wx/doc/gen/svg_file_dc.rb +1 -1
- data/lib/wx/doc/gen/system_options.rb +1 -1
- data/lib/wx/doc/gen/system_settings.rb +1 -1
- data/lib/wx/doc/gen/task_bar_button.rb +1 -1
- data/lib/wx/doc/gen/task_bar_icon.rb +1 -2
- data/lib/wx/doc/gen/task_bar_icon_event.rb +1 -1
- data/lib/wx/doc/gen/text_attr.rb +1 -1
- data/lib/wx/doc/gen/text_ctrl.rb +1 -6
- data/lib/wx/doc/gen/text_entry.rb +1 -1
- data/lib/wx/doc/gen/text_entry_dialog.rb +1 -1
- data/lib/wx/doc/gen/text_validator.rb +1 -1
- data/lib/wx/doc/gen/time_picker_ctrl.rb +1 -1
- data/lib/wx/doc/gen/timer.rb +1 -1
- data/lib/wx/doc/gen/timer_event.rb +1 -1
- data/lib/wx/doc/gen/tip_provider.rb +1 -1
- data/lib/wx/doc/gen/toggle_button.rb +1 -1
- data/lib/wx/doc/gen/tool_bar.rb +1 -1
- data/lib/wx/doc/gen/tool_tip.rb +1 -1
- data/lib/wx/doc/gen/toolbook.rb +1 -1
- data/lib/wx/doc/gen/top_level_window.rb +1 -1
- data/lib/wx/doc/gen/tree_ctrl.rb +1 -3
- data/lib/wx/doc/gen/tree_event.rb +1 -1
- data/lib/wx/doc/gen/treebook.rb +1 -1
- data/lib/wx/doc/gen/ui_action_simulator.rb +1 -1
- data/lib/wx/doc/gen/utils.rb +1 -1
- data/lib/wx/doc/gen/v_list_box.rb +1 -1
- data/lib/wx/doc/gen/v_scrolled_window.rb +1 -2
- data/lib/wx/doc/gen/validator.rb +1 -1
- data/lib/wx/doc/gen/variant.rb +1 -1
- data/lib/wx/doc/gen/window.rb +1 -1
- data/lib/wx/doc/gen/window_dc.rb +1 -1
- data/lib/wx/doc/gen/window_disabler.rb +1 -1
- data/lib/wx/doc/gen/with_images.rb +1 -1
- data/lib/wx/doc/gen/wizard.rb +1 -2
- data/lib/wx/doc/gen/wizard_event.rb +1 -1
- data/lib/wx/doc/gen/wizard_page.rb +1 -2
- data/lib/wx/doc/gen/wizard_page_simple.rb +1 -1
- data/lib/wx/doc/gen/wrap_sizer.rb +1 -1
- data/lib/wx/doc/gen/xml_node.rb +1 -1
- data/lib/wx/doc/gen/xml_resource.rb +1 -1
- data/lib/wx/doc/owner_drawn_combobox.rb +5 -1
- data/lib/wx/rtc/ext/rich_text_ctrl.rb +5 -5
- data/lib/wx/version.rb +1 -1
- data/lib/wx/wxruby/base.rb +6 -4
- data/lib/wx/wxruby/cmd/sampler.rb +39 -29
- data/lib/wx/wxruby/cmd/setup.rb +122 -0
- data/lib/wx/wxruby/cmd/test.rb +56 -6
- data/lib/wxruby_aui.so +0 -0
- data/lib/wxruby_core.so +0 -0
- data/lib/wxruby_grid.so +0 -0
- data/lib/wxruby_html.so +0 -0
- data/lib/wxruby_pg.so +0 -0
- data/lib/wxruby_prt.so +0 -0
- data/lib/wxruby_rbn.so +0 -0
- data/lib/wxruby_rtc.so +0 -0
- data/lib/wxruby_stc.so +0 -0
- data/rakelib/install.rb +2 -0
- data/rakelib/lib/config/linux.rb +24 -2
- data/rakelib/lib/config/macosx.rb +16 -0
- data/rakelib/lib/config/mingw.rb +133 -9
- data/rakelib/lib/config/pkgman/arch.rb +53 -0
- data/rakelib/lib/config/pkgman/base.rb +169 -0
- data/rakelib/lib/config/pkgman/debian.rb +66 -0
- data/rakelib/lib/config/pkgman/macosx.rb +183 -0
- data/rakelib/lib/config/pkgman/rhel.rb +54 -0
- data/rakelib/lib/config/pkgman/suse.rb +54 -0
- data/rakelib/lib/config/unixish.rb +36 -19
- data/rakelib/lib/config.rb +254 -61
- data/rakelib/prepost.rake +9 -4
- data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +14 -0
- data/rakelib/yard/templates/default/fulldoc/html/setup.rb +5 -5
- data/rakelib/yard/yard/relative_markdown_links.rb +7 -1
- data/tests/test_combo_ctrl.rb +196 -0
- metadata +25 -4
data/rakelib/lib/config.rb
CHANGED
@@ -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
|
-
|
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
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
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
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
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
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
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
|
-
|
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
|
-
|
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
|
199
|
-
|
200
|
-
|
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
|
213
|
-
|
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
|
220
|
-
|
221
|
-
|
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
|
-
|
227
|
-
|
398
|
+
# only called after src gem build
|
399
|
+
def cleanup_prerequisites
|
400
|
+
# noop
|
228
401
|
end
|
229
402
|
|
230
|
-
def
|
231
|
-
|
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
|
-
|
435
|
-
|
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
|
-
|
486
|
-
puts "Enabled debugging output"
|
677
|
+
log_progress("Enabled DEBUG build")
|
487
678
|
else
|
488
|
-
|
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
|
-
|
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
|
-
|
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
|
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
|
-
|
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
|
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
|
-
|
8
|
-
|
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
|