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,166 @@
|
|
|
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 './window'
|
|
10
|
+
|
|
11
|
+
module WXRuby3
|
|
12
|
+
|
|
13
|
+
class Director
|
|
14
|
+
|
|
15
|
+
class WebView < Window
|
|
16
|
+
|
|
17
|
+
include Typemap::IOStreams
|
|
18
|
+
include Typemap::DateTime
|
|
19
|
+
|
|
20
|
+
def setup
|
|
21
|
+
spec.items << 'wxWebViewHistoryItem'
|
|
22
|
+
if Config.instance.wx_version_check('3.3.0') >= 0
|
|
23
|
+
spec.items << 'wxWebViewConfiguration'
|
|
24
|
+
end
|
|
25
|
+
super
|
|
26
|
+
if Config.instance.wx_version_check('3.3.0') >= 0
|
|
27
|
+
spec.gc_as_object 'wxWebViewConfiguration'
|
|
28
|
+
spec.no_proxy 'wxWebViewConfiguration'
|
|
29
|
+
spec.extend_interface 'wxWebViewConfiguration', 'wxWebViewConfiguration()', visibility: 'protected'
|
|
30
|
+
spec.make_abstract 'wxWebViewConfiguration'
|
|
31
|
+
# not useful in wxRuby
|
|
32
|
+
spec.ignore 'wxWebViewConfiguration::GetNativeConfiguration'
|
|
33
|
+
end
|
|
34
|
+
spec.gc_as_untracked 'wxWebViewHistoryItem'
|
|
35
|
+
|
|
36
|
+
spec.no_proxy 'wxWebView'
|
|
37
|
+
spec.ignore 'wxWebView::RegisterFactory'
|
|
38
|
+
spec.ignore 'wxWebView::GetNativeBackend'
|
|
39
|
+
if Config.instance.features_set?('WXMSW', 'USE_WEBVIEW_IE')
|
|
40
|
+
spec.include 'wx/msw/webview_ie.h', 'wx/msw/registry.h'
|
|
41
|
+
spec.add_extend_code 'wxWebView', <<~__CODE
|
|
42
|
+
// Have to add our own version here as wxw gets the execution module name wrong.
|
|
43
|
+
static bool msw_set_ie_emulation_level(wxWebViewIE_EmulationLevel level = wxWEBVIEWIE_EMU_IE11)
|
|
44
|
+
{
|
|
45
|
+
// Registry key where emulation level for programs are set
|
|
46
|
+
static const wxChar* IE_EMULATION_KEY =
|
|
47
|
+
wxT("SOFTWARE\\\\Microsoft\\\\Internet Explorer\\\\Main")
|
|
48
|
+
wxT("\\\\FeatureControl\\\\FEATURE_BROWSER_EMULATION");
|
|
49
|
+
|
|
50
|
+
wxRegKey key(wxRegKey::HKCU, IE_EMULATION_KEY);
|
|
51
|
+
// Check the existence of the key and create it if it does not exist
|
|
52
|
+
if ( !key.Exists() && !key.Create() )
|
|
53
|
+
{
|
|
54
|
+
wxLogWarning(_("Failed to find web view emulation level in the registry"));
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const wxString programName = wxT("ruby.exe");
|
|
59
|
+
if ( level != wxWEBVIEWIE_EMU_DEFAULT )
|
|
60
|
+
{
|
|
61
|
+
if ( !key.SetValue(programName, level) )
|
|
62
|
+
{
|
|
63
|
+
wxLogWarning(_("Failed to set web view to modern emulation level"));
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
else
|
|
68
|
+
{
|
|
69
|
+
if ( !key.DeleteValue(programName) )
|
|
70
|
+
{
|
|
71
|
+
wxLogWarning(_("Failed to reset web view to standard emulation level"));
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return true;
|
|
77
|
+
}
|
|
78
|
+
__CODE
|
|
79
|
+
else
|
|
80
|
+
spec.ignore 'wxWebViewIE_EmulationLevel'
|
|
81
|
+
end
|
|
82
|
+
if Config.instance.wx_version_check('3.1.1') >= 0
|
|
83
|
+
spec.map 'wxString *output' => 'String,nil' do
|
|
84
|
+
map_in ignore: true, temp: 'wxString tmp', code: '$1 = &tmp;'
|
|
85
|
+
map_out ignore: 'bool'
|
|
86
|
+
map_argout code: <<~__CODE
|
|
87
|
+
if (result)
|
|
88
|
+
{
|
|
89
|
+
$result = WXSTR_TO_RSTR(tmp$argnum);
|
|
90
|
+
}
|
|
91
|
+
else
|
|
92
|
+
{
|
|
93
|
+
$result = Qnil;
|
|
94
|
+
}
|
|
95
|
+
__CODE
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
if Config.instance.wx_version_check('3.1.6') >= 0
|
|
99
|
+
# do not support inherently unsafe 'void* clientData'
|
|
100
|
+
spec.ignore 'wxWebView::RunScriptAsync', ignore_doc: false
|
|
101
|
+
spec.add_extend_code 'wxWebView', <<~__CODE
|
|
102
|
+
void RunScriptAsync(const wxString& javascript)
|
|
103
|
+
{
|
|
104
|
+
$self->RunScriptAsync(javascript, nullptr);
|
|
105
|
+
}
|
|
106
|
+
__CODE
|
|
107
|
+
spec.map 'void* clientData', swig: false do
|
|
108
|
+
map_in ignore: true, code: ''
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
spec.add_swig_code <<~__CODE
|
|
113
|
+
%include <wx_ruby_shared_ptr.i>
|
|
114
|
+
%wx_ruby_shared_ptr(wxWebViewHandler, wxWebViewHandler);
|
|
115
|
+
%wx_ruby_shared_ptr(wxWebViewArchiveHandler, wxWebViewHandler);
|
|
116
|
+
%wx_ruby_shared_ptr(wxWebViewFSHandler, wxWebViewHandler);
|
|
117
|
+
|
|
118
|
+
%include <wx_shared_ptr.i>
|
|
119
|
+
%wx_shared_ptr(wxWebViewHistoryItem);
|
|
120
|
+
__CODE
|
|
121
|
+
|
|
122
|
+
spec.map 'wxSharedPtr<wxWebViewHandler>' => 'Wx::WebViewHandler>' do
|
|
123
|
+
map_in code: <<~__CODE
|
|
124
|
+
void* argp$argnum;
|
|
125
|
+
int res$argnum = SWIG_ConvertPtr($input, &argp$argnum, SWIGTYPE_p_WxRubySharedPtrT_wxWebViewHandler_wxWebViewHandler_t, 0 );
|
|
126
|
+
if (!SWIG_IsOK(res$argnum)) {
|
|
127
|
+
SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "WxRubySharedPtr< wxWebViewHandler, wxWebViewHandler >","RegisterHandler", 2, argv[0] ));
|
|
128
|
+
}
|
|
129
|
+
if (!argp2) {
|
|
130
|
+
SWIG_exception_fail(SWIG_NullReferenceError, Ruby_Format_TypeError("invalid null reference ", "WxRubySharedPtr< wxWebViewHandler, wxWebViewHandler >","RegisterHandler", 2, argv[0]));
|
|
131
|
+
} else {
|
|
132
|
+
arg2 = *(reinterpret_cast< WxRubySharedPtr< wxWebViewHandler, wxWebViewHandler > * >(argp2));
|
|
133
|
+
}
|
|
134
|
+
__CODE
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
spec.map 'wxVector< wxSharedPtr<wxWebViewHistoryItem> >' => 'Array<Wx::WEB::WebViewHistoryItem>' do
|
|
138
|
+
map_out code: <<~__CODE
|
|
139
|
+
$result = rb_ary_new();
|
|
140
|
+
wxVector< wxSharedPtr<wxWebViewHistoryItem> > *history = (wxVector< wxSharedPtr<wxWebViewHistoryItem> > *)&$1;
|
|
141
|
+
for (wxSharedPtr<wxWebViewHistoryItem>& hist_item : *history)
|
|
142
|
+
{
|
|
143
|
+
VALUE r_hist = SWIG_NewPointerObj(new wxSharedPtr<wxWebViewHistoryItem>(SWIG_STD_MOVE(hist_item)), SWIGTYPE_p_wxSharedPtrT_wxWebViewHistoryItem_t, SWIG_POINTER_OWN);
|
|
144
|
+
rb_ary_push($result, r_hist);
|
|
145
|
+
}
|
|
146
|
+
__CODE
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
spec.map 'wxSharedPtr<wxWebViewHistoryItem>' => 'Wx::WEB::WebViewHistoryItem', swig: false do
|
|
150
|
+
map_in code: ''
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
# fix event definitions
|
|
154
|
+
if Config.instance.wx_version_check('3.3.0') >= 0
|
|
155
|
+
# completely missing up and until 3.3.2 but should be there
|
|
156
|
+
if Config.instance.wx_version_check('3.3.2') <= 0
|
|
157
|
+
spec.add_swig_code %Q{%constant wxEventType wxEVT_WEBVIEW_BROWSING_DATA_CLEARED = wxEVT_WEBVIEW_BROWSING_DATA_CLEARED;}
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
end # class WebView
|
|
163
|
+
|
|
164
|
+
end # class Director
|
|
165
|
+
|
|
166
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,37 @@
|
|
|
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 WebViewEvent < Event
|
|
16
|
+
|
|
17
|
+
def setup
|
|
18
|
+
super
|
|
19
|
+
spec.override_inheritance_chain('wxWebViewEvent',
|
|
20
|
+
{'wxNotifyEvent' => 'wxEvents'}, {'wxCommandEvent' => 'wxEvent'}, 'wxEvent', 'wxObject')
|
|
21
|
+
if Config.instance.wx_version_check('3.3.0') >= 0
|
|
22
|
+
spec.items << 'wxWebViewWindowFeatures'
|
|
23
|
+
spec.gc_as_untracked 'wxWebViewWindowFeatures'
|
|
24
|
+
spec.no_proxy 'wxWebViewWindowFeatures'
|
|
25
|
+
spec.make_abstract 'wxWebViewWindowFeatures'
|
|
26
|
+
spec.extend_interface 'wxWebViewWindowFeatures',
|
|
27
|
+
'virtual wxWebViewWindowFeatures()',
|
|
28
|
+
visibility: 'protected'
|
|
29
|
+
|
|
30
|
+
end
|
|
31
|
+
spec.do_not_generate(:variables, :defines, :enums, :functions)
|
|
32
|
+
end
|
|
33
|
+
end # class WebViewEvent
|
|
34
|
+
|
|
35
|
+
end # class Director
|
|
36
|
+
|
|
37
|
+
end # module WXRuby3
|
|
@@ -0,0 +1,63 @@
|
|
|
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 WebViewHandler < Director
|
|
14
|
+
|
|
15
|
+
include Typemap::IOStreams
|
|
16
|
+
include Typemap::MBConv
|
|
17
|
+
|
|
18
|
+
def setup
|
|
19
|
+
spec.items.concat %w[wxWebViewArchiveHandler wxWebViewFSHandler]
|
|
20
|
+
if Config.instance.wx_version_check('3.3.0') >= 0
|
|
21
|
+
spec.items.concat %w[wxWebViewHandlerRequest wxWebViewHandlerResponse wxWebViewHandlerResponseData]
|
|
22
|
+
end
|
|
23
|
+
super
|
|
24
|
+
spec.gc_as_untracked 'wxWebViewHandler', 'wxWebViewArchiveHandler', 'wxWebViewFSHandler'
|
|
25
|
+
spec.make_abstract 'wxWebViewHandler'
|
|
26
|
+
spec.add_swig_code <<~__CODE
|
|
27
|
+
%include <wx_ruby_shared_ptr.i>
|
|
28
|
+
%wx_ruby_shared_ptr(wxWebViewHandler, wxWebViewHandler);
|
|
29
|
+
%wx_ruby_shared_ptr(wxWebViewArchiveHandler, wxWebViewHandler);
|
|
30
|
+
%wx_ruby_shared_ptr(wxWebViewFSHandler, wxWebViewHandler);
|
|
31
|
+
__CODE
|
|
32
|
+
if Config.instance.wx_version_check('3.3.0') >= 0
|
|
33
|
+
spec.gc_as_untracked 'wxWebViewHandlerRequest', 'wxWebViewHandlerResponse', 'wxWebViewHandlerResponseData'
|
|
34
|
+
spec.no_proxy 'wxWebViewHandlerRequest', 'wxWebViewHandlerResponse'
|
|
35
|
+
spec.make_abstract 'wxWebViewHandlerRequest'
|
|
36
|
+
spec.make_abstract 'wxWebViewHandlerResponse'
|
|
37
|
+
spec.make_abstract 'wxWebViewHandlerResponseData'
|
|
38
|
+
spec.add_swig_code <<~__CODE
|
|
39
|
+
%include <wx_shared_ptr.i>
|
|
40
|
+
%wx_shared_ptr(wxWebViewHandlerResponse);
|
|
41
|
+
%wx_shared_ptr(wxWebViewHandlerResponseData);
|
|
42
|
+
__CODE
|
|
43
|
+
spec.map 'wxSharedPtr<wxWebViewHandlerResponse>' => 'Wx::WEB::WebViewHandlerResponse', swig: false do
|
|
44
|
+
map_in code: ''
|
|
45
|
+
end
|
|
46
|
+
spec.map 'wxSharedPtr<wxWebViewHandlerResponseData>' => 'Wx::WEB::WebViewHandlerResponseData', swig: false do
|
|
47
|
+
map_in code: ''
|
|
48
|
+
end
|
|
49
|
+
spec.suppress_warning(473,
|
|
50
|
+
'wxWebViewHandlerResponseData::GetStream')
|
|
51
|
+
end
|
|
52
|
+
spec.suppress_warning(473,
|
|
53
|
+
'wxWebViewHandler::GetFile',
|
|
54
|
+
'wxWebViewArchiveHandler::GetFile',
|
|
55
|
+
'wxWebViewFSHandler::GetFile')
|
|
56
|
+
spec.do_not_generate(:variables, :defines, :enums, :functions)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
end # class WebViewHandler
|
|
60
|
+
|
|
61
|
+
end # class Director
|
|
62
|
+
|
|
63
|
+
end # module WXRuby3
|
|
@@ -127,7 +127,7 @@ module WXRuby3
|
|
|
127
127
|
spec.ignore 'wxWindow::EnableTouchEvents'
|
|
128
128
|
end
|
|
129
129
|
if Config.instance.wx_version_check('3.3.0') >= 0
|
|
130
|
-
spec.ignore_unless('WXMSW', 'wxWindow::MSWDisableComposited')
|
|
130
|
+
spec.ignore_unless('WXMSW', 'wxWindow::MSWDisableComposited') if Config.instance.wx_version_check('3.3.1') <= 0
|
|
131
131
|
spec.ignore('wxWindow::GTKGetWin32Handle')
|
|
132
132
|
end
|
|
133
133
|
if Config.instance.features_set?('USE_ACCESSIBILITY')
|
|
@@ -236,6 +236,10 @@ module WXRuby3
|
|
|
236
236
|
spec.override_events 'wxWindow', 'EVT_ACTIVATE' => ['EVT_ACTIVATE', 0, 'wxActivateEvent']
|
|
237
237
|
when 'wxNonOwnedWindow'
|
|
238
238
|
spec.no_proxy('wxNonOwnedWindow')
|
|
239
|
+
if Config.instance.features_set?('WXOSX')
|
|
240
|
+
spec.extend_interface('wxNonOwnedWindow',
|
|
241
|
+
'virtual bool Destroy() override')
|
|
242
|
+
end
|
|
239
243
|
when 'wxControl'
|
|
240
244
|
# add these to the generated interface to be parsed by SWIG
|
|
241
245
|
# the wxWidgets docs are flawed in this respect that several reimplemented
|
|
@@ -288,6 +292,7 @@ module WXRuby3
|
|
|
288
292
|
"#{spec.class_name(citem)}::GetScrollRange",
|
|
289
293
|
"#{spec.class_name(citem)}::GetScrollThumb",
|
|
290
294
|
"#{spec.class_name(citem)}::GetTextExtent",
|
|
295
|
+
"#{spec.class_name(citem)}::GetDPI",
|
|
291
296
|
"#{spec.class_name(citem)}::HasCapture",
|
|
292
297
|
"#{spec.class_name(citem)}::HasMultiplePages",
|
|
293
298
|
"#{spec.class_name(citem)}::IsDoubleBuffered",
|
|
@@ -305,6 +310,9 @@ module WXRuby3
|
|
|
305
310
|
"#{spec.class_name(citem)}::SetBackgroundColour",
|
|
306
311
|
"#{spec.class_name(citem)}::SetBackgroundStyle",
|
|
307
312
|
"#{spec.class_name(citem)}::HasTransparentBackground",
|
|
313
|
+
"#{spec.class_name(citem)}::CanSetTransparent",
|
|
314
|
+
"#{spec.class_name(citem)}::SetTransparent",
|
|
315
|
+
"#{spec.class_name(citem)}::GetThemeEnabled",
|
|
308
316
|
"#{spec.class_name(citem)}::SetCursor",
|
|
309
317
|
"#{spec.class_name(citem)}::SetFocus",
|
|
310
318
|
"#{spec.class_name(citem)}::SetFocusFromKbd",
|
|
@@ -329,6 +337,7 @@ module WXRuby3
|
|
|
329
337
|
"#{spec.class_name(citem)}::GetDefaultAttributes",
|
|
330
338
|
"#{spec.class_name(citem)}::GetWindowStyleFlag",
|
|
331
339
|
"#{spec.class_name(citem)}::GetDropTarget",
|
|
340
|
+
"#{spec.class_name(citem)}::SetDropTarget",
|
|
332
341
|
"#{spec.class_name(citem)}::GetValidator",
|
|
333
342
|
"#{spec.class_name(citem)}::IsTopLevel",
|
|
334
343
|
"#{spec.class_name(citem)}::EnableTouchEvents",
|
|
@@ -18,6 +18,12 @@ module WXRuby3
|
|
|
18
18
|
spec.ignore %w[wxXmlResource::AddHandler wxXmlResource::ClearHandlers wxXmlResource::InsertHandler]
|
|
19
19
|
# not really added value; will add alternative allowing more flexibility (see below)
|
|
20
20
|
spec.ignore 'wxXmlResource::LoadDocument(wxXmlDocument *, const wxString &)'
|
|
21
|
+
# unwanted in Ruby
|
|
22
|
+
spec.ignore 'wxXmlResource::LoadObject',
|
|
23
|
+
'wxXmlResource::LoadObjectRecursively'
|
|
24
|
+
# unattached loaders return owned objects
|
|
25
|
+
spec.new_object 'wxXmlResource::LoadMenu(const wxString &)',
|
|
26
|
+
'wxXmlResource::LoadMenuBar(const wxString &)'
|
|
21
27
|
# For these three methods, there are two variants in wxWidgets. One loads an
|
|
22
28
|
# XRC from scratch and returns an instance of a core Wx class
|
|
23
29
|
# (Wx::Dialog, Wx::Frame, or Wx::Panel). The other loads a layout into
|
|
@@ -25,4 +25,4 @@
|
|
|
25
25
|
:para:
|
|
26
26
|
- :pattern: !ruby/regexp /The overridden version may return true but modify.*appending them./
|
|
27
27
|
:replace: |
|
|
28
|
-
The overridden version may return a 2-element array with an AuiTabCtrl and tab index instead to change where the page should be inserted, e.g. by returning a tab index of 0 to insert the new pages at the beginning instead of appending them.
|
|
28
|
+
The overridden version may return a 2-element array with an {Wx::AUI::AuiTabCtrl} and tab index instead to change where the page should be inserted, e.g. by returning a tab index of 0 to insert the new pages at the beginning instead of appending them.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
:wxRichToolTip:
|
|
3
|
+
:detail:
|
|
4
|
+
:pre:
|
|
5
|
+
:para:
|
|
6
|
+
- :pattern: !ruby/regexp /The images below show some examples.*/
|
|
7
|
+
:replace: |
|
|
8
|
+
|
|
9
|
+
:programlisting:
|
|
10
|
+
- :pattern: !ruby/regexp /.*/
|
|
11
|
+
:replace: |
|
|
12
|
+
|
|
13
|
+
```ruby
|
|
14
|
+
password = Wx::TextCtrl.new(..., style: Wx::TE_PASSWORD)
|
|
15
|
+
# ...
|
|
16
|
+
tip = Wx::RichToolTip.new("Caps Lock is on",
|
|
17
|
+
"You might have made an error in your password\n" +
|
|
18
|
+
"entry because Caps Lock is turned on.\n" +
|
|
19
|
+
"\n" +
|
|
20
|
+
"Press Caps Lock key to turn it off.")
|
|
21
|
+
tip.set_icon(Wx::ICON_WARNING)
|
|
22
|
+
tip.show_for(password)
|
|
23
|
+
```
|
|
24
|
+
:post:
|
|
25
|
+
- :pattern: !ruby/regexp /<div class='appearance'>.*</table></div>/m
|
|
26
|
+
:subst: ''
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
:wxThreadEvent:
|
|
3
|
+
:detail:
|
|
4
|
+
:pre:
|
|
5
|
+
:detaileddescription:
|
|
6
|
+
- :pattern: !ruby/regexp /.*/
|
|
7
|
+
:replace: |
|
|
8
|
+
|
|
9
|
+
This event is not natively emitted by any control/class: it is just a helper class for the user.
|
|
10
|
+
Its most important feature is the {Wx::RT::ThreadEvent#get_event_category} implementation which allows
|
|
11
|
+
thread events <b>NOT</b> to be processed by {Wx::GUIEventLoop#yield_for} calls (unless the
|
|
12
|
+
{Wx::EventCategory::EVT_CATEGORY_THREAD} is specified - which is never in wx code).
|
|
13
|
+
|
|
14
|
+
In wxRuby user defined classes can be derived from this class but it is important to note that when used
|
|
15
|
+
with {Wx::RT::SharedEvtHandler#queue_message} (the only imaginable use for thread events) no Ruby state
|
|
16
|
+
will <b>ever</b> persist and adding instance variables is therefor not useful.
|
|
17
|
+
The real benefit of being able to derive from this class is that it provides for the registration and use of
|
|
18
|
+
user defined event types for the derived classes allowing to differentiate in event handling.
|
|
19
|
+
@see Wx::GUIEventLoop#yield_for
|
|
20
|
+
@see Wx::RT::SharedEvtHandler
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
---
|
|
2
|
+
:wxWebView:
|
|
3
|
+
:detail:
|
|
4
|
+
:pre:
|
|
5
|
+
:detaileddescription:
|
|
6
|
+
- :pattern: !ruby/regexp /wxWEBVIEW_BACKEND_IE\s+\(MSW\)/
|
|
7
|
+
:subst: 'Wx::WEB::WEBVIEW_BACKEND_IE (MSW)'
|
|
8
|
+
- :pattern: !ruby/regexp /Internet\s+Explorer\s+7/
|
|
9
|
+
:subst: 'Internet Explorer 11'
|
|
10
|
+
- :pattern: !ruby/regexp /wxWebViewIE::MSWSetEmulationLevel/
|
|
11
|
+
:subst: 'wxWebView::msw_set_ie_emulation_level'
|
|
12
|
+
- :pattern: !ruby/regexp /wxWebViewBackendIE/m
|
|
13
|
+
:global: true
|
|
14
|
+
:subst: 'wxWEBVIEW_BACKEND_IE'
|
|
15
|
+
- :pattern: !ruby/regexp /wxWEBVIEW_BACKEND_EDGE/m
|
|
16
|
+
:global: true
|
|
17
|
+
:subst: 'Wx::WEB::WEBVIEW_BACKEND_EDGE'
|
|
18
|
+
- :pattern: !ruby/regexp /wxWebViewBackendEdge/m
|
|
19
|
+
:global: true
|
|
20
|
+
:subst: 'wxWEBVIEW_BACKEND_EDGE'
|
|
21
|
+
- :pattern: !ruby/regexp /This\s+backend.*using\s+CMake.\s+To\s+build.*steps:/
|
|
22
|
+
:subst: 'This backend is enabled by default for WXMSW.'
|
|
23
|
+
- :pattern: !ruby/regexp /wxWebViewBackendWebKit/m
|
|
24
|
+
:global: true
|
|
25
|
+
:subst: 'wxWEBVIEW_BACKEND_WEBKIT'
|
|
26
|
+
- :pattern: !ruby/regexp /wxWEBVIEW_WEBKIT/m
|
|
27
|
+
:global: true
|
|
28
|
+
:subst: 'Wx::WEB::WEBVIEW_BACKEND_WEBKIT'
|
|
29
|
+
- :pattern: !ruby/regexp /wxWEBVIEW_CHROMIUM/m
|
|
30
|
+
:global: true
|
|
31
|
+
:subst: 'Wx::WEB::WEBVIEW_BACKEND_CHROMIUM'
|
|
32
|
+
- :pattern: !ruby/regexp /wxWebViewBackendChromium/m
|
|
33
|
+
:global: true
|
|
34
|
+
:subst: 'wxWEBVIEW_BACKEND_CHROMIUM'
|
|
35
|
+
:programlisting:
|
|
36
|
+
- :pattern: !ruby/regexp /wxSetEnv/
|
|
37
|
+
:replace: |
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
```ruby
|
|
41
|
+
ENV['WEBKIT_DISABLE_DMABUF_RENDERER'] = '1'
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
:post:
|
|
45
|
+
- :pattern: !ruby/regexp /-\s+When\s+not\s+using\s+CMake:.*remove\s+the dependency\s+on\s+WebView2Loader\.dll\s+at runtime./m
|
|
46
|
+
:subst: ''
|
|
47
|
+
- :pattern: !ruby/regexp /If.*fixed\s+version.*WebView2.*Edge\s+backend\./
|
|
48
|
+
:subst: ''
|
|
49
|
+
- :pattern: !ruby/regexp /see\s+\{Wx::WebViewChromium\}.*build\s+instructions./
|
|
50
|
+
:subst: |
|
|
51
|
+
see the wxWidgets documentation for wxWebViewChromium for additional usage and build instructions.
|
|
52
|
+
This backend can not be automatically build by the wxRuby3 build scripts but requires a custom wxWidgets installation.
|
|
53
|
+
See the wxRuby3 INSTALL documentation for details on how to build with a custom wxWidgets setup.
|
|
54
|
+
:wxWebView.RunScript:
|
|
55
|
+
:detail:
|
|
56
|
+
:pre:
|
|
57
|
+
:programlisting:
|
|
58
|
+
- :pattern: !ruby/regexp /document\.write/
|
|
59
|
+
:replace: |
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
```ruby
|
|
63
|
+
webview.run_script('document.write('Hello from wxWidgets!')')
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
- :pattern: !ruby/regexp /document\.getElementById/
|
|
67
|
+
:replace: |
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
```ruby
|
|
71
|
+
if (result = webview.run_script('document.getElementById('some_id').innerHTML'))
|
|
72
|
+
#... result contains the contents of the given element ...
|
|
73
|
+
# else: the element with this ID probably doesn't exist.
|
|
74
|
+
end
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
:post:
|
|
78
|
+
- :pattern: !ruby/regexp /return\s+false/m
|
|
79
|
+
:global: true
|
|
80
|
+
:subst: 'return nil'
|
|
81
|
+
- :pattern: !ruby/regexp /MSWSetEmulationLevel\(\)/
|
|
82
|
+
:subst: 'Wx::WEB::WebView::msw_set_ie_emulation_level'
|
|
83
|
+
- :pattern: !ruby/regexp /If.*output.*success/m
|
|
84
|
+
:subst: 'This method returns the result of executing this code on success (or nil if no result or on failure)'
|
|
85
|
+
- :pattern: !ruby/regexp /true\s+if\s+there\s+is.*error./m
|
|
86
|
+
:subst: ''
|
|
87
|
+
:wxWebView.AddScriptMessageHandler:
|
|
88
|
+
:detail:
|
|
89
|
+
:pre:
|
|
90
|
+
:programlisting:
|
|
91
|
+
- :pattern: !ruby/regexp /AddScriptMessageHandler/
|
|
92
|
+
:replace: |
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
```ruby
|
|
96
|
+
# Install message handler with the name wx_msg
|
|
97
|
+
@webView.add_script_message_handler("wx_msg")
|
|
98
|
+
# Bind handler
|
|
99
|
+
@webView.evt_webview_script_message_received(Wx::ID_ANY) { |evt|
|
|
100
|
+
Wx.log_message("Script message received; value = %s, handler = %s", evt.get_string, evt.get_message_handler)
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
:post:
|
|
105
|
+
- :pattern: !ruby/regexp /Sample\s+C\+\+\s+code\s+/
|
|
106
|
+
:subst: 'Sample code '
|
|
107
|
+
:wxWebView.SetProxy:
|
|
108
|
+
:detail:
|
|
109
|
+
:pre:
|
|
110
|
+
:programlisting:
|
|
111
|
+
- :pattern: !ruby/regexp /.*/
|
|
112
|
+
:replace: |
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
```ruby
|
|
116
|
+
webview = Wx::WEB::WebView.new
|
|
117
|
+
unless webview.set_proxy("http://127.0.0.1:8080")
|
|
118
|
+
Wx.log_warning("Setting proxy failed!")
|
|
119
|
+
end
|
|
120
|
+
webview.create(parent, Wx::ID_ANY)
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
:wxWebView.IsBackendAvailable:
|
|
124
|
+
:detail:
|
|
125
|
+
:pre:
|
|
126
|
+
:programlisting:
|
|
127
|
+
- :pattern: !ruby/regexp /.*/
|
|
128
|
+
:replace: |
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
```ruby
|
|
132
|
+
if Wx::WEB::WebView::is_backend_available(Wx::WEB::WEBVIEW_BACKEND_EDGE)
|
|
133
|
+
#... enable some extra functionality not available with the IE backend ...
|
|
134
|
+
end
|
|
135
|
+
```
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
:wxWebViewWindowFeatures:
|
|
3
|
+
:detail:
|
|
4
|
+
:pre:
|
|
5
|
+
:programlisting:
|
|
6
|
+
- :pattern: !ruby/regexp /wxEVT_WEBVIEW_NEWWINDOW/
|
|
7
|
+
:replace: |
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
```ruby
|
|
11
|
+
# Bind new window handler
|
|
12
|
+
@webView.evt_webview_newwindow(Wx::ID_ANY) { |evt|
|
|
13
|
+
if evt.get_url == "http://badwebsite.com"
|
|
14
|
+
evt.veto # Disallow new window for badwebsite.com
|
|
15
|
+
else
|
|
16
|
+
evt.skip # Allow new window for all other websites
|
|
17
|
+
end
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
# Bind new window features handler
|
|
21
|
+
@webView.evt_webview_newwindow_features(Wx::ID_ANY) { |evt|
|
|
22
|
+
# Get target window features
|
|
23
|
+
features = evt.get_target_window_features
|
|
24
|
+
# Create a top level window for the child web view
|
|
25
|
+
win = Wx::Frame.new(nil, Wx::ID_ANY, features.get_position, features.get_size)
|
|
26
|
+
sizer = Wx::VBoxSizer.new
|
|
27
|
+
win.set_sizer(sizer)
|
|
28
|
+
# Get the child web view
|
|
29
|
+
childWebView = features.get_child_web_view
|
|
30
|
+
# Place the child web view into the window
|
|
31
|
+
childWebView.create(win, Wx::ID_ANY)
|
|
32
|
+
sizer.add(childWebView, Wx::SizerFlags.new.proportion(1).expand)
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
:post:
|
|
37
|
+
- :pattern: !ruby/regexp /Sample\s+C\+\+\s+code\s+/
|
|
38
|
+
:subst: 'Sample code '
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
:wxWebViewHandler.SetVirtualHost:
|
|
3
|
+
:detail:
|
|
4
|
+
:post:
|
|
5
|
+
- :pattern: !ruby/regexp /name\.\{Wx::site\}/
|
|
6
|
+
:subst: '<code>name.wxsite</code>'
|
|
7
|
+
:wxWebViewHandler.StartRequest:
|
|
8
|
+
:detail:
|
|
9
|
+
:pre:
|
|
10
|
+
:programlisting:
|
|
11
|
+
- :pattern: !ruby/regexp /.*/
|
|
12
|
+
:replace: |
|
|
13
|
+
|
|
14
|
+
```ruby
|
|
15
|
+
def start_request(request, response)
|
|
16
|
+
# Set common headers allowing access from XMLHTTPRequests()
|
|
17
|
+
response.set_header("Access-Control-Allow-Origin", "*")
|
|
18
|
+
response.set_header("Access-Control-Allow-Headers", "*")
|
|
19
|
+
|
|
20
|
+
# Handle options request
|
|
21
|
+
if request.get_method.casecmp("options") == 0
|
|
22
|
+
response.finish("")
|
|
23
|
+
return
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Check the post data type
|
|
27
|
+
unless request.get_header("Content-Type").start_with?("application/json")
|
|
28
|
+
response.finish_with_error
|
|
29
|
+
return;
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Process input data
|
|
33
|
+
postData = request.get_data_string
|
|
34
|
+
|
|
35
|
+
#...
|
|
36
|
+
|
|
37
|
+
# Send result
|
|
38
|
+
response.set_content_type("application/json")
|
|
39
|
+
response.finish("{ result: true }")
|
|
40
|
+
end
|
|
41
|
+
```
|
|
42
|
+
:wxWebViewHandlerResponse.Finish:
|
|
43
|
+
:detail:
|
|
44
|
+
:pre:
|
|
45
|
+
:detaileddescription:
|
|
46
|
+
- :pattern: !ruby/regexp /simplesect.*kind.*see.*Finish.*wxMBConv/
|
|
47
|
+
:replace: |
|
|
48
|
+
@see finish(text, conv)
|
|
49
|
+
- :pattern: !ruby/regexp /simplesect.*kind.*see.*Finish.*wxWebViewHandlerResponseData/
|
|
50
|
+
:replace: |
|
|
51
|
+
@see find(data)
|
|
52
|
+
:wxWebViewHandlerResponseData:
|
|
53
|
+
:detail:
|
|
54
|
+
:pre:
|
|
55
|
+
:detaileddescription:
|
|
56
|
+
- :pattern: !ruby/regexp /simplesect.*kind.*see.*Finish.*wxWebViewHandlerResponseData/
|
|
57
|
+
:replace: |
|
|
58
|
+
@see Wx::WEB::WebViewHandlerResponse#finish(data)
|
data/rakelib/lib/generate/doc.rb
CHANGED
|
@@ -49,7 +49,7 @@ module WXRuby3
|
|
|
49
49
|
end
|
|
50
50
|
table = { 'Wx' => {}}
|
|
51
51
|
handle_module(Wx, table['Wx'])
|
|
52
|
-
|
|
52
|
+
File.open(ARGV[0], 'w+') { |f| f << JSON.dump(table) }
|
|
53
53
|
__SCRIPT
|
|
54
54
|
STDERR.puts "* executing constants collection script:\n#{script}" if Director.trace?
|
|
55
55
|
begin
|
|
@@ -57,22 +57,27 @@ module WXRuby3
|
|
|
57
57
|
ftmp_name = tmpfile.path.dup
|
|
58
58
|
tmpfile << script
|
|
59
59
|
tmpfile.close(false)
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
60
|
+
tmpconsts = Tempfile.new('constants')
|
|
61
|
+
fconsts_name = tmpconsts.path.dup
|
|
62
|
+
tmpconsts.close(false)
|
|
63
|
+
if Director.trace?
|
|
64
|
+
Config.instance.run(ftmp_name, fconsts_name, capture: :out, verbose: false)
|
|
65
|
+
else
|
|
66
|
+
Config.instance.run(ftmp_name, fconsts_name, capture: :no_err, verbose: false)
|
|
67
|
+
end
|
|
68
|
+
result = File.read(fconsts_name)
|
|
65
69
|
STDERR.puts "* got constants collection output:\n#{result}" if Director.trace?
|
|
66
70
|
begin
|
|
67
71
|
db = JSON.load(result)
|
|
68
72
|
rescue Exception
|
|
69
|
-
File.open('constants_raw.json', "w") { |f| f << result } if Director.verbose?
|
|
73
|
+
# File.open('constants_raw.json', "w") { |f| f << result } if Director.verbose?
|
|
70
74
|
::Kernel.raise RuntimeError, "Exception loading constants collection result: #{$!.message.slice(0, 512)}", cause: nil
|
|
71
75
|
end
|
|
72
76
|
File.open('constants.json', "w") { |f| f << JSON.pretty_generate(db) } if Director.verbose?
|
|
73
77
|
return db
|
|
74
78
|
ensure
|
|
75
79
|
File.unlink(ftmp_name)
|
|
80
|
+
File.unlink(fconsts_name)
|
|
76
81
|
end
|
|
77
82
|
end
|
|
78
83
|
|