wxruby3 0.9.2-x64-mingw-ucrt → 0.9.4-x64-mingw-ucrt
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/INSTALL.md +35 -29
- data/README.md +24 -15
- data/ext/wxbase32u_gcc_custom.dll +0 -0
- data/ext/wxbase32u_net_gcc_custom.dll +0 -0
- data/ext/wxbase32u_xml_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_aui_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_core_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_gl_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_html_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_media_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_propgrid_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_qa_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_ribbon_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_richtext_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_stc_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_webview_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_xrc_gcc_custom.dll +0 -0
- data/lib/wx/core/bitmap_combobox.rb +17 -21
- data/lib/wx/core/book_ctrl_base.rb +16 -0
- data/lib/wx/core/combobox.rb +13 -3
- data/lib/wx/core/config.rb +454 -83
- data/lib/wx/core/controlwithitems.rb +40 -130
- data/lib/wx/core/enum.rb +17 -1
- data/lib/wx/core/event.rb +6 -1
- data/lib/wx/core/events/evt_list.rb +5 -4
- data/lib/wx/core/evthandler.rb +8 -2
- data/lib/wx/core/generic_validator.rb +312 -0
- data/lib/wx/core/listbox.rb +2 -2
- data/lib/wx/core/log.rb +1 -1
- data/lib/wx/core/notebook.rb +10 -8
- data/lib/wx/core/owner_drawn_combobox.rb +45 -0
- data/lib/wx/core/peristent_object.rb +15 -0
- data/lib/wx/core/persistence_manager.rb +39 -0
- data/lib/wx/core/persistent_window.rb +16 -0
- data/lib/wx/core/size.rb +4 -0
- data/lib/wx/core/sizer.rb +1 -2
- data/lib/wx/core/standard_paths.rb +22 -0
- data/lib/wx/core/text_entry.rb +4 -1
- data/lib/wx/core/top_level_window.rb +16 -0
- data/lib/wx/core/treebook.rb +18 -0
- data/lib/wx/core/validator.rb +70 -5
- data/lib/wx/core/window.rb +3 -7
- data/lib/wx/core.rb +4 -0
- data/lib/wx/doc/art_locator.rb +1 -0
- data/lib/wx/doc/book_ctrl_base.rb +19 -0
- data/lib/wx/doc/comboctrl.rb +18 -0
- data/lib/wx/doc/config.rb +101 -41
- data/lib/wx/doc/controlwithitems.rb +16 -0
- data/lib/wx/doc/date_picker_ctrl.rb +23 -0
- data/lib/wx/doc/editable_listbox.rb +44 -0
- data/lib/wx/doc/enum.rb +15 -0
- data/lib/wx/doc/event.rb +12 -0
- data/lib/wx/doc/extra/12_client_data.md +89 -0
- data/lib/wx/doc/extra/13_validators.md +139 -0
- data/lib/wx/doc/extra/14_config.md +101 -0
- data/lib/wx/doc/extra/15_persistence.md +148 -0
- data/lib/wx/doc/gdi_common.rb +4 -0
- data/lib/wx/doc/gen/about_dialog_info.rb +25 -0
- data/lib/wx/doc/gen/accelerator.rb +7 -1
- data/lib/wx/doc/gen/accessible.rb +13 -0
- data/lib/wx/doc/gen/activity_indicator.rb +7 -0
- data/lib/wx/doc/gen/animation.rb +12 -0
- data/lib/wx/doc/gen/animation_ctrl.rb +10 -0
- data/lib/wx/doc/gen/any_button.rb +17 -1
- data/lib/wx/doc/gen/app.rb +35 -1
- data/lib/wx/doc/gen/app_traits.rb +38 -5
- data/lib/wx/doc/gen/art_provider.rb +14 -0
- data/lib/wx/doc/gen/aui/aui_dock_art.rb +12 -0
- data/lib/wx/doc/gen/aui/aui_floating_frame.rb +1 -0
- data/lib/wx/doc/gen/aui/aui_manager.rb +24 -1
- data/lib/wx/doc/gen/aui/aui_manager_event.rb +9 -1
- data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +3 -0
- data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +2 -0
- data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +3 -1
- data/lib/wx/doc/gen/aui/aui_notebook.rb +20 -2
- data/lib/wx/doc/gen/aui/aui_notebook_event.rb +2 -1
- data/lib/wx/doc/gen/aui/aui_pane_info.rb +30 -1
- data/lib/wx/doc/gen/aui/aui_tab_art.rb +6 -0
- data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +1 -0
- data/lib/wx/doc/gen/aui/aui_tool_bar.rb +11 -0
- data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +2 -0
- data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +2 -1
- data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +4 -0
- data/lib/wx/doc/gen/banner_window.rb +7 -0
- data/lib/wx/doc/gen/bitmap.rb +64 -3
- data/lib/wx/doc/gen/bitmap_button.rb +6 -1
- data/lib/wx/doc/gen/bitmap_combo_box.rb +9 -3
- data/lib/wx/doc/gen/book_ctrl_base.rb +17 -2
- data/lib/wx/doc/gen/book_ctrl_event.rb +3 -1
- data/lib/wx/doc/gen/box_sizer.rb +5 -0
- data/lib/wx/doc/gen/brush.rb +16 -1
- data/lib/wx/doc/gen/busy_info.rb +8 -0
- data/lib/wx/doc/gen/button.rb +11 -3
- data/lib/wx/doc/gen/calculate_layout_event.rb +4 -0
- data/lib/wx/doc/gen/calendar_ctrl.rb +22 -0
- data/lib/wx/doc/gen/calendar_date_attr.rb +1 -0
- data/lib/wx/doc/gen/calendar_event.rb +3 -1
- data/lib/wx/doc/gen/caret.rb +3 -0
- data/lib/wx/doc/gen/check_box.rb +10 -0
- data/lib/wx/doc/gen/check_list_box.rb +3 -0
- data/lib/wx/doc/gen/choice.rb +14 -2
- data/lib/wx/doc/gen/choicebook.rb +1 -0
- data/lib/wx/doc/gen/client_dc.rb +1 -0
- data/lib/wx/doc/gen/clipboard.rb +9 -0
- data/lib/wx/doc/gen/collapsible_pane.rb +3 -0
- data/lib/wx/doc/gen/collapsible_pane_event.rb +1 -0
- data/lib/wx/doc/gen/colour.rb +20 -0
- data/lib/wx/doc/gen/colour_dialog.rb +10 -0
- data/lib/wx/doc/gen/colour_picker_ctrl.rb +4 -0
- data/lib/wx/doc/gen/colour_picker_event.rb +1 -0
- data/lib/wx/doc/gen/combo_box.rb +20 -1
- data/lib/wx/doc/gen/combo_ctrl.rb +54 -295
- data/lib/wx/doc/gen/command_link_button.rb +8 -0
- data/lib/wx/doc/gen/context_help_button.rb +7 -1
- data/lib/wx/doc/gen/control.rb +12 -0
- data/lib/wx/doc/gen/control_with_items.rb +45 -9
- data/lib/wx/doc/gen/core.rb +2 -2
- data/lib/wx/doc/gen/cursor.rb +4 -0
- data/lib/wx/doc/gen/data_format.rb +1 -0
- data/lib/wx/doc/gen/data_object.rb +27 -5
- data/lib/wx/doc/gen/date_event.rb +2 -1
- data/lib/wx/doc/gen/date_picker_ctrl.rb +7 -1
- data/lib/wx/doc/gen/dc.rb +87 -3
- data/lib/wx/doc/gen/dial_up_event.rb +2 -0
- data/lib/wx/doc/gen/dial_up_manager.rb +12 -0
- data/lib/wx/doc/gen/dialog.rb +42 -3
- data/lib/wx/doc/gen/dir_dialog.rb +6 -1
- data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +1 -0
- data/lib/wx/doc/gen/dir_picker_ctrl.rb +5 -0
- data/lib/wx/doc/gen/drag_drop.rb +20 -0
- data/lib/wx/doc/gen/drag_image.rb +7 -0
- data/lib/wx/doc/gen/editable_list_box.rb +5 -3
- data/lib/wx/doc/gen/event.rb +26 -11
- data/lib/wx/doc/gen/event_blocker.rb +2 -1
- data/lib/wx/doc/gen/event_filter.rb +3 -2
- data/lib/wx/doc/gen/event_list.rb +4 -4
- data/lib/wx/doc/gen/events.rb +165 -26
- data/lib/wx/doc/gen/evt_handler.rb +40 -2
- data/lib/wx/doc/gen/ext_help_controller.rb +9 -0
- data/lib/wx/doc/gen/file_ctrl.rb +11 -2
- data/lib/wx/doc/gen/file_ctrl_event.rb +5 -1
- data/lib/wx/doc/gen/file_dialog.rb +13 -0
- data/lib/wx/doc/gen/file_dialog_custom_control.rb +12 -0
- data/lib/wx/doc/gen/file_dialog_customize_hook.rb +11 -2
- data/lib/wx/doc/gen/file_dir_picker_event.rb +2 -1
- data/lib/wx/doc/gen/file_picker_ctrl.rb +4 -0
- data/lib/wx/doc/gen/file_system.rb +17 -1
- data/lib/wx/doc/gen/find_dialog_event.rb +2 -1
- data/lib/wx/doc/gen/find_replace_data.rb +1 -0
- data/lib/wx/doc/gen/find_replace_dialog.rb +3 -0
- data/lib/wx/doc/gen/flex_grid_sizer.rb +13 -0
- data/lib/wx/doc/gen/font.rb +75 -3
- data/lib/wx/doc/gen/font_data.rb +14 -0
- data/lib/wx/doc/gen/font_dialog.rb +6 -0
- data/lib/wx/doc/gen/font_picker_ctrl.rb +8 -0
- data/lib/wx/doc/gen/font_picker_event.rb +1 -0
- data/lib/wx/doc/gen/frame.rb +24 -7
- data/lib/wx/doc/gen/fs_file.rb +22 -0
- data/lib/wx/doc/gen/gauge.rb +8 -0
- data/lib/wx/doc/gen/gb_sizer_item.rb +5 -0
- data/lib/wx/doc/gen/gcdc.rb +2 -0
- data/lib/wx/doc/gen/gdi_common.rb +50 -8
- data/lib/wx/doc/gen/gdi_object.rb +1 -0
- data/lib/wx/doc/gen/generic_dir_ctrl.rb +7 -0
- data/lib/wx/doc/gen/graphics_context.rb +36 -7
- data/lib/wx/doc/gen/graphics_object.rb +24 -0
- data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +2 -2
- data/lib/wx/doc/gen/grid/grid_cell_attr.rb +14 -4
- 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 -2
- data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +2 -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 +2 -2
- data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_editor.rb +9 -2
- data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +2 -2
- data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +2 -2
- data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +1 -2
- data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +6 -2
- 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 +229 -7
- data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +4 -1
- data/lib/wx/doc/gen/grid/grid_event.rb +4 -1
- data/lib/wx/doc/gen/grid/grid_range_select_event.rb +2 -1
- data/lib/wx/doc/gen/grid/grid_size_event.rb +2 -1
- data/lib/wx/doc/gen/grid/grid_string_table.rb +7 -0
- data/lib/wx/doc/gen/grid/grid_table_base.rb +27 -1
- data/lib/wx/doc/gen/grid/grid_table_message.rb +1 -0
- data/lib/wx/doc/gen/grid_bag_sizer.rb +24 -4
- data/lib/wx/doc/gen/grid_sizer.rb +11 -0
- data/lib/wx/doc/gen/gui_event_loop.rb +12 -2
- data/lib/wx/doc/gen/header_ctrl.rb +106 -6
- data/lib/wx/doc/gen/header_ctrl_event.rb +5 -1
- data/lib/wx/doc/gen/help_controller.rb +11 -0
- data/lib/wx/doc/gen/help_provider.rb +12 -3
- data/lib/wx/doc/gen/html/html_cell.rb +25 -0
- data/lib/wx/doc/gen/html/html_cell_event.rb +3 -1
- data/lib/wx/doc/gen/html/html_easy_printing.rb +13 -1
- data/lib/wx/doc/gen/html/html_help_controller.rb +18 -0
- data/lib/wx/doc/gen/html/html_help_data.rb +5 -0
- data/lib/wx/doc/gen/html/html_help_window.rb +8 -0
- data/lib/wx/doc/gen/html/html_link_event.rb +1 -0
- data/lib/wx/doc/gen/html/html_list_box.rb +49 -9
- data/lib/wx/doc/gen/html/html_printout.rb +7 -0
- data/lib/wx/doc/gen/html/html_window.rb +31 -0
- data/lib/wx/doc/gen/hyperlink_ctrl.rb +2 -1
- data/lib/wx/doc/gen/hyperlink_event.rb +1 -0
- data/lib/wx/doc/gen/icon.rb +19 -1
- data/lib/wx/doc/gen/icon_location.rb +1 -0
- data/lib/wx/doc/gen/image.rb +67 -10
- data/lib/wx/doc/gen/image_list.rb +12 -2
- data/lib/wx/doc/gen/info_bar.rb +12 -0
- data/lib/wx/doc/gen/keyboard_state.rb +11 -0
- data/lib/wx/doc/gen/list_box.rb +20 -3
- data/lib/wx/doc/gen/list_ctrl.rb +89 -0
- data/lib/wx/doc/gen/list_event.rb +11 -1
- data/lib/wx/doc/gen/listbook.rb +1 -0
- data/lib/wx/doc/gen/locale.rb +22 -0
- data/lib/wx/doc/gen/log.rb +42 -0
- data/lib/wx/doc/gen/mdi_client_window.rb +4 -1
- data/lib/wx/doc/gen/mdi_frame.rb +27 -4
- data/lib/wx/doc/gen/media_ctrl.rb +17 -0
- data/lib/wx/doc/gen/media_event.rb +2 -1
- data/lib/wx/doc/gen/memory_dc.rb +10 -0
- data/lib/wx/doc/gen/menu.rb +48 -7
- data/lib/wx/doc/gen/menu_bar.rb +32 -13
- data/lib/wx/doc/gen/menu_item.rb +26 -0
- data/lib/wx/doc/gen/message_dialog.rb +10 -0
- data/lib/wx/doc/gen/mini_frame.rb +5 -2
- data/lib/wx/doc/gen/mirror_dc.rb +1 -0
- data/lib/wx/doc/gen/mouse_state.rb +1 -0
- data/lib/wx/doc/gen/multi_choice_dialog.rb +3 -1
- data/lib/wx/doc/gen/non_owned_window.rb +3 -0
- data/lib/wx/doc/gen/notebook.rb +11 -1
- data/lib/wx/doc/gen/num_validator.rb +37 -0
- data/lib/wx/doc/gen/number_entry_dialog.rb +4 -0
- data/lib/wx/doc/gen/object.rb +3 -0
- data/lib/wx/doc/gen/owner_drawn_combo_box.rb +340 -0
- data/lib/wx/doc/gen/paint_dc.rb +1 -0
- data/lib/wx/doc/gen/palette.rb +5 -0
- data/lib/wx/doc/gen/panel.rb +10 -2
- data/lib/wx/doc/gen/pen.rb +30 -1
- 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 +116 -0
- data/lib/wx/doc/gen/pg/numeric_property_validator.rb +2 -1
- data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +4 -1
- data/lib/wx/doc/gen/pg/pg_cell.rb +6 -1
- data/lib/wx/doc/gen/pg/pg_editor.rb +61 -15
- data/lib/wx/doc/gen/pg/pg_multi_button.rb +2 -0
- data/lib/wx/doc/gen/pg/pg_properties.rb +198 -81
- data/lib/wx/doc/gen/pg/pg_property.rb +129 -52
- data/lib/wx/doc/gen/pg/pg_validation_info.rb +2 -0
- data/lib/wx/doc/gen/pg/property_grid.rb +56 -14
- data/lib/wx/doc/gen/pg/property_grid_event.rb +16 -6
- data/lib/wx/doc/gen/pg/property_grid_interface.rb +98 -37
- data/lib/wx/doc/gen/pg/property_grid_manager.rb +29 -7
- data/lib/wx/doc/gen/pg/property_grid_page.rb +11 -4
- data/lib/wx/doc/gen/pg/property_grid_page_state.rb +7 -2
- data/lib/wx/doc/gen/picker_base.rb +11 -1
- data/lib/wx/doc/gen/platform_info.rb +31 -0
- data/lib/wx/doc/gen/popup_window.rb +5 -0
- data/lib/wx/doc/gen/progress_dialog.rb +4 -0
- data/lib/wx/doc/gen/property_sheet_dialog.rb +7 -1
- data/lib/wx/doc/gen/prt/page_setup_dialog.rb +2 -0
- data/lib/wx/doc/gen/prt/post_script_dc.rb +1 -0
- data/lib/wx/doc/gen/prt/preview_frame.rb +4 -0
- data/lib/wx/doc/gen/prt/print_abort_dialog.rb +1 -0
- data/lib/wx/doc/gen/prt/print_data.rb +27 -0
- data/lib/wx/doc/gen/prt/print_dialog.rb +4 -0
- data/lib/wx/doc/gen/prt/printer.rb +42 -5
- data/lib/wx/doc/gen/prt/printer_dc.rb +2 -0
- data/lib/wx/doc/gen/query_layout_info_event.rb +9 -0
- data/lib/wx/doc/gen/radio_box.rb +19 -0
- data/lib/wx/doc/gen/radio_button.rb +9 -0
- data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +63 -0
- data/lib/wx/doc/gen/rbn/ribbon_bar.rb +23 -0
- data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +2 -1
- data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +35 -9
- data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +2 -1
- data/lib/wx/doc/gen/rbn/ribbon_control.rb +10 -0
- data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +17 -7
- data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +2 -1
- data/lib/wx/doc/gen/rbn/ribbon_page.rb +12 -0
- data/lib/wx/doc/gen/rbn/ribbon_panel.rb +11 -0
- data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +2 -1
- data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +25 -0
- data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +2 -1
- data/lib/wx/doc/gen/rearrange_ctrl.rb +4 -0
- data/lib/wx/doc/gen/rearrange_list.rb +9 -0
- data/lib/wx/doc/gen/region.rb +42 -13
- data/lib/wx/doc/gen/region_iterator.rb +1 -0
- data/lib/wx/doc/gen/rtc/rich_text_box.rb +25 -8
- data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +41 -4
- data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +1 -0
- data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +23 -11
- data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +74 -0
- data/lib/wx/doc/gen/rtc/rich_text_event.rb +6 -1
- data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +8 -0
- data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +6 -0
- data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +1 -0
- data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +4 -0
- data/lib/wx/doc/gen/rtc/rich_text_image.rb +7 -0
- data/lib/wx/doc/gen/rtc/rich_text_object.rb +64 -4
- data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +51 -4
- data/lib/wx/doc/gen/rtc/rich_text_printing.rb +13 -0
- data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +9 -4
- data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +3 -0
- data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +2 -0
- data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +1 -0
- data/lib/wx/doc/gen/sash_event.rb +5 -1
- data/lib/wx/doc/gen/sash_layout_window.rb +10 -0
- data/lib/wx/doc/gen/sash_window.rb +3 -0
- data/lib/wx/doc/gen/screen_dc.rb +1 -0
- data/lib/wx/doc/gen/scroll_bar.rb +11 -2
- data/lib/wx/doc/gen/scrolled_canvas.rb +20 -4
- data/lib/wx/doc/gen/scrolled_control.rb +20 -4
- data/lib/wx/doc/gen/scrolled_window.rb +20 -4
- data/lib/wx/doc/gen/search_ctrl.rb +6 -0
- data/lib/wx/doc/gen/simplebook.rb +7 -0
- data/lib/wx/doc/gen/single_choice_dialog.rb +3 -1
- data/lib/wx/doc/gen/sizer.rb +79 -9
- data/lib/wx/doc/gen/sizer_item.rb +16 -2
- data/lib/wx/doc/gen/slider.rb +23 -0
- data/lib/wx/doc/gen/spin_button.rb +9 -0
- data/lib/wx/doc/gen/spin_ctrl.rb +11 -0
- data/lib/wx/doc/gen/spin_ctrl_double.rb +7 -0
- data/lib/wx/doc/gen/spin_double_event.rb +4 -1
- data/lib/wx/doc/gen/spin_event.rb +2 -1
- data/lib/wx/doc/gen/splash_screen.rb +2 -0
- data/lib/wx/doc/gen/splitter_event.rb +10 -1
- data/lib/wx/doc/gen/splitter_window.rb +38 -14
- data/lib/wx/doc/gen/static_bitmap.rb +99 -2
- data/lib/wx/doc/gen/static_box.rb +6 -0
- data/lib/wx/doc/gen/static_box_sizer.rb +3 -0
- data/lib/wx/doc/gen/static_line.rb +4 -0
- data/lib/wx/doc/gen/static_text.rb +5 -0
- data/lib/wx/doc/gen/status_bar.rb +17 -3
- data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +174 -6
- data/lib/wx/doc/gen/stc/styled_text_event.rb +27 -1
- data/lib/wx/doc/gen/std_dialog_button_sizer.rb +7 -0
- data/lib/wx/doc/gen/svg_file_dc.rb +9 -0
- data/lib/wx/doc/gen/system_options.rb +8 -0
- data/lib/wx/doc/gen/system_settings.rb +7 -0
- data/lib/wx/doc/gen/task_bar_button.rb +12 -0
- data/lib/wx/doc/gen/task_bar_icon.rb +5 -0
- data/lib/wx/doc/gen/task_bar_icon_event.rb +2 -1
- data/lib/wx/doc/gen/text_attr.rb +27 -0
- data/lib/wx/doc/gen/text_ctrl.rb +27 -3
- data/lib/wx/doc/gen/text_entry.rb +43 -9
- data/lib/wx/doc/gen/text_entry_dialog.rb +12 -0
- data/lib/wx/doc/gen/text_validator.rb +16 -0
- data/lib/wx/doc/gen/time_picker_ctrl.rb +6 -0
- data/lib/wx/doc/gen/timer.rb +8 -0
- data/lib/wx/doc/gen/timer_event.rb +1 -0
- data/lib/wx/doc/gen/tip_provider.rb +5 -0
- data/lib/wx/doc/gen/toggle_button.rb +68 -0
- data/lib/wx/doc/gen/tool_bar.rb +57 -14
- data/lib/wx/doc/gen/tool_tip.rb +6 -0
- data/lib/wx/doc/gen/toolbook.rb +3 -0
- data/lib/wx/doc/gen/top_level_window.rb +34 -3
- data/lib/wx/doc/gen/tree_ctrl.rb +49 -0
- data/lib/wx/doc/gen/tree_event.rb +7 -1
- data/lib/wx/doc/gen/treebook.rb +9 -0
- data/lib/wx/doc/gen/ui_action_simulator.rb +4 -0
- data/lib/wx/doc/gen/utils.rb +55 -16
- data/lib/wx/doc/gen/v_list_box.rb +21 -0
- data/lib/wx/doc/gen/v_scrolled_window.rb +15 -0
- data/lib/wx/doc/gen/validator.rb +9 -13
- data/lib/wx/doc/gen/variant.rb +6 -0
- data/lib/wx/doc/gen/window.rb +260 -52
- data/lib/wx/doc/gen/window_dc.rb +2 -0
- data/lib/wx/doc/gen/window_disabler.rb +1 -0
- data/lib/wx/doc/gen/with_images.rb +7 -1
- data/lib/wx/doc/gen/wizard.rb +18 -0
- data/lib/wx/doc/gen/wizard_event.rb +3 -1
- data/lib/wx/doc/gen/wizard_page.rb +5 -0
- data/lib/wx/doc/gen/wizard_page_simple.rb +4 -0
- data/lib/wx/doc/gen/wrap_sizer.rb +5 -0
- data/lib/wx/doc/gen/xml_node.rb +14 -0
- data/lib/wx/doc/gen/xml_resource.rb +22 -0
- data/lib/wx/doc/generic_validator.rb +95 -0
- data/lib/wx/doc/html/simple_html_listbox.rb +22 -0
- data/lib/wx/doc/num_validator.rb +387 -0
- data/lib/wx/doc/owner_drawn_combobox.rb +96 -0
- data/lib/wx/doc/persistence_manager.rb +36 -0
- data/lib/wx/doc/persistent_object.rb +27 -0
- data/lib/wx/doc/pg/numeric_property_validator.rb +33 -0
- data/lib/wx/doc/static_bitmap.rb +25 -0
- data/lib/wx/doc/text_validator.rb +10 -0
- data/lib/wx/doc/top_level_window.rb +19 -0
- data/lib/wx/doc/treebook.rb +6 -1
- data/lib/wx/doc/validator.rb +113 -0
- data/lib/wx/doc/window.rb +30 -0
- data/lib/wx/html/events/evt_list.rb +0 -10
- data/lib/wx/html/simple_html_listbox.rb +24 -91
- data/lib/wx/keyword_defs.rb +34 -2
- data/lib/wx/rbn/ribbon_gallery.rb +0 -21
- 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/mingw.rb +12 -0
- data/samples/aui/aui.rb +1237 -1233
- data/samples/calendar/calendar.rb +293 -289
- data/samples/controls/get_item_sample.rb +83 -79
- data/samples/controls/htlbox.rb +331 -327
- data/samples/dialogs/dialogs.rb +682 -694
- data/samples/dialogs/wizard.rb +52 -55
- data/samples/dragdrop/dragdrop.rb +146 -142
- data/samples/drawing/bitmap.rb +29 -26
- data/samples/drawing/bitmap_image.rb +84 -80
- data/samples/drawing/graphics_drawing.rb +209 -205
- data/samples/drawing/image_prt.rb +344 -340
- data/samples/drawing/maths_images.rb +18 -1
- data/samples/drawing/rmagic_bitmap_image.rb +88 -84
- data/samples/etc/caret.rb +306 -0
- data/samples/etc/miniframe.rb +65 -60
- data/samples/etc/sash.rb +109 -105
- data/samples/etc/scrollwin.rb +86 -80
- data/samples/etc/system_settings.rb +216 -209
- data/samples/event/activation.rb +72 -67
- data/samples/event/event.rb +160 -153
- data/samples/event/threaded.rb +8 -1
- data/samples/event/update_ui_event.rb +67 -60
- data/samples/grid/grid.rb +188 -181
- data/samples/grid/gridtablebase.rb +136 -129
- data/samples/html/html.rb +208 -204
- data/samples/mdi/mdi.rb +59 -54
- data/samples/minimal/minimal.rb +54 -51
- data/samples/minimal/nothing.rb +1 -0
- data/samples/printing/printing.rb +367 -377
- data/samples/printing/printing2.rb +203 -198
- data/samples/propgrid/propgrid.rb +2312 -2308
- data/samples/propgrid/propgrid_minimal.rb +57 -50
- data/samples/ribbon/ribbon.rb +780 -774
- data/samples/sampler/ext.rb +0 -33
- data/samples/sampler/sample.rb +4 -9
- data/samples/sampler.rb +1 -1
- data/samples/splash/splash.rb +118 -116
- data/samples/text/rich_textctrl.rb +207 -201
- data/samples/text/richtext.rb +1409 -1405
- data/samples/text/scintilla.rb +137 -128
- data/samples/text/textctrl.rb +89 -83
- data/samples/text/unicode.rb +175 -168
- data/samples/treectrl/treectrl.rb +1430 -1426
- data/samples/widgets/activityindicator.rb +95 -0
- data/samples/widgets/art/widgets/activityindicator.xpm +278 -0
- data/samples/widgets/art/widgets/bmpbtn.xpm +37 -0
- data/samples/widgets/art/widgets/bmpcombobox.xpm +54 -0
- data/samples/widgets/art/widgets/button.xpm +54 -0
- data/samples/widgets/art/widgets/checkbox.xpm +54 -0
- data/samples/{bigdemo/icons → widgets/art/widgets}/choice.xpm +1 -1
- data/samples/widgets/art/widgets/choicebk.xpm +54 -0
- data/samples/widgets/art/widgets/clrpicker.xpm +193 -0
- data/samples/widgets/art/widgets/combobox.xpm +54 -0
- data/samples/widgets/art/widgets/datepick.xpm +200 -0
- data/samples/widgets/art/widgets/dirctrl.xpm +54 -0
- data/samples/widgets/art/widgets/dirpicker.xpm +213 -0
- data/samples/widgets/art/widgets/filepicker.xpm +214 -0
- data/samples/widgets/art/widgets/fontpicker.xpm +185 -0
- data/samples/widgets/art/widgets/gauge.xpm +54 -0
- data/samples/widgets/art/widgets/header.xpm +54 -0
- data/samples/widgets/art/widgets/hyperlnk.xpm +54 -0
- data/samples/widgets/art/widgets/listbook.xpm +54 -0
- data/samples/widgets/art/widgets/listbox.xpm +54 -0
- data/samples/widgets/art/widgets/native.xpm +81 -0
- data/samples/widgets/art/widgets/notebook.xpm +54 -0
- data/samples/widgets/art/widgets/odcombobox.xpm +54 -0
- data/samples/widgets/art/widgets/radiobox.xpm +54 -0
- data/samples/widgets/art/widgets/scrolbar.xpm +54 -0
- data/samples/widgets/art/widgets/slider.xpm +54 -0
- data/samples/widgets/art/widgets/spinbtn.xpm +40 -0
- data/samples/widgets/art/widgets/statbmp.xpm +40 -0
- data/samples/widgets/art/widgets/statbox.xpm +54 -0
- data/samples/widgets/art/widgets/stattext.xpm +54 -0
- data/samples/widgets/art/widgets/text.xpm +54 -0
- data/samples/widgets/art/widgets/timepick.xpm +207 -0
- data/samples/widgets/art/widgets/toggle.xpm +54 -0
- data/samples/widgets/art/widgets/toucan.png +0 -0
- data/samples/widgets/bmpcombobox.rb +651 -0
- data/samples/widgets/button.rb +462 -0
- data/samples/widgets/checkbox.rb +211 -0
- data/samples/widgets/choice.rb +287 -0
- data/samples/widgets/clrpicker.rb +156 -0
- data/samples/widgets/combobox.rb +516 -0
- data/samples/widgets/datepick.rb +215 -0
- data/samples/widgets/dirctrl.rb +265 -0
- data/samples/widgets/dirpicker.rb +158 -0
- data/samples/widgets/editlbox.rb +122 -0
- data/samples/widgets/filectrl.rb +216 -0
- data/samples/widgets/filepicker.rb +214 -0
- data/samples/widgets/fontpicker.rb +135 -0
- data/samples/widgets/gauge.rb +311 -0
- data/samples/widgets/headerctrl.rb +236 -0
- data/samples/widgets/hyperlink.rb +203 -0
- data/samples/widgets/itemcontainer.rb +185 -0
- data/samples/widgets/listbox.rb +473 -0
- data/samples/widgets/notebook.rb +488 -0
- data/samples/widgets/odcombobox.rb +608 -0
- data/samples/widgets/radiobox.rb +328 -0
- data/samples/widgets/searchctrl.rb +159 -0
- data/samples/widgets/slider.rb +594 -0
- data/samples/widgets/spinbtn.rb +443 -0
- data/samples/widgets/statbmp.rb +130 -0
- data/samples/widgets/static.rb +436 -0
- data/samples/widgets/textctrl.rb +700 -0
- data/samples/widgets/timepick.rb +148 -0
- data/samples/widgets/tn_widgets.png +0 -0
- data/samples/widgets/toggle.rb +385 -0
- data/samples/widgets/widgets.rb +1229 -0
- data/samples/xrc/custom_xrc_sample.rb +47 -41
- data/samples/xrc/xrc_sample.rb +53 -47
- data/tests/test_config.rb +207 -42
- data/tests/test_event_handling.rb +52 -34
- data/tests/test_events.rb +7 -0
- data/tests/test_item_data.rb +24 -0
- data/tests/test_persistence.rb +142 -0
- data/tests/test_sizer.rb +44 -1
- data/tests/test_validators.rb +805 -0
- metadata +103 -137
- data/lib/wx/core/choice.rb +0 -14
- data/lib/wx/core/combo_ctrl.rb +0 -110
- data/samples/bigdemo/About.rbw +0 -39
- data/samples/bigdemo/ColorPanel.rbw +0 -23
- data/samples/bigdemo/GridSimple.rbw +0 -78
- data/samples/bigdemo/MDIDemo.rbw +0 -57
- data/samples/bigdemo/PopupMenu.rbw +0 -146
- data/samples/bigdemo/ShapedWindow.rbw +0 -128
- data/samples/bigdemo/Sizers.rbw +0 -541
- data/samples/bigdemo/bigdemo.rb +0 -817
- data/samples/bigdemo/demoTemplate.rbw +0 -33
- data/samples/bigdemo/helpfile.htb +0 -0
- data/samples/bigdemo/icons/Test 015.jpg +0 -0
- data/samples/bigdemo/icons/Test 015.png +0 -0
- data/samples/bigdemo/icons/choice.bmp +0 -0
- data/samples/bigdemo/icons/combo.bmp +0 -0
- data/samples/bigdemo/icons/combo.xpm +0 -27
- data/samples/bigdemo/icons/copy.xpm +0 -25
- data/samples/bigdemo/icons/cut.xpm +0 -24
- data/samples/bigdemo/icons/gauge.bmp +0 -0
- data/samples/bigdemo/icons/gauge.xpm +0 -27
- data/samples/bigdemo/icons/help.xpm +0 -25
- data/samples/bigdemo/icons/list.bmp +0 -0
- data/samples/bigdemo/icons/list.xpm +0 -27
- data/samples/bigdemo/icons/mondrian.ico +0 -0
- data/samples/bigdemo/icons/mondrian.xpm +0 -44
- data/samples/bigdemo/icons/new.xpm +0 -24
- data/samples/bigdemo/icons/ogl.ico +0 -0
- data/samples/bigdemo/icons/ogl.xpm +0 -45
- data/samples/bigdemo/icons/open.xpm +0 -26
- data/samples/bigdemo/icons/paste.bmp +0 -0
- data/samples/bigdemo/icons/paste.xpm +0 -38
- data/samples/bigdemo/icons/pointy.png +0 -0
- data/samples/bigdemo/icons/preview.xpm +0 -26
- data/samples/bigdemo/icons/print.xpm +0 -26
- data/samples/bigdemo/icons/radio.bmp +0 -0
- data/samples/bigdemo/icons/radio.xpm +0 -27
- data/samples/bigdemo/icons/robert.xpm +0 -415
- data/samples/bigdemo/icons/sashtest.ico +0 -0
- data/samples/bigdemo/icons/save.xpm +0 -25
- data/samples/bigdemo/icons/smiles.bmp +0 -0
- data/samples/bigdemo/icons/smiles.xpm +0 -39
- data/samples/bigdemo/icons/smiley.ico +0 -0
- data/samples/bigdemo/icons/smiley.xpm +0 -42
- data/samples/bigdemo/icons/stattext.xpm +0 -24
- data/samples/bigdemo/icons/test2.bmp +0 -0
- data/samples/bigdemo/icons/test2.png +0 -0
- data/samples/bigdemo/icons/test2.xpm +0 -79
- data/samples/bigdemo/icons/text.bmp +0 -0
- data/samples/bigdemo/icons/text.xpm +0 -27
- data/samples/bigdemo/icons/tog1.bmp +0 -0
- data/samples/bigdemo/icons/tog1.xpm +0 -38
- data/samples/bigdemo/icons/tog2.bmp +0 -0
- data/samples/bigdemo/icons/tog2.xpm +0 -38
- data/samples/bigdemo/icons/wxruby-128x128.png +0 -0
- data/samples/bigdemo/icons/wxwin.ico +0 -0
- data/samples/bigdemo/icons/wxwin16x16.png +0 -0
- data/samples/bigdemo/icons/wxwin16x16.xpm +0 -25
- data/samples/bigdemo/icons/wxwin32x32.png +0 -0
- data/samples/bigdemo/icons/wxwin48x48.png +0 -0
- data/samples/bigdemo/run.rb +0 -98
- data/samples/bigdemo/tips.txt +0 -7
- data/samples/bigdemo/utils.rb +0 -20
- data/samples/bigdemo/wxArtProvider.rbw +0 -282
- data/samples/bigdemo/wxBitmapButton.rbw +0 -65
- data/samples/bigdemo/wxButton.rbw +0 -64
- data/samples/bigdemo/wxCalendarCtrl.rbw +0 -59
- data/samples/bigdemo/wxCheckBox.rbw +0 -50
- data/samples/bigdemo/wxCheckListBox.rbw +0 -65
- data/samples/bigdemo/wxChoice.rbw +0 -47
- data/samples/bigdemo/wxChoicebook.rbw +0 -78
- data/samples/bigdemo/wxColourDialog.rbw +0 -33
- data/samples/bigdemo/wxComboBox.rbw +0 -77
- data/samples/bigdemo/wxCursor.rbw +0 -136
- data/samples/bigdemo/wxDialog.rbw +0 -74
- data/samples/bigdemo/wxDirDialog.rbw +0 -29
- data/samples/bigdemo/wxDragImage.rbw +0 -70
- data/samples/bigdemo/wxFileDialog.rbw +0 -37
- data/samples/bigdemo/wxFileDialog_Save.rbw +0 -35
- data/samples/bigdemo/wxFindReplaceDialog.rbw +0 -82
- data/samples/bigdemo/wxFontDialog.rbw +0 -200
- data/samples/bigdemo/wxFrame.rbw +0 -53
- data/samples/bigdemo/wxGauge.rbw +0 -65
- data/samples/bigdemo/wxGenericDirCtrl.rbw +0 -74
- data/samples/bigdemo/wxGrid.rbw +0 -66
- data/samples/bigdemo/wxHtmlHelpController.rbw +0 -52
- data/samples/bigdemo/wxListBox.rbw +0 -140
- data/samples/bigdemo/wxListCtrl_virtual.rbw +0 -112
- data/samples/bigdemo/wxMDIWindows.rbw +0 -50
- data/samples/bigdemo/wxMenu.rbw +0 -247
- data/samples/bigdemo/wxMessageDialog.rbw +0 -27
- data/samples/bigdemo/wxMiniFrame.rbw +0 -70
- data/samples/bigdemo/wxMultipleChoiceDialog.rbw +0 -29
- data/samples/bigdemo/wxNotebook.rbw +0 -136
- data/samples/bigdemo/wxProgressDialog.rbw +0 -43
- data/samples/bigdemo/wxRadioBox.rbw +0 -72
- data/samples/bigdemo/wxRadioButton.rbw +0 -125
- data/samples/bigdemo/wxSashWindow.rbw +0 -141
- data/samples/bigdemo/wxScrolledMessageDialog.rbw +0 -57
- data/samples/bigdemo/wxScrolledWindow.rbw +0 -199
- data/samples/bigdemo/wxSingleChoiceDialog.rbw +0 -33
- data/samples/bigdemo/wxSlider.rbw +0 -42
- data/samples/bigdemo/wxSpinButton.rbw +0 -50
- data/samples/bigdemo/wxSpinCtrl.rbw +0 -51
- data/samples/bigdemo/wxSplitterWindow.rbw +0 -63
- data/samples/bigdemo/wxStaticBitmap.rbw +0 -47
- data/samples/bigdemo/wxStaticText.rbw +0 -55
- data/samples/bigdemo/wxStatusBar.rbw +0 -126
- data/samples/bigdemo/wxTextCtrl.rbw +0 -149
- data/samples/bigdemo/wxTextEntryDialog.rbw +0 -31
- data/samples/bigdemo/wxToggleButton.rbw +0 -49
- data/samples/bigdemo/wxToolBar.rbw +0 -131
- data/samples/bigdemo/wxTreeCtrl.rbw +0 -191
- data/samples/caret/caret.rb +0 -298
- data/samples/caret/mondrian.xpm +0 -44
- data/samples/controls/books.rb +0 -189
- data/samples/controls/choice.xpm +0 -27
- data/samples/controls/combo.xpm +0 -27
- data/samples/controls/controls.rb +0 -1099
- data/samples/controls/gauge.xpm +0 -27
- data/samples/controls/list.xpm +0 -27
- data/samples/controls/mondrian.ico +0 -0
- data/samples/controls/mondrian.xpm +0 -44
- data/samples/controls/radio.xpm +0 -27
- data/samples/controls/stattext.xpm +0 -24
- data/samples/controls/test2.bmp +0 -0
- data/samples/controls/text.xpm +0 -27
- data/samples/controls/tn_books.png +0 -0
- data/samples/controls/tn_controls.png +0 -0
- data/samples/etc/choice.rb +0 -87
- data/samples/etc/tn_choice.png +0 -0
- data/samples/text/mondrian.ico +0 -0
- data/samples/text/mondrian.xpm +0 -44
- /data/samples/{caret → etc}/tn_caret.png +0 -0
data/samples/grid/grid.rb
CHANGED
@@ -11,195 +11,202 @@
|
|
11
11
|
|
12
12
|
require 'wx'
|
13
13
|
|
14
|
-
|
15
|
-
def apply_edit(row, col, grid)
|
16
|
-
grid.set_cell_value(row, col, "'#{get_value}'" )
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
class GridFrame < Wx::Frame
|
21
|
-
|
22
|
-
def initialize(parent, id = -1, title = "MyFrame",
|
23
|
-
pos = Wx::DEFAULT_POSITION,
|
24
|
-
size = Wx::DEFAULT_SIZE,
|
25
|
-
style = Wx::DEFAULT_FRAME_STYLE)
|
26
|
-
|
27
|
-
super(parent, id, title, pos, size, style)
|
28
|
-
sizer = Wx::BoxSizer.new(Wx::VERTICAL)
|
29
|
-
create_status_bar
|
30
|
-
set_status_text(Wx::WXRUBY_VERSION)
|
31
|
-
|
32
|
-
# panel = Wx::Panel.new(self)
|
33
|
-
sel_menu = Wx::Menu.new
|
34
|
-
sel_menu.append(1002, 'Select all', 'Select all')
|
35
|
-
evt_menu(1002) { @grid.select_all }
|
36
|
-
sel_menu.append(1003, 'Select row 2', 'Select row 2')
|
37
|
-
evt_menu(1003) { @grid.select_row(1) }
|
38
|
-
sel_menu.append(1004, 'Select column 4', 'Select col 4')
|
39
|
-
evt_menu(1004) { @grid.select_col(3) }
|
40
|
-
sel_menu.append(1005, 'Select block', 'Select block')
|
41
|
-
evt_menu(1005) { @grid.select_block(1, 1, 6, 3) }
|
42
|
-
menu_bar = Wx::MenuBar.new
|
43
|
-
menu_bar.append(sel_menu, 'Select')
|
44
|
-
set_menu_bar(menu_bar)
|
45
|
-
|
46
|
-
make_grid(self)
|
47
|
-
sizer.add(@grid, 1, Wx::ALL|Wx::GROW, 4)
|
48
|
-
set_sizer(sizer)
|
49
|
-
|
50
|
-
evt_grid_cell_left_click do |evt|
|
51
|
-
set_status_text("#{evt.get_row} x #{evt.get_col} is clicked")
|
52
|
-
evt.skip
|
53
|
-
end
|
54
|
-
|
55
|
-
evt_grid_cell_right_click do |evt|
|
56
|
-
set_status_text("#{evt.get_row} x #{evt.get_col} is right clicked")
|
57
|
-
evt.skip
|
58
|
-
end
|
59
|
-
|
60
|
-
evt_grid_cell_left_dclick do |evt|
|
61
|
-
set_status_text("#{evt.get_row} x #{evt.get_col} is double clicked")
|
62
|
-
evt.skip
|
63
|
-
end
|
64
|
-
|
65
|
-
evt_grid_cell_right_dclick do |evt|
|
66
|
-
set_status_text("#{evt.get_row} x #{evt.get_col} is right double clicked")
|
67
|
-
evt.skip
|
68
|
-
end
|
69
|
-
|
70
|
-
evt_grid_label_left_click do |evt|
|
71
|
-
set_status_text("#{evt.get_row} x #{evt.get_col} label is clicked")
|
72
|
-
evt.skip
|
73
|
-
end
|
74
|
-
|
75
|
-
evt_grid_label_right_click do |evt|
|
76
|
-
set_status_text("#{evt.get_row} x #{evt.get_col} label is right clicked")
|
77
|
-
evt.skip
|
78
|
-
end
|
79
|
-
|
80
|
-
evt_grid_label_left_dclick do |evt|
|
81
|
-
set_status_text("#{evt.get_row} x #{evt.get_col} labelis double clicked")
|
82
|
-
evt.skip
|
83
|
-
end
|
84
|
-
|
85
|
-
evt_grid_label_right_dclick do |evt|
|
86
|
-
set_status_text("#{evt.get_row} x #{evt.get_col} label is right double clicked")
|
87
|
-
evt.skip
|
88
|
-
end
|
89
|
-
|
90
|
-
evt_grid_select_cell do |evt|
|
91
|
-
set_status_text("#{evt.get_row} x #{evt.get_col} cell is selected")
|
92
|
-
evt.skip
|
93
|
-
end
|
94
|
-
|
95
|
-
evt_grid_row_size do |evt|
|
96
|
-
set_status_text("Row #{evt.get_row_or_col} size changed")
|
97
|
-
evt.skip
|
98
|
-
end
|
14
|
+
module Grid
|
99
15
|
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
end
|
104
|
-
|
105
|
-
evt_grid_editor_shown do |evt|
|
106
|
-
set_status_text("Begin editing")
|
107
|
-
evt.skip
|
16
|
+
class MyTextCellEditor < Wx::GRID::GridCellTextEditor
|
17
|
+
def apply_edit(row, col, grid)
|
18
|
+
grid.set_cell_value(row, col, "'#{get_value}'" )
|
108
19
|
end
|
20
|
+
end
|
109
21
|
|
110
|
-
|
111
|
-
|
112
|
-
|
22
|
+
class GridFrame < Wx::Frame
|
23
|
+
|
24
|
+
def initialize(parent, id = -1, title = "MyFrame",
|
25
|
+
pos = Wx::DEFAULT_POSITION,
|
26
|
+
size = Wx::DEFAULT_SIZE,
|
27
|
+
style = Wx::DEFAULT_FRAME_STYLE)
|
28
|
+
|
29
|
+
super(parent, id, title, pos, size, style)
|
30
|
+
|
31
|
+
self.icon = Wx.Icon(:sample, Wx::BITMAP_TYPE_XPM, art_path: File.join(__dir__, '..'))
|
32
|
+
|
33
|
+
sizer = Wx::BoxSizer.new(Wx::VERTICAL)
|
34
|
+
create_status_bar
|
35
|
+
set_status_text(Wx::WXRUBY_VERSION)
|
36
|
+
|
37
|
+
# panel = Wx::Panel.new(self)
|
38
|
+
sel_menu = Wx::Menu.new
|
39
|
+
sel_menu.append(1002, 'Select all', 'Select all')
|
40
|
+
evt_menu(1002) { @grid.select_all }
|
41
|
+
sel_menu.append(1003, 'Select row 2', 'Select row 2')
|
42
|
+
evt_menu(1003) { @grid.select_row(1) }
|
43
|
+
sel_menu.append(1004, 'Select column 4', 'Select col 4')
|
44
|
+
evt_menu(1004) { @grid.select_col(3) }
|
45
|
+
sel_menu.append(1005, 'Select block', 'Select block')
|
46
|
+
evt_menu(1005) { @grid.select_block(1, 1, 6, 3) }
|
47
|
+
menu_bar = Wx::MenuBar.new
|
48
|
+
menu_bar.append(sel_menu, 'Select')
|
49
|
+
set_menu_bar(menu_bar)
|
50
|
+
|
51
|
+
make_grid(self)
|
52
|
+
sizer.add(@grid, 1, Wx::ALL|Wx::GROW, 4)
|
53
|
+
set_sizer(sizer)
|
54
|
+
|
55
|
+
evt_grid_cell_left_click do |evt|
|
56
|
+
set_status_text("#{evt.get_row} x #{evt.get_col} is clicked")
|
57
|
+
evt.skip
|
58
|
+
end
|
59
|
+
|
60
|
+
evt_grid_cell_right_click do |evt|
|
61
|
+
set_status_text("#{evt.get_row} x #{evt.get_col} is right clicked")
|
62
|
+
evt.skip
|
63
|
+
end
|
64
|
+
|
65
|
+
evt_grid_cell_left_dclick do |evt|
|
66
|
+
set_status_text("#{evt.get_row} x #{evt.get_col} is double clicked")
|
67
|
+
evt.skip
|
68
|
+
end
|
69
|
+
|
70
|
+
evt_grid_cell_right_dclick do |evt|
|
71
|
+
set_status_text("#{evt.get_row} x #{evt.get_col} is right double clicked")
|
72
|
+
evt.skip
|
73
|
+
end
|
74
|
+
|
75
|
+
evt_grid_label_left_click do |evt|
|
76
|
+
set_status_text("#{evt.get_row} x #{evt.get_col} label is clicked")
|
77
|
+
evt.skip
|
78
|
+
end
|
79
|
+
|
80
|
+
evt_grid_label_right_click do |evt|
|
81
|
+
set_status_text("#{evt.get_row} x #{evt.get_col} label is right clicked")
|
82
|
+
evt.skip
|
83
|
+
end
|
84
|
+
|
85
|
+
evt_grid_label_left_dclick do |evt|
|
86
|
+
set_status_text("#{evt.get_row} x #{evt.get_col} labelis double clicked")
|
87
|
+
evt.skip
|
88
|
+
end
|
89
|
+
|
90
|
+
evt_grid_label_right_dclick do |evt|
|
91
|
+
set_status_text("#{evt.get_row} x #{evt.get_col} label is right double clicked")
|
92
|
+
evt.skip
|
93
|
+
end
|
94
|
+
|
95
|
+
evt_grid_select_cell do |evt|
|
96
|
+
set_status_text("#{evt.get_row} x #{evt.get_col} cell is selected")
|
97
|
+
evt.skip
|
98
|
+
end
|
99
|
+
|
100
|
+
evt_grid_row_size do |evt|
|
101
|
+
set_status_text("Row #{evt.get_row_or_col} size changed")
|
102
|
+
evt.skip
|
103
|
+
end
|
104
|
+
|
105
|
+
evt_grid_col_size do |evt|
|
106
|
+
set_status_text("Column #{evt.get_row_or_col} size changed")
|
107
|
+
evt.skip
|
108
|
+
end
|
109
|
+
|
110
|
+
evt_grid_editor_shown do |evt|
|
111
|
+
set_status_text("Begin editing")
|
112
|
+
evt.skip
|
113
|
+
end
|
114
|
+
|
115
|
+
evt_grid_editor_hidden do |evt|
|
116
|
+
set_status_text("End editing")
|
117
|
+
evt.skip
|
118
|
+
end
|
119
|
+
|
120
|
+
evt_grid_range_selected do |evt|
|
121
|
+
top = evt.get_top_left_coords
|
122
|
+
bottom = evt.get_bottom_right_coords
|
123
|
+
set_status_text("[ #{top[0].to_s} x #{top[1].to_s} ] to [ #{bottom[0].to_s} x #{bottom[1].to_s} ] is selected")
|
124
|
+
end
|
125
|
+
|
126
|
+
evt_grid_editor_created do |evt|
|
127
|
+
set_status_text("Control #{evt.get_control} created")
|
128
|
+
evt.skip
|
129
|
+
end
|
130
|
+
|
131
|
+
evt_grid_cell_changed do |evt|
|
132
|
+
set_status_text("Cell #{evt.get_row} x #{evt.get_col} has changed")
|
133
|
+
end
|
113
134
|
end
|
114
135
|
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
136
|
+
# Create a wxGrid object
|
137
|
+
def make_grid(panel)
|
138
|
+
@grid = Wx::GRID::Grid.new(panel, -1)
|
139
|
+
|
140
|
+
# Then we call CreateGrid to set the dimensions of the grid
|
141
|
+
# (11 rows and 12 columns in this example)
|
142
|
+
@grid.create_grid( 20, 12 )
|
143
|
+
@grid.set_default_cell_background_colour(Wx::WHITE)
|
144
|
+
@grid.set_default_cell_text_colour(Wx::BLACK)
|
145
|
+
# We can set the sizes of individual rows and columns
|
146
|
+
# in pixels, and the label value string
|
147
|
+
@grid.set_row_size( 0, 60 )
|
148
|
+
@grid.set_row_label_value( 0, "Row1" )
|
149
|
+
@grid.set_row_label_alignment(Wx::ALIGN_CENTRE, Wx::ALIGN_CENTRE)
|
150
|
+
|
151
|
+
@grid.set_col_size( 0, 120 )
|
152
|
+
@grid.set_col_label_value( 0, "Col1" )
|
153
|
+
@grid.set_col_label_alignment(Wx::ALIGN_CENTRE, Wx::ALIGN_CENTRE)
|
154
|
+
|
155
|
+
# And set grid cell contents as strings
|
156
|
+
@grid.set_cell_value( 0, 0, "wxGrid is good" )
|
157
|
+
|
158
|
+
# We can specify that some cells are read-only
|
159
|
+
@grid.set_cell_value( 0, 2, "Read-only" )
|
160
|
+
@grid.set_read_only( 0, 2 )
|
161
|
+
|
162
|
+
cell_attr = Wx::GRID::GridCellAttr.new
|
163
|
+
cell_attr.editor = MyTextCellEditor.new
|
164
|
+
@grid.set_row_attr(1, cell_attr)
|
165
|
+
cell_attr2 = Wx::GRID::GridCellAttr.new
|
166
|
+
cell_attr2.editor = cell_attr.editor(@grid, 1, 1)
|
167
|
+
@grid.set_row_attr(2, cell_attr2)
|
168
|
+
|
169
|
+
# Colours can be specified for grid cell contents
|
170
|
+
@grid.set_cell_value(1, 1, "white on red")
|
171
|
+
@grid.set_cell_text_colour(1, 1, Wx::WHITE)
|
172
|
+
@grid.set_cell_background_colour(1, 1, Wx::RED)
|
173
|
+
|
174
|
+
# We can specify the some cells will store numeric
|
175
|
+
# values rather than strings. Here we set grid column 6
|
176
|
+
# to hold floating point values displayed with width
|
177
|
+
# of 2 and precision of 2. The column is highlighted in light grey
|
178
|
+
cell_attr = Wx::GRID::GridCellAttr.new
|
179
|
+
cell_attr.set_background_colour( Wx::LIGHT_GREY )
|
180
|
+
cell_attr.set_renderer( Wx::GRID::GridCellFloatRenderer.new(2, 2) )
|
181
|
+
|
182
|
+
@grid.set_col_attr(5, cell_attr)
|
183
|
+
@grid.set_cell_value(0, 5, "3.1415")
|
184
|
+
@grid.set_cell_value(0, 6,
|
185
|
+
"The whole column to the left uses float format")
|
186
|
+
|
187
|
+
# Custom Editors Can be used
|
188
|
+
editor = Wx::GRID::GridCellNumberEditor.new(5, 20)
|
189
|
+
@grid.set_cell_value(3, 1, 'Number editor below')
|
190
|
+
@grid.set_cell_editor(4, 1, editor)
|
191
|
+
|
192
|
+
editor = Wx::GRID::GridCellFloatEditor.new(4, 2)
|
193
|
+
@grid.set_cell_value(3, 2, 'Float editor below')
|
194
|
+
@grid.set_cell_editor(4, 2, editor)
|
195
|
+
|
196
|
+
editor = Wx::GRID::GridCellChoiceEditor.new(['foo', 'bar', 'baz'])
|
197
|
+
@grid.set_cell_value(3, 3, 'Choice editor below')
|
198
|
+
@grid.set_cell_editor(4, 3, editor)
|
199
|
+
|
200
|
+
@grid.auto_size_row(3, true)
|
201
|
+
|
202
|
+
# Display of cells can be customised
|
203
|
+
@grid.set_cell_editor(6, 0, Wx::GRID::GridCellBoolEditor.new)
|
204
|
+
@grid.set_cell_renderer(6, 0, Wx::GRID::GridCellBoolRenderer.new)
|
205
|
+
@grid.set_cell_value(6, 1, 'Cell to the left displayed as boolean')
|
124
206
|
end
|
125
207
|
|
126
|
-
evt_grid_cell_changed do |evt|
|
127
|
-
set_status_text("Cell #{evt.get_row} x #{evt.get_col} has changed")
|
128
|
-
end
|
129
208
|
end
|
130
209
|
|
131
|
-
# Create a wxGrid object
|
132
|
-
def make_grid(panel)
|
133
|
-
@grid = Wx::GRID::Grid.new(panel, -1)
|
134
|
-
|
135
|
-
# Then we call CreateGrid to set the dimensions of the grid
|
136
|
-
# (11 rows and 12 columns in this example)
|
137
|
-
@grid.create_grid( 20, 12 )
|
138
|
-
@grid.set_default_cell_background_colour(Wx::WHITE)
|
139
|
-
@grid.set_default_cell_text_colour(Wx::BLACK)
|
140
|
-
# We can set the sizes of individual rows and columns
|
141
|
-
# in pixels, and the label value string
|
142
|
-
@grid.set_row_size( 0, 60 )
|
143
|
-
@grid.set_row_label_value( 0, "Row1" )
|
144
|
-
@grid.set_row_label_alignment(Wx::ALIGN_CENTRE, Wx::ALIGN_CENTRE)
|
145
|
-
|
146
|
-
@grid.set_col_size( 0, 120 )
|
147
|
-
@grid.set_col_label_value( 0, "Col1" )
|
148
|
-
@grid.set_col_label_alignment(Wx::ALIGN_CENTRE, Wx::ALIGN_CENTRE)
|
149
|
-
|
150
|
-
# And set grid cell contents as strings
|
151
|
-
@grid.set_cell_value( 0, 0, "wxGrid is good" )
|
152
|
-
|
153
|
-
# We can specify that some cells are read-only
|
154
|
-
@grid.set_cell_value( 0, 2, "Read-only" )
|
155
|
-
@grid.set_read_only( 0, 2 )
|
156
|
-
|
157
|
-
cell_attr = Wx::GRID::GridCellAttr.new
|
158
|
-
cell_attr.editor = MyTextCellEditor.new
|
159
|
-
@grid.set_row_attr(1, cell_attr)
|
160
|
-
cell_attr2 = Wx::GRID::GridCellAttr.new
|
161
|
-
cell_attr2.editor = cell_attr.editor(@grid, 1, 1)
|
162
|
-
@grid.set_row_attr(2, cell_attr2)
|
163
|
-
|
164
|
-
# Colours can be specified for grid cell contents
|
165
|
-
@grid.set_cell_value(1, 1, "white on red")
|
166
|
-
@grid.set_cell_text_colour(1, 1, Wx::WHITE)
|
167
|
-
@grid.set_cell_background_colour(1, 1, Wx::RED)
|
168
|
-
|
169
|
-
# We can specify the some cells will store numeric
|
170
|
-
# values rather than strings. Here we set grid column 6
|
171
|
-
# to hold floating point values displayed with width
|
172
|
-
# of 2 and precision of 2. The column is highlighted in light grey
|
173
|
-
cell_attr = Wx::GRID::GridCellAttr.new
|
174
|
-
cell_attr.set_background_colour( Wx::LIGHT_GREY )
|
175
|
-
cell_attr.set_renderer( Wx::GRID::GridCellFloatRenderer.new(2, 2) )
|
176
|
-
|
177
|
-
@grid.set_col_attr(5, cell_attr)
|
178
|
-
@grid.set_cell_value(0, 5, "3.1415")
|
179
|
-
@grid.set_cell_value(0, 6,
|
180
|
-
"The whole column to the left uses float format")
|
181
|
-
|
182
|
-
# Custom Editors Can be used
|
183
|
-
editor = Wx::GRID::GridCellNumberEditor.new(5, 20)
|
184
|
-
@grid.set_cell_value(3, 1, 'Number editor below')
|
185
|
-
@grid.set_cell_editor(4, 1, editor)
|
186
|
-
|
187
|
-
editor = Wx::GRID::GridCellFloatEditor.new(4, 2)
|
188
|
-
@grid.set_cell_value(3, 2, 'Float editor below')
|
189
|
-
@grid.set_cell_editor(4, 2, editor)
|
190
|
-
|
191
|
-
editor = Wx::GRID::GridCellChoiceEditor.new(['foo', 'bar', 'baz'])
|
192
|
-
@grid.set_cell_value(3, 3, 'Choice editor below')
|
193
|
-
@grid.set_cell_editor(4, 3, editor)
|
194
|
-
|
195
|
-
@grid.auto_size_row(3, true)
|
196
|
-
|
197
|
-
# Display of cells can be customised
|
198
|
-
@grid.set_cell_editor(6, 0, Wx::GRID::GridCellBoolEditor.new)
|
199
|
-
@grid.set_cell_renderer(6, 0, Wx::GRID::GridCellBoolRenderer.new)
|
200
|
-
@grid.set_cell_value(6, 1, 'Cell to the left displayed as boolean')
|
201
|
-
end
|
202
|
-
|
203
210
|
end
|
204
211
|
|
205
212
|
module GridSample
|
@@ -213,7 +220,7 @@ module GridSample
|
|
213
220
|
end
|
214
221
|
|
215
222
|
def self.activate
|
216
|
-
frame = GridFrame.new(nil, -1, "Grid Sample",
|
223
|
+
frame = Grid::GridFrame.new(nil, -1, "Grid Sample",
|
217
224
|
Wx::Point.new(10, 100),
|
218
225
|
Wx::Size.new(630,400))
|
219
226
|
frame.show
|
@@ -11,153 +11,160 @@
|
|
11
11
|
|
12
12
|
require 'wx'
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
#
|
24
|
-
#
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
COLS = ('AA' .. 'ZZ').to_a
|
36
|
-
|
37
|
-
# Firstly, a GridTableBase must indicate the size of the grid in
|
38
|
-
# terms of rows ...
|
39
|
-
def get_number_rows
|
40
|
-
@rows
|
41
|
-
end
|
14
|
+
module GridTable
|
15
|
+
|
16
|
+
# GridTableBase is an alternative way to provide data to a Wx::Grid. A
|
17
|
+
# subclass of Wx::GridTableBase is created which is reqiured to provide
|
18
|
+
# methods to report the total size of the Grid in rows and columns, and
|
19
|
+
# the contents and style of individual cells.
|
20
|
+
#
|
21
|
+
# Then, when creating the Grid, instead of calling create_grid and
|
22
|
+
# set_value to populate it, the GridTableBase-derived class is
|
23
|
+
# associated with the Grid, and provides these functions (see below)
|
24
|
+
#
|
25
|
+
# This approach is typically useful for dealing with very large sets of
|
26
|
+
# data, as each cell's value is only requested as it becomes visible.v
|
27
|
+
class MyGridTable < Wx::GRID::GridTableBase
|
28
|
+
attr_reader :cols, :rows
|
29
|
+
def initialize(rows, cols)
|
30
|
+
super()
|
31
|
+
@rows = rows
|
32
|
+
@cols = cols
|
33
|
+
@number_col = 1
|
34
|
+
end
|
42
35
|
|
43
|
-
|
44
|
-
|
45
|
-
@cols
|
46
|
-
end
|
36
|
+
# Letter labels for columns
|
37
|
+
COLS = ('AA' .. 'ZZ').to_a
|
47
38
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
get_view.process_table_message(msg)
|
39
|
+
# Firstly, a GridTableBase must indicate the size of the grid in
|
40
|
+
# terms of rows ...
|
41
|
+
def get_number_rows
|
42
|
+
@rows
|
53
43
|
end
|
54
|
-
end
|
55
44
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
msg = Wx::GRID::GridTableMessage.new(self, Wx::GRID::GRIDTABLE_NOTIFY_COLS_APPENDED, n)
|
60
|
-
get_view.process_table_message(msg)
|
45
|
+
# ... and columns
|
46
|
+
def get_number_cols
|
47
|
+
@cols
|
61
48
|
end
|
62
|
-
end
|
63
49
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
"#{row}:#{COLS[col]}"
|
50
|
+
def append_rows(n)
|
51
|
+
@rows += n
|
52
|
+
if get_view
|
53
|
+
msg = Wx::GRID::GridTableMessage.new(self, Wx::GRID::GRIDTABLE_NOTIFY_ROWS_APPENDED, n)
|
54
|
+
get_view.process_table_message(msg)
|
55
|
+
end
|
71
56
|
end
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
if col == @number_col
|
80
|
-
"NUMBER"
|
81
|
-
else
|
82
|
-
"STRING"
|
57
|
+
|
58
|
+
def append_cols(n)
|
59
|
+
@cols += n
|
60
|
+
if get_view
|
61
|
+
msg = Wx::GRID::GridTableMessage.new(self, Wx::GRID::GRIDTABLE_NOTIFY_COLS_APPENDED, n)
|
62
|
+
get_view.process_table_message(msg)
|
63
|
+
end
|
83
64
|
end
|
84
|
-
end
|
85
65
|
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
66
|
+
# Most importantly, it should be able to return any given cell's
|
67
|
+
# contents, given its row and column reference
|
68
|
+
def get_value(row, col)
|
69
|
+
if col == @number_col
|
70
|
+
(row * 5).to_s
|
71
|
+
else
|
72
|
+
"#{row}:#{COLS[col]}"
|
73
|
+
end
|
92
74
|
end
|
93
|
-
attr
|
94
|
-
end
|
95
75
|
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
76
|
+
# This is not needed if the cell contents are simply strings. However,
|
77
|
+
# if you wish to use custom GridCellRenderers and/or GridCellEditors,
|
78
|
+
# this should return a type name which has the correct renderer /
|
79
|
+
# editor defined for it in the Grid, using register_
|
80
|
+
def get_type_name(row, col)
|
81
|
+
if col == @number_col
|
82
|
+
"NUMBER"
|
83
|
+
else
|
84
|
+
"STRING"
|
85
|
+
end
|
86
|
+
end
|
100
87
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
88
|
+
# It should also return the attributes that should apply to any given
|
89
|
+
# cell; this example give alternate rows red text letters
|
90
|
+
def get_attr(row, col, attr_kind)
|
91
|
+
attr = Wx::GRID::GridCellAttr.new
|
92
|
+
if (row % 2).zero?
|
93
|
+
attr.text_colour = Wx::RED
|
94
|
+
end
|
95
|
+
attr
|
96
|
+
end
|
105
97
|
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
def set_value(x, y, val)
|
111
|
-
puts "Changing the value of cell (#{x}, #{y}) to '#{val}'"
|
112
|
-
end
|
113
|
-
end
|
98
|
+
# It should indicate whether any given cell is empty
|
99
|
+
def is_empty_cell(row, col)
|
100
|
+
false
|
101
|
+
end
|
114
102
|
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
main_sizer = Wx::VBoxSizer.new
|
119
|
-
# Create a grid and associate an instance of the GridTable as the
|
120
|
-
# data provider for the grid
|
121
|
-
@grid = Wx::GRID::Grid.new(self)
|
122
|
-
|
123
|
-
# Define the renderers and editors used by the different data types
|
124
|
-
# displayed in this Grid. The type of a given cell is determined by
|
125
|
-
# calling the source's get_type_name method; see above.
|
126
|
-
@grid.register_data_type( "STRING",
|
127
|
-
Wx::GRID::GridCellStringRenderer.new,
|
128
|
-
Wx::GRID::GridCellTextEditor.new )
|
129
|
-
@grid.register_data_type( "NUMBER",
|
130
|
-
Wx::GRID::GridCellNumberRenderer.new,
|
131
|
-
Wx::GRID::GridCellNumberEditor.new(0, 500) )
|
132
|
-
|
133
|
-
# Set the data source
|
134
|
-
@grid.table = MyGridTable.new(10, 10)
|
135
|
-
|
136
|
-
|
137
|
-
main_sizer.add(@grid, 1, Wx::EXPAND|Wx::ALL, 5)
|
138
|
-
|
139
|
-
# Add some buttons that can change the contents
|
140
|
-
butt_sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
|
141
|
-
|
142
|
-
butt_1 = Wx::Button.new(self, :label => "Add row")
|
143
|
-
# When resizing the grid to have a new number of rows or columns,
|
144
|
-
# just tell the table
|
145
|
-
evt_button(butt_1) do
|
146
|
-
@grid.append_rows(1)
|
147
|
-
@grid.force_refresh
|
103
|
+
# It may also provide labels for the columns and rows
|
104
|
+
def get_col_label_value(col)
|
105
|
+
COLS[col]
|
148
106
|
end
|
149
|
-
butt_sizer.add(butt_1)
|
150
107
|
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
108
|
+
# If the Grid is to support write as well as read operations,
|
109
|
+
# set_value should also be implemented. In this case, the change is
|
110
|
+
# merely echoed back and doesn't alter the underlying value; a real
|
111
|
+
# implementation could, for example, write back to a database
|
112
|
+
def set_value(x, y, val)
|
113
|
+
puts "Changing the value of cell (#{x}, #{y}) to '#{val}'"
|
155
114
|
end
|
156
|
-
|
115
|
+
end
|
157
116
|
|
158
|
-
|
159
|
-
|
117
|
+
class GridFrame < Wx::Frame
|
118
|
+
def initialize
|
119
|
+
super(nil, :title => 'GridTableBase demo', :size => [600, 300])
|
120
|
+
|
121
|
+
self.icon = Wx.Icon(:sample, Wx::BITMAP_TYPE_XPM, art_path: File.join(__dir__, '..'))
|
122
|
+
|
123
|
+
main_sizer = Wx::VBoxSizer.new
|
124
|
+
# Create a grid and associate an instance of the GridTable as the
|
125
|
+
# data provider for the grid
|
126
|
+
@grid = Wx::GRID::Grid.new(self)
|
127
|
+
|
128
|
+
# Define the renderers and editors used by the different data types
|
129
|
+
# displayed in this Grid. The type of a given cell is determined by
|
130
|
+
# calling the source's get_type_name method; see above.
|
131
|
+
@grid.register_data_type( "STRING",
|
132
|
+
Wx::GRID::GridCellStringRenderer.new,
|
133
|
+
Wx::GRID::GridCellTextEditor.new )
|
134
|
+
@grid.register_data_type( "NUMBER",
|
135
|
+
Wx::GRID::GridCellNumberRenderer.new,
|
136
|
+
Wx::GRID::GridCellNumberEditor.new(0, 500) )
|
137
|
+
|
138
|
+
# Set the data source
|
139
|
+
@grid.table = MyGridTable.new(10, 10)
|
140
|
+
|
141
|
+
|
142
|
+
main_sizer.add(@grid, 1, Wx::EXPAND|Wx::ALL, 5)
|
143
|
+
|
144
|
+
# Add some buttons that can change the contents
|
145
|
+
butt_sizer = Wx::BoxSizer.new(Wx::HORIZONTAL)
|
146
|
+
|
147
|
+
butt_1 = Wx::Button.new(self, :label => "Add row")
|
148
|
+
# When resizing the grid to have a new number of rows or columns,
|
149
|
+
# just tell the table
|
150
|
+
evt_button(butt_1) do
|
151
|
+
@grid.append_rows(1)
|
152
|
+
@grid.force_refresh
|
153
|
+
end
|
154
|
+
butt_sizer.add(butt_1)
|
155
|
+
|
156
|
+
butt_2 = Wx::Button.new(self, :label => "Add column")
|
157
|
+
evt_button(butt_2) do
|
158
|
+
@grid.append_cols(1)
|
159
|
+
@grid.force_refresh
|
160
|
+
end
|
161
|
+
butt_sizer.add(butt_2)
|
162
|
+
|
163
|
+
main_sizer.add(butt_sizer, 0, Wx::EXPAND|Wx::ALL, 5)
|
164
|
+
self.sizer = main_sizer
|
165
|
+
end
|
160
166
|
end
|
167
|
+
|
161
168
|
end
|
162
169
|
|
163
170
|
module GridTableSample
|
@@ -171,7 +178,7 @@ module GridTableSample
|
|
171
178
|
end
|
172
179
|
|
173
180
|
def self.activate
|
174
|
-
frame = GridFrame.new
|
181
|
+
frame = GridTable::GridFrame.new
|
175
182
|
frame.show
|
176
183
|
frame
|
177
184
|
end
|