wxruby3 0.9.0-x64-mingw-ucrt → 0.9.2-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/.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
|