wxruby3 0.9.0-x64-mingw-ucrt → 0.9.2-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.
- checksums.yaml +4 -4
- data/.yardopts +1 -0
- 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/aui/aui_tab_ctrl.rb +18 -0
- data/lib/wx/aui/auinotebook.rb +6 -2
- data/lib/wx/aui/require.rb +1 -0
- data/lib/wx/core/app.rb +2 -2
- data/lib/wx/core/collapsible_pane.rb +1 -1
- data/lib/wx/core/const.rb +83 -0
- data/lib/wx/core/controlwithitems.rb +8 -6
- data/lib/wx/core/events/evt_list.rb +24 -0
- data/lib/wx/core/menu.rb +10 -0
- data/lib/wx/core/notebook.rb +6 -2
- data/lib/wx/core/sizer.rb +11 -0
- data/lib/wx/core/task_bar_button.rb +19 -0
- data/lib/wx/core/textctrl.rb +11 -1
- data/lib/wx/core/{treectrl.rb → tree_ctrl.rb} +31 -12
- data/lib/wx/core/window.rb +10 -0
- data/lib/wx/doc/app.rb +48 -38
- data/lib/wx/doc/art_locator.rb +47 -43
- data/lib/wx/doc/aui/auimanager.rb +16 -8
- data/lib/wx/doc/aui/auinotebook.rb +20 -5
- data/lib/wx/doc/clipboard.rb +11 -7
- data/lib/wx/doc/colour_dialog.rb +14 -10
- data/lib/wx/doc/const.rb +66 -66
- data/lib/wx/doc/controlwithitems.rb +17 -7
- data/lib/wx/doc/data_object.rb +2 -2
- data/lib/wx/doc/event.rb +0 -6
- data/lib/wx/doc/evthandler.rb +113 -108
- data/lib/wx/doc/font.rb +1 -0
- data/lib/wx/doc/functions.rb +9 -9
- data/lib/wx/doc/gc_dc.rb +6 -1
- data/lib/wx/doc/gen/about_dialog_info.rb +1 -2
- data/lib/wx/doc/gen/accelerator.rb +14 -5
- data/lib/wx/doc/gen/accessible.rb +35 -47
- data/lib/wx/doc/gen/activity_indicator.rb +6 -7
- data/lib/wx/doc/gen/animation.rb +7 -3
- data/lib/wx/doc/gen/animation_ctrl.rb +8 -9
- data/lib/wx/doc/gen/any_button.rb +6 -1
- data/lib/wx/doc/gen/app.rb +7 -5
- data/lib/wx/doc/gen/app_traits.rb +27 -10
- data/lib/wx/doc/gen/art_provider.rb +20 -8
- data/lib/wx/doc/gen/aui/aui_dock_art.rb +6 -3
- data/lib/wx/doc/gen/aui/aui_floating_frame.rb +1 -0
- data/lib/wx/doc/gen/aui/aui_manager.rb +11 -7
- data/lib/wx/doc/gen/aui/aui_manager_event.rb +3 -4
- data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +3 -2
- data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +1 -0
- data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +8 -3
- data/lib/wx/doc/gen/aui/aui_notebook.rb +14 -8
- data/lib/wx/doc/gen/aui/aui_notebook_event.rb +4 -4
- data/lib/wx/doc/gen/aui/aui_pane_info.rb +9 -2
- data/lib/wx/doc/gen/aui/aui_tab_art.rb +3 -3
- data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +2 -2
- data/lib/wx/doc/gen/aui/aui_tool_bar.rb +9 -6
- data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +2 -2
- data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +5 -8
- data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +1 -1
- data/lib/wx/doc/gen/aui/event_list.rb +164 -160
- data/lib/wx/doc/gen/banner_window.rb +3 -3
- data/lib/wx/doc/gen/bitmap.rb +34 -17
- data/lib/wx/doc/gen/bitmap_button.rb +13 -10
- data/lib/wx/doc/gen/bitmap_combo_box.rb +16 -12
- data/lib/wx/doc/gen/book_ctrl_base.rb +16 -4
- data/lib/wx/doc/gen/book_ctrl_event.rb +7 -3
- data/lib/wx/doc/gen/box_sizer.rb +0 -1
- data/lib/wx/doc/gen/brush.rb +5 -2
- data/lib/wx/doc/gen/busy_info.rb +2 -2
- data/lib/wx/doc/gen/button.rb +25 -13
- data/lib/wx/doc/gen/calculate_layout_event.rb +1 -3
- data/lib/wx/doc/gen/calendar_ctrl.rb +18 -15
- data/lib/wx/doc/gen/calendar_date_attr.rb +1 -1
- data/lib/wx/doc/gen/calendar_event.rb +4 -3
- data/lib/wx/doc/gen/caret.rb +0 -1
- data/lib/wx/doc/gen/check_box.rb +9 -9
- data/lib/wx/doc/gen/check_list_box.rb +8 -9
- data/lib/wx/doc/gen/choice.rb +18 -11
- data/lib/wx/doc/gen/choicebook.rb +6 -7
- data/lib/wx/doc/gen/client_dc.rb +5 -2
- data/lib/wx/doc/gen/clipboard.rb +7 -3
- data/lib/wx/doc/gen/collapsible_pane.rb +8 -9
- data/lib/wx/doc/gen/collapsible_pane_event.rb +2 -3
- data/lib/wx/doc/gen/colour.rb +8 -4
- data/lib/wx/doc/gen/colour_dialog.rb +6 -8
- data/lib/wx/doc/gen/colour_picker_ctrl.rb +11 -12
- data/lib/wx/doc/gen/colour_picker_event.rb +4 -5
- data/lib/wx/doc/gen/combo_box.rb +20 -17
- data/lib/wx/doc/gen/combo_ctrl.rb +100 -37
- data/lib/wx/doc/gen/command_link_button.rb +6 -7
- data/lib/wx/doc/gen/context_help_button.rb +7 -3
- data/lib/wx/doc/gen/control.rb +12 -10
- data/lib/wx/doc/gen/control_with_items.rb +0 -1
- data/lib/wx/doc/gen/core.rb +4 -4
- data/lib/wx/doc/gen/cursor.rb +6 -8
- data/lib/wx/doc/gen/data_format.rb +6 -1
- data/lib/wx/doc/gen/data_object.rb +16 -14
- data/lib/wx/doc/gen/date_event.rb +2 -2
- data/lib/wx/doc/gen/date_picker_ctrl.rb +14 -10
- data/lib/wx/doc/gen/dc.rb +155 -37
- data/lib/wx/doc/gen/defs.rb +54 -54
- data/lib/wx/doc/gen/dial_up_event.rb +41 -0
- data/lib/wx/doc/gen/dial_up_manager.rb +137 -0
- data/lib/wx/doc/gen/dialog.rb +35 -15
- data/lib/wx/doc/gen/dir_dialog.rb +17 -5
- data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +1 -0
- data/lib/wx/doc/gen/dir_picker_ctrl.rb +11 -12
- data/lib/wx/doc/gen/drag_drop.rb +11 -10
- data/lib/wx/doc/gen/drag_image.rb +6 -2
- data/lib/wx/doc/gen/editable_list_box.rb +4 -4
- data/lib/wx/doc/gen/event.rb +42 -20
- data/lib/wx/doc/gen/event_blocker.rb +1 -3
- data/lib/wx/doc/gen/event_list.rb +1656 -1624
- data/lib/wx/doc/gen/events.rb +170 -181
- data/lib/wx/doc/gen/evt_handler.rb +11 -3
- data/lib/wx/doc/gen/ext_help_controller.rb +1 -1
- data/lib/wx/doc/gen/file_ctrl.rb +209 -0
- data/lib/wx/doc/gen/file_ctrl_event.rb +79 -0
- data/lib/wx/doc/gen/file_dialog.rb +32 -15
- data/lib/wx/doc/gen/file_dialog_custom_control.rb +7 -0
- data/lib/wx/doc/gen/file_dialog_customize_hook.rb +2 -3
- data/lib/wx/doc/gen/file_dir_picker_event.rb +3 -4
- data/lib/wx/doc/gen/file_picker_ctrl.rb +10 -11
- data/lib/wx/doc/gen/file_system.rb +38 -15
- data/lib/wx/doc/gen/find_dialog_event.rb +5 -4
- 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 +0 -1
- data/lib/wx/doc/gen/font.rb +31 -20
- data/lib/wx/doc/gen/font_data.rb +3 -4
- data/lib/wx/doc/gen/font_dialog.rb +1 -2
- data/lib/wx/doc/gen/font_picker_ctrl.rb +8 -9
- data/lib/wx/doc/gen/font_picker_event.rb +2 -3
- data/lib/wx/doc/gen/frame.rb +60 -19
- data/lib/wx/doc/gen/fs_file.rb +17 -10
- data/lib/wx/doc/gen/gauge.rb +13 -10
- data/lib/wx/doc/gen/gb_sizer_item.rb +0 -1
- data/lib/wx/doc/gen/gcdc.rb +1 -2
- data/lib/wx/doc/gen/gdi_common.rb +30 -11
- data/lib/wx/doc/gen/gdi_object.rb +0 -1
- data/lib/wx/doc/gen/generic_dir_ctrl.rb +8 -9
- data/lib/wx/doc/gen/graphics_context.rb +59 -12
- data/lib/wx/doc/gen/graphics_object.rb +11 -6
- data/lib/wx/doc/gen/grid/event_list.rb +168 -164
- data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +1 -0
- data/lib/wx/doc/gen/grid/grid_cell_attr.rb +2 -1
- data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +2 -2
- data/lib/wx/doc/gen/grid/grid_cell_editor.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_ctrl.rb +29 -7
- data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +3 -4
- data/lib/wx/doc/gen/grid/grid_event.rb +3 -4
- data/lib/wx/doc/gen/grid/grid_range_select_event.rb +3 -4
- data/lib/wx/doc/gen/grid/grid_size_event.rb +3 -4
- data/lib/wx/doc/gen/grid/grid_string_table.rb +1 -0
- data/lib/wx/doc/gen/grid/grid_table_base.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_table_message.rb +1 -0
- data/lib/wx/doc/gen/grid_bag_sizer.rb +0 -6
- data/lib/wx/doc/gen/grid_sizer.rb +0 -1
- data/lib/wx/doc/gen/gui_event_loop.rb +2 -4
- data/lib/wx/doc/gen/header_ctrl.rb +7 -14
- data/lib/wx/doc/gen/header_ctrl_event.rb +1 -3
- data/lib/wx/doc/gen/help_controller.rb +42 -3
- data/lib/wx/doc/gen/help_provider.rb +12 -3
- data/lib/wx/doc/gen/html/event_list.rb +41 -37
- data/lib/wx/doc/gen/html/html_cell.rb +23 -6
- data/lib/wx/doc/gen/html/html_cell_event.rb +3 -4
- data/lib/wx/doc/gen/html/html_easy_printing.rb +8 -3
- data/lib/wx/doc/gen/html/html_help_controller.rb +47 -2
- data/lib/wx/doc/gen/html/html_help_data.rb +3 -1
- data/lib/wx/doc/gen/html/html_help_window.rb +1 -1
- data/lib/wx/doc/gen/html/html_link_event.rb +2 -3
- data/lib/wx/doc/gen/html/html_list_box.rb +10 -12
- data/lib/wx/doc/gen/html/html_printout.rb +1 -2
- data/lib/wx/doc/gen/html/html_window.rb +13 -7
- data/lib/wx/doc/gen/hyperlink_ctrl.rb +9 -9
- data/lib/wx/doc/gen/hyperlink_event.rb +2 -3
- data/lib/wx/doc/gen/icon.rb +5 -29
- data/lib/wx/doc/gen/icon_location.rb +0 -1
- data/lib/wx/doc/gen/image.rb +83 -17
- data/lib/wx/doc/gen/image_list.rb +15 -6
- data/lib/wx/doc/gen/info_bar.rb +2 -2
- data/lib/wx/doc/gen/keyboard_state.rb +0 -1
- data/lib/wx/doc/gen/list_box.rb +33 -21
- data/lib/wx/doc/gen/list_ctrl.rb +79 -32
- data/lib/wx/doc/gen/list_event.rb +3 -4
- data/lib/wx/doc/gen/listbook.rb +6 -7
- data/lib/wx/doc/gen/locale.rb +46 -4
- data/lib/wx/doc/gen/log.rb +16 -12
- data/lib/wx/doc/gen/mdi_client_window.rb +8 -2
- data/lib/wx/doc/gen/mdi_frame.rb +32 -11
- data/lib/wx/doc/gen/media_ctrl.rb +28 -20
- data/lib/wx/doc/gen/media_event.rb +5 -4
- data/lib/wx/doc/gen/memory_dc.rb +6 -6
- data/lib/wx/doc/gen/menu.rb +37 -23
- data/lib/wx/doc/gen/menu_bar.rb +52 -12
- data/lib/wx/doc/gen/menu_item.rb +117 -95
- data/lib/wx/doc/gen/message_dialog.rb +7 -8
- data/lib/wx/doc/gen/mini_frame.rb +13 -7
- data/lib/wx/doc/gen/mirror_dc.rb +0 -2
- data/lib/wx/doc/gen/mouse_state.rb +0 -1
- data/lib/wx/doc/gen/multi_choice_dialog.rb +7 -4
- data/lib/wx/doc/gen/non_owned_window.rb +1 -1
- data/lib/wx/doc/gen/notebook.rb +19 -11
- data/lib/wx/doc/gen/number_entry_dialog.rb +1 -1
- data/lib/wx/doc/gen/object.rb +0 -1
- data/lib/wx/doc/gen/paint_dc.rb +0 -1
- data/lib/wx/doc/gen/palette.rb +0 -1
- data/lib/wx/doc/gen/panel.rb +19 -10
- data/lib/wx/doc/gen/pen.rb +17 -8
- data/lib/wx/doc/gen/pg/event_list.rb +97 -93
- data/lib/wx/doc/gen/pg/numeric_property_validator.rb +2 -0
- data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +9 -1
- data/lib/wx/doc/gen/pg/pg_cell.rb +8 -5
- data/lib/wx/doc/gen/pg/pg_editor.rb +115 -16
- data/lib/wx/doc/gen/pg/pg_multi_button.rb +1 -2
- data/lib/wx/doc/gen/pg/pg_properties.rb +515 -83
- data/lib/wx/doc/gen/pg/pg_property.rb +296 -69
- data/lib/wx/doc/gen/pg/pg_validation_info.rb +9 -4
- data/lib/wx/doc/gen/pg/property_grid.rb +83 -22
- data/lib/wx/doc/gen/pg/property_grid_event.rb +31 -9
- data/lib/wx/doc/gen/pg/property_grid_interface.rb +212 -34
- data/lib/wx/doc/gen/pg/property_grid_manager.rb +42 -12
- data/lib/wx/doc/gen/pg/property_grid_page.rb +26 -8
- data/lib/wx/doc/gen/pg/property_grid_page_state.rb +13 -4
- data/lib/wx/doc/gen/picker_base.rb +12 -5
- data/lib/wx/doc/gen/platform_info.rb +4 -9
- data/lib/wx/doc/gen/popup_window.rb +2 -5
- data/lib/wx/doc/gen/progress_dialog.rb +1 -0
- data/lib/wx/doc/gen/property_sheet_dialog.rb +15 -5
- data/lib/wx/doc/gen/prt/event_list.rb +8 -4
- data/lib/wx/doc/gen/prt/page_setup_dialog.rb +1 -1
- data/lib/wx/doc/gen/prt/post_script_dc.rb +2 -2
- data/lib/wx/doc/gen/prt/preview_frame.rb +2 -2
- data/lib/wx/doc/gen/prt/print_abort_dialog.rb +4 -1
- data/lib/wx/doc/gen/prt/print_data.rb +4 -3
- data/lib/wx/doc/gen/prt/print_dialog.rb +1 -1
- data/lib/wx/doc/gen/prt/printer.rb +50 -11
- data/lib/wx/doc/gen/prt/printer_dc.rb +1 -1
- data/lib/wx/doc/gen/query_layout_info_event.rb +1 -3
- data/lib/wx/doc/gen/radio_box.rb +13 -14
- data/lib/wx/doc/gen/radio_button.rb +15 -11
- data/lib/wx/doc/gen/rbn/event_list.rb +127 -123
- data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +19 -3
- data/lib/wx/doc/gen/rbn/ribbon_bar.rb +3 -4
- data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +2 -2
- data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +18 -6
- data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +2 -2
- data/lib/wx/doc/gen/rbn/ribbon_control.rb +2 -2
- data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +4 -4
- data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +2 -3
- data/lib/wx/doc/gen/rbn/ribbon_page.rb +1 -2
- data/lib/wx/doc/gen/rbn/ribbon_panel.rb +5 -4
- data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +2 -3
- data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +2 -3
- data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +2 -1
- data/lib/wx/doc/gen/rearrange_ctrl.rb +3 -4
- data/lib/wx/doc/gen/rearrange_list.rb +5 -6
- data/lib/wx/doc/gen/region.rb +75 -17
- data/lib/wx/doc/gen/region_iterator.rb +0 -1
- data/lib/wx/doc/gen/rtc/event_list.rb +116 -112
- data/lib/wx/doc/gen/rtc/rich_text_box.rb +3 -2
- data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +6 -9
- data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +1 -2
- data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +3 -6
- data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +12 -9
- data/lib/wx/doc/gen/rtc/rich_text_event.rb +3 -4
- data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +3 -5
- data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +4 -5
- data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +3 -2
- data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +2 -3
- data/lib/wx/doc/gen/rtc/rich_text_image.rb +2 -4
- data/lib/wx/doc/gen/rtc/rich_text_object.rb +28 -23
- data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +7 -11
- data/lib/wx/doc/gen/rtc/rich_text_printing.rb +3 -3
- data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +14 -14
- data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +3 -3
- data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +3 -4
- data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +3 -4
- data/lib/wx/doc/gen/sash_event.rb +12 -4
- data/lib/wx/doc/gen/sash_layout_window.rb +13 -6
- data/lib/wx/doc/gen/sash_window.rb +4 -5
- data/lib/wx/doc/gen/screen_dc.rb +0 -1
- data/lib/wx/doc/gen/scroll_bar.rb +21 -12
- data/lib/wx/doc/gen/scrolled_canvas.rb +34 -12
- data/lib/wx/doc/gen/scrolled_control.rb +34 -12
- data/lib/wx/doc/gen/scrolled_window.rb +34 -12
- data/lib/wx/doc/gen/search_ctrl.rb +10 -11
- data/lib/wx/doc/gen/simplebook.rb +1 -1
- data/lib/wx/doc/gen/single_choice_dialog.rb +7 -4
- data/lib/wx/doc/gen/sizer.rb +12 -7
- data/lib/wx/doc/gen/sizer_item.rb +5 -2
- data/lib/wx/doc/gen/slider.rb +29 -19
- data/lib/wx/doc/gen/spin_button.rb +16 -11
- data/lib/wx/doc/gen/spin_ctrl.rb +24 -9
- data/lib/wx/doc/gen/spin_ctrl_double.rb +6 -7
- data/lib/wx/doc/gen/spin_double_event.rb +3 -4
- data/lib/wx/doc/gen/spin_event.rb +3 -3
- data/lib/wx/doc/gen/splash_screen.rb +1 -2
- data/lib/wx/doc/gen/splitter_event.rb +3 -4
- data/lib/wx/doc/gen/splitter_window.rb +78 -20
- data/lib/wx/doc/gen/static_bitmap.rb +12 -7
- data/lib/wx/doc/gen/static_box.rb +13 -11
- data/lib/wx/doc/gen/static_box_sizer.rb +0 -2
- data/lib/wx/doc/gen/static_line.rb +5 -6
- data/lib/wx/doc/gen/static_text.rb +7 -8
- data/lib/wx/doc/gen/status_bar.rb +21 -11
- data/lib/wx/doc/gen/stc/event_list.rb +212 -208
- data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +41 -15
- data/lib/wx/doc/gen/stc/styled_text_event.rb +5 -6
- data/lib/wx/doc/gen/std_dialog_button_sizer.rb +0 -1
- data/lib/wx/doc/gen/svg_file_dc.rb +7 -8
- data/lib/wx/doc/gen/system_options.rb +6 -6
- data/lib/wx/doc/gen/system_settings.rb +2 -3
- data/lib/wx/doc/gen/task_bar_button.rb +312 -0
- data/lib/wx/doc/gen/task_bar_icon.rb +21 -8
- data/lib/wx/doc/gen/task_bar_icon_event.rb +4 -3
- data/lib/wx/doc/gen/text_attr.rb +20 -5
- data/lib/wx/doc/gen/text_ctrl.rb +92 -27
- data/lib/wx/doc/gen/text_entry.rb +31 -11
- data/lib/wx/doc/gen/text_entry_dialog.rb +2 -2
- data/lib/wx/doc/gen/text_validator.rb +43 -10
- data/lib/wx/doc/gen/time_picker_ctrl.rb +7 -8
- data/lib/wx/doc/gen/timer.rb +6 -2
- data/lib/wx/doc/gen/timer_event.rb +1 -2
- data/lib/wx/doc/gen/tip_provider.rb +1 -1
- data/lib/wx/doc/gen/toggle_button.rb +7 -8
- data/lib/wx/doc/gen/tool_bar.rb +99 -26
- data/lib/wx/doc/gen/tool_tip.rb +35 -5
- data/lib/wx/doc/gen/toolbook.rb +3 -4
- data/lib/wx/doc/gen/top_level_window.rb +71 -25
- data/lib/wx/doc/gen/tree_ctrl.rb +42 -18
- data/lib/wx/doc/gen/tree_event.rb +3 -4
- data/lib/wx/doc/gen/treebook.rb +7 -4
- data/lib/wx/doc/gen/ui_action_simulator.rb +6 -2
- data/lib/wx/doc/gen/utils.rb +39 -7
- data/lib/wx/doc/gen/v_list_box.rb +8 -4
- data/lib/wx/doc/gen/v_scrolled_window.rb +8 -6
- data/lib/wx/doc/gen/validator.rb +1 -1
- data/lib/wx/doc/gen/variant.rb +1 -0
- data/lib/wx/doc/gen/window.rb +200 -50
- data/lib/wx/doc/gen/window_dc.rb +0 -1
- data/lib/wx/doc/gen/window_disabler.rb +5 -2
- data/lib/wx/doc/gen/with_images.rb +6 -1
- data/lib/wx/doc/gen/wizard.rb +4 -4
- data/lib/wx/doc/gen/wizard_event.rb +3 -4
- data/lib/wx/doc/gen/wizard_page.rb +2 -2
- data/lib/wx/doc/gen/wizard_page_simple.rb +1 -1
- data/lib/wx/doc/gen/wrap_sizer.rb +0 -1
- data/lib/wx/doc/gen/xml_node.rb +19 -4
- data/lib/wx/doc/gen/xml_resource.rb +18 -5
- data/lib/wx/doc/graphics_context.rb +1 -0
- data/lib/wx/doc/grid/grid.rb +22 -1
- data/lib/wx/doc/help_controller.rb +11 -7
- data/lib/wx/doc/html/html_help_controller.rb +12 -4
- data/lib/wx/doc/list_ctrl.rb +33 -29
- data/lib/wx/doc/menu.rb +20 -0
- data/lib/wx/doc/notebook.rb +21 -0
- data/lib/wx/doc/pg/events.rb +13 -9
- data/lib/wx/doc/pg/pg_property.rb +18 -0
- data/lib/wx/doc/progress_dialog.rb +36 -32
- data/lib/wx/doc/prt/page_setup_dialog.rb +20 -12
- data/lib/wx/doc/prt/print_data.rb +13 -5
- data/lib/wx/doc/prt/print_dialog.rb +31 -23
- data/lib/wx/doc/prt/printer.rb +20 -12
- data/lib/wx/doc/radio_box.rb +19 -15
- data/lib/wx/doc/rbn/ribbon_bar.rb +13 -5
- data/lib/wx/doc/rbn/ribbon_button_bar.rb +13 -5
- data/lib/wx/doc/rbn/ribbon_gallery.rb +13 -5
- data/lib/wx/doc/rbn/ribbon_tool_bar.rb +13 -5
- data/lib/wx/doc/region_iterator.rb +32 -28
- data/lib/wx/doc/rtc/rich_text_composite_object.rb +24 -0
- data/lib/wx/doc/rtc/rich_text_ctrl.rb +24 -0
- data/lib/wx/doc/rtc/rich_text_paragraph.rb +24 -0
- data/lib/wx/doc/rtc/richtext_buffer.rb +27 -19
- data/lib/wx/doc/rtc/richtext_printing.rb +17 -9
- data/lib/wx/doc/rtc/richtext_style_sheet.rb +17 -9
- data/lib/wx/doc/sizer.rb +20 -0
- data/lib/wx/doc/stc/styled_text_ctrl.rb +24 -0
- data/lib/wx/doc/stream.rb +39 -35
- data/lib/wx/doc/system_settings.rb +30 -26
- data/lib/wx/doc/text_validator.rb +12 -8
- data/lib/wx/doc/textctrl.rb +16 -0
- data/lib/wx/doc/tree_ctrl.rb +95 -0
- data/lib/wx/doc/treebook.rb +9 -5
- data/lib/wx/doc/v_list_box.rb +9 -5
- data/lib/wx/doc/variant.rb +164 -160
- data/lib/wx/doc/window.rb +57 -42
- data/lib/wx/doc/window_disabler.rb +10 -6
- data/lib/wx/grid/grid.rb +27 -4
- data/lib/wx/keyword_defs.rb +43 -6
- data/lib/wx/pg/pg_property.rb +22 -0
- data/lib/wx/rtc/require.rb +3 -0
- data/lib/wx/rtc/rich_text_composite_object.rb +25 -0
- data/lib/wx/rtc/rich_text_ctrl.rb +25 -0
- data/lib/wx/rtc/rich_text_paragraph.rb +25 -0
- data/lib/wx/stc/require.rb +1 -0
- data/lib/wx/stc/styled_text_ctrl.rb +25 -0
- data/lib/wx/version.rb +1 -1
- 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/lib/config/linux.rb +0 -3
- data/rakelib/lib/config/macosx.rb +1 -1
- data/rakelib/lib/config/mingw.rb +1 -1
- data/rakelib/lib/config/unixish.rb +1 -1
- data/rakelib/lib/config.rb +14 -4
- data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +74 -2
- data/rakelib/yard/templates/default/fulldoc/html/full_list.erb +38 -0
- data/rakelib/yard/templates/default/fulldoc/html/setup.rb +39 -0
- data/rakelib/yard/templates/default/tags/html/wxrb_require.erb +10 -0
- data/rakelib/yard/templates/default/tags/setup.rb +16 -0
- data/rakelib/yard/yard-custom-templates.rb +3 -0
- data/samples/text/richtext.rb +0 -30
- data/samples/treectrl/treectrl.rb +1 -1
- data/tests/media/beep_lo.wav +0 -0
- data/tests/test_app_exit_exception.rb +36 -0
- data/tests/test_app_init_exception.rb +20 -0
- data/tests/test_book_controls.rb +29 -0
- data/tests/test_exceptions.rb +41 -0
- data/tests/test_list_ctrl.rb +1 -1
- data/tests/test_media_ctrl.rb +38 -0
- data/tests/test_menu.rb +69 -0
- data/tests/test_pg.rb +27 -0
- data/tests/test_richtext.rb +45 -0
- data/tests/test_sizer.rb +59 -0
- data/tests/test_std_controls.rb +78 -1
- data/tests/test_styled_text_ctrl.rb +46 -0
- data/tests/test_tree_ctrl.rb +138 -0
- data/tests/test_window.rb +12 -0
- data/tests/testapp_noframe.rb +1 -1
- metadata +38 -3
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
def wxrb_require
|
4
|
+
erb('wxrb_require')
|
5
|
+
end
|
6
|
+
|
7
|
+
def wxruby_requires
|
8
|
+
object.tags(:wxrb_require).inject([]) do |list, tag|
|
9
|
+
tag.text.split(',').each do |feature|
|
10
|
+
list << feature.split('|').collect do |s|
|
11
|
+
s.split('&').collect { |ss| %Q[<span class="wxrb-require">#{ss.strip}</span>] }.join('&')
|
12
|
+
end
|
13
|
+
end
|
14
|
+
list
|
15
|
+
end
|
16
|
+
end
|
data/samples/text/richtext.rb
CHANGED
@@ -1432,36 +1432,6 @@ class MyFrame < Wx::Frame
|
|
1432
1432
|
|
1433
1433
|
end
|
1434
1434
|
|
1435
|
-
# Forward command events to the current rich text control, if any
|
1436
|
-
def try_before(event)
|
1437
|
-
if event.is_command_event && !event.is_a?(Wx::ChildFocusEvent)
|
1438
|
-
# Problem: we can get infinite recursion because the events
|
1439
|
-
# climb back up to this frame, and repeat.
|
1440
|
-
# Assume that command events don't cause another command event
|
1441
|
-
# to be called, so we can rely on inCommand not being overwritten
|
1442
|
-
|
1443
|
-
if MyFrame.win_id != event.id && MyFrame.event_type != event.event_type
|
1444
|
-
MyFrame.event_type = event.event_type
|
1445
|
-
MyFrame.win_id = event.id
|
1446
|
-
focusWin = Wx.find_focus_descendant(self)
|
1447
|
-
focusWin = @richTextCtrl unless focusWin
|
1448
|
-
|
1449
|
-
if focusWin && focusWin.get_event_handler.process_event(event)
|
1450
|
-
MyFrame.event_type = 0
|
1451
|
-
MyFrame.win_id = 0
|
1452
|
-
return true
|
1453
|
-
end
|
1454
|
-
|
1455
|
-
MyFrame.event_type = 0
|
1456
|
-
MyFrame.win_id = 0
|
1457
|
-
else
|
1458
|
-
return false
|
1459
|
-
end
|
1460
|
-
end
|
1461
|
-
|
1462
|
-
false
|
1463
|
-
end
|
1464
|
-
|
1465
1435
|
# Write text
|
1466
1436
|
def write_initial_text
|
1467
1437
|
r = @richTextCtrl
|
Binary file
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
2
|
+
#
|
3
|
+
# This software is released under the MIT license.
|
4
|
+
|
5
|
+
require 'test/unit'
|
6
|
+
require 'wx'
|
7
|
+
|
8
|
+
class TestApp < Test::Unit::TestCase
|
9
|
+
|
10
|
+
class TestFrame < Wx::Frame
|
11
|
+
def initialize
|
12
|
+
super(nil, -1, '')
|
13
|
+
evt_paint { on_paint }
|
14
|
+
end
|
15
|
+
|
16
|
+
def on_paint
|
17
|
+
paint {}
|
18
|
+
close
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class TestApp < Wx::App
|
23
|
+
def on_init
|
24
|
+
TestFrame.new.show
|
25
|
+
end
|
26
|
+
|
27
|
+
def on_exit
|
28
|
+
raise RuntimeError, 'on_exit exception'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_self_closing_frame
|
33
|
+
assert_raise_kind_of(RuntimeError) { TestApp.run }
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
2
|
+
#
|
3
|
+
# This software is released under the MIT license.
|
4
|
+
|
5
|
+
require 'test/unit'
|
6
|
+
require 'wx'
|
7
|
+
|
8
|
+
class AppInitExitExceptions < Test::Unit::TestCase
|
9
|
+
|
10
|
+
class TestApp < Wx::App
|
11
|
+
def on_init
|
12
|
+
raise RuntimeError, 'on_init exception'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_on_init_exception
|
17
|
+
assert_raise_kind_of(RuntimeError) { TestApp.run }
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
2
|
+
#
|
3
|
+
# This software is released under the MIT license.
|
4
|
+
|
5
|
+
require_relative './lib/wxframe_runner'
|
6
|
+
|
7
|
+
class BookCtrlTests < WxRuby::Test::GUITests
|
8
|
+
|
9
|
+
def setup
|
10
|
+
super
|
11
|
+
@book = Wx::Choicebook.new(frame_win, name: 'ChoiceBook')
|
12
|
+
end
|
13
|
+
|
14
|
+
def cleanup
|
15
|
+
@book.destroy
|
16
|
+
super
|
17
|
+
GC.start
|
18
|
+
end
|
19
|
+
|
20
|
+
attr_reader :book
|
21
|
+
|
22
|
+
def test_control_sizer
|
23
|
+
btn = Wx::Button.new(book, Wx::ID_ANY, 'First')
|
24
|
+
# issue #199 : returning the control sizer should not cause it to be owned by Ruby
|
25
|
+
# because that would cause double deletes
|
26
|
+
book.get_control_sizer.add(btn, Wx::SizerFlags.new.expand.border(Wx::ALL))
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
2
|
+
#
|
3
|
+
# This software is released under the MIT license.
|
4
|
+
|
5
|
+
require_relative './lib/wxframe_runner'
|
6
|
+
|
7
|
+
class DirectorExceptionTests < WxRuby::Test::GUITests
|
8
|
+
|
9
|
+
class InvalidOutputSizer < Wx::BoxSizer
|
10
|
+
|
11
|
+
def calc_min
|
12
|
+
Wx::Point.new(1,1) # expects Wx::Size
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_invalid_output
|
18
|
+
szr = InvalidOutputSizer.new(Wx::Orientation::VERTICAL)
|
19
|
+
szr.add(Wx::Button.new(frame_win, name: 'button'), Wx::Direction::TOP)
|
20
|
+
frame_win.sizer = szr
|
21
|
+
assert_raise_kind_of(TypeError) { frame_win.layout }
|
22
|
+
frame_win.sizer = nil
|
23
|
+
end
|
24
|
+
|
25
|
+
class ExceptionSizer < Wx::BoxSizer
|
26
|
+
|
27
|
+
def calc_min
|
28
|
+
raise RuntimeError, 'AnyThing'
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_exception_in_overload
|
34
|
+
szr = ExceptionSizer.new(Wx::Orientation::VERTICAL)
|
35
|
+
szr.add(Wx::Button.new(frame_win, name: 'button'), Wx::Direction::TOP)
|
36
|
+
frame_win.sizer = szr
|
37
|
+
assert_raise_kind_of(RuntimeError) { frame_win.layout }
|
38
|
+
frame_win.sizer = nil
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
data/tests/test_list_ctrl.rb
CHANGED
@@ -0,0 +1,38 @@
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
2
|
+
#
|
3
|
+
# This software is released under the MIT license.
|
4
|
+
|
5
|
+
require_relative './lib/wxframe_runner'
|
6
|
+
|
7
|
+
# test seems to deadlock for WXGTK
|
8
|
+
if Wx.has_feature?(:USE_MEDIACTRL)
|
9
|
+
|
10
|
+
require 'uri'
|
11
|
+
|
12
|
+
class MediaCtrlTests < WxRuby::Test::GUITests
|
13
|
+
|
14
|
+
def setup
|
15
|
+
super
|
16
|
+
@media = Wx::MediaCtrl.new(frame_win)
|
17
|
+
end
|
18
|
+
|
19
|
+
def cleanup
|
20
|
+
@media.destroy
|
21
|
+
super
|
22
|
+
end
|
23
|
+
|
24
|
+
attr_reader :media
|
25
|
+
|
26
|
+
def test_uri
|
27
|
+
# just checking if Ruby URI is properly mapped
|
28
|
+
# it doesn't seem the mediactrl returns a very consistent result whether the resource is not a media file
|
29
|
+
# or if it is a non-existing file so only check whether it is a boolean return.
|
30
|
+
uri = URI("file://#{File.join(__dir__, 'media/beep_lo.wav')}")
|
31
|
+
assert_boolean(media.load(uri))
|
32
|
+
uri = URI("file://#{File.join(__dir__, 'art/test_art/image/wxruby.png')}")
|
33
|
+
assert_boolean(media.load(uri))
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
data/tests/test_menu.rb
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
2
|
+
#
|
3
|
+
# This software is released under the MIT license.
|
4
|
+
|
5
|
+
require_relative './lib/wxframe_runner'
|
6
|
+
|
7
|
+
class MenuTests < WxRuby::Test::GUITests
|
8
|
+
|
9
|
+
def setup
|
10
|
+
super
|
11
|
+
@menu = Wx::Menu.new
|
12
|
+
@menu.append(Wx::ID_HIGHEST+1, 'Item 1', 'Test menuitem 1')
|
13
|
+
@menu.append(Wx::ID_HIGHEST+2, 'Item 2', 'Test menuitem 2')
|
14
|
+
@menu.append_separator
|
15
|
+
@menu.append_check_item(Wx::ID_HIGHEST+3, 'Check 3', 'Test menuitem 3')
|
16
|
+
@menu.append_separator
|
17
|
+
@menu.append_radio_item(Wx::ID_HIGHEST+4, 'Radio 4', 'Test menuitem 4')
|
18
|
+
@menu.append_radio_item(Wx::ID_HIGHEST+5, 'Radio 5', 'Test menuitem 5')
|
19
|
+
@menu.append_radio_item(Wx::ID_HIGHEST+6, 'Radio 6', 'Test menuitem 6')
|
20
|
+
frame_win.menu_bar = Wx::MenuBar.new
|
21
|
+
frame_win.menu_bar.append(@menu, "&Test")
|
22
|
+
end
|
23
|
+
|
24
|
+
def cleanup
|
25
|
+
frame_win.menu_bar = nil
|
26
|
+
super
|
27
|
+
end
|
28
|
+
|
29
|
+
attr_reader :menu
|
30
|
+
|
31
|
+
def test_basic
|
32
|
+
assert_equal(8, menu.get_menu_item_count)
|
33
|
+
check, pos = menu.find_child_item(Wx::ID_HIGHEST+3)
|
34
|
+
assert_not_nil(check)
|
35
|
+
assert_equal(3, pos)
|
36
|
+
assert_equal('Check 3', check.item_label)
|
37
|
+
assert_false(check.checked?)
|
38
|
+
check.check
|
39
|
+
assert_true(check.checked?)
|
40
|
+
radio, pos = menu.find_child_item(Wx::ID_HIGHEST+5)
|
41
|
+
assert_not_nil(radio)
|
42
|
+
assert_equal(6, pos)
|
43
|
+
assert_equal('Radio 5', radio.item_label)
|
44
|
+
assert_false(radio.checked?)
|
45
|
+
radio.check
|
46
|
+
assert_true(radio.checked?)
|
47
|
+
radio, pos = menu.find_child_item(Wx::ID_HIGHEST+4)
|
48
|
+
assert_false(radio.checked?)
|
49
|
+
radio, pos = menu.find_child_item(Wx::ID_HIGHEST+6)
|
50
|
+
assert_false(radio.checked?)
|
51
|
+
radio.check
|
52
|
+
assert_true(radio.checked?)
|
53
|
+
radio, pos = menu.find_child_item(Wx::ID_HIGHEST+5)
|
54
|
+
assert_false(radio.checked?)
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_enumerate
|
58
|
+
radio, pos = menu.find_child_item(Wx::ID_HIGHEST+4)
|
59
|
+
assert_true(radio.checked?) # first by default checked
|
60
|
+
menu.each_item do |mi|
|
61
|
+
mi.check if mi.id == (Wx::ID_HIGHEST+5)
|
62
|
+
end
|
63
|
+
radio, pos = menu.find_child_item(Wx::ID_HIGHEST+4)
|
64
|
+
assert_false(radio.checked?)
|
65
|
+
radio = menu.each_item.detect { |mi| mi.id == (Wx::ID_HIGHEST+5) }
|
66
|
+
assert_true(radio.checked?)
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
data/tests/test_pg.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
2
|
+
#
|
3
|
+
# This software is released under the MIT license.
|
4
|
+
|
5
|
+
require_relative './lib/wxframe_runner'
|
6
|
+
|
7
|
+
class PGChoicesTests < WxRuby::Test::GUITests
|
8
|
+
|
9
|
+
def test_enum_labels
|
10
|
+
texts = %w[Red Blue Green Yellow Black White]
|
11
|
+
choices = Wx::PG::PGChoices.new(texts)
|
12
|
+
choices.each_label { |lbl| assert_equal(texts.shift, lbl) }
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_enum_entries
|
16
|
+
texts = %w[Flag1 Flag2 Flag3 Flag4]
|
17
|
+
choices = Wx::PG::PGChoices.new
|
18
|
+
texts.each_with_index do |s, i|
|
19
|
+
choices.add(s, 1 << i)
|
20
|
+
end
|
21
|
+
choices.each_entry.each_with_index do |entry, ix|
|
22
|
+
assert_equal(1 << ix, entry.value)
|
23
|
+
assert_equal(texts[ix], entry.get_text)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
data/tests/test_richtext.rb
CHANGED
@@ -67,6 +67,51 @@ class RichTextCtrlWriteTests < WxRuby::Test::GUITests
|
|
67
67
|
assert_equal('Second Line', richtext.get_line_text(1))
|
68
68
|
end
|
69
69
|
|
70
|
+
def test_enumerate_lines
|
71
|
+
richtext.write_text <<~__HEREDOC
|
72
|
+
This is line 1.
|
73
|
+
This is line 2.
|
74
|
+
This is line 3.
|
75
|
+
__HEREDOC
|
76
|
+
assert_equal(4, richtext.get_number_of_lines)
|
77
|
+
richtext.each_line.each_with_index do |txt, lnr|
|
78
|
+
if lnr < 3
|
79
|
+
assert("This is line #{lnr+1}.", txt)
|
80
|
+
else
|
81
|
+
assert('', txt)
|
82
|
+
end
|
83
|
+
end
|
84
|
+
line_enum = richtext.each_line
|
85
|
+
txt = line_enum.detect { |l| l.index('2') }
|
86
|
+
assert_equal('This is line 2.', txt)
|
87
|
+
para = richtext.buffer.get_child_at_position(0)
|
88
|
+
assert_kind_of(Wx::RTC::RichTextParagraph, para)
|
89
|
+
assert_equal(1, para.get_lines.size)
|
90
|
+
para.each_line do |rtl|
|
91
|
+
txt = para.get_text_for_range(rtl.get_range)
|
92
|
+
assert("This is line 1.", txt)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
def test_enumerate_children
|
97
|
+
richtext.write_text <<~__HEREDOC
|
98
|
+
This is line 1.
|
99
|
+
This is line 2.
|
100
|
+
This is line 3.
|
101
|
+
__HEREDOC
|
102
|
+
richtext.write_image(Wx.Bitmap(:wxruby, Wx::BitmapType::BITMAP_TYPE_PNG, art_section: 'test_art'))
|
103
|
+
assert_equal(4, richtext.buffer.get_child_count)
|
104
|
+
richtext.buffer.each_child.each_with_index do |c, i|
|
105
|
+
if i<3
|
106
|
+
assert_kind_of(Wx::RTC::RichTextParagraph, c)
|
107
|
+
assert_equal(1, c.get_lines.size)
|
108
|
+
else
|
109
|
+
assert_equal(1, c.get_child_count)
|
110
|
+
c.each_child { |cc| assert_kind_of(Wx::RTC::RichTextImage, cc) }
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
70
115
|
def test_write_image
|
71
116
|
assert_nothing_raised { richtext.write_image(Wx.Bitmap(:wxruby, Wx::BitmapType::BITMAP_TYPE_PNG, art_section: 'test_art')) }
|
72
117
|
img_obj = richtext.buffer.get_leaf_object_at_position(0)
|
data/tests/test_sizer.rb
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
2
|
+
#
|
3
|
+
# This software is released under the MIT license.
|
4
|
+
|
5
|
+
require_relative './lib/wxframe_runner'
|
6
|
+
|
7
|
+
class SizerTests < WxRuby::Test::GUITests
|
8
|
+
|
9
|
+
def setup
|
10
|
+
super
|
11
|
+
frame_win.set_sizer(Wx::VBoxSizer.new)
|
12
|
+
end
|
13
|
+
|
14
|
+
def cleanup
|
15
|
+
super
|
16
|
+
GC.start
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_detach
|
20
|
+
frame_win.get_sizer.add(Wx::HBoxSizer.new)
|
21
|
+
frame_win.get_sizer.add_spacer(5)
|
22
|
+
# detaches HBoxSizer transferring ownership to Ruby; should not cause segfaults at GC
|
23
|
+
frame_win.get_sizer.detach(0)
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_sizer_item_detach_and_re_attach
|
27
|
+
frame_win.get_sizer.add(Wx::HBoxSizer.new)
|
28
|
+
frame_win.get_sizer.add_spacer(5)
|
29
|
+
# get and detach
|
30
|
+
szr_itm = frame_win.get_sizer.get_item(0)
|
31
|
+
assert_not_nil(szr_itm)
|
32
|
+
assert_true(szr_itm.is_sizer)
|
33
|
+
szr = szr_itm.get_sizer
|
34
|
+
assert_not_nil(szr)
|
35
|
+
szr_itm.detach_sizer
|
36
|
+
assert_nil(szr_itm.get_sizer)
|
37
|
+
# remove sizer item
|
38
|
+
assert_true(frame_win.get_sizer.remove(0))
|
39
|
+
# re-attach detached sizer (should not cause segfaults at close due to incorrect ownership transfers)
|
40
|
+
assert_not_nil(frame_win.get_sizer.prepend(szr))
|
41
|
+
end
|
42
|
+
|
43
|
+
def test_children
|
44
|
+
frame_win.get_sizer.add(Wx::HBoxSizer.new)
|
45
|
+
frame_win.get_sizer.add_spacer(5)
|
46
|
+
frame_win.get_sizer.add(Wx::VBoxSizer.new)
|
47
|
+
|
48
|
+
assert_equal(3, frame_win.sizer.item_count)
|
49
|
+
children = frame_win.sizer.get_children
|
50
|
+
assert_equal(3, children.size)
|
51
|
+
assert_true(children[0].sizer?)
|
52
|
+
assert_true(children[1].spacer?)
|
53
|
+
assert_true(children[2].sizer?)
|
54
|
+
frame_win.sizer.each_child do |si|
|
55
|
+
assert_equal(children.shift, si)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
data/tests/test_std_controls.rb
CHANGED
@@ -111,6 +111,34 @@ class TextCtrlTests < WxRuby::Test::GUITests
|
|
111
111
|
assert_equal('', text.get_value)
|
112
112
|
end
|
113
113
|
|
114
|
+
def test_stream_append
|
115
|
+
text << 'This is the number ' << 101 << '.'
|
116
|
+
assert_equal('This is the number 101.', text.get_value)
|
117
|
+
end
|
118
|
+
|
119
|
+
def test_enumerate_lines
|
120
|
+
text.destroy
|
121
|
+
@text = Wx::TextCtrl.new(frame_win, style: Wx::TE_MULTILINE, name: 'Text')
|
122
|
+
text << <<~__HEREDOC
|
123
|
+
This is line 1.
|
124
|
+
This is line 2.
|
125
|
+
This is line 3.
|
126
|
+
__HEREDOC
|
127
|
+
assert_equal(4, text.get_number_of_lines)
|
128
|
+
text.each_line.each_with_index do |txt, lnr|
|
129
|
+
if lnr < 3
|
130
|
+
assert("This is line #{lnr+1}.", txt)
|
131
|
+
else
|
132
|
+
assert('', txt)
|
133
|
+
end
|
134
|
+
end
|
135
|
+
txt = text.each_line { |l| break l if l.index('2')}
|
136
|
+
assert_equal('This is line 2.', txt)
|
137
|
+
line_enum = text.each_line
|
138
|
+
txt = line_enum.detect { |l| l.index('3') }
|
139
|
+
assert_equal('This is line 3.', txt)
|
140
|
+
end
|
141
|
+
|
114
142
|
if has_ui_simulator?
|
115
143
|
def test_max_length
|
116
144
|
sim = get_ui_simulator
|
@@ -165,7 +193,7 @@ class ComboBoxTests < WxRuby::Test::GUITests
|
|
165
193
|
def setup
|
166
194
|
super
|
167
195
|
@combo = Wx::ComboBox.new(frame_win, name: 'ComboBox', choices: %w[One Two Three])
|
168
|
-
@combo.clear
|
196
|
+
@combo.value = '' # don't use #clear as that also clears the choices
|
169
197
|
end
|
170
198
|
|
171
199
|
def cleanup
|
@@ -180,6 +208,19 @@ class ComboBoxTests < WxRuby::Test::GUITests
|
|
180
208
|
assert_equal('', combo.get_value)
|
181
209
|
end
|
182
210
|
|
211
|
+
def test_enumerate
|
212
|
+
strings = combo.get_strings
|
213
|
+
combo.each_string.each_with_index do |str, ix|
|
214
|
+
assert_equal(strings[ix], str)
|
215
|
+
end
|
216
|
+
combo.each_string { |s| assert_equal(strings.shift, s)}
|
217
|
+
str_enum = combo.each_string
|
218
|
+
assert_kind_of(::Enumerator, str_enum)
|
219
|
+
assert_true(str_enum.any? { |s| s == 'Three'})
|
220
|
+
assert_true(combo.each_string.none? { |s| s == 'Four'})
|
221
|
+
assert_equal('BREAK', combo.each_string { |_| break 'BREAK' })
|
222
|
+
end
|
223
|
+
|
183
224
|
end
|
184
225
|
|
185
226
|
class CheckBoxTests < WxRuby::Test::GUITests
|
@@ -439,3 +480,39 @@ class GaugeTests < WxRuby::Test::GUITests
|
|
439
480
|
assert_equal(100, gauge.value)
|
440
481
|
end
|
441
482
|
end
|
483
|
+
|
484
|
+
class StaticBoxTests < WxRuby::Test::GUITests
|
485
|
+
|
486
|
+
def setup
|
487
|
+
super
|
488
|
+
@box = nil
|
489
|
+
end
|
490
|
+
|
491
|
+
def cleanup
|
492
|
+
@box.destroy if @box
|
493
|
+
super
|
494
|
+
end
|
495
|
+
|
496
|
+
attr_reader :box
|
497
|
+
|
498
|
+
def test_basic
|
499
|
+
@box = Wx::StaticBox.new(frame_win, label: 'Box')
|
500
|
+
|
501
|
+
txt = Wx::StaticText.new(box, Wx::ID_ANY, "This window is a child of the staticbox")
|
502
|
+
assert_equal(box, txt.parent)
|
503
|
+
end
|
504
|
+
|
505
|
+
unless Wx::PLATFORM == 'WXOSX'
|
506
|
+
|
507
|
+
def test_label_window
|
508
|
+
check = Wx::CheckBox.new(frame_win, Wx::ID_ANY, 'Enable')
|
509
|
+
@box = Wx::StaticBox.new(frame_win, label: check)
|
510
|
+
|
511
|
+
button = Wx::Button.new(box, label: 'Button')
|
512
|
+
box.enable(false)
|
513
|
+
assert_false(button.is_enabled)
|
514
|
+
end
|
515
|
+
|
516
|
+
end
|
517
|
+
|
518
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
2
|
+
#
|
3
|
+
# This software is released under the MIT license.
|
4
|
+
|
5
|
+
require_relative './lib/wxframe_runner'
|
6
|
+
|
7
|
+
class StyledTextCtrlTests < WxRuby::Test::GUITests
|
8
|
+
|
9
|
+
def setup
|
10
|
+
super
|
11
|
+
@text = Wx::STC::StyledTextCtrl.new(frame_win, name: 'StyledText')
|
12
|
+
end
|
13
|
+
|
14
|
+
def cleanup
|
15
|
+
@text.destroy
|
16
|
+
super
|
17
|
+
end
|
18
|
+
|
19
|
+
attr_reader :text
|
20
|
+
|
21
|
+
def test_text
|
22
|
+
assert_equal('', text.get_value)
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_enumerate_lines
|
26
|
+
text.write_text <<~__HEREDOC
|
27
|
+
This is line 1.
|
28
|
+
This is line 2.
|
29
|
+
This is line 3.
|
30
|
+
__HEREDOC
|
31
|
+
assert_equal(4, text.get_number_of_lines)
|
32
|
+
text.each_line.each_with_index do |txt, lnr|
|
33
|
+
if lnr < 3
|
34
|
+
assert("This is line #{lnr+1}.", txt)
|
35
|
+
else
|
36
|
+
assert('', txt)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
txt = text.each_line { |l| break l if l.index('2')}
|
40
|
+
assert_equal('This is line 2.', txt)
|
41
|
+
line_enum = text.each_line
|
42
|
+
txt = line_enum.detect { |l| l.index('3') }
|
43
|
+
assert_equal('This is line 3.', txt)
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|