wxruby3 1.6.0 → 1.7.0
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/CREDITS.md +32 -25
- data/INSTALL.md +21 -6
- data/README.md +5 -5
- data/assets/repo-social-preview.odg +0 -0
- data/assets/repo-social-preview.xcf +0 -0
- data/ext/wxruby3/include/wxRubyApp.h +58 -45
- data/ext/wxruby3/include/wxruby-runtime.h +78 -1
- data/ext/wxruby3/swig/common.i +2 -2
- data/ext/wxruby3/swig/custom/director.swg +2 -2
- data/ext/wxruby3/swig/custom/rubyprimtypes.swg +59 -15
- data/ext/wxruby3/swig/custom/rubyrun.swg +4 -0
- data/ext/wxruby3/swig/custom/rubytracking.swg +4 -0
- data/ext/wxruby3/swig/custom/swiglabels.swg +129 -0
- data/ext/wxruby3/swig/custom/swigrun.swg +15 -0
- data/ext/wxruby3/swig/custom/typemaps/swigtypemaps.swg +20 -0
- data/ext/wxruby3/swig/mark_free_impl.i +154 -88
- data/ext/wxruby3/swig/memory_management.i +1 -0
- data/ext/wxruby3/swig/wx.i +73 -44
- data/lib/wx/aui/events/evt_list.rb +148 -0
- data/lib/wx/aui/require.rb +0 -1
- data/lib/wx/core/calendar_ctrl.rb +15 -0
- data/lib/wx/core/clipboard.rb +9 -13
- data/lib/wx/core/config.rb +1 -1
- data/lib/wx/core/events/evt_list.rb +1458 -0
- data/lib/wx/core/font/encoding.rb +113 -0
- data/lib/wx/core/generic_validator.rb +83 -31
- data/lib/wx/core/tipwindow.rb +16 -0
- data/lib/wx/core/variant.rb +6 -0
- data/lib/wx/doc/aui/auitabctrl.rb +35 -0
- data/lib/wx/doc/config.rb +2 -2
- data/lib/wx/doc/functions.rb +1 -1
- data/lib/wx/doc/gen/about_dialog_info.rb +330 -0
- data/lib/wx/doc/gen/accelerator.rb +178 -0
- data/lib/wx/doc/gen/activity_indicator.rb +83 -0
- data/lib/wx/doc/gen/affine_matrix2d.rb +284 -0
- data/lib/wx/doc/gen/animation.rb +275 -0
- data/lib/wx/doc/gen/animation_ctrl.rb +300 -0
- data/lib/wx/doc/gen/any_button.rb +191 -0
- data/lib/wx/doc/gen/app.rb +463 -0
- data/lib/wx/doc/gen/app_traits.rb +396 -0
- data/lib/wx/doc/gen/art_provider.rb +605 -0
- data/lib/wx/doc/gen/aui/aui_dock_art.rb +455 -0
- data/lib/wx/doc/gen/aui/aui_floating_frame.rb +54 -0
- data/lib/wx/doc/gen/aui/aui_manager.rb +847 -0
- data/lib/wx/doc/gen/aui/aui_manager_event.rb +131 -0
- data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +180 -0
- data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +59 -0
- data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +130 -0
- data/lib/wx/doc/gen/aui/aui_notebook.rb +631 -0
- data/lib/wx/doc/gen/aui/aui_notebook_event.rb +233 -0
- data/lib/wx/doc/gen/aui/aui_pane_info.rb +769 -0
- data/lib/wx/doc/gen/aui/aui_tab_art.rb +352 -0
- data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +14 -0
- data/lib/wx/doc/gen/aui/aui_tool_bar.rb +510 -0
- data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +340 -0
- data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +244 -0
- data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +257 -0
- data/lib/wx/doc/gen/aui/event_list.rb +179 -0
- data/lib/wx/doc/gen/banner_window.rb +124 -0
- data/lib/wx/doc/gen/bitmap.rb +731 -0
- data/lib/wx/doc/gen/bitmap_button.rb +123 -0
- data/lib/wx/doc/gen/bitmap_combo_box.rb +221 -0
- data/lib/wx/doc/gen/book_ctrl_base.rb +273 -0
- data/lib/wx/doc/gen/book_ctrl_event.rb +66 -0
- data/lib/wx/doc/gen/box_sizer.rb +85 -0
- data/lib/wx/doc/gen/brush.rb +251 -0
- data/lib/wx/doc/gen/busy_info.rb +157 -0
- data/lib/wx/doc/gen/button.rb +182 -0
- data/lib/wx/doc/gen/calculate_layout_event.rb +62 -0
- data/lib/wx/doc/gen/calendar_ctrl.rb +505 -0
- data/lib/wx/doc/gen/calendar_date_attr.rb +138 -0
- data/lib/wx/doc/gen/calendar_event.rb +147 -0
- data/lib/wx/doc/gen/caret.rb +97 -0
- data/lib/wx/doc/gen/check_box.rb +175 -0
- data/lib/wx/doc/gen/check_list_box.rb +121 -0
- data/lib/wx/doc/gen/choice.rb +175 -0
- data/lib/wx/doc/gen/choicebook.rb +116 -0
- data/lib/wx/doc/gen/client_dc.rb +43 -0
- data/lib/wx/doc/gen/clipboard.rb +144 -0
- data/lib/wx/doc/gen/collapsible_pane.rb +138 -0
- data/lib/wx/doc/gen/collapsible_pane_event.rb +46 -0
- data/lib/wx/doc/gen/colour.rb +333 -0
- data/lib/wx/doc/gen/colour_dialog.rb +190 -0
- data/lib/wx/doc/gen/colour_picker_ctrl.rb +110 -0
- data/lib/wx/doc/gen/colour_picker_event.rb +77 -0
- data/lib/wx/doc/gen/combo_box.rb +292 -0
- data/lib/wx/doc/gen/combo_ctrl.rb +662 -0
- data/lib/wx/doc/gen/command_link_button.rb +134 -0
- data/lib/wx/doc/gen/config_base.rb +10 -0
- data/lib/wx/doc/gen/context_help_button.rb +109 -0
- data/lib/wx/doc/gen/control.rb +277 -0
- data/lib/wx/doc/gen/control_with_items.rb +253 -0
- data/lib/wx/doc/gen/core.rb +45 -0
- data/lib/wx/doc/gen/credential_entry_dialog.rb +137 -0
- data/lib/wx/doc/gen/cursor.rb +193 -0
- data/lib/wx/doc/gen/data_format.rb +85 -0
- data/lib/wx/doc/gen/data_object.rb +436 -0
- data/lib/wx/doc/gen/data_object_simple_base.rb +10 -0
- data/lib/wx/doc/gen/date_event.rb +49 -0
- data/lib/wx/doc/gen/date_picker_ctrl.rb +161 -0
- data/lib/wx/doc/gen/dc.rb +1631 -0
- data/lib/wx/doc/gen/dc_overlay.rb +102 -0
- data/lib/wx/doc/gen/defs.rb +2802 -0
- data/lib/wx/doc/gen/dial_up_event.rb +45 -0
- data/lib/wx/doc/gen/dial_up_manager.rb +149 -0
- data/lib/wx/doc/gen/dialog.rb +541 -0
- data/lib/wx/doc/gen/dir_dialog.rb +164 -0
- data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +90 -0
- data/lib/wx/doc/gen/dir_picker_ctrl.rb +125 -0
- data/lib/wx/doc/gen/display.rb +238 -0
- data/lib/wx/doc/gen/drag_drop.rb +299 -0
- data/lib/wx/doc/gen/drag_image.rb +116 -0
- data/lib/wx/doc/gen/editable_list_box.rb +109 -0
- data/lib/wx/doc/gen/event.rb +990 -0
- data/lib/wx/doc/gen/event_blocker.rb +50 -0
- data/lib/wx/doc/gen/event_filter.rb +92 -0
- data/lib/wx/doc/gen/event_list.rb +1644 -0
- data/lib/wx/doc/gen/events.rb +2809 -0
- data/lib/wx/doc/gen/evt_handler.rb +229 -0
- data/lib/wx/doc/gen/ext_help_controller.rb +109 -0
- data/lib/wx/doc/gen/file_ctrl.rb +231 -0
- data/lib/wx/doc/gen/file_ctrl_event.rb +83 -0
- data/lib/wx/doc/gen/file_dialog.rb +353 -0
- data/lib/wx/doc/gen/file_dialog_custom_control.rb +165 -0
- data/lib/wx/doc/gen/file_dialog_customize_hook.rb +158 -0
- data/lib/wx/doc/gen/file_dir_picker_event.rb +100 -0
- data/lib/wx/doc/gen/file_picker_ctrl.rb +132 -0
- data/lib/wx/doc/gen/file_system.rb +232 -0
- data/lib/wx/doc/gen/find_dialog_event.rb +126 -0
- data/lib/wx/doc/gen/find_replace_data.rb +60 -0
- data/lib/wx/doc/gen/find_replace_dialog.rb +58 -0
- data/lib/wx/doc/gen/flex_grid_sizer.rb +199 -0
- data/lib/wx/doc/gen/font.rb +1379 -0
- data/lib/wx/doc/gen/font_data.rb +151 -0
- data/lib/wx/doc/gen/font_dialog.rb +88 -0
- data/lib/wx/doc/gen/font_picker_ctrl.rb +143 -0
- data/lib/wx/doc/gen/font_picker_event.rb +65 -0
- data/lib/wx/doc/gen/frame.rb +352 -0
- data/lib/wx/doc/gen/fs_file.rb +337 -0
- data/lib/wx/doc/gen/functions.rb +10 -0
- data/lib/wx/doc/gen/gauge.rb +157 -0
- data/lib/wx/doc/gen/gb_sizer_item.rb +68 -0
- data/lib/wx/doc/gen/gcdc.rb +46 -0
- data/lib/wx/doc/gen/gdi_common.rb +1271 -0
- data/lib/wx/doc/gen/gdi_object.rb +31 -0
- data/lib/wx/doc/gen/generic_about_dialog.rb +140 -0
- data/lib/wx/doc/gen/generic_dir_ctrl.rb +223 -0
- data/lib/wx/doc/gen/geometry.rb +661 -0
- data/lib/wx/doc/gen/graphics_context.rb +1184 -0
- data/lib/wx/doc/gen/graphics_object.rb +750 -0
- data/lib/wx/doc/gen/grid/event_list.rb +191 -0
- data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +40 -0
- data/lib/wx/doc/gen/grid/grid_cell_attr.rb +280 -0
- data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +35 -0
- data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +37 -0
- data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +49 -0
- data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +35 -0
- data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +46 -0
- data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +38 -0
- data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +45 -0
- data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +40 -0
- data/lib/wx/doc/gen/grid/grid_cell_editor.rb +197 -0
- data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +39 -0
- data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +44 -0
- data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +45 -0
- data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +79 -0
- data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +46 -0
- data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +35 -0
- data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +108 -0
- data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +35 -0
- data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +49 -0
- data/lib/wx/doc/gen/grid/grid_ctrl.rb +3002 -0
- data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +95 -0
- data/lib/wx/doc/gen/grid/grid_event.rb +129 -0
- data/lib/wx/doc/gen/grid/grid_range_select_event.rb +104 -0
- data/lib/wx/doc/gen/grid/grid_size_event.rb +85 -0
- data/lib/wx/doc/gen/grid/grid_string_table.rb +142 -0
- data/lib/wx/doc/gen/grid/grid_table_base.rb +317 -0
- data/lib/wx/doc/gen/grid/grid_table_message.rb +81 -0
- data/lib/wx/doc/gen/grid_bag_sizer.rb +323 -0
- data/lib/wx/doc/gen/grid_sizer.rb +195 -0
- data/lib/wx/doc/gen/gui_event_loop.rb +159 -0
- data/lib/wx/doc/gen/h_scrolled_window.rb +562 -0
- data/lib/wx/doc/gen/header_ctrl.rb +880 -0
- data/lib/wx/doc/gen/header_ctrl_event.rb +133 -0
- data/lib/wx/doc/gen/help_controller.rb +195 -0
- data/lib/wx/doc/gen/help_provider.rb +98 -0
- data/lib/wx/doc/gen/html/event_list.rb +38 -0
- data/lib/wx/doc/gen/html/html_cell.rb +536 -0
- data/lib/wx/doc/gen/html/html_cell_event.rb +69 -0
- data/lib/wx/doc/gen/html/html_data_object.rb +42 -0
- data/lib/wx/doc/gen/html/html_easy_printing.rb +203 -0
- data/lib/wx/doc/gen/html/html_help_controller.rb +340 -0
- data/lib/wx/doc/gen/html/html_help_data.rb +159 -0
- data/lib/wx/doc/gen/html/html_help_window.rb +258 -0
- data/lib/wx/doc/gen/html/html_link_event.rb +41 -0
- data/lib/wx/doc/gen/html/html_list_box.rb +346 -0
- data/lib/wx/doc/gen/html/html_printout.rb +109 -0
- data/lib/wx/doc/gen/html/html_window.rb +461 -0
- data/lib/wx/doc/gen/hyperlink_ctrl.rb +311 -0
- data/lib/wx/doc/gen/hyperlink_event.rb +44 -0
- data/lib/wx/doc/gen/icon.rb +267 -0
- data/lib/wx/doc/gen/icon_location.rb +40 -0
- data/lib/wx/doc/gen/image.rb +1371 -0
- data/lib/wx/doc/gen/image_list.rb +168 -0
- data/lib/wx/doc/gen/info_bar.rb +195 -0
- data/lib/wx/doc/gen/keyboard_state.rb +140 -0
- data/lib/wx/doc/gen/list_box.rb +304 -0
- data/lib/wx/doc/gen/list_ctrl.rb +1774 -0
- data/lib/wx/doc/gen/list_event.rb +208 -0
- data/lib/wx/doc/gen/listbook.rb +116 -0
- data/lib/wx/doc/gen/locale.rb +4293 -0
- data/lib/wx/doc/gen/log.rb +603 -0
- data/lib/wx/doc/gen/mdi_client_window.rb +47 -0
- data/lib/wx/doc/gen/mdi_frame.rb +324 -0
- data/lib/wx/doc/gen/media_ctrl.rb +269 -0
- data/lib/wx/doc/gen/media_event.rb +117 -0
- data/lib/wx/doc/gen/memory_dc.rb +174 -0
- data/lib/wx/doc/gen/menu.rb +509 -0
- data/lib/wx/doc/gen/menu_bar.rb +287 -0
- data/lib/wx/doc/gen/menu_item.rb +362 -0
- data/lib/wx/doc/gen/message_dialog.rb +238 -0
- data/lib/wx/doc/gen/mini_frame.rb +108 -0
- data/lib/wx/doc/gen/mirror_dc.rb +22 -0
- data/lib/wx/doc/gen/mouse_state.rb +150 -0
- data/lib/wx/doc/gen/multi_choice_dialog.rb +80 -0
- data/lib/wx/doc/gen/non_owned_window.rb +49 -0
- data/lib/wx/doc/gen/notebook.rb +278 -0
- data/lib/wx/doc/gen/num_validator.rb +37 -0
- data/lib/wx/doc/gen/number_entry_dialog.rb +93 -0
- data/lib/wx/doc/gen/object.rb +59 -0
- data/lib/wx/doc/gen/owner_drawn_combo_box.rb +395 -0
- data/lib/wx/doc/gen/paint_dc.rb +27 -0
- data/lib/wx/doc/gen/palette.rb +92 -0
- data/lib/wx/doc/gen/panel.rb +127 -0
- data/lib/wx/doc/gen/pen.rb +511 -0
- data/lib/wx/doc/gen/persistence_manager.rb +135 -0
- data/lib/wx/doc/gen/persistent_object.rb +52 -0
- data/lib/wx/doc/gen/persistent_window.rb +241 -0
- data/lib/wx/doc/gen/pg/event_list.rb +106 -0
- data/lib/wx/doc/gen/pg/numeric_property_validator.rb +54 -0
- data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +292 -0
- data/lib/wx/doc/gen/pg/pg_cell.rb +177 -0
- data/lib/wx/doc/gen/pg/pg_editor.rb +721 -0
- data/lib/wx/doc/gen/pg/pg_multi_button.rb +152 -0
- data/lib/wx/doc/gen/pg/pg_properties.rb +2829 -0
- data/lib/wx/doc/gen/pg/pg_property.rb +2078 -0
- data/lib/wx/doc/gen/pg/pg_validation_info.rb +344 -0
- data/lib/wx/doc/gen/pg/property_grid.rb +740 -0
- data/lib/wx/doc/gen/pg/property_grid_event.rb +184 -0
- data/lib/wx/doc/gen/pg/property_grid_interface.rb +1098 -0
- data/lib/wx/doc/gen/pg/property_grid_manager.rb +415 -0
- data/lib/wx/doc/gen/pg/property_grid_page.rb +354 -0
- data/lib/wx/doc/gen/pg/property_grid_page_state.rb +165 -0
- data/lib/wx/doc/gen/picker_base.rb +152 -0
- data/lib/wx/doc/gen/platform_info.rb +622 -0
- data/lib/wx/doc/gen/popup_window.rb +107 -0
- data/lib/wx/doc/gen/progress_dialog.rb +100 -0
- data/lib/wx/doc/gen/property_sheet_dialog.rb +216 -0
- data/lib/wx/doc/gen/prt/event_list.rb +17 -0
- data/lib/wx/doc/gen/prt/page_setup_dialog.rb +44 -0
- data/lib/wx/doc/gen/prt/post_script_dc.rb +30 -0
- data/lib/wx/doc/gen/prt/preview_frame.rb +78 -0
- data/lib/wx/doc/gen/prt/print_abort_dialog.rb +151 -0
- data/lib/wx/doc/gen/prt/print_data.rb +804 -0
- data/lib/wx/doc/gen/prt/print_dialog.rb +55 -0
- data/lib/wx/doc/gen/prt/printer.rb +518 -0
- data/lib/wx/doc/gen/prt/printer_dc.rb +37 -0
- data/lib/wx/doc/gen/query_layout_info_event.rb +106 -0
- data/lib/wx/doc/gen/radio_box.rb +306 -0
- data/lib/wx/doc/gen/radio_button.rb +159 -0
- data/lib/wx/doc/gen/rbn/event_list.rb +136 -0
- data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +1132 -0
- data/lib/wx/doc/gen/rbn/ribbon_bar.rb +308 -0
- data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +45 -0
- data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +458 -0
- data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +63 -0
- data/lib/wx/doc/gen/rbn/ribbon_control.rb +143 -0
- data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +229 -0
- data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +55 -0
- data/lib/wx/doc/gen/rbn/ribbon_page.rb +174 -0
- data/lib/wx/doc/gen/rbn/ribbon_panel.rb +270 -0
- data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +45 -0
- data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +360 -0
- data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +42 -0
- data/lib/wx/doc/gen/rearrange_ctrl.rb +78 -0
- data/lib/wx/doc/gen/rearrange_list.rb +123 -0
- data/lib/wx/doc/gen/region.rb +380 -0
- data/lib/wx/doc/gen/region_iterator.rb +76 -0
- data/lib/wx/doc/gen/rich_tool_tip.rb +154 -0
- data/lib/wx/doc/gen/rtc/event_list.rb +125 -0
- data/lib/wx/doc/gen/rtc/rich_text_box.rb +445 -0
- data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +1188 -0
- data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +41 -0
- data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +538 -0
- data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +2103 -0
- data/lib/wx/doc/gen/rtc/rich_text_event.rb +173 -0
- data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +181 -0
- data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +319 -0
- data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +193 -0
- data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +102 -0
- data/lib/wx/doc/gen/rtc/rich_text_image.rb +337 -0
- data/lib/wx/doc/gen/rtc/rich_text_object.rb +2922 -0
- data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +1240 -0
- data/lib/wx/doc/gen/rtc/rich_text_printing.rb +258 -0
- data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +344 -0
- data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +227 -0
- data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +59 -0
- data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +169 -0
- data/lib/wx/doc/gen/sash_event.rb +147 -0
- data/lib/wx/doc/gen/sash_layout_window.rb +232 -0
- data/lib/wx/doc/gen/sash_window.rb +171 -0
- data/lib/wx/doc/gen/scaled_dc.rb +10 -0
- data/lib/wx/doc/gen/screen_dc.rb +30 -0
- data/lib/wx/doc/gen/scroll_bar.rb +204 -0
- data/lib/wx/doc/gen/scrolled_canvas.rb +410 -0
- data/lib/wx/doc/gen/scrolled_control.rb +410 -0
- data/lib/wx/doc/gen/scrolled_window.rb +430 -0
- data/lib/wx/doc/gen/search_ctrl.rb +159 -0
- data/lib/wx/doc/gen/secret_store.rb +116 -0
- data/lib/wx/doc/gen/simplebook.rb +110 -0
- data/lib/wx/doc/gen/single_choice_dialog.rb +89 -0
- data/lib/wx/doc/gen/sizer.rb +945 -0
- data/lib/wx/doc/gen/sizer_item.rb +244 -0
- data/lib/wx/doc/gen/slider.rb +342 -0
- data/lib/wx/doc/gen/spin_button.rb +157 -0
- data/lib/wx/doc/gen/spin_ctrl.rb +231 -0
- data/lib/wx/doc/gen/spin_ctrl_double.rb +192 -0
- data/lib/wx/doc/gen/spin_double_event.rb +55 -0
- data/lib/wx/doc/gen/spin_event.rb +51 -0
- data/lib/wx/doc/gen/splash_screen.rb +113 -0
- data/lib/wx/doc/gen/splitter_event.rb +99 -0
- data/lib/wx/doc/gen/splitter_window.rb +498 -0
- data/lib/wx/doc/gen/static_bitmap.rb +256 -0
- data/lib/wx/doc/gen/static_box.rb +180 -0
- data/lib/wx/doc/gen/static_box_sizer.rb +85 -0
- data/lib/wx/doc/gen/static_line.rb +83 -0
- data/lib/wx/doc/gen/static_text.rb +127 -0
- data/lib/wx/doc/gen/status_bar.rb +290 -0
- data/lib/wx/doc/gen/stc/event_list.rb +221 -0
- data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +4474 -0
- data/lib/wx/doc/gen/stc/styled_text_event.rb +8762 -0
- data/lib/wx/doc/gen/std_dialog_button_sizer.rb +129 -0
- data/lib/wx/doc/gen/svg_file_dc.rb +164 -0
- data/lib/wx/doc/gen/system_options.rb +129 -0
- data/lib/wx/doc/gen/system_settings.rb +507 -0
- data/lib/wx/doc/gen/task_bar_icon.rb +127 -0
- data/lib/wx/doc/gen/task_bar_icon_event.rb +88 -0
- data/lib/wx/doc/gen/text_attr.rb +756 -0
- data/lib/wx/doc/gen/text_ctrl.rb +1033 -0
- data/lib/wx/doc/gen/text_entry.rb +441 -0
- data/lib/wx/doc/gen/text_entry_dialog.rb +220 -0
- data/lib/wx/doc/gen/text_validator.rb +245 -0
- data/lib/wx/doc/gen/time_picker_ctrl.rb +128 -0
- data/lib/wx/doc/gen/timer.rb +119 -0
- data/lib/wx/doc/gen/timer_event.rb +68 -0
- data/lib/wx/doc/gen/tip_provider.rb +63 -0
- data/lib/wx/doc/gen/tip_window.rb +51 -0
- data/lib/wx/doc/gen/toggle_button.rb +182 -0
- data/lib/wx/doc/gen/tool_bar.rb +890 -0
- data/lib/wx/doc/gen/tool_tip.rb +86 -0
- data/lib/wx/doc/gen/toolbook.rb +118 -0
- data/lib/wx/doc/gen/top_level_window.rb +497 -0
- data/lib/wx/doc/gen/tree_ctrl.rb +1052 -0
- data/lib/wx/doc/gen/tree_event.rb +127 -0
- data/lib/wx/doc/gen/treebook.rb +180 -0
- data/lib/wx/doc/gen/ui_action_simulator.rb +109 -0
- data/lib/wx/doc/gen/utils.rb +273 -0
- data/lib/wx/doc/gen/v_list_box.rb +272 -0
- data/lib/wx/doc/gen/v_scrolled_canvas.rb +195 -0
- data/lib/wx/doc/gen/v_scrolled_window.rb +191 -0
- data/lib/wx/doc/gen/validator.rb +68 -0
- data/lib/wx/doc/gen/variant.rb +294 -0
- data/lib/wx/doc/gen/window.rb +2917 -0
- data/lib/wx/doc/gen/window_dc.rb +38 -0
- data/lib/wx/doc/gen/window_disabler.rb +30 -0
- data/lib/wx/doc/gen/with_images.rb +84 -0
- data/lib/wx/doc/gen/wizard.rb +257 -0
- data/lib/wx/doc/gen/wizard_event.rb +113 -0
- data/lib/wx/doc/gen/wizard_page.rb +65 -0
- data/lib/wx/doc/gen/wizard_page_simple.rb +88 -0
- data/lib/wx/doc/gen/wrap_sizer.rb +79 -0
- data/lib/wx/doc/gen/xml_node.rb +316 -0
- data/lib/wx/doc/gen/xml_resource.rb +320 -0
- data/lib/wx/doc/generic_validator.rb +5 -0
- data/lib/wx/doc/pg/pg_property.rb +5 -0
- data/lib/wx/doc/tip_window.rb +18 -6
- data/lib/wx/doc/variant.rb +30 -0
- data/lib/wx/grid/events/evt_list.rb +166 -0
- data/lib/wx/html/events/evt_list.rb +27 -0
- data/lib/wx/html/simple_html_listbox.rb +46 -33
- data/lib/wx/keyword_defs.rb +9 -0
- data/lib/wx/pg/events/evt_list.rb +73 -0
- data/lib/wx/pg/pg_property.rb +85 -52
- data/lib/wx/pg/property_grid_interface.rb +12 -2
- data/lib/wx/rbn/events/evt_list.rb +102 -0
- data/lib/wx/rtc/events/evt_list.rb +98 -0
- data/lib/wx/rtc/ext/rich_text_ctrl.rb +24 -0
- data/lib/wx/stc/events/evt_list.rb +178 -0
- data/lib/wx/version.rb +1 -1
- data/lib/wx/wxruby/cmd/setup.rb +6 -0
- data/rakelib/configure.rb +9 -0
- data/rakelib/gem.rake +84 -66
- data/rakelib/gem.rb +4 -20
- data/rakelib/lib/config/linux.rb +1 -1
- data/rakelib/lib/config/macosx.rb +15 -1
- data/rakelib/lib/config/pkgman/linux.rb +7 -2
- data/rakelib/lib/config/unixish.rb +3 -3
- data/rakelib/lib/config.rb +19 -8
- data/rakelib/lib/core/include/swigdirector.inc +3 -3
- data/rakelib/lib/core/include/swigrubyerrors.inc +4 -8
- data/rakelib/lib/core/include/swigrubyrun.inc +20 -4
- data/rakelib/lib/core/include/swigrun.inc +189 -0
- data/rakelib/lib/core/package.rb +3 -1
- data/rakelib/lib/core/spec.rb +1 -1
- data/rakelib/lib/director/accelerator.rb +1 -1
- data/rakelib/lib/director/animation.rb +1 -0
- data/rakelib/lib/director/app_traits.rb +1 -1
- data/rakelib/lib/director/aui_manager.rb +21 -14
- data/rakelib/lib/director/aui_mdi_child_frame.rb +2 -0
- data/rakelib/lib/director/aui_mdi_parent_frame.rb +4 -0
- data/rakelib/lib/director/aui_notebook.rb +20 -3
- data/rakelib/lib/director/aui_tab_ctrl.rb +64 -106
- data/rakelib/lib/director/bitmap_combobox.rb +4 -2
- data/rakelib/lib/director/calendar_ctrl.rb +72 -14
- data/rakelib/lib/director/clipboard.rb +2 -0
- data/rakelib/lib/director/data_object.rb +15 -7
- data/rakelib/lib/director/date_picker_ctrl.rb +4 -1
- data/rakelib/lib/director/display.rb +81 -0
- data/rakelib/lib/director/event.rb +33 -16
- data/rakelib/lib/director/event_handler.rb +27 -2
- data/rakelib/lib/director/functions.rb +9 -0
- data/rakelib/lib/director/geometry.rb +5 -0
- data/rakelib/lib/director/grid_ctrl.rb +123 -28
- data/rakelib/lib/director/help_provider.rb +1 -1
- data/rakelib/lib/director/html_listbox.rb +30 -4
- data/rakelib/lib/director/hvscrolled.rb +154 -0
- data/rakelib/lib/director/image_list.rb +1 -0
- data/rakelib/lib/director/mdi_frame.rb +4 -0
- data/rakelib/lib/director/menu.rb +56 -15
- data/rakelib/lib/director/menu_bar.rb +62 -0
- data/rakelib/lib/director/menu_item.rb +7 -1
- data/rakelib/lib/director/num_validator.rb +27 -0
- data/rakelib/lib/director/numeric_property_validator.rb +9 -0
- data/rakelib/lib/director/persistent_window.rb +16 -0
- data/rakelib/lib/director/pgproperty.rb +3 -2
- data/rakelib/lib/director/popup_window.rb +2 -0
- data/rakelib/lib/director/preview_frame.rb +29 -6
- data/rakelib/lib/director/printer.rb +59 -5
- data/rakelib/lib/director/property_grid.rb +37 -18
- data/rakelib/lib/director/property_grid_interface.rb +10 -8
- data/rakelib/lib/director/property_grid_manager.rb +99 -39
- data/rakelib/lib/director/property_grid_page.rb +60 -0
- data/rakelib/lib/director/rich_tooltip.rb +22 -0
- data/rakelib/lib/director/richtext_ctrl.rb +5 -0
- data/rakelib/lib/director/richtext_object.rb +13 -4
- data/rakelib/lib/director/richtext_style_listbox.rb +11 -2
- data/rakelib/lib/director/scrolled_t.rb +3 -0
- data/rakelib/lib/director/searchctrl.rb +1 -0
- data/rakelib/lib/director/task_bar_icon.rb +14 -8
- data/rakelib/lib/director/text_validator.rb +9 -0
- data/rakelib/lib/director/tip_window.rb +117 -6
- data/rakelib/lib/director/tool_bar.rb +6 -0
- data/rakelib/lib/director/top_level_window.rb +0 -1
- data/rakelib/lib/director/utils.rb +3 -1
- data/rakelib/lib/director/validator.rb +12 -0
- data/rakelib/lib/director/variant.rb +64 -20
- data/rakelib/lib/director/vlistbox.rb +29 -22
- data/rakelib/lib/director/window.rb +12 -2
- data/rakelib/lib/director/xml_resource.rb +6 -0
- data/rakelib/lib/generate/doc/aui_manager.yaml +1 -1
- data/rakelib/lib/generate/doc/rich_tool_tip.yaml +26 -0
- data/rakelib/lib/generate/doc.rb +12 -7
- data/rakelib/lib/generate/interface.rb +16 -1
- data/rakelib/lib/specs/interfaces.rb +6 -2
- data/rakelib/lib/swig_runner.rb +12 -12
- data/rakelib/lib/typemap/aui_tabctrl.rb +46 -0
- data/rakelib/lib/typemap/common.rb +3 -3
- data/rakelib/lib/typemap/print_page_range.rb +32 -8
- data/samples/art/wxruby-512x512.png +0 -0
- data/samples/calendar/calendar.rb +64 -1
- data/samples/dialogs/dialogs.rb +172 -0
- data/samples/dialogs/tip.xpm +157 -0
- data/samples/drawing/maths_images.rb +1 -1
- data/samples/event/event.rb +1 -1
- data/samples/printing/printing2.rb +1 -1
- data/samples/sampler.rb +26 -8
- data/samples/text/textctrl.rb +2 -2
- data/samples/treectrl/treectrl.rb +2 -2
- data/tests/lib/leaked_process_event_exception_test.rb +1 -1
- data/tests/lib/leaked_queued_event_exception_test.rb +1 -1
- data/tests/lib/wxapp_runner.rb +31 -41
- data/tests/lib/wxframe_runner.rb +23 -11
- data/tests/lib/wxrb_test.rb +58 -0
- data/tests/test_app_event_filter.rb +1 -1
- data/tests/test_app_exit_exception.rb +3 -3
- data/tests/test_app_init_exception.rb +3 -3
- data/tests/test_app_traits.rb +24 -21
- data/tests/test_art.rb +7 -7
- data/tests/test_art_provider.rb +1 -1
- data/tests/test_basic.rb +2 -2
- data/tests/test_book_controls.rb +1 -1
- data/tests/test_box_sizer.rb +1 -1
- data/tests/test_clipboard.rb +5 -5
- data/tests/test_combo_ctrl.rb +2 -2
- data/tests/test_config.rb +11 -1
- data/tests/test_dc.rb +1 -1
- data/tests/test_dialog.rb +1 -1
- data/tests/test_event_handling.rb +1 -1
- data/tests/test_events.rb +1 -1
- data/tests/test_exceptions.rb +2 -2
- data/tests/test_ext_controls.rb +10 -10
- data/tests/test_file_dialog.rb +1 -1
- data/tests/test_font.rb +1 -1
- data/tests/test_gdi_object.rb +1 -1
- data/tests/test_geometry.rb +2 -2
- data/tests/test_grid_sizer.rb +2 -2
- data/tests/test_intl.rb +1 -1
- data/tests/test_item_data.rb +12 -12
- data/tests/test_list_ctrl.rb +1 -1
- data/tests/test_log.rb +2 -2
- data/tests/test_media_ctrl.rb +1 -1
- data/tests/test_menu.rb +114 -43
- data/tests/test_proof_check.rb +1 -1
- data/tests/test_propgrid.rb +857 -0
- data/tests/test_richtext.rb +10 -24
- data/tests/test_secret_store.rb +1 -1
- data/tests/test_sizer.rb +1 -1
- data/tests/test_std_controls.rb +8 -8
- data/tests/test_styled_text_ctrl.rb +1 -1
- data/tests/test_timer.rb +1 -1
- data/tests/test_tree_ctrl.rb +1 -1
- data/tests/test_validators.rb +79 -36
- data/tests/test_variant.rb +1 -1
- data/tests/test_window.rb +11 -11
- data/tests/testapp.rb +2 -2
- data/tests/testapp_noframe.rb +2 -2
- metadata +402 -12
- data/lib/wx/aui/aui_tab_ctrl.rb +0 -18
- data/rakelib/lib/director/hvscrolled_window.rb +0 -140
|
@@ -0,0 +1,562 @@
|
|
|
1
|
+
# :stopdoc:
|
|
2
|
+
# This file is automatically generated by the WXRuby3 documentation
|
|
3
|
+
# generator. Do not alter this file.
|
|
4
|
+
# :startdoc:
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
module Wx
|
|
8
|
+
|
|
9
|
+
# In the name of this class, "H" stands for "horizontal" because it can be used for scrolling columns of variable widths.
|
|
10
|
+
#
|
|
11
|
+
# It is not necessary to know the widths of all columns in advance only those which are shown on the screen need to be measured.
|
|
12
|
+
# In any case, this is a generalization of {Wx::Scrolled} which can be only used when all columns have the same widths. It lacks some other {Wx::Scrolled} features however, notably it can't scroll specific pixel sizes of the window or its exact client area size.
|
|
13
|
+
# To use this class, you need to derive from it and implement the {Wx::HScrolledWindow#on_get_column_width} pure virtual method. You also must call {Wx::HScrolledWindow#set_column_count} to let the base class know how many columns it should display, but from that moment on the scrolling is handled entirely by {Wx::HScrolledWindow}. You only need to draw the visible part of contents in your <code>OnPaint()</code> method as usual. You should use {Wx::HScrolledWindow#get_visible_columns_begin} and {Wx::HScrolledWindow#get_visible_columns_end} to select the lines to display. Note that the device context origin is not shifted so the first visible column always appears at the point (0, 0) in physical as well as logical coordinates.
|
|
14
|
+
#
|
|
15
|
+
# Category: Miscellaneous Windows
|
|
16
|
+
# @see Wx::HVScrolledWindow
|
|
17
|
+
# @see Wx::VScrolledWindow
|
|
18
|
+
#
|
|
19
|
+
#
|
|
20
|
+
class HScrolledWindow < Panel
|
|
21
|
+
|
|
22
|
+
# @overload initialize()
|
|
23
|
+
# Default constructor, you must call {Wx::HScrolledWindow#create} later.
|
|
24
|
+
# @return [Wx::HScrolledWindow]
|
|
25
|
+
# @overload initialize(parent, id=Wx::StandardID::ID_ANY, pos=Wx::DEFAULT_POSITION, size=Wx::DEFAULT_SIZE, style=0, name=Wx::PANEL_NAME_STR)
|
|
26
|
+
# This is the normal constructor, no need to call {Wx::HScrolledWindow#create} after using this constructor.
|
|
27
|
+
#
|
|
28
|
+
# <div class="wxrb-note">
|
|
29
|
+
# <b>Note:</b>
|
|
30
|
+
# <p>{Wx::HSCROLL} is always automatically added to the style, there is no need to specify it explicitly.
|
|
31
|
+
# </p>
|
|
32
|
+
# </div>
|
|
33
|
+
# @param parent [Wx::Window] The parent window, must not be nil.
|
|
34
|
+
# @param id [Integer] The identifier of this window, {Wx::StandardID::ID_ANY} by default.
|
|
35
|
+
# @param pos [Array(Integer, Integer), Wx::Point] The initial window position.
|
|
36
|
+
# @param size [Array(Integer, Integer), Wx::Size] The initial window size.
|
|
37
|
+
# @param style [Integer] The window style. There are no special style bits defined for this class.
|
|
38
|
+
# @param name [String] The name for this window; usually not used.
|
|
39
|
+
# @return [Wx::HScrolledWindow]
|
|
40
|
+
def initialize(*args) end
|
|
41
|
+
|
|
42
|
+
# Same as the non-default constructor, but returns a status code: true if ok, false if the window couldn't be created.
|
|
43
|
+
#
|
|
44
|
+
# Just as with the constructor, the {Wx::HSCROLL} style is always used, there is no need to specify it explicitly.
|
|
45
|
+
# @param parent [Wx::Window]
|
|
46
|
+
# @param id [Integer]
|
|
47
|
+
# @param pos [Array(Integer, Integer), Wx::Point]
|
|
48
|
+
# @param size [Array(Integer, Integer), Wx::Size]
|
|
49
|
+
# @param style [Integer]
|
|
50
|
+
# @param name [String]
|
|
51
|
+
# @return [Boolean]
|
|
52
|
+
def create(parent, id=Wx::StandardID::ID_ANY, pos=Wx::DEFAULT_POSITION, size=Wx::DEFAULT_SIZE, style=0, name=Wx::PANEL_NAME_STR) end
|
|
53
|
+
|
|
54
|
+
# Returns the number of columns the target window contains.
|
|
55
|
+
#
|
|
56
|
+
#
|
|
57
|
+
# @see Wx::HScrolledWindow#set_column_count
|
|
58
|
+
# @return [Integer]
|
|
59
|
+
def get_column_count; end
|
|
60
|
+
alias_method :column_count, :get_column_count
|
|
61
|
+
|
|
62
|
+
# Returns the index of the first visible column based on the scroll position.
|
|
63
|
+
# @return [Integer]
|
|
64
|
+
def get_visible_columns_begin; end
|
|
65
|
+
alias_method :visible_columns_begin, :get_visible_columns_begin
|
|
66
|
+
|
|
67
|
+
# Returns the index of the last visible column based on the scroll position.
|
|
68
|
+
#
|
|
69
|
+
# This includes the last column even if it is only partially visible.
|
|
70
|
+
# @return [Integer]
|
|
71
|
+
def get_visible_columns_end; end
|
|
72
|
+
alias_method :visible_columns_end, :get_visible_columns_end
|
|
73
|
+
|
|
74
|
+
# Returns true if the given column is currently visible (even if only partially visible) or false otherwise.
|
|
75
|
+
# @param column [Integer]
|
|
76
|
+
# @return [Boolean]
|
|
77
|
+
def is_column_visible(column) end
|
|
78
|
+
alias_method :column_visible?, :is_column_visible
|
|
79
|
+
|
|
80
|
+
# Triggers a refresh for just the given column's area of the window if it's visible.
|
|
81
|
+
# @param column [Integer]
|
|
82
|
+
# @return [void]
|
|
83
|
+
def refresh_column(column) end
|
|
84
|
+
|
|
85
|
+
# Triggers a refresh for the area between the specified range of columns given (inclusively).
|
|
86
|
+
# @param from [Integer]
|
|
87
|
+
# @param to [Integer]
|
|
88
|
+
# @return [void]
|
|
89
|
+
def refresh_columns(from, to) end
|
|
90
|
+
|
|
91
|
+
# Scroll by the specified number of pages which may be positive (to scroll right) or negative (to scroll left).
|
|
92
|
+
# @param pages [Integer]
|
|
93
|
+
# @return [Boolean]
|
|
94
|
+
def scroll_column_pages(pages) end
|
|
95
|
+
|
|
96
|
+
# Scroll by the specified number of columns which may be positive (to scroll right) or negative (to scroll left).
|
|
97
|
+
#
|
|
98
|
+
# true if the window was scrolled, false otherwise (for example, if we're trying to scroll right but we are already showing the last column).
|
|
99
|
+
# @param columns [Integer]
|
|
100
|
+
# @return [Boolean]
|
|
101
|
+
def scroll_columns(columns) end
|
|
102
|
+
|
|
103
|
+
# Scroll to the specified column.
|
|
104
|
+
#
|
|
105
|
+
# It will become the first visible column in the window.
|
|
106
|
+
# true if we scrolled the window, false if nothing was done.
|
|
107
|
+
# @param column [Integer]
|
|
108
|
+
# @return [Boolean]
|
|
109
|
+
def scroll_to_column(column) end
|
|
110
|
+
|
|
111
|
+
# Set the number of columns the window contains.
|
|
112
|
+
#
|
|
113
|
+
# The derived class must provide the widths for all columns with indices up to the one given here in it's {Wx::HScrolledWindow#on_get_column_width} implementation.
|
|
114
|
+
# @see Wx::HScrolledWindow#get_column_count
|
|
115
|
+
# @param columnCount [Integer]
|
|
116
|
+
# @return [void]
|
|
117
|
+
def set_column_count(columnCount) end
|
|
118
|
+
alias_method :column_count=, :set_column_count
|
|
119
|
+
|
|
120
|
+
# With physical scrolling on (when this is true), the device origin is changed properly when a {Wx::PaintDC} is prepared, children are actually moved and laid out properly, and the contents of the window (pixels) are actually moved.
|
|
121
|
+
#
|
|
122
|
+
# When this is false, you are responsible for repainting any invalidated areas of the window yourself to account for the new scroll position.
|
|
123
|
+
# @param scrolling [Boolean]
|
|
124
|
+
# @return [void]
|
|
125
|
+
def enable_physical_scrolling(scrolling=true) end
|
|
126
|
+
|
|
127
|
+
# Returns the index of the first visible unit based on the scroll position.
|
|
128
|
+
# @return [Integer]
|
|
129
|
+
def get_visible_begin; end
|
|
130
|
+
alias_method :visible_begin, :get_visible_begin
|
|
131
|
+
|
|
132
|
+
# Returns the index of the last visible unit based on the scroll position.
|
|
133
|
+
#
|
|
134
|
+
# This includes the last unit even if it is only partially visible.
|
|
135
|
+
# @return [Integer]
|
|
136
|
+
def get_visible_end; end
|
|
137
|
+
alias_method :visible_end, :get_visible_end
|
|
138
|
+
|
|
139
|
+
# Returns true if the given scroll unit is currently visible (even if only partially visible) or false otherwise.
|
|
140
|
+
# @param unit [Integer]
|
|
141
|
+
# @return [Boolean]
|
|
142
|
+
def is_visible(unit) end
|
|
143
|
+
alias_method :visible?, :is_visible
|
|
144
|
+
|
|
145
|
+
# Returns the virtual scroll unit under the device unit given accounting for scroll position or {Wx::NOT_FOUND} if none (i.e.
|
|
146
|
+
#
|
|
147
|
+
# if it is below the last item).
|
|
148
|
+
# @param coord [Integer]
|
|
149
|
+
# @return [Integer]
|
|
150
|
+
def virtual_hit_test(coord) end
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
protected
|
|
154
|
+
|
|
155
|
+
# This function doesn't have to be overridden but it may be useful to do so if calculating the columns' sizes is a relatively expensive operation as it gives your code a chance to calculate several of them at once and cache the result if necessary.
|
|
156
|
+
#
|
|
157
|
+
# {Wx::HScrolledWindow#on_get_columns_width_hint} is normally called just before {Wx::HScrolledWindow#on_get_column_width} but you shouldn't rely on the latter being called for all columns in the interval specified here. It is also possible that {Wx::HScrolledWindow#on_get_column_width} will be called for units outside of this interval, so this is really just a hint, not a promise.
|
|
158
|
+
# Finally, note that columnMin is inclusive, while columnMax is exclusive.
|
|
159
|
+
# @param columnMin [Integer]
|
|
160
|
+
# @param columnMax [Integer]
|
|
161
|
+
# @return [void]
|
|
162
|
+
def on_get_columns_width_hint(columnMin, columnMax) end
|
|
163
|
+
|
|
164
|
+
# This function must be overridden in the derived class, and should return the width of the given column in pixels.
|
|
165
|
+
# @param column [Integer]
|
|
166
|
+
# @return [Integer]
|
|
167
|
+
def on_get_column_width(column) end
|
|
168
|
+
|
|
169
|
+
end # HScrolledWindow
|
|
170
|
+
|
|
171
|
+
# This window inherits all functionality of both vertical and horizontal, variable scrolled windows.
|
|
172
|
+
#
|
|
173
|
+
# It automatically handles everything needed to scroll both axis simultaneously with both variable row heights and variable column widths.
|
|
174
|
+
# In any case, this is a generalization of {Wx::Scrolled} which can be only used when all rows and columns are the same size. It lacks some other {Wx::Scrolled} features however, notably it can't scroll specific pixel sizes of the window or its exact client area size.
|
|
175
|
+
# To use this class, you must derive from it and implement both the {Wx::HVScrolledWindow#on_get_row_height} and {Wx::HVScrolledWindow#on_get_column_width} pure virtual methods to let the base class know how many rows and columns it should display. You also need to set the total rows and columns the window contains, but from that moment on the scrolling is handled entirely by {Wx::HVScrolledWindow}. You only need to draw the visible part of contents in your <code>OnPaint()</code> method as usual. You should use {Wx::HVScrolledWindow#get_visible_begin} and {Wx::HVScrolledWindow#get_visible_end} to select the lines to display. Note that the device context origin is not shifted so the first visible row and column always appear at the point (0, 0) in physical as well as logical coordinates.
|
|
176
|
+
#
|
|
177
|
+
# Category: Miscellaneous Windows
|
|
178
|
+
# @see Wx::HScrolledWindow
|
|
179
|
+
# @see Wx::VScrolledWindow
|
|
180
|
+
#
|
|
181
|
+
#
|
|
182
|
+
class HVScrolledWindow < Panel
|
|
183
|
+
|
|
184
|
+
# @overload initialize()
|
|
185
|
+
# Default constructor, you must call {Wx::HVScrolledWindow#create} later.
|
|
186
|
+
# @return [Wx::HVScrolledWindow]
|
|
187
|
+
# @overload initialize(parent, id=Wx::StandardID::ID_ANY, pos=Wx::DEFAULT_POSITION, size=Wx::DEFAULT_SIZE, style=0, name=Wx::PANEL_NAME_STR)
|
|
188
|
+
# This is the normal constructor, no need to call {Wx::HVScrolledWindow#create} after using this constructor.
|
|
189
|
+
#
|
|
190
|
+
# <div class="wxrb-note">
|
|
191
|
+
# <b>Note:</b>
|
|
192
|
+
# <p>{Wx::HSCROLL} and {Wx::VSCROLL} are always automatically added to the style, there is no need to specify it explicitly.
|
|
193
|
+
# </p>
|
|
194
|
+
# </div>
|
|
195
|
+
# @param parent [Wx::Window] The parent window, must not be nil.
|
|
196
|
+
# @param id [Integer] The identifier of this window, {Wx::StandardID::ID_ANY} by default.
|
|
197
|
+
# @param pos [Array(Integer, Integer), Wx::Point] The initial window position.
|
|
198
|
+
# @param size [Array(Integer, Integer), Wx::Size] The initial window size.
|
|
199
|
+
# @param style [Integer] The window style. There are no special style bits defined for this class.
|
|
200
|
+
# @param name [String] The name for this window; usually not used.
|
|
201
|
+
# @return [Wx::HVScrolledWindow]
|
|
202
|
+
def initialize(*args) end
|
|
203
|
+
|
|
204
|
+
# Same as the non-default constructor, but returns a status code: true if ok, false if the window couldn't be created.
|
|
205
|
+
#
|
|
206
|
+
# Just as with the constructor, the {Wx::HSCROLL} and {Wx::VSCROLL} styles are always used, there is no need to specify them explicitly.
|
|
207
|
+
# @param parent [Wx::Window]
|
|
208
|
+
# @param id [Integer]
|
|
209
|
+
# @param pos [Array(Integer, Integer), Wx::Point]
|
|
210
|
+
# @param size [Array(Integer, Integer), Wx::Size]
|
|
211
|
+
# @param style [Integer]
|
|
212
|
+
# @param name [String]
|
|
213
|
+
# @return [Boolean]
|
|
214
|
+
def create(parent, id=Wx::StandardID::ID_ANY, pos=Wx::DEFAULT_POSITION, size=Wx::DEFAULT_SIZE, style=0, name=Wx::PANEL_NAME_STR) end
|
|
215
|
+
|
|
216
|
+
# @overload is_visible(row, column)
|
|
217
|
+
# Returns true if both the given row and column are currently visible (even if only partially visible) or false otherwise.
|
|
218
|
+
# @param row [Integer]
|
|
219
|
+
# @param column [Integer]
|
|
220
|
+
# @return [Boolean]
|
|
221
|
+
# @overload is_visible(pos)
|
|
222
|
+
# Returns true if both the given row and column are currently visible (even if only partially visible) or false otherwise.
|
|
223
|
+
# @param pos [Array(Integer, Integer), Wx::Position]
|
|
224
|
+
# @return [Boolean]
|
|
225
|
+
def is_visible(*args) end
|
|
226
|
+
alias_method :visible?, :is_visible
|
|
227
|
+
|
|
228
|
+
# @overload refresh_row_column(row, column)
|
|
229
|
+
# Triggers a refresh for just the area shared between the given row and column of the window if it is visible.
|
|
230
|
+
# @param row [Integer]
|
|
231
|
+
# @param column [Integer]
|
|
232
|
+
# @return [void]
|
|
233
|
+
# @overload refresh_row_column(pos)
|
|
234
|
+
# Triggers a refresh for just the area shared between the given row and column of the window if it is visible.
|
|
235
|
+
# @param pos [Array(Integer, Integer), Wx::Position]
|
|
236
|
+
# @return [void]
|
|
237
|
+
def refresh_row_column(*args) end
|
|
238
|
+
|
|
239
|
+
# @overload refresh_rows_columns(fromRow, toRow, fromColumn, toColumn)
|
|
240
|
+
# Triggers a refresh for the visible area shared between all given rows and columns (inclusive) of the window.
|
|
241
|
+
#
|
|
242
|
+
# If the target window for both orientations is the same, the rectangle of cells is refreshed; if the target windows differ, the entire client size opposite the orientation direction is refreshed between the specified limits.
|
|
243
|
+
# @param fromRow [Integer]
|
|
244
|
+
# @param toRow [Integer]
|
|
245
|
+
# @param fromColumn [Integer]
|
|
246
|
+
# @param toColumn [Integer]
|
|
247
|
+
# @return [void]
|
|
248
|
+
# @overload refresh_rows_columns(from, to)
|
|
249
|
+
# Triggers a refresh for the visible area shared between all given rows and columns (inclusive) of the window.
|
|
250
|
+
#
|
|
251
|
+
# If the target window for both orientations is the same, the rectangle of cells is refreshed; if the target windows differ, the entire client size opposite the orientation direction is refreshed between the specified limits.
|
|
252
|
+
# @param from [Array(Integer, Integer), Wx::Position]
|
|
253
|
+
# @param to [Array(Integer, Integer), Wx::Position]
|
|
254
|
+
# @return [void]
|
|
255
|
+
def refresh_rows_columns(*args) end
|
|
256
|
+
|
|
257
|
+
# @overload scroll_to_row_column(row, column)
|
|
258
|
+
# Scroll to the specified row and column.
|
|
259
|
+
#
|
|
260
|
+
# It will become the first visible row and column in the window. Returns true if we scrolled the window, false if nothing was done.
|
|
261
|
+
# @param row [Integer]
|
|
262
|
+
# @param column [Integer]
|
|
263
|
+
# @return [Boolean]
|
|
264
|
+
# @overload scroll_to_row_column(pos)
|
|
265
|
+
# Scroll to the specified row and column.
|
|
266
|
+
#
|
|
267
|
+
# It will become the first visible row and column in the window. Returns true if we scrolled the window, false if nothing was done.
|
|
268
|
+
# @param pos [Array(Integer, Integer), Wx::Position]
|
|
269
|
+
# @return [Boolean]
|
|
270
|
+
def scroll_to_row_column(*args) end
|
|
271
|
+
|
|
272
|
+
# @overload virtual_hit_test(x, y)
|
|
273
|
+
# Returns the virtual scroll unit under the device unit given accounting for scroll position or {Wx::NOT_FOUND} (for the row, column, or possibly both values) if none.
|
|
274
|
+
# @param x [Integer]
|
|
275
|
+
# @param y [Integer]
|
|
276
|
+
# @return [Wx::Position]
|
|
277
|
+
# @overload virtual_hit_test(pos)
|
|
278
|
+
# Returns the virtual scroll unit under the device unit given accounting for scroll position or {Wx::NOT_FOUND} (for the row, column, or possibly both values) if none.
|
|
279
|
+
# @param pos [Array(Integer, Integer), Wx::Point]
|
|
280
|
+
# @return [Wx::Position]
|
|
281
|
+
def virtual_hit_test(*args) end
|
|
282
|
+
|
|
283
|
+
# With physical scrolling on (when this is true), the device origin is changed properly when a {Wx::PaintDC} is prepared, children are actually moved and laid out properly, and the contents of the window (pixels) are actually moved.
|
|
284
|
+
#
|
|
285
|
+
# When this is false, you are responsible for repainting any invalidated areas of the window yourself to account for the new scroll position.
|
|
286
|
+
# @param vscrolling [Boolean] Specifies if physical scrolling should be turned on when scrolling vertically.
|
|
287
|
+
# @param hscrolling [Boolean] Specifies if physical scrolling should be turned on when scrolling horizontally.
|
|
288
|
+
# @return [void]
|
|
289
|
+
def enable_physical_scrolling(vscrolling=true, hscrolling=true) end
|
|
290
|
+
|
|
291
|
+
# Returns the number of columns and rows the target window contains.
|
|
292
|
+
#
|
|
293
|
+
#
|
|
294
|
+
# @see Wx::HVScrolledWindow#set_row_column_count
|
|
295
|
+
# @return [Wx::Size]
|
|
296
|
+
def get_row_column_count; end
|
|
297
|
+
alias_method :row_column_count, :get_row_column_count
|
|
298
|
+
|
|
299
|
+
# Returns the index of the first visible column and row based on the current scroll position.
|
|
300
|
+
# @return [Wx::Position]
|
|
301
|
+
def get_visible_begin; end
|
|
302
|
+
alias_method :visible_begin, :get_visible_begin
|
|
303
|
+
|
|
304
|
+
# Returns the index of the last visible column and row based on the scroll position.
|
|
305
|
+
#
|
|
306
|
+
# This includes any partially visible columns or rows.
|
|
307
|
+
# @return [Wx::Position]
|
|
308
|
+
def get_visible_end; end
|
|
309
|
+
alias_method :visible_end, :get_visible_end
|
|
310
|
+
|
|
311
|
+
# Set the number of rows and columns the target window will contain.
|
|
312
|
+
#
|
|
313
|
+
# The derived class must provide the sizes for all rows and columns with indices up to the ones given here in it's {Wx::HVScrolledWindow#on_get_row_height} and {Wx::HVScrolledWindow#on_get_column_width} implementations, respectively.
|
|
314
|
+
# @see Wx::HVScrolledWindow#get_row_column_count
|
|
315
|
+
# @param rowCount [Integer]
|
|
316
|
+
# @param columnCount [Integer]
|
|
317
|
+
# @return [void]
|
|
318
|
+
def set_row_column_count(rowCount, columnCount) end
|
|
319
|
+
|
|
320
|
+
# Returns the number of columns the target window contains.
|
|
321
|
+
#
|
|
322
|
+
#
|
|
323
|
+
# @see Wx::HVScrolledWindow#set_column_count
|
|
324
|
+
# @return [Integer]
|
|
325
|
+
def get_column_count; end
|
|
326
|
+
alias_method :column_count, :get_column_count
|
|
327
|
+
|
|
328
|
+
# Returns the index of the first visible column based on the scroll position.
|
|
329
|
+
# @return [Integer]
|
|
330
|
+
def get_visible_columns_begin; end
|
|
331
|
+
alias_method :visible_columns_begin, :get_visible_columns_begin
|
|
332
|
+
|
|
333
|
+
# Returns the index of the last visible column based on the scroll position.
|
|
334
|
+
#
|
|
335
|
+
# This includes the last column even if it is only partially visible.
|
|
336
|
+
# @return [Integer]
|
|
337
|
+
def get_visible_columns_end; end
|
|
338
|
+
alias_method :visible_columns_end, :get_visible_columns_end
|
|
339
|
+
|
|
340
|
+
# Returns true if the given column is currently visible (even if only partially visible) or false otherwise.
|
|
341
|
+
# @param column [Integer]
|
|
342
|
+
# @return [Boolean]
|
|
343
|
+
def is_column_visible(column) end
|
|
344
|
+
alias_method :column_visible?, :is_column_visible
|
|
345
|
+
|
|
346
|
+
# Triggers a refresh for just the given column's area of the window if it's visible.
|
|
347
|
+
# @param column [Integer]
|
|
348
|
+
# @return [void]
|
|
349
|
+
def refresh_column(column) end
|
|
350
|
+
|
|
351
|
+
# Triggers a refresh for the area between the specified range of columns given (inclusively).
|
|
352
|
+
# @param from [Integer]
|
|
353
|
+
# @param to [Integer]
|
|
354
|
+
# @return [void]
|
|
355
|
+
def refresh_columns(from, to) end
|
|
356
|
+
|
|
357
|
+
# Scroll by the specified number of pages which may be positive (to scroll right) or negative (to scroll left).
|
|
358
|
+
# @param pages [Integer]
|
|
359
|
+
# @return [Boolean]
|
|
360
|
+
def scroll_column_pages(pages) end
|
|
361
|
+
|
|
362
|
+
# Scroll by the specified number of columns which may be positive (to scroll right) or negative (to scroll left).
|
|
363
|
+
#
|
|
364
|
+
# true if the window was scrolled, false otherwise (for example, if we're trying to scroll right but we are already showing the last column).
|
|
365
|
+
# @param columns [Integer]
|
|
366
|
+
# @return [Boolean]
|
|
367
|
+
def scroll_columns(columns) end
|
|
368
|
+
|
|
369
|
+
# Scroll to the specified column.
|
|
370
|
+
#
|
|
371
|
+
# It will become the first visible column in the window.
|
|
372
|
+
# true if we scrolled the window, false if nothing was done.
|
|
373
|
+
# @param column [Integer]
|
|
374
|
+
# @return [Boolean]
|
|
375
|
+
def scroll_to_column(column) end
|
|
376
|
+
|
|
377
|
+
# Set the number of columns the window contains.
|
|
378
|
+
#
|
|
379
|
+
# The derived class must provide the widths for all columns with indices up to the one given here in it's {Wx::HVScrolledWindow#on_get_column_width} implementation.
|
|
380
|
+
# @see Wx::HVScrolledWindow#get_column_count
|
|
381
|
+
# @param columnCount [Integer]
|
|
382
|
+
# @return [void]
|
|
383
|
+
def set_column_count(columnCount) end
|
|
384
|
+
alias_method :column_count=, :set_column_count
|
|
385
|
+
|
|
386
|
+
# Returns the number of rows the target window contains.
|
|
387
|
+
#
|
|
388
|
+
#
|
|
389
|
+
# @see Wx::HVScrolledWindow#set_row_count
|
|
390
|
+
# @return [Integer]
|
|
391
|
+
def get_row_count; end
|
|
392
|
+
alias_method :row_count, :get_row_count
|
|
393
|
+
|
|
394
|
+
# Returns the index of the first visible row based on the scroll position.
|
|
395
|
+
# @return [Integer]
|
|
396
|
+
def get_visible_rows_begin; end
|
|
397
|
+
alias_method :visible_rows_begin, :get_visible_rows_begin
|
|
398
|
+
|
|
399
|
+
# Returns the index of the last visible row based on the scroll position.
|
|
400
|
+
#
|
|
401
|
+
# This includes the last row even if it is only partially visible.
|
|
402
|
+
# @return [Integer]
|
|
403
|
+
def get_visible_rows_end; end
|
|
404
|
+
alias_method :visible_rows_end, :get_visible_rows_end
|
|
405
|
+
|
|
406
|
+
# Returns true if the given row is currently visible (even if only partially visible) or false otherwise.
|
|
407
|
+
# @param row [Integer]
|
|
408
|
+
# @return [Boolean]
|
|
409
|
+
def is_row_visible(row) end
|
|
410
|
+
alias_method :row_visible?, :is_row_visible
|
|
411
|
+
|
|
412
|
+
# Triggers a refresh for just the given row's area of the window if it's visible.
|
|
413
|
+
# @param row [Integer]
|
|
414
|
+
# @return [void]
|
|
415
|
+
def refresh_row(row) end
|
|
416
|
+
|
|
417
|
+
# Triggers a refresh for the area between the specified range of rows given (inclusively).
|
|
418
|
+
# @param from [Integer]
|
|
419
|
+
# @param to [Integer]
|
|
420
|
+
# @return [void]
|
|
421
|
+
def refresh_rows(from, to) end
|
|
422
|
+
|
|
423
|
+
# Scroll by the specified number of pages which may be positive (to scroll down) or negative (to scroll up).
|
|
424
|
+
# @param pages [Integer]
|
|
425
|
+
# @return [Boolean]
|
|
426
|
+
def scroll_row_pages(pages) end
|
|
427
|
+
|
|
428
|
+
# Scroll by the specified number of rows which may be positive (to scroll down) or negative (to scroll up).
|
|
429
|
+
#
|
|
430
|
+
# true if the window was scrolled, false otherwise (for example, if we're trying to scroll down but we are already showing the last row).
|
|
431
|
+
# @param rows [Integer]
|
|
432
|
+
# @return [Boolean]
|
|
433
|
+
def scroll_rows(rows) end
|
|
434
|
+
|
|
435
|
+
# Scroll to the specified row.
|
|
436
|
+
#
|
|
437
|
+
# It will become the first visible row in the window.
|
|
438
|
+
# true if we scrolled the window, false if nothing was done.
|
|
439
|
+
# @param row [Integer]
|
|
440
|
+
# @return [Boolean]
|
|
441
|
+
def scroll_to_row(row) end
|
|
442
|
+
|
|
443
|
+
# Set the number of rows the window contains.
|
|
444
|
+
#
|
|
445
|
+
# The derived class must provide the heights for all rows with indices up to the one given here in it's {Wx::HVScrolledWindow#on_get_row_height} implementation.
|
|
446
|
+
# @see Wx::HVScrolledWindow#get_row_count
|
|
447
|
+
# @param rowCount [Integer]
|
|
448
|
+
# @return [void]
|
|
449
|
+
def set_row_count(rowCount) end
|
|
450
|
+
alias_method :row_count=, :set_row_count
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
protected
|
|
454
|
+
|
|
455
|
+
# This function doesn't have to be overridden but it may be useful to do so if calculating the columns' sizes is a relatively expensive operation as it gives your code a chance to calculate several of them at once and cache the result if necessary.
|
|
456
|
+
#
|
|
457
|
+
# {Wx::HVScrolledWindow#on_get_columns_width_hint} is normally called just before {Wx::HVScrolledWindow#on_get_column_width} but you shouldn't rely on the latter being called for all columns in the interval specified here. It is also possible that {Wx::HVScrolledWindow#on_get_column_width} will be called for units outside of this interval, so this is really just a hint, not a promise.
|
|
458
|
+
# Finally, note that columnMin is inclusive, while columnMax is exclusive.
|
|
459
|
+
# @param columnMin [Integer]
|
|
460
|
+
# @param columnMax [Integer]
|
|
461
|
+
# @return [void]
|
|
462
|
+
def on_get_columns_width_hint(columnMin, columnMax) end
|
|
463
|
+
|
|
464
|
+
# This function must be overridden in the derived class, and should return the width of the given column in pixels.
|
|
465
|
+
# @param column [Integer]
|
|
466
|
+
# @return [Integer]
|
|
467
|
+
def on_get_column_width(column) end
|
|
468
|
+
|
|
469
|
+
# This function doesn't have to be overridden but it may be useful to do so if calculating the rows' sizes is a relatively expensive operation as it gives your code a chance to calculate several of them at once and cache the result if necessary.
|
|
470
|
+
#
|
|
471
|
+
# {Wx::HVScrolledWindow#on_get_rows_height_hint} is normally called just before {Wx::HVScrolledWindow#on_get_row_height} but you shouldn't rely on the latter being called for all rows in the interval specified here. It is also possible that {Wx::HVScrolledWindow#on_get_row_height} will be called for units outside of this interval, so this is really just a hint, not a promise.
|
|
472
|
+
# Finally, note that rowMin is inclusive, while rowMax is exclusive.
|
|
473
|
+
# @param rowMin [Integer]
|
|
474
|
+
# @param rowMax [Integer]
|
|
475
|
+
# @return [void]
|
|
476
|
+
def on_get_rows_height_hint(rowMin, rowMax) end
|
|
477
|
+
|
|
478
|
+
# This function must be overridden in the derived class, and should return the height of the given row in pixels.
|
|
479
|
+
# @param row [Integer]
|
|
480
|
+
# @return [Integer]
|
|
481
|
+
def on_get_row_height(row) end
|
|
482
|
+
|
|
483
|
+
end # HVScrolledWindow
|
|
484
|
+
|
|
485
|
+
# This class represents the position of an item in any kind of grid of rows and columns such as {Wx::GridBagSizer}, or {Wx::HVScrolledWindow}.
|
|
486
|
+
#
|
|
487
|
+
# Category: Data Structures
|
|
488
|
+
# @see Wx::Point
|
|
489
|
+
# @see Wx::Size
|
|
490
|
+
#
|
|
491
|
+
#
|
|
492
|
+
#
|
|
493
|
+
# @note This class is <b>untracked</b> and should not be derived from nor instances extended!
|
|
494
|
+
class Position < ::Object
|
|
495
|
+
|
|
496
|
+
# @param pos [Array(Integer, Integer), Wx::Position]
|
|
497
|
+
# @return [Boolean]
|
|
498
|
+
def ==(pos) end
|
|
499
|
+
|
|
500
|
+
# @overload +(pos)
|
|
501
|
+
# @param pos [Array(Integer, Integer), Wx::Position]
|
|
502
|
+
# @return [Wx::Position]
|
|
503
|
+
# @overload +(size)
|
|
504
|
+
# @param size [Array(Integer, Integer), Wx::Size]
|
|
505
|
+
# @return [Wx::Position]
|
|
506
|
+
def +(*args) end
|
|
507
|
+
|
|
508
|
+
# @overload -(pos)
|
|
509
|
+
# @param pos [Array(Integer, Integer), Wx::Position]
|
|
510
|
+
# @return [Wx::Position]
|
|
511
|
+
# @overload -(size)
|
|
512
|
+
# @param size [Array(Integer, Integer), Wx::Size]
|
|
513
|
+
# @return [Wx::Position]
|
|
514
|
+
def -(*args) end
|
|
515
|
+
|
|
516
|
+
# @overload initialize()
|
|
517
|
+
# Construct a new {Wx::Position}, setting the row and column to the default value of (0, 0).
|
|
518
|
+
# @return [Wx::Position]
|
|
519
|
+
# @overload initialize(row, col)
|
|
520
|
+
# Construct a new {Wx::Position}, setting the row and column to the value of (row, col).
|
|
521
|
+
# @param row [Integer]
|
|
522
|
+
# @param col [Integer]
|
|
523
|
+
# @return [Wx::Position]
|
|
524
|
+
def initialize(*args) end
|
|
525
|
+
|
|
526
|
+
# A synonym for {Wx::Position#get_column}.
|
|
527
|
+
# @return [Integer]
|
|
528
|
+
def get_col; end
|
|
529
|
+
alias_method :col, :get_col
|
|
530
|
+
|
|
531
|
+
# Get the current row value.
|
|
532
|
+
# @return [Integer]
|
|
533
|
+
def get_column; end
|
|
534
|
+
alias_method :column, :get_column
|
|
535
|
+
|
|
536
|
+
# Get the current row value.
|
|
537
|
+
# @return [Integer]
|
|
538
|
+
def get_row; end
|
|
539
|
+
alias_method :row, :get_row
|
|
540
|
+
|
|
541
|
+
# A synonym for {Wx::Position#set_column}.
|
|
542
|
+
# @param column [Integer]
|
|
543
|
+
# @return [void]
|
|
544
|
+
def set_col(column) end
|
|
545
|
+
alias_method :col=, :set_col
|
|
546
|
+
|
|
547
|
+
# Set a new column value.
|
|
548
|
+
# @param column [Integer]
|
|
549
|
+
# @return [void]
|
|
550
|
+
def set_column(column) end
|
|
551
|
+
alias_method :column=, :set_column
|
|
552
|
+
|
|
553
|
+
# Set a new row value.
|
|
554
|
+
# @param row [Integer]
|
|
555
|
+
# @return [void]
|
|
556
|
+
def set_row(row) end
|
|
557
|
+
alias_method :row=, :set_row
|
|
558
|
+
|
|
559
|
+
end # Position
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
end
|