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
|
@@ -44,6 +44,12 @@ module WXRuby3
|
|
|
44
44
|
spec.ignore 'wxGrid::SetCellValue(const wxString &,int,int)'
|
|
45
45
|
spec.ignore 'wxGrid::SetTable' # there is wxGrid::AssignTable now that always takes ownership
|
|
46
46
|
|
|
47
|
+
spec.regard 'wxGrid::CanHaveAttributes',
|
|
48
|
+
'wxGrid::GetColMinimalWidth',
|
|
49
|
+
'wxGrid::GetColRight',
|
|
50
|
+
'wxGrid::GetColLeft',
|
|
51
|
+
'wxGrid::GetRowMinimalHeight'
|
|
52
|
+
|
|
47
53
|
spec.regard 'wxGridSizesInfo::m_sizeDefault',
|
|
48
54
|
'wxGridSizesInfo::m_customSizes'
|
|
49
55
|
spec.rename_for_ruby 'size_default' => 'wxGridSizesInfo::m_sizeDefault',
|
|
@@ -175,12 +181,14 @@ module WXRuby3
|
|
|
175
181
|
spec.disown('wxGridTableBase* table')
|
|
176
182
|
# customize mark function to handle safeguarding any customized Grid tables installed
|
|
177
183
|
spec.add_header_code <<~__HEREDOC
|
|
184
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceGCMarkGrid, "GC_MARK_GRID")
|
|
185
|
+
|
|
178
186
|
static void GC_mark_wxGridCtrl(void* ptr)
|
|
179
187
|
{
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
188
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkGrid, 2)
|
|
189
|
+
WXRUBY_TRACE("> GC_mark_wxGridCtrl : " << ptr)
|
|
190
|
+
WXRUBY_TRACE_END
|
|
191
|
+
|
|
184
192
|
if ( GC_IsWindowDeleted(ptr) )
|
|
185
193
|
{
|
|
186
194
|
return;
|
|
@@ -194,8 +202,16 @@ module WXRuby3
|
|
|
194
202
|
VALUE rb_gtbl = SWIG_RubyInstanceFor(wx_gtbl);
|
|
195
203
|
if (!NIL_P(rb_gtbl))
|
|
196
204
|
{
|
|
205
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkGrid, 3)
|
|
206
|
+
WXRUBY_TRACE("| GC_mark_wxGridCtrl : marking gridtable " << wx_gtbl << " -> " << rb_gtbl);
|
|
207
|
+
WXRUBY_TRACE_END
|
|
208
|
+
|
|
197
209
|
rb_gc_mark(rb_gtbl);
|
|
198
210
|
}
|
|
211
|
+
|
|
212
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkGrid, 2)
|
|
213
|
+
WXRUBY_TRACE("< GC_mark_wxGridCtrl : " << ptr)
|
|
214
|
+
WXRUBY_TRACE_END
|
|
199
215
|
}
|
|
200
216
|
__HEREDOC
|
|
201
217
|
spec.add_swig_code '%markfunc wxGrid "GC_mark_wxGridCtrl";'
|
|
@@ -293,34 +309,56 @@ module WXRuby3
|
|
|
293
309
|
spec.add_header_code <<~__HEREDOC
|
|
294
310
|
#include <wx/clntdata.h>
|
|
295
311
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
312
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceGCMarkGridCellAttr, "GC_MARK_GRID_CELL_ATTR")
|
|
313
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceGCTrackGridCellAttr, "GC_TRACK_GRID_CELL_ATTR")
|
|
314
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceGCMarkGridCellEditor, "GC_MARK_GRID_CELL_EDITOR")
|
|
315
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceGCTrackGridCellEditor, "GC_TRACK_GRID_CELL_EDITOR")
|
|
316
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceGCMarkGridCellRenderer, "GC_MARK_GRID_CELL_RENDERER")
|
|
317
|
+
WXRUBY_TRACE_GUARD(WxRubyTraceGCTrackGridCellRenderer, "GC_TRACK_GRID_CELL_RENDERER")
|
|
300
318
|
|
|
301
|
-
static
|
|
319
|
+
static const std::string WXRUBY_GRID_CELL_ATTR = { "WXRUBY_GRID_CELL_ATTR" };
|
|
320
|
+
|
|
321
|
+
// define the grid cell attribute marker
|
|
322
|
+
static void wxRuby_markGridCellAttr(const TGCTrackingValueMap& values)
|
|
302
323
|
{
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
324
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkGridCellAttr, 2)
|
|
325
|
+
WXRUBY_TRACE("> wxRuby_markGridCellAttr")
|
|
326
|
+
WXRUBY_TRACE_END
|
|
327
|
+
|
|
328
|
+
for(const auto& ti : values)
|
|
308
329
|
{
|
|
309
|
-
VALUE
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
DATA_PTR(
|
|
313
|
-
|
|
314
|
-
|
|
330
|
+
VALUE obj = ti.second;
|
|
331
|
+
|
|
332
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkGridCellAttr, 2)
|
|
333
|
+
WXRUBY_TRACE_WITH(void *c_ptr = (TYPE(obj) == T_DATA ? DATA_PTR(obj) : 0))
|
|
334
|
+
WXRUBY_TRACE("| wxRuby_markGridCellAttr : " << ti.first << "|" << (void*)c_ptr)
|
|
335
|
+
WXRUBY_TRACE_END
|
|
336
|
+
|
|
337
|
+
rb_gc_mark(obj);
|
|
315
338
|
}
|
|
339
|
+
|
|
340
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCMarkGridCellAttr, 2)
|
|
341
|
+
WXRUBY_TRACE("< wxRuby_markGridCellAttr")
|
|
342
|
+
WXRUBY_TRACE_END
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
static void wxRuby_UnregisterGridCellAttr(wxGridCellAttr* wx_attr)
|
|
346
|
+
{
|
|
347
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellAttr, 2)
|
|
348
|
+
WXRUBY_TRACE("> wxRuby_UnregisterGridCellAttr : " << wx_attr << " -> " << wxRuby_FindCategoryValue(WXRUBY_GRID_CELL_ATTR, wx_attr))
|
|
349
|
+
WXRUBY_TRACE_END
|
|
350
|
+
|
|
351
|
+
wxRuby_UnlinkCategoryValue(WXRUBY_GRID_CELL_ATTR, wx_attr);
|
|
352
|
+
wxRuby_UnregisterCategoryValue(WXRUBY_GRID_CELL_ATTR, wx_attr);
|
|
353
|
+
|
|
354
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellAttr, 2)
|
|
355
|
+
WXRUBY_TRACE("< wxRuby_UnregisterGridCellAttr : " << wx_attr)
|
|
356
|
+
WXRUBY_TRACE_END
|
|
316
357
|
}
|
|
317
358
|
|
|
318
359
|
extern VALUE wxRuby_GridCellAttrInstance(wxGridCellAttr* wx_attr)
|
|
319
360
|
{
|
|
320
|
-
|
|
321
|
-
return Qnil;
|
|
322
|
-
else
|
|
323
|
-
return Grid_Cell_Attr_Value_Map[wx_attr];
|
|
361
|
+
return wxRuby_FindCategoryValue(WXRUBY_GRID_CELL_ATTR, wx_attr);
|
|
324
362
|
}
|
|
325
363
|
|
|
326
364
|
// specialized client data class
|
|
@@ -329,7 +367,7 @@ module WXRuby3
|
|
|
329
367
|
public:
|
|
330
368
|
WXRBGridCellAttrMonitor() : wx_attr(0), rb_attr(Qnil) {}
|
|
331
369
|
WXRBGridCellAttrMonitor(wxGridCellAttr* a, VALUE v) : wx_attr(a), rb_attr(v)
|
|
332
|
-
{
|
|
370
|
+
{ wxRuby_RegisterCategoryValue(WXRUBY_GRID_CELL_ATTR, wx_attr, rb_attr); }
|
|
333
371
|
virtual ~WXRBGridCellAttrMonitor()
|
|
334
372
|
{ wxRuby_UnregisterGridCellAttr(wx_attr); }
|
|
335
373
|
private:
|
|
@@ -340,60 +378,88 @@ module WXRuby3
|
|
|
340
378
|
// and it's associated registration/de-registration functions
|
|
341
379
|
extern void wxRuby_RegisterGridCellAttr(wxGridCellAttr* wx_attr, VALUE rb_attr)
|
|
342
380
|
{
|
|
381
|
+
static bool is_marker_registered = false;
|
|
382
|
+
|
|
383
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellAttr, 2)
|
|
384
|
+
WXRUBY_TRACE("> wxRuby_RegisterGridCellAttr : " << wx_attr << " -> " << rb_attr)
|
|
385
|
+
WXRUBY_TRACE_END
|
|
386
|
+
|
|
343
387
|
if (wx_attr && !NIL_P(rb_attr))
|
|
344
388
|
{
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
389
|
+
if (!is_marker_registered)
|
|
390
|
+
{
|
|
391
|
+
wxRuby_RegisterTrackingCategory(WXRUBY_GRID_CELL_ATTR, wxRuby_markGridCellAttr, true);
|
|
392
|
+
is_marker_registered = true;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
// see if this attr is already tracked
|
|
396
|
+
if (wxRuby_FindCategoryValue(WXRUBY_GRID_CELL_ATTR, wx_attr) == Qnil)
|
|
348
397
|
{
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
398
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellAttr, 2)
|
|
399
|
+
WXRUBY_TRACE("| wxRuby_RegisterGridCellAttr : installing monitor")
|
|
400
|
+
WXRUBY_TRACE_END
|
|
401
|
+
|
|
402
|
+
// either a new Ruby created instance or an unwrapped C++ created instance
|
|
403
|
+
// always disown; wxWidgets takes over or keeps ownership of reference count
|
|
404
|
+
RDATA(rb_attr)->dfree = 0;
|
|
405
|
+
|
|
353
406
|
wx_attr->SetClientObject(new WXRBGridCellAttrMonitor(wx_attr, rb_attr));
|
|
354
407
|
}
|
|
408
|
+
else // already registered; will be disowned already
|
|
409
|
+
{
|
|
410
|
+
// increase the reference count for C++ to take over
|
|
411
|
+
wx_attr->IncRef();
|
|
412
|
+
}
|
|
355
413
|
}
|
|
414
|
+
|
|
415
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellAttr, 2)
|
|
416
|
+
WXRUBY_TRACE("< wxRuby_RegisterGridCellAttr : " << wx_attr)
|
|
417
|
+
WXRUBY_TRACE_END
|
|
356
418
|
}
|
|
357
419
|
|
|
358
|
-
|
|
359
|
-
|
|
420
|
+
static const std::string WXRUBY_GRID_CELL_EDITOR = { "WXRUBY_GRID_CELL_EDITOR" };
|
|
421
|
+
|
|
422
|
+
// define the grid cell editor marker
|
|
423
|
+
static void wxRuby_markGridCellEditor(const TGCTrackingValueMap& values)
|
|
360
424
|
{
|
|
361
|
-
|
|
362
|
-
|
|
425
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellEditor, 2)
|
|
426
|
+
WXRUBY_TRACE("> wxRuby_markGridCellEditor")
|
|
427
|
+
WXRUBY_TRACE_END
|
|
428
|
+
|
|
429
|
+
for(const auto& ti : values)
|
|
363
430
|
{
|
|
364
|
-
VALUE obj =
|
|
431
|
+
VALUE obj = ti.second;
|
|
432
|
+
|
|
433
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellEditor, 2)
|
|
434
|
+
WXRUBY_TRACE_WITH(void *c_ptr = (TYPE(obj) == T_DATA ? DATA_PTR(obj) : 0))
|
|
435
|
+
WXRUBY_TRACE("| wxRuby_markGridCellEditor : " << ti.first << "|" << (void*)c_ptr)
|
|
436
|
+
WXRUBY_TRACE_END
|
|
437
|
+
|
|
365
438
|
rb_gc_mark(obj);
|
|
366
439
|
}
|
|
367
|
-
}
|
|
368
440
|
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
441
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellEditor, 2)
|
|
442
|
+
WXRUBY_TRACE("< wxRuby_markGridCellEditor")
|
|
443
|
+
WXRUBY_TRACE_END
|
|
444
|
+
}
|
|
373
445
|
|
|
374
446
|
static void wxRuby_UnregisterGridCellEditor(wxGridCellEditor* wx_edt)
|
|
375
447
|
{
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
}
|
|
387
|
-
Grid_Cell_Editor_Value_Map.erase(wx_edt);
|
|
388
|
-
}
|
|
448
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellEditor, 2)
|
|
449
|
+
WXRUBY_TRACE("> wxRuby_UnregisterGridCellEditor : " << wx_edt << " -> " << wxRuby_FindCategoryValue(WXRUBY_GRID_CELL_EDITOR, wx_edt))
|
|
450
|
+
WXRUBY_TRACE_END
|
|
451
|
+
|
|
452
|
+
wxRuby_UnlinkCategoryValue(WXRUBY_GRID_CELL_EDITOR, wx_edt);
|
|
453
|
+
wxRuby_UnregisterCategoryValue(WXRUBY_GRID_CELL_EDITOR, wx_edt);
|
|
454
|
+
|
|
455
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellEditor, 2)
|
|
456
|
+
WXRUBY_TRACE("< wxRuby_UnregisterGridCellEditor : " << wx_edt)
|
|
457
|
+
WXRUBY_TRACE_END
|
|
389
458
|
}
|
|
390
459
|
|
|
391
460
|
extern VALUE wxRuby_GridCellEditorInstance(wxGridCellEditor* wx_edt)
|
|
392
461
|
{
|
|
393
|
-
|
|
394
|
-
return Qnil;
|
|
395
|
-
else
|
|
396
|
-
return Grid_Cell_Editor_Value_Map[wx_edt];
|
|
462
|
+
return wxRuby_FindCategoryValue(WXRUBY_GRID_CELL_EDITOR, wx_edt);
|
|
397
463
|
}
|
|
398
464
|
|
|
399
465
|
// specialized client data class
|
|
@@ -402,7 +468,7 @@ module WXRuby3
|
|
|
402
468
|
public:
|
|
403
469
|
WXRBGridCellEditorMonitor() : wx_edt(0), rb_edt(Qnil) {}
|
|
404
470
|
WXRBGridCellEditorMonitor(wxGridCellEditor* a, VALUE v) : wx_edt(a), rb_edt(v)
|
|
405
|
-
{
|
|
471
|
+
{ wxRuby_RegisterCategoryValue(WXRUBY_GRID_CELL_EDITOR, wx_edt, rb_edt); }
|
|
406
472
|
virtual ~WXRBGridCellEditorMonitor()
|
|
407
473
|
{ wxRuby_UnregisterGridCellEditor(wx_edt); }
|
|
408
474
|
private:
|
|
@@ -413,59 +479,88 @@ module WXRuby3
|
|
|
413
479
|
// and it's associated registration function
|
|
414
480
|
extern void wxRuby_RegisterGridCellEditor(wxGridCellEditor* wx_edt, VALUE rb_edt)
|
|
415
481
|
{
|
|
482
|
+
static bool is_marker_registered = false;
|
|
483
|
+
|
|
484
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellEditor, 2)
|
|
485
|
+
WXRUBY_TRACE("> wxRuby_RegisterGridCellEditor : " << wx_edt << " -> " << rb_edt)
|
|
486
|
+
WXRUBY_TRACE_END
|
|
487
|
+
|
|
416
488
|
if (wx_edt && !NIL_P(rb_edt))
|
|
417
489
|
{
|
|
418
|
-
|
|
419
|
-
RDATA(rb_edt)->dfree = 0;
|
|
420
|
-
if (Grid_Cell_Editor_Value_Map.count(wx_edt) == 0)
|
|
490
|
+
if (!is_marker_registered)
|
|
421
491
|
{
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
492
|
+
wxRuby_RegisterTrackingCategory(WXRUBY_GRID_CELL_EDITOR, wxRuby_markGridCellEditor, true);
|
|
493
|
+
is_marker_registered = true;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
// see if this renderer is already tracked
|
|
497
|
+
if (wxRuby_FindCategoryValue(WXRUBY_GRID_CELL_EDITOR, wx_edt) == Qnil)
|
|
498
|
+
{
|
|
499
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellEditor, 2)
|
|
500
|
+
WXRUBY_TRACE("| wxRuby_RegisterGridCellEditor : installing monitor")
|
|
501
|
+
WXRUBY_TRACE_END
|
|
502
|
+
|
|
503
|
+
// either a new Ruby created instance or an unwrapped C++ created instance
|
|
504
|
+
// always disown; wxWidgets takes over or keeps ownership of reference count
|
|
505
|
+
RDATA(rb_edt)->dfree = 0;
|
|
506
|
+
|
|
426
507
|
wx_edt->SetClientObject(new WXRBGridCellEditorMonitor(wx_edt, rb_edt));
|
|
427
508
|
}
|
|
509
|
+
else // already registered; will be disowned already
|
|
510
|
+
{
|
|
511
|
+
// increase the reference count for C++ to take over
|
|
512
|
+
wx_edt->IncRef();
|
|
513
|
+
}
|
|
428
514
|
}
|
|
515
|
+
|
|
516
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellEditor, 2)
|
|
517
|
+
WXRUBY_TRACE("< wxRuby_RegisterGridCellEditor : " << wx_edt)
|
|
518
|
+
WXRUBY_TRACE_END
|
|
429
519
|
}
|
|
430
520
|
|
|
431
|
-
|
|
432
|
-
|
|
521
|
+
static const std::string WXRUBY_GRID_CELL_RENDERER = { "WXRUBY_GRID_CELL_RENDERER" };
|
|
522
|
+
|
|
523
|
+
// define the grid cell renderer marker
|
|
524
|
+
static void wxRuby_markGridCellRenderer(const TGCTrackingValueMap& values)
|
|
433
525
|
{
|
|
434
|
-
|
|
435
|
-
|
|
526
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellRenderer, 2)
|
|
527
|
+
WXRUBY_TRACE("> wxRuby_markGridCellRenderer")
|
|
528
|
+
WXRUBY_TRACE_END
|
|
529
|
+
|
|
530
|
+
for(const auto& ti : values)
|
|
436
531
|
{
|
|
437
|
-
VALUE obj =
|
|
532
|
+
VALUE obj = ti.second;
|
|
533
|
+
|
|
534
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellRenderer, 2)
|
|
535
|
+
WXRUBY_TRACE_WITH(void *c_ptr = (TYPE(obj) == T_DATA ? DATA_PTR(obj) : 0))
|
|
536
|
+
WXRUBY_TRACE("| wxRuby_markGridCellRenderer : " << ti.first << "|" << (void*)c_ptr)
|
|
537
|
+
WXRUBY_TRACE_END
|
|
538
|
+
|
|
438
539
|
rb_gc_mark(obj);
|
|
439
540
|
}
|
|
440
|
-
}
|
|
441
541
|
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
542
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellRenderer, 2)
|
|
543
|
+
WXRUBY_TRACE("< wxRuby_markGridCellRenderer")
|
|
544
|
+
WXRUBY_TRACE_END
|
|
545
|
+
}
|
|
446
546
|
|
|
447
547
|
static void wxRuby_UnregisterGridCellRenderer(wxGridCellRenderer* wx_rnd)
|
|
448
548
|
{
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
}
|
|
460
|
-
Grid_Cell_Renderer_Value_Map.erase(wx_rnd);
|
|
461
|
-
}
|
|
549
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellRenderer, 2)
|
|
550
|
+
WXRUBY_TRACE("> wxRuby_UnregisterGridCellRenderer : " << wx_rnd << " -> " << wxRuby_FindCategoryValue(WXRUBY_GRID_CELL_RENDERER, wx_rnd))
|
|
551
|
+
WXRUBY_TRACE_END
|
|
552
|
+
|
|
553
|
+
wxRuby_UnlinkCategoryValue(WXRUBY_GRID_CELL_RENDERER, wx_rnd);
|
|
554
|
+
wxRuby_UnregisterCategoryValue(WXRUBY_GRID_CELL_RENDERER, wx_rnd);
|
|
555
|
+
|
|
556
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellRenderer, 2)
|
|
557
|
+
WXRUBY_TRACE("< wxRuby_UnregisterGridCellRenderer : " << wx_rnd)
|
|
558
|
+
WXRUBY_TRACE_END
|
|
462
559
|
}
|
|
463
560
|
|
|
464
561
|
extern VALUE wxRuby_GridCellRendererInstance(wxGridCellRenderer* wx_rnd)
|
|
465
562
|
{
|
|
466
|
-
|
|
467
|
-
return Qnil;
|
|
468
|
-
return Grid_Cell_Renderer_Value_Map[wx_rnd];
|
|
563
|
+
return wxRuby_FindCategoryValue(WXRUBY_GRID_CELL_RENDERER, wx_rnd);
|
|
469
564
|
}
|
|
470
565
|
|
|
471
566
|
// specialized client data class
|
|
@@ -474,7 +569,7 @@ module WXRuby3
|
|
|
474
569
|
public:
|
|
475
570
|
WXRBGridCellRendererMonitor() : wx_rnd(0), rb_rnd(Qnil) {}
|
|
476
571
|
WXRBGridCellRendererMonitor(wxGridCellRenderer* a, VALUE v) : wx_rnd(a), rb_rnd(v)
|
|
477
|
-
{
|
|
572
|
+
{ wxRuby_RegisterCategoryValue(WXRUBY_GRID_CELL_RENDERER, wx_rnd, rb_rnd); }
|
|
478
573
|
virtual ~WXRBGridCellRendererMonitor()
|
|
479
574
|
{ wxRuby_UnregisterGridCellRenderer(wx_rnd); }
|
|
480
575
|
private:
|
|
@@ -485,37 +580,46 @@ module WXRuby3
|
|
|
485
580
|
// and it's associated registration/de-registration functions
|
|
486
581
|
extern void wxRuby_RegisterGridCellRenderer(wxGridCellRenderer* wx_rnd, VALUE rb_rnd)
|
|
487
582
|
{
|
|
583
|
+
static bool is_marker_registered = false;
|
|
584
|
+
|
|
585
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellRenderer, 2)
|
|
586
|
+
WXRUBY_TRACE("> wxRuby_RegisterGridCellRenderer : " << wx_rnd << " -> " << rb_rnd)
|
|
587
|
+
WXRUBY_TRACE_END
|
|
588
|
+
|
|
488
589
|
if (wx_rnd && !NIL_P(rb_rnd))
|
|
489
590
|
{
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
591
|
+
if (!is_marker_registered)
|
|
592
|
+
{
|
|
593
|
+
wxRuby_RegisterTrackingCategory(WXRUBY_GRID_CELL_RENDERER, wxRuby_markGridCellRenderer, true);
|
|
594
|
+
is_marker_registered = true;
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
// see if this renderer is already tracked
|
|
598
|
+
if (wxRuby_FindCategoryValue(WXRUBY_GRID_CELL_RENDERER, wx_rnd) == Qnil)
|
|
493
599
|
{
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
600
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellRenderer, 2)
|
|
601
|
+
WXRUBY_TRACE("| wxRuby_RegisterGridCellRenderer : installing monitor")
|
|
602
|
+
WXRUBY_TRACE_END
|
|
603
|
+
|
|
604
|
+
// either a new Ruby created instance or an unwrapped C++ created instance
|
|
605
|
+
// always disown; wxWidgets takes over or keeps ownership of reference count
|
|
606
|
+
RDATA(rb_rnd)->dfree = 0;
|
|
607
|
+
|
|
498
608
|
wx_rnd->SetClientObject(new WXRBGridCellRendererMonitor(wx_rnd, rb_rnd));
|
|
499
609
|
}
|
|
610
|
+
else // already registered; will be disowned already
|
|
611
|
+
{
|
|
612
|
+
// increase the reference count for C++ to take over
|
|
613
|
+
wx_rnd->IncRef();
|
|
614
|
+
}
|
|
500
615
|
}
|
|
501
|
-
}
|
|
502
616
|
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
WXRBGridCellRendererValueHash::iterator it;
|
|
507
|
-
for( it = Grid_Cell_Renderer_Value_Map.begin(); it != Grid_Cell_Renderer_Value_Map.end(); ++it )
|
|
508
|
-
{
|
|
509
|
-
VALUE obj = it->second;
|
|
510
|
-
rb_gc_mark(obj);
|
|
511
|
-
}
|
|
617
|
+
WXRUBY_TRACE_IF(WxRubyTraceGCTrackGridCellRenderer, 2)
|
|
618
|
+
WXRUBY_TRACE("< wxRuby_RegisterGridCellRenderer : " << wx_rnd)
|
|
619
|
+
WXRUBY_TRACE_END
|
|
512
620
|
}
|
|
513
621
|
|
|
514
622
|
__HEREDOC
|
|
515
|
-
# register the markers at module initialization
|
|
516
|
-
spec.add_init_code 'wxRuby_AppendMarker(wxRuby_markGridCellAttr);',
|
|
517
|
-
'wxRuby_AppendMarker(wxRuby_markGridCellEditor);',
|
|
518
|
-
'wxRuby_AppendMarker(wxRuby_markGridCellRenderer);'
|
|
519
623
|
# add type mappings to handle registration
|
|
520
624
|
# first declare 'normal' type mapping for const pointer (for DrawCellHighlight)
|
|
521
625
|
spec.map 'const wxGridCellAttr *' => 'Wx::GRID::GridCellAttr' do
|
|
@@ -527,10 +631,20 @@ module WXRuby3
|
|
|
527
631
|
$result = wxRuby_GridCellAttrInstance($1); // check for already registered instance
|
|
528
632
|
if (NIL_P($result))
|
|
529
633
|
{
|
|
530
|
-
// created
|
|
531
|
-
//
|
|
634
|
+
// As this editor was created in C++ it seems we have no registration yet
|
|
635
|
+
// but the reference counter will be at least 2 now (1 for C++ owner and 1
|
|
636
|
+
// increment for returning to us).
|
|
637
|
+
// We will now register a new Ruby object, keep it disowned and decrement
|
|
638
|
+
// for now. If passing to C++ again we will increment there.
|
|
532
639
|
$result = SWIG_NewPointerObj(SWIG_as_voidptr($1), SWIGTYPE_p_wxGridCellAttr, 0);
|
|
533
640
|
wxRuby_RegisterGridCellAttr($1, $result);
|
|
641
|
+
$1->DecRef();
|
|
642
|
+
}
|
|
643
|
+
else
|
|
644
|
+
{
|
|
645
|
+
// as this cell attr got passed from C++ it wll have incremented it's reference counter
|
|
646
|
+
// decrease that here; if we pass it back to C++ we will increase there
|
|
647
|
+
$1->DecRef();
|
|
534
648
|
}
|
|
535
649
|
__CODE
|
|
536
650
|
map_check code: 'wxRuby_RegisterGridCellAttr($1, argv[$argnum-2]);'
|
|
@@ -21,15 +21,20 @@ module WXRuby3
|
|
|
21
21
|
spec.rename_for_ruby('Init' => "#{spec.module_name}::Initialize")
|
|
22
22
|
# ignore these (pure virtual) decls
|
|
23
23
|
spec.ignore %w[
|
|
24
|
+
wxHelpControllerBase::DisplayContents
|
|
24
25
|
wxHelpControllerBase::DisplayBlock
|
|
25
26
|
wxHelpControllerBase::DisplaySection
|
|
27
|
+
wxHelpControllerBase::KeywordSearch
|
|
26
28
|
wxHelpControllerBase::LoadFile
|
|
27
29
|
wxHelpControllerBase::Quit
|
|
28
|
-
]
|
|
30
|
+
], ignore_doc: false
|
|
29
31
|
# and add them as the implemented overrides they are
|
|
30
32
|
spec.extend_interface spec.module_name,
|
|
33
|
+
'virtual bool DisplayContents()',
|
|
31
34
|
'virtual bool DisplayBlock(long blockNo)',
|
|
32
35
|
'virtual bool DisplaySection(int sectionNo)',
|
|
36
|
+
'virtual bool DisplaySection(const wxString §ion)',
|
|
37
|
+
'virtual bool KeywordSearch(const wxString &keyWord, wxHelpSearchMode mode=wxHELP_SEARCH_ALL)',
|
|
33
38
|
'virtual bool LoadFile(const wxString &file=wxEmptyString)',
|
|
34
39
|
'virtual bool Quit()'
|
|
35
40
|
# ignore this problematic method
|
|
@@ -62,11 +67,74 @@ module WXRuby3
|
|
|
62
67
|
spec.ignore 'wxHtmlHelpController::CreateHelpFrame',
|
|
63
68
|
'wxHtmlHelpController::CreateHelpDialog',
|
|
64
69
|
'wxHtmlHelpController::GetFrame',
|
|
65
|
-
'wxHtmlHelpController::GetDialog'
|
|
70
|
+
'wxHtmlHelpController::GetDialog',
|
|
71
|
+
'wxHtmlHelpController::DisplayContents',
|
|
72
|
+
'wxHtmlHelpController::KeywordSearch'
|
|
73
|
+
# add custom implementation of HtmlModalHelp as module function (not a class)
|
|
74
|
+
spec.add_header_code <<~__CODE
|
|
75
|
+
static VALUE wxruby_HtmlModalHelp(int argc, VALUE *argv, VALUE self)
|
|
76
|
+
{
|
|
77
|
+
if (argc < 2 || argc > 4)
|
|
78
|
+
{
|
|
79
|
+
rb_raise(rb_eArgError, "wrong # of arguments %d for 2 (max 4)", argc);
|
|
80
|
+
return Qnil;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
void *ptr = nullptr;
|
|
84
|
+
wxWindow *parent = nullptr;
|
|
85
|
+
wxString help_file;
|
|
86
|
+
wxString topic = wxEmptyString;
|
|
87
|
+
int style = wxHF_DEFAULT_STYLE;
|
|
88
|
+
int res = 0;
|
|
89
|
+
|
|
90
|
+
res = SWIG_ConvertPtr(argv[0], &ptr, SWIGTYPE_p_wxWindow, 0);
|
|
91
|
+
if (!SWIG_IsOK(res))
|
|
92
|
+
{
|
|
93
|
+
VALUE msg = rb_inspect(argv[0]);
|
|
94
|
+
rb_raise(rb_eTypeError, "expected wxWindow* for 1 but got %s", StringValuePtr(msg));
|
|
95
|
+
return Qnil;
|
|
96
|
+
}
|
|
97
|
+
parent = reinterpret_cast< wxWindow * >(ptr);
|
|
98
|
+
if (TYPE(argv[1]) != T_STRING)
|
|
99
|
+
{
|
|
100
|
+
VALUE msg = rb_inspect(argv[1]);
|
|
101
|
+
rb_raise(rb_eTypeError, "expected String for 2 but got %s", StringValuePtr(msg));
|
|
102
|
+
return Qnil;
|
|
103
|
+
}
|
|
104
|
+
help_file = RSTR_TO_WXSTR(argv[1]);
|
|
105
|
+
if (argc > 2)
|
|
106
|
+
{
|
|
107
|
+
if (TYPE(argv[2]) != T_STRING)
|
|
108
|
+
{
|
|
109
|
+
VALUE msg = rb_inspect(argv[2]);
|
|
110
|
+
rb_raise(rb_eTypeError, "expected String for 3 but got %s", StringValuePtr(msg));
|
|
111
|
+
return Qnil;
|
|
112
|
+
}
|
|
113
|
+
topic = RSTR_TO_WXSTR(argv[2]);
|
|
114
|
+
}
|
|
115
|
+
if (argc > 3)
|
|
116
|
+
{
|
|
117
|
+
if (TYPE(argv[3]) != T_FIXNUM)
|
|
118
|
+
{
|
|
119
|
+
VALUE msg = rb_inspect(argv[3]);
|
|
120
|
+
rb_raise(rb_eTypeError, "expected Integer for 4 but got %s", StringValuePtr(msg));
|
|
121
|
+
return Qnil;
|
|
122
|
+
}
|
|
123
|
+
style = NUM2INT(argv[3]);
|
|
124
|
+
}
|
|
125
|
+
wxHtmlModalHelp(parent, help_file, topic, style);
|
|
126
|
+
return Qnil;
|
|
127
|
+
}
|
|
128
|
+
__CODE
|
|
129
|
+
spec.add_init_code <<~__CODE__
|
|
130
|
+
rb_define_module_function(mWxHtmlHelpController, "HtmlModalHelp", VALUEFUNC(wxruby_HtmlModalHelp), -1);
|
|
131
|
+
__CODE__
|
|
66
132
|
elsif spec.module_name == 'wxExtHelpController'
|
|
67
133
|
spec.ignore %w[
|
|
134
|
+
wxExtHelpController::DisplayContents
|
|
68
135
|
wxExtHelpController::DisplayBlock
|
|
69
136
|
wxExtHelpController::DisplaySection
|
|
137
|
+
wxExtHelpController::KeywordSearch
|
|
70
138
|
wxExtHelpController::LoadFile
|
|
71
139
|
wxExtHelpController::Quit
|
|
72
140
|
wxExtHelpController::GetFrameParameters
|
|
@@ -92,7 +92,7 @@ module WXRuby3
|
|
|
92
92
|
// virtual wxString GetHelp(const wxWindowBase* window);
|
|
93
93
|
void RemoveHelp(wxWindowBase* window); // no virtual as we have fixed director impl above
|
|
94
94
|
virtual bool ShowHelp(wxWindowBase* window);
|
|
95
|
-
virtual bool ShowHelpAtPoint(wxWindowBase* window, const wxPoint point,
|
|
95
|
+
virtual bool ShowHelpAtPoint(wxWindowBase* window, const wxPoint& point,
|
|
96
96
|
wxHelpEvent::Origin origin);
|
|
97
97
|
};
|
|
98
98
|
__HEREDOC
|
|
@@ -18,8 +18,11 @@ module WXRuby3
|
|
|
18
18
|
|
|
19
19
|
def setup
|
|
20
20
|
spec.items << 'wxSimpleHtmlListBox' << 'wxItemContainer'
|
|
21
|
+
spec.gc_as_window('wxHtmlListBox', 'wxSimpleHtmlListBox')
|
|
21
22
|
super
|
|
22
|
-
if Config.instance.wx_version_check('3.3.
|
|
23
|
+
if Config.instance.wx_version_check('3.3.1') > 0
|
|
24
|
+
spec.override_inheritance_chain('wxHtmlListBox', ['wxVListBox', 'wxVScrolledCanvas', 'wxWindow', 'wxEvtHandler', 'wxObject'])
|
|
25
|
+
elsif Config.instance.wx_version_check('3.3.0') > 0
|
|
23
26
|
spec.override_inheritance_chain('wxHtmlListBox', ['wxVListBox', 'wxVScrolledWindow', 'wxPanel', 'wxWindow', 'wxEvtHandler', 'wxObject'])
|
|
24
27
|
else
|
|
25
28
|
spec.override_inheritance_chain('wxHtmlListBox', ['wxVListBox', { 'wxVScrolledWindow' => 'wxHScrolledWindow' }, 'wxPanel', 'wxWindow', 'wxEvtHandler', 'wxObject'])
|
|
@@ -59,6 +62,13 @@ module WXRuby3
|
|
|
59
62
|
'wxHtmlListBox::GetSelectedTextColour',
|
|
60
63
|
'wxHtmlListBox::GetSelectedTextBgColour',
|
|
61
64
|
'wxHtmlListBox::OnLinkClicked'
|
|
65
|
+
# missing from the XML docs
|
|
66
|
+
spec.extend_interface('wxHtmlListBox',
|
|
67
|
+
'virtual void OnInternalIdle()',
|
|
68
|
+
'virtual void RefreshRow(size_t line)',
|
|
69
|
+
'virtual void RefreshRows(size_t from, size_t to)',
|
|
70
|
+
'virtual void RefreshAll()',
|
|
71
|
+
'virtual void SetItemCount(size_t count)')
|
|
62
72
|
# add missing protected overloads
|
|
63
73
|
spec.extend_interface 'wxHtmlListBox',
|
|
64
74
|
'virtual void OnDrawItem(wxDC &dc, const wxRect &rect, size_t n) const',
|
|
@@ -71,7 +81,9 @@ module WXRuby3
|
|
|
71
81
|
'wxHtmlListBox::OnGetRowsHeightHint'
|
|
72
82
|
|
|
73
83
|
# override inheritance chain
|
|
74
|
-
if Config.instance.wx_version_check('3.3.
|
|
84
|
+
if Config.instance.wx_version_check('3.3.1') > 0
|
|
85
|
+
spec.override_inheritance_chain('wxSimpleHtmlListBox', ['wxHtmlListBox', 'wxVListBox', 'wxVScrolledCanvas', 'wxWindow', 'wxEvtHandler', 'wxObject'])
|
|
86
|
+
elsif Config.instance.wx_version_check('3.3.0') > 0
|
|
75
87
|
spec.override_inheritance_chain('wxSimpleHtmlListBox', ['wxHtmlListBox', 'wxVListBox', 'wxVScrolledWindow', 'wxPanel', 'wxWindow', 'wxEvtHandler', 'wxObject'])
|
|
76
88
|
else
|
|
77
89
|
spec.override_inheritance_chain('wxSimpleHtmlListBox', ['wxHtmlListBox', 'wxVListBox', { 'wxVScrolledWindow' => 'wxHScrolledWindow' }, 'wxPanel', 'wxWindow', 'wxEvtHandler', 'wxObject'])
|
|
@@ -84,7 +96,8 @@ module WXRuby3
|
|
|
84
96
|
# add missing overloads
|
|
85
97
|
spec.extend_interface 'wxSimpleHtmlListBox',
|
|
86
98
|
'virtual wxString GetString(unsigned int n) const',
|
|
87
|
-
'virtual void SetString(unsigned int n, const wxString &string)'
|
|
99
|
+
'virtual void SetString(unsigned int n, const wxString &string)',
|
|
100
|
+
'wxArrayString GetStrings() const'
|
|
88
101
|
spec.ignore([ 'wxItemContainer::Append(const wxString &, void *)',
|
|
89
102
|
'wxItemContainer::Append(const std::vector< wxString > &)',
|
|
90
103
|
'wxItemContainer::Append(const wxArrayString &, void **)',
|