wxruby3 1.6.1 → 1.8.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 +46 -6
- data/README.md +17 -17
- data/assets/repo-social-preview.odg +0 -0
- data/assets/repo-social-preview.xcf +0 -0
- data/ext/wxruby3/include/wxRubyApp.h +203 -91
- data/ext/wxruby3/include/wxruby-ComboPopup.h +25 -8
- data/ext/wxruby3/include/wxruby-GCTracking.h +262 -0
- data/ext/wxruby3/include/wxruby-MBConv.h +190 -0
- data/ext/wxruby3/include/wxruby-SharedEventHandler.h +183 -0
- data/ext/wxruby3/include/wxruby-SharedPtr.h +104 -0
- data/ext/wxruby3/include/wxruby-runtime.h +107 -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 +9 -19
- 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/custom/wx_ruby_shared_ptr.i +434 -0
- data/ext/wxruby3/swig/custom/wx_shared_ptr.i +431 -0
- data/ext/wxruby3/swig/mark_free_impl.i +83 -144
- data/ext/wxruby3/swig/memory_management.i +8 -43
- data/ext/wxruby3/swig/wx.i +88 -86
- 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/const.rb +0 -1
- data/lib/wx/core/context_help.rb +17 -0
- data/lib/wx/core/cursor.rb +1 -0
- 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/helpcontrollerhelpprovider.rb +10 -2
- data/lib/wx/core/mbconv.rb +11 -0
- data/lib/wx/core/media_ctrl.rb +31 -0
- data/lib/wx/core/tipwindow.rb +16 -0
- data/lib/wx/core/top_level_window.rb +7 -0
- data/lib/wx/core.rb +6 -0
- data/lib/wx/doc/art_provider.rb +17 -0
- data/lib/wx/doc/aui/auitabctrl.rb +35 -0
- data/lib/wx/doc/config.rb +2 -2
- data/lib/wx/doc/context_help.rb +42 -0
- data/lib/wx/doc/core.rb +0 -5
- data/lib/wx/doc/functions.rb +11 -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 +286 -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 +617 -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 +274 -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 +56 -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 +155 -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 +3037 -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 +238 -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 +382 -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/mb_conv.rb +10 -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 +1142 -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/rt/event_list.rb +17 -0
- data/lib/wx/doc/gen/rt/shared_evt_handler.rb +14 -0
- data/lib/wx/doc/gen/rt/thread_event.rb +71 -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 +516 -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/web/event_list.rb +95 -0
- data/lib/wx/doc/gen/web/web_view.rb +1136 -0
- data/lib/wx/doc/gen/web/web_view_event.rb +210 -0
- data/lib/wx/doc/gen/web/web_view_handler.rb +318 -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/html/html_help_controller.rb +23 -1
- data/lib/wx/doc/mbconv.rb +108 -0
- data/lib/wx/doc/rt/shared_event_handler.rb +49 -0
- data/lib/wx/doc/rt/thread_event.rb +28 -0
- data/lib/wx/doc/tip_window.rb +18 -6
- data/lib/wx/doc/webview.rb +40 -0
- data/lib/wx/grid/events/evt_list.rb +166 -0
- data/lib/wx/helpers.rb +1 -1
- data/lib/wx/html/events/evt_list.rb +27 -0
- data/lib/wx/html/htmlhelpcontroller.rb +10 -0
- data/lib/wx/html/simple_html_listbox.rb +46 -33
- data/lib/wx/keyword_defs.rb +20 -0
- data/lib/wx/pg/events/evt_list.rb +73 -0
- data/lib/wx/pg/pg_property.rb +26 -0
- data/lib/wx/pg/property_grid_interface.rb +2 -2
- data/lib/wx/rbn/events/evt_list.rb +102 -0
- data/lib/wx/rt/events/evt_list.rb +8 -0
- data/lib/wx/rt/require.rb +8 -0
- data/lib/wx/rt/thread_event.rb +14 -0
- data/lib/wx/rt.rb +16 -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/web/events/evt_list.rb +74 -0
- data/lib/wx/web/require.rb +8 -0
- data/lib/wx/web/webview.rb +106 -0
- data/lib/wx/web.rb +17 -0
- data/lib/wx/wxruby/cmd/setup.rb +21 -0
- data/lib/wx.rb +2 -0
- data/rakelib/configure.rb +33 -0
- data/rakelib/gem.rake +3 -2
- data/rakelib/gem.rb +3 -2
- data/rakelib/install.rb +54 -27
- data/rakelib/lib/config/linux.rb +1 -1
- data/rakelib/lib/config/macosx.rb +22 -6
- data/rakelib/lib/config/mingw.rb +66 -5
- data/rakelib/lib/config/pkgman/linux.rb +7 -2
- data/rakelib/lib/config/pkgman/mingw.rb +1 -1
- data/rakelib/lib/config/unixish.rb +7 -5
- data/rakelib/lib/config.rb +52 -7
- data/rakelib/lib/core/include/client_data.inc +38 -17
- data/rakelib/lib/core/include/funcall.inc +1 -1
- data/rakelib/lib/core/include/swigdirector.inc +6 -6
- data/rakelib/lib/core/include/swigrubyerrors.inc +4 -8
- data/rakelib/lib/core/include/swigrubyrun.inc +34 -30
- data/rakelib/lib/core/include/swigrun.inc +189 -0
- data/rakelib/lib/core/package.rb +3 -3
- data/rakelib/lib/director/accelerator.rb +1 -1
- data/rakelib/lib/director/animation.rb +1 -0
- data/rakelib/lib/director/app.rb +1 -8
- data/rakelib/lib/director/app_traits.rb +1 -1
- data/rakelib/lib/director/art_provider.rb +7 -3
- 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/calendar_ctrl.rb +72 -14
- data/rakelib/lib/director/clipboard.rb +2 -0
- data/rakelib/lib/director/comboctrl.rb +0 -7
- data/rakelib/lib/director/context_help_button.rb +35 -2
- 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 +59 -30
- data/rakelib/lib/director/fs_file.rb +15 -10
- data/rakelib/lib/director/functions.rb +17 -0
- data/rakelib/lib/director/geometry.rb +5 -0
- data/rakelib/lib/director/grid_cell_attr.rb +1 -3
- data/rakelib/lib/director/grid_cell_editor.rb +14 -12
- data/rakelib/lib/director/grid_cell_renderer.rb +11 -8
- data/rakelib/lib/director/grid_ctrl.rb +231 -117
- data/rakelib/lib/director/help_controller.rb +70 -2
- data/rakelib/lib/director/help_provider.rb +1 -1
- data/rakelib/lib/director/html_listbox.rb +16 -3
- data/rakelib/lib/director/hvscrolled.rb +7 -106
- data/rakelib/lib/director/image_list.rb +1 -0
- data/rakelib/lib/director/mb_conv.rb +30 -0
- data/rakelib/lib/director/mdi_frame.rb +4 -0
- data/rakelib/lib/director/menu.rb +113 -22
- data/rakelib/lib/director/menu_bar.rb +103 -2
- 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/persistence_manager.rb +3 -2
- data/rakelib/lib/director/popup_window.rb +2 -0
- data/rakelib/lib/director/preview_frame.rb +28 -5
- 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_buffer.rb +5 -2
- 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 +4 -1
- data/rakelib/lib/director/scrolled_t.rb +3 -0
- data/rakelib/lib/director/searchctrl.rb +1 -0
- data/rakelib/lib/director/shared_evt_handler.rb +30 -0
- data/rakelib/lib/director/sizer.rb +8 -17
- data/rakelib/lib/director/sizer_item.rb +3 -4
- data/rakelib/lib/director/task_bar_icon.rb +18 -12
- data/rakelib/lib/director/text_validator.rb +9 -0
- data/rakelib/lib/director/thread_event.rb +33 -0
- data/rakelib/lib/director/tip_window.rb +117 -6
- data/rakelib/lib/director/tool_bar.rb +6 -0
- data/rakelib/lib/director/validator.rb +15 -1
- data/rakelib/lib/director/variant.rb +48 -28
- data/rakelib/lib/director/vlistbox.rb +25 -22
- data/rakelib/lib/director/webview.rb +166 -0
- data/rakelib/lib/director/webview_event.rb +37 -0
- data/rakelib/lib/director/webview_handler.rb +63 -0
- data/rakelib/lib/director/window.rb +10 -1
- 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/thread_event.yaml +20 -0
- data/rakelib/lib/generate/doc/web_view.yaml +135 -0
- data/rakelib/lib/generate/doc/web_view_event.yaml +38 -0
- data/rakelib/lib/generate/doc/web_view_handler.yaml +58 -0
- data/rakelib/lib/generate/doc.rb +12 -7
- data/rakelib/lib/generate/interface.rb +16 -1
- data/rakelib/lib/specs/interfaces.rb +15 -1
- data/rakelib/lib/swig_runner.rb +10 -10
- data/rakelib/lib/typemap/aui_tabctrl.rb +46 -0
- data/rakelib/lib/typemap/common.rb +37 -4
- data/rakelib/lib/typemap/mb_conv.rb +58 -0
- data/rakelib/lib/typemap/print_page_range.rb +32 -8
- data/rakelib/prepost.rake +23 -31
- data/rakelib/prepost.rb +20 -0
- 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/event/threaded.rb +295 -42
- data/samples/event/tn_threaded.png +0 -0
- data/samples/help/doc/back.gif +0 -0
- data/samples/help/doc/contents.gif +0 -0
- data/samples/help/doc/cshelp.txt +9 -0
- data/samples/help/doc/doc.chm +0 -0
- data/samples/help/doc/doc.cnt +8 -0
- data/samples/help/doc/doc.h +7 -0
- data/samples/help/doc/doc.hhc +40 -0
- data/samples/help/doc/doc.hhk +31 -0
- data/samples/help/doc/doc.hhp +33 -0
- data/samples/help/doc/doc.hpj +21 -0
- data/samples/help/doc/doc.htm +27 -0
- data/samples/help/doc/doc1.htm +24 -0
- data/samples/help/doc/doc2.htm +12 -0
- data/samples/help/doc/doc3.htm +12 -0
- data/samples/help/doc/doc4.htm +12 -0
- data/samples/help/doc/doc5.htm +14 -0
- data/samples/help/doc/forward.gif +0 -0
- data/samples/help/doc/up.gif +0 -0
- data/samples/help/doc.chm +0 -0
- data/samples/help/doc.chw +0 -0
- data/samples/help/doc.zip +0 -0
- data/samples/help/help.rb +352 -0
- data/samples/help/tn_help.png +0 -0
- 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/samples/webview/handler_advanced.html +55 -0
- data/samples/webview/tn_webview.png +0 -0
- data/samples/webview/webview.rb +1264 -0
- data/tests/assets/handler_advanced.html +55 -0
- data/tests/assets/test.css +1 -0
- data/tests/assets/test.html +9 -0
- data/tests/assets/test.zip +0 -0
- 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/text_entry_tests.rb +2 -2
- data/tests/lib/wxapp_runner.rb +65 -35
- data/tests/lib/wxframe_runner.rb +40 -13
- 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 +14 -14
- 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 +9 -9
- data/tests/test_combo_ctrl.rb +2 -2
- data/tests/test_config.rb +17 -7
- 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 +10 -8
- data/tests/test_ext_controls.rb +13 -13
- data/tests/test_file_dialog.rb +6 -6
- data/tests/test_font.rb +8 -8
- data/tests/test_gdi_object.rb +1 -1
- data/tests/test_geometry.rb +2 -2
- data/tests/test_grid_ctrl.rb +133 -0
- data/tests/test_grid_sizer.rb +2 -2
- data/tests/test_help.rb +88 -0
- data/tests/test_intl.rb +2 -2
- 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 +15 -7
- data/tests/test_menu.rb +81 -2
- data/tests/test_persistence.rb +1 -1
- data/tests/test_proof_check.rb +6 -6
- data/tests/test_propgrid.rb +32 -32
- data/tests/test_richtext.rb +10 -24
- data/tests/test_secret_store.rb +1 -1
- data/tests/test_shared_event_handler.rb +141 -0
- data/tests/test_sizer.rb +1 -1
- data/tests/test_std_controls.rb +13 -13
- 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_webview.rb +492 -0
- data/tests/test_window.rb +14 -14
- data/tests/testapp.rb +2 -2
- data/tests/testapp_noframe.rb +2 -2
- metadata +476 -11
- data/lib/wx/aui/aui_tab_ctrl.rb +0 -18
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
5
|
+
###
|
|
6
|
+
# wxRuby3 wxWidgets interface director
|
|
7
|
+
###
|
|
8
|
+
|
|
9
|
+
module WXRuby3
|
|
10
|
+
|
|
11
|
+
class Director
|
|
12
|
+
|
|
13
|
+
class SharedEvtHandler < Director
|
|
14
|
+
|
|
15
|
+
def setup
|
|
16
|
+
super
|
|
17
|
+
spec.items.clear
|
|
18
|
+
spec.add_header_code <<~__HEREDOC
|
|
19
|
+
#include "wxruby-SharedEventHandler.h"
|
|
20
|
+
__HEREDOC
|
|
21
|
+
spec.add_init_code <<~__HEREDOC
|
|
22
|
+
wx_setup_WxRubySharedEvtHandler(mWxRT);
|
|
23
|
+
__HEREDOC
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end
|
|
@@ -56,11 +56,10 @@ module WXRuby3
|
|
|
56
56
|
{
|
|
57
57
|
if ($self->Detach(szr))
|
|
58
58
|
{
|
|
59
|
-
|
|
60
|
-
if (rb_szr && !NIL_P(rb_szr))
|
|
59
|
+
if (!RB_NIL_P(SWIG_RubyInstanceFor(szr)))
|
|
61
60
|
{
|
|
62
|
-
// transfer ownership
|
|
63
|
-
|
|
61
|
+
// have SWIG transfer ownership of Ruby value
|
|
62
|
+
SWIG_NewPointerObj(szr, SWIGTYPE_p_wxSizer, SWIG_POINTER_OWN);
|
|
64
63
|
}
|
|
65
64
|
return true;
|
|
66
65
|
}
|
|
@@ -72,20 +71,12 @@ module WXRuby3
|
|
|
72
71
|
wxSizerItem* itm = $self->GetItem(itm_nr);
|
|
73
72
|
if (itm)
|
|
74
73
|
{
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
if ($self->Detach(itm_nr))
|
|
81
|
-
{
|
|
82
|
-
if (rb_szr && !NIL_P(rb_szr))
|
|
83
|
-
{
|
|
84
|
-
// transfer ownership to Ruby
|
|
85
|
-
RDATA(rb_szr)->dfree = GcSizerFreeFunc;
|
|
86
|
-
}
|
|
87
|
-
return true;
|
|
74
|
+
if (itm->IsSizer() && !RB_NIL_P(SWIG_RubyInstanceFor(itm->GetSizer())))
|
|
75
|
+
{
|
|
76
|
+
// have SWIG transfer ownership of Ruby value
|
|
77
|
+
SWIG_NewPointerObj(itm->GetSizer(), SWIGTYPE_p_wxSizer, SWIG_POINTER_OWN);
|
|
88
78
|
}
|
|
79
|
+
return $self->Detach(itm_nr);
|
|
89
80
|
}
|
|
90
81
|
return false;
|
|
91
82
|
}
|
|
@@ -46,11 +46,10 @@ module WXRuby3
|
|
|
46
46
|
{
|
|
47
47
|
if ($self->IsSizer())
|
|
48
48
|
{
|
|
49
|
-
|
|
50
|
-
if (rb_szr && !NIL_P(rb_szr))
|
|
49
|
+
if (!RB_NIL_P(SWIG_RubyInstanceFor($self->GetSizer())))
|
|
51
50
|
{
|
|
52
|
-
// transfer ownership
|
|
53
|
-
|
|
51
|
+
// have SWIG transfer ownership of Ruby value
|
|
52
|
+
SWIG_NewPointerObj($self->GetSizer(), SWIGTYPE_p_wxSizer, SWIG_POINTER_OWN);
|
|
54
53
|
}
|
|
55
54
|
$self->DetachSizer();
|
|
56
55
|
}
|
|
@@ -35,31 +35,37 @@ module WXRuby3
|
|
|
35
35
|
# this one is protected so ignored by default but we want it here
|
|
36
36
|
# (we do not want GetPopupMenu available for override in Ruby)
|
|
37
37
|
spec.regard %w[wxTaskBarIcon::CreatePopupMenu]
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
#
|
|
42
|
-
#
|
|
43
|
-
#
|
|
44
|
-
#
|
|
45
|
-
#
|
|
38
|
+
if Config.instance.wx_version_check('3.1.5') >= 0
|
|
39
|
+
spec.regard %w[wxTaskBarIcon::GetPopupMenu]
|
|
40
|
+
end
|
|
41
|
+
# This is used for CreatePopupMenu and possibly GetPopupMenu, virtual methods which can be
|
|
42
|
+
# overridden in user subclasses of TaskBarIcon to provide the menu over the icon.
|
|
43
|
+
# In the case of GetPopupMenu the menu will be used but not deleted so it can be stored in
|
|
44
|
+
# a member variable and reused.
|
|
45
|
+
# In the case of CreatePopupMenu the menu is disowned and deleted after use. The Wx::Menu Ruby
|
|
46
|
+
# instance than needs to be protected from GC so the typemap stores the object returned by the
|
|
47
|
+
# ruby method in an instance variable so it's marked as long as the TaskBarIcon exists.
|
|
48
|
+
# It also handles the special case where +nil+ is returned, to signal to Wx that no menu is to
|
|
49
|
+
# be shown.
|
|
46
50
|
spec.map 'wxMenu *' do
|
|
47
51
|
map_directorout code: <<~__CODE
|
|
48
|
-
|
|
52
|
+
static const std::string create_popup_menu("CreatePopupMenu");
|
|
53
|
+
bool disown = (std::string("$symname") == create_popup_menu);
|
|
54
|
+
if (disown) rb_iv_set(swig_get_self(), "@__popupmenu__", $1);
|
|
49
55
|
if (NIL_P($1))
|
|
50
56
|
{
|
|
51
|
-
$result =
|
|
57
|
+
$result = nullptr;
|
|
52
58
|
}
|
|
53
59
|
else
|
|
54
60
|
{
|
|
55
61
|
void * ptr;
|
|
56
|
-
int swig_res = SWIG_ConvertPtr(result, &ptr, $1_descriptor,
|
|
62
|
+
int swig_res = SWIG_ConvertPtr(result, &ptr, $1_descriptor, disown ? SWIG_POINTER_DISOWN : 0);
|
|
57
63
|
if (!SWIG_IsOK(swig_res))
|
|
58
64
|
{
|
|
59
65
|
Swig::DirectorTypeMismatchException::raise(swig_get_self(), "$symname", rb_eTypeError,
|
|
60
66
|
"create_popup_menu must return a Wx::Menu, or nil");
|
|
61
67
|
}
|
|
62
|
-
$result =
|
|
68
|
+
$result = static_cast <wxMenu *> (ptr);
|
|
63
69
|
}
|
|
64
70
|
__CODE
|
|
65
71
|
end
|
|
@@ -32,7 +32,16 @@ module WXRuby3
|
|
|
32
32
|
}
|
|
33
33
|
virtual ~WXRubyTextValidator()
|
|
34
34
|
{
|
|
35
|
+
// All Validators are EvtHandlers, so prevent any pending events being
|
|
36
|
+
// sent after destruction (otherwise ObjectPreviouslyDeleted errors result)
|
|
37
|
+
this->SetEvtHandlerEnabled(false);
|
|
35
38
|
wxRuby_ReleaseEvtHandlerProcs(this);
|
|
39
|
+
// Disassociate the C++ and Ruby objects if not done by Ruby free method
|
|
40
|
+
if (!NIL_P(SWIG_RubyInstanceFor(this)))
|
|
41
|
+
{
|
|
42
|
+
SWIG_RubyUnlinkObjects(this);
|
|
43
|
+
SWIG_RubyRemoveTracking(this);
|
|
44
|
+
}
|
|
36
45
|
}
|
|
37
46
|
|
|
38
47
|
virtual wxObject* Clone() const override
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
5
|
+
###
|
|
6
|
+
# wxRuby3 wxWidgets interface director
|
|
7
|
+
###
|
|
8
|
+
|
|
9
|
+
require_relative './event'
|
|
10
|
+
|
|
11
|
+
module WXRuby3
|
|
12
|
+
|
|
13
|
+
class Director
|
|
14
|
+
|
|
15
|
+
class ThreadEvent < Event
|
|
16
|
+
|
|
17
|
+
def setup
|
|
18
|
+
super
|
|
19
|
+
spec.gc_as_marked # use marked so doc gen does not mark it as untracked (what it actually is)
|
|
20
|
+
spec.ignore 'wxThreadEvent::GetPayload',
|
|
21
|
+
'wxThreadEvent::SetPayload',
|
|
22
|
+
'wxThreadEvent::GetEventCategory'
|
|
23
|
+
spec.ignore 'wxThreadEvent::wxThreadEvent'
|
|
24
|
+
spec.regard 'wxThreadEvent::wxThreadEvent', regard_doc: false
|
|
25
|
+
spec.add_swig_code %Q{%constant wxEventType wxEVT_THREAD = wxEVT_THREAD;}
|
|
26
|
+
spec.do_not_generate(:variables, :defines, :enums, :functions)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end # class ThreadEvent
|
|
30
|
+
|
|
31
|
+
end # class Director
|
|
32
|
+
|
|
33
|
+
end # module WXRuby3
|
|
@@ -19,12 +19,123 @@ module WXRuby3
|
|
|
19
19
|
spec.disable_proxies
|
|
20
20
|
spec.ignore 'wxTipWindow::SetTipWindowPtr'
|
|
21
21
|
spec.ignore 'wxTipWindow::wxTipWindow'
|
|
22
|
-
|
|
23
|
-
wxTipWindow
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
__HEREDOC
|
|
22
|
+
if Config.instance.wx_version_check('3.3.2') >= 0
|
|
23
|
+
spec.ignore 'wxTipWindow::Create'
|
|
24
|
+
# need to re-implement this
|
|
25
|
+
spec.ignore 'wxTipWindow::New', ignore_doc: false
|
|
26
|
+
# Rubified version
|
|
27
|
+
spec.add_extend_code 'wxTipWindow', <<~__HEREDOC
|
|
28
|
+
static VALUE New(wxWindow* parent, const wxString& text, wxCoord maxLength = 100, wxRect* rectBounds = nullptr)
|
|
29
|
+
{
|
|
30
|
+
wxTipWindow::Ref tipRef = wxTipWindow::New(parent, text, maxLength, rectBounds);
|
|
31
|
+
|
|
32
|
+
return SWIG_NewPointerObj((new wxTipWindow::Ref(std::move(tipRef))), SWIGTYPE_p_wxTipWindow__Ref, SWIG_POINTER_OWN | 0 );
|
|
33
|
+
}
|
|
34
|
+
__HEREDOC
|
|
35
|
+
# add Ruby-style methods
|
|
36
|
+
spec.add_extend_code 'wxTipWindow::Ref', <<~__HEREDOC
|
|
37
|
+
VALUE is_ok()
|
|
38
|
+
{
|
|
39
|
+
return *$self ? Qtrue : Qfalse;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
wxTipWindow* get_tip_window()
|
|
43
|
+
{
|
|
44
|
+
return $self->Ref::operator->();
|
|
45
|
+
}
|
|
46
|
+
__HEREDOC
|
|
47
|
+
# and aliases
|
|
48
|
+
spec.add_swig_code '%alias wxTipWindow::Ref::is_ok "ok?";'
|
|
49
|
+
spec.add_swig_code '%alias wxTipWindow::Ref::get_tip_window "tip_window";'
|
|
50
|
+
spec.rename_for_ruby 'TipWindow_Ref' => 'wxTipWindow::Ref'
|
|
51
|
+
spec.rename_for_ruby 'new_tip' => 'wxTipWindow::New'
|
|
52
|
+
else
|
|
53
|
+
spec.make_abstract 'wxTipWindow'
|
|
54
|
+
# provide custom wxRuby reference class
|
|
55
|
+
spec.add_header_code <<~__HEREDOC
|
|
56
|
+
class WXTipWindow_Ref
|
|
57
|
+
{
|
|
58
|
+
public:
|
|
59
|
+
WXTipWindow_Ref() {}
|
|
60
|
+
WXTipWindow_Ref& operator=(WXTipWindow_Ref&& o)
|
|
61
|
+
{
|
|
62
|
+
if (_ptr != o._ptr)
|
|
63
|
+
{
|
|
64
|
+
if (_ptr)
|
|
65
|
+
{
|
|
66
|
+
_ptr->SetTipWindowPtr(nullptr);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
_ptr = o._ptr;
|
|
70
|
+
if (_ptr)
|
|
71
|
+
{
|
|
72
|
+
o._ptr = nullptr;
|
|
73
|
+
_ptr->SetTipWindowPtr(&_ptr);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return *this;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
bool is_ok()
|
|
80
|
+
{
|
|
81
|
+
return _ptr ? true : false;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
wxTipWindow* get_tip_window()
|
|
85
|
+
{
|
|
86
|
+
return _ptr;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
wxTipWindow* _ptr = {};
|
|
90
|
+
};
|
|
91
|
+
__HEREDOC
|
|
92
|
+
spec.add_swig_code <<~__HEREDOC
|
|
93
|
+
%alias WXTipWindow_Ref::is_ok "ok?";
|
|
94
|
+
%alias WXTipWindow_Ref::get_tip_window "tip_window";
|
|
95
|
+
|
|
96
|
+
class WXTipWindow_Ref
|
|
97
|
+
{
|
|
98
|
+
private:
|
|
99
|
+
WXTipWindow_Ref();
|
|
100
|
+
|
|
101
|
+
public:
|
|
102
|
+
bool is_ok();
|
|
103
|
+
|
|
104
|
+
wxTipWindow* get_tip_window();
|
|
105
|
+
};
|
|
106
|
+
__HEREDOC
|
|
107
|
+
# add constructor method
|
|
108
|
+
spec.add_extend_code 'wxTipWindow', <<~__HEREDOC
|
|
109
|
+
static VALUE New_Tip(wxWindow* parent, const wxString& text, wxCoord maxLength = 100, wxRect* rectBounds = nullptr)
|
|
110
|
+
{
|
|
111
|
+
std::unique_ptr<WXTipWindow_Ref> retval(new WXTipWindow_Ref);
|
|
112
|
+
std::unique_ptr<wxTipWindow> temp(new wxTipWindow(parent, text, maxLength, &retval->_ptr, rectBounds));
|
|
113
|
+
retval->_ptr = temp.release();
|
|
114
|
+
|
|
115
|
+
return SWIG_NewPointerObj(retval.release(), SWIGTYPE_p_WXTipWindow_Ref, SWIG_POINTER_OWN | 0 );
|
|
116
|
+
}
|
|
117
|
+
__HEREDOC
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
def doc_generator
|
|
122
|
+
TipWindowDocGenerator.new(self)
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
class TipWindowDocGenerator < DocGenerator
|
|
128
|
+
|
|
129
|
+
def gen_class_doc_members(fdoc, clsdef, cls_members, alias_methods)
|
|
130
|
+
super
|
|
131
|
+
fdoc.doc.puts 'Constructs a new TipWindow object which is immediately shown.'
|
|
132
|
+
fdoc.doc.puts 'Returns a {Wx::TipWindow::Ref}.'
|
|
133
|
+
fdoc.doc.puts '@param parent [Wx::Window] parent window (not nil).'
|
|
134
|
+
fdoc.doc.puts '@param text [String] The text to show, may contain the new line characters.'
|
|
135
|
+
fdoc.doc.puts '@param maxLength [Integer] The length of each line, in pixels. Set to a very large value to avoid wrapping lines.'
|
|
136
|
+
fdoc.doc.puts '@param rectBounds [Wx::Rect] If given, passed to {Wx::TipWindow#set_bounding_rect}, please see its documentation for the description of this parameter.'
|
|
137
|
+
fdoc.doc.puts '@return [Wx::TipWindow::Ref] weak tip window reference'
|
|
138
|
+
fdoc.puts 'def self.new_tip(parent, text, maxLength = 100, rectBounds = nil) end'
|
|
28
139
|
end
|
|
29
140
|
|
|
30
141
|
end
|
|
@@ -33,6 +33,8 @@ module WXRuby3
|
|
|
33
33
|
wxToolBarToolBase::Attach
|
|
34
34
|
]
|
|
35
35
|
spec.no_proxy 'wxToolBarToolBase'
|
|
36
|
+
# for SetDropdownMenu
|
|
37
|
+
spec.disown 'wxMenu *'
|
|
36
38
|
# more sensible name to use
|
|
37
39
|
spec.rename_for_ruby('ToolBarTool' => 'wxToolBarToolBase')
|
|
38
40
|
spec.map 'wxToolBarBase *' => 'Wx::ToolBar' do
|
|
@@ -73,6 +75,10 @@ module WXRuby3
|
|
|
73
75
|
'wxToolBar::AddTool(wxToolBarToolBase *)',
|
|
74
76
|
'wxToolBar::InsertTool(size_t,wxToolBarToolBase *)'
|
|
75
77
|
]
|
|
78
|
+
if Config.instance.features_set?('WXOSX')
|
|
79
|
+
spec.extend_interface('wxToolBar',
|
|
80
|
+
'virtual bool Destroy() override')
|
|
81
|
+
end
|
|
76
82
|
end
|
|
77
83
|
end # class Object
|
|
78
84
|
|
|
@@ -37,7 +37,16 @@ module WXRuby3
|
|
|
37
37
|
{}
|
|
38
38
|
wxRubyValidator::~wxRubyValidator ()
|
|
39
39
|
{
|
|
40
|
+
// All Validators are EvtHandlers, so prevent any pending events being
|
|
41
|
+
// sent after destruction (otherwise ObjectPreviouslyDeleted errors result)
|
|
42
|
+
this->SetEvtHandlerEnabled(false);
|
|
40
43
|
wxRuby_ReleaseEvtHandlerProcs(this);
|
|
44
|
+
// Disassociate the C++ and Ruby objects if not done by Ruby free method
|
|
45
|
+
if (!NIL_P(SWIG_RubyInstanceFor(this)))
|
|
46
|
+
{
|
|
47
|
+
SWIG_RubyUnlinkObjects(this);
|
|
48
|
+
SWIG_RubyRemoveTracking(this);
|
|
49
|
+
}
|
|
41
50
|
}
|
|
42
51
|
|
|
43
52
|
wxObject* wxRubyValidator::Clone() const
|
|
@@ -45,7 +54,9 @@ module WXRuby3
|
|
|
45
54
|
VALUE self = const_cast<wxRubyValidator*> (this)->get_self();
|
|
46
55
|
VALUE rc = wxRuby_Funcall(self, clone_id(), 0);
|
|
47
56
|
void *ptr;
|
|
48
|
-
|
|
57
|
+
// disown the validator for this is a C++ return and when this is called by a window
|
|
58
|
+
// to set it's validator that window will manage the validator
|
|
59
|
+
int res = SWIG_ConvertPtr(rc, &ptr, SWIGTYPE_p_wxValidator, SWIG_POINTER_DISOWN);
|
|
49
60
|
if (!SWIG_IsOK(res))
|
|
50
61
|
{
|
|
51
62
|
Swig::DirectorTypeMismatchException::raise(self, "clone", SWIG_ErrorType(SWIG_ArgError(res)), "in output value of type '""Wx::Validator *""'");
|
|
@@ -147,6 +158,9 @@ module WXRuby3
|
|
|
147
158
|
spec.add_swig_code '%markfunc wxValidator "GC_mark_wxValidator";'
|
|
148
159
|
# will be provided as a pure Ruby method
|
|
149
160
|
spec.ignore 'wxValidator::Clone', ignore_doc: false
|
|
161
|
+
# ignore default ctor docs
|
|
162
|
+
spec.ignore 'wxValidator::wxValidator'
|
|
163
|
+
spec.regard 'wxValidator::wxValidator', regard_doc: false # only use interface spec, not docs
|
|
150
164
|
# add wxRuby specifics
|
|
151
165
|
spec.extend_interface 'wxValidator',
|
|
152
166
|
'wxValidator(const wxValidator& other)'
|
|
@@ -384,48 +384,69 @@ module WXRuby3
|
|
|
384
384
|
# provide a custom wxVariantData implementation for Ruby VALUE
|
|
385
385
|
# and some interface extensions to use that from Ruby
|
|
386
386
|
spec.add_header_code <<~__HEREDOC
|
|
387
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceGCMarkVariant, "GC_MARK_VARIANT")
|
|
388
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceGCTrackVariant, "GC_TRACK_VARIANT")
|
|
389
|
+
|
|
387
390
|
class WXRBValueVariantData;
|
|
388
|
-
// Mapping of WXRBValueVariantData* to Ruby VALUE
|
|
389
|
-
WX_DECLARE_VOIDPTR_HASH_MAP(VALUE,
|
|
390
|
-
WXRBVariantDataToRbValueHash);
|
|
391
|
-
static WXRBVariantDataToRbValueHash Variant_Value_Map;
|
|
392
391
|
|
|
393
|
-
static
|
|
392
|
+
static const std::string WXRUBY_VARIANT_DATA = { "WXRUBY_VARIANT_DATA" };
|
|
393
|
+
|
|
394
|
+
static void GC_mark_RbValueVariants(const TGCTrackingValueMap& values)
|
|
394
395
|
{
|
|
395
|
-
|
|
396
|
-
|
|
396
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkVariant, 2)
|
|
397
|
+
WXRUBY_TRACE("> GC_mark_RbValueVariants")
|
|
398
|
+
WXRUBY_TRACE_END
|
|
399
|
+
|
|
400
|
+
for(const auto& ti : values)
|
|
397
401
|
{
|
|
398
|
-
VALUE obj =
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
#endif
|
|
402
|
+
VALUE obj = ti.second;
|
|
403
|
+
|
|
404
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkVariant, 2)
|
|
405
|
+
WXRUBY_TRACE_WITH(void *c_ptr = (TYPE(obj) == T_DATA ? DATA_PTR(obj) : 0))
|
|
406
|
+
WXRUBY_TRACE("| GC_mark_RbValueVariants : " << ti.first << "|" << (void*)c_ptr)
|
|
407
|
+
WXRUBY_TRACE_END
|
|
408
|
+
|
|
406
409
|
rb_gc_mark(obj);
|
|
407
410
|
}
|
|
411
|
+
|
|
412
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkVariant, 2)
|
|
413
|
+
WXRUBY_TRACE("< GC_mark_RbValueVariants")
|
|
414
|
+
WXRUBY_TRACE_END
|
|
408
415
|
}
|
|
409
416
|
|
|
410
417
|
static void wxRuby_RegisterValueVariantData(void* ptr, VALUE rbval)
|
|
411
418
|
{
|
|
412
|
-
|
|
413
|
-
|
|
419
|
+
static bool is_marker_registered = false;
|
|
420
|
+
|
|
421
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackVariant, 2)
|
|
422
|
+
WXRUBY_TRACE_WITH(void *c_ptr = (TYPE(rbval) == T_DATA ? DATA_PTR(rbval) : 0))
|
|
423
|
+
WXRUBY_TRACE("> wxRuby_RegisterValueVariantData : " << ptr << "|" << (void*)c_ptr)
|
|
424
|
+
WXRUBY_TRACE_END
|
|
425
|
+
|
|
426
|
+
if (!is_marker_registered)
|
|
414
427
|
{
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
}
|
|
418
|
-
|
|
419
|
-
|
|
428
|
+
wxRuby_RegisterTrackingCategory(WXRUBY_VARIANT_DATA, GC_mark_RbValueVariants, true);
|
|
429
|
+
is_marker_registered = true;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
wxRuby_RegisterCategoryValue(WXRUBY_VARIANT_DATA, ptr, rbval);
|
|
433
|
+
|
|
434
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkVariant, 2)
|
|
435
|
+
WXRUBY_TRACE("< wxRuby_RegisterValueVariantData")
|
|
436
|
+
WXRUBY_TRACE_END
|
|
420
437
|
}
|
|
421
438
|
|
|
422
439
|
static void wxRuby_UnregisterValueVariantData(void* ptr)
|
|
423
440
|
{
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
441
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackVariant, 2)
|
|
442
|
+
WXRUBY_TRACE("> wxRuby_UnregisterValueVariantData : " << ptr)
|
|
443
|
+
WXRUBY_TRACE_END
|
|
444
|
+
|
|
445
|
+
wxRuby_UnregisterCategoryValue(WXRUBY_VARIANT_DATA, ptr);
|
|
446
|
+
|
|
447
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkVariant, 2)
|
|
448
|
+
WXRUBY_TRACE("< wxRuby_UnregisterValueVariantData")
|
|
449
|
+
WXRUBY_TRACE_END
|
|
429
450
|
}
|
|
430
451
|
|
|
431
452
|
class WXRUBY_EXPORT WXRBValueVariantData : public wxVariantData
|
|
@@ -486,7 +507,6 @@ module WXRuby3
|
|
|
486
507
|
return variant;
|
|
487
508
|
}
|
|
488
509
|
__HEREDOC
|
|
489
|
-
spec.add_init_code 'wxRuby_AppendMarker(wxRuby_markRbValueVariants);'
|
|
490
510
|
# ignore GetType (not doc)
|
|
491
511
|
spec.ignore 'wxVariant::GetType', ignore_doc: false
|
|
492
512
|
# replace with custom implementation
|
|
@@ -16,34 +16,37 @@ module WXRuby3
|
|
|
16
16
|
|
|
17
17
|
def setup
|
|
18
18
|
super
|
|
19
|
-
|
|
19
|
+
spec.gc_as_window
|
|
20
|
+
if Config.instance.wx_version_check('3.3.1') > 0
|
|
21
|
+
spec.override_inheritance_chain('wxVListBox', [{ 'wxVScrolledCanvas' => 'wxVScrolledCanvas' }, 'wxWindow', 'wxEvtHandler', 'wxObject'])
|
|
22
|
+
elsif Config.instance.wx_version_check('3.3.0') > 0
|
|
20
23
|
spec.override_inheritance_chain('wxVListBox', [{ 'wxVScrolledWindow' => 'wxVScrolledWindow' }, 'wxPanel', 'wxWindow', 'wxEvtHandler', 'wxObject'])
|
|
21
24
|
else
|
|
22
25
|
spec.override_inheritance_chain('wxVListBox', [{ 'wxVScrolledWindow' => 'wxHScrolledWindow' }, 'wxPanel', 'wxWindow', 'wxEvtHandler', 'wxObject'])
|
|
23
26
|
end
|
|
24
27
|
spec.make_abstract 'wxVListBox'
|
|
25
28
|
# provide base implementations for OnDrawItem and OnMeasureItem
|
|
26
|
-
spec.add_header_code <<~__HEREDOC
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
__HEREDOC
|
|
45
|
-
# make Ruby director and wrappers use custom implementation
|
|
46
|
-
spec.use_class_implementation('wxVListBox', 'wxRubyVListBox')
|
|
29
|
+
# spec.add_header_code <<~__HEREDOC
|
|
30
|
+
# // Custom subclass implementation.
|
|
31
|
+
# class wxRubyVListBox : public wxVListBox
|
|
32
|
+
# {
|
|
33
|
+
# public:
|
|
34
|
+
# wxRubyVListBox()
|
|
35
|
+
# : wxVListBox () {}
|
|
36
|
+
# wxRubyVListBox(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=0, const wxString &name=wxVListBoxNameStr)
|
|
37
|
+
# : wxVListBox(parent, id, pos, size, style, name) {}
|
|
38
|
+
# protected:
|
|
39
|
+
# virtual void OnDrawItem(wxDC&, const wxRect&, size_t) const
|
|
40
|
+
# {
|
|
41
|
+
# }
|
|
42
|
+
# virtual wxCoord OnMeasureItem(size_t) const
|
|
43
|
+
# {
|
|
44
|
+
# return {};
|
|
45
|
+
# }
|
|
46
|
+
# };
|
|
47
|
+
# __HEREDOC
|
|
48
|
+
# # make Ruby director and wrappers use custom implementation
|
|
49
|
+
# spec.use_class_implementation('wxVListBox', 'wxRubyVListBox')
|
|
47
50
|
# make sure protected methods are included
|
|
48
51
|
spec.regard 'wxVListBox::OnDrawItem',
|
|
49
52
|
'wxVListBox::OnMeasureItem',
|