wxruby3 1.7.0 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/INSTALL.md +27 -2
- data/README.md +15 -15
- data/ext/wxruby3/include/wxRubyApp.h +145 -46
- 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 +29 -0
- data/ext/wxruby3/swig/custom/rubytracking.swg +8 -22
- 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 +7 -132
- data/ext/wxruby3/swig/memory_management.i +8 -44
- data/ext/wxruby3/swig/wx.i +46 -73
- 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/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/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/context_help.rb +42 -0
- data/lib/wx/doc/core.rb +0 -5
- data/lib/wx/doc/functions.rb +10 -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/stream.rb +7 -3
- data/lib/wx/doc/webview.rb +40 -0
- data/lib/wx/helpers.rb +1 -1
- data/lib/wx/html/htmlhelpcontroller.rb +10 -0
- data/lib/wx/keyword_defs.rb +11 -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/version.rb +1 -1
- 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 +15 -0
- data/lib/wx/wxruby/cmd/test.rb +8 -2
- data/lib/wx.rb +2 -0
- data/rakelib/configure.rb +24 -0
- data/rakelib/gem.rb +3 -2
- data/rakelib/install.rb +54 -27
- data/rakelib/lib/config/macosx.rb +7 -5
- data/rakelib/lib/config/mingw.rb +66 -5
- data/rakelib/lib/config/pkgman/linux.rb +4 -2
- data/rakelib/lib/config/pkgman/mingw.rb +1 -1
- data/rakelib/lib/config/unixish.rb +4 -2
- data/rakelib/lib/config.rb +37 -3
- 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 +3 -3
- data/rakelib/lib/core/include/swigrubyrun.inc +14 -26
- data/rakelib/lib/core/package.rb +0 -2
- data/rakelib/lib/director/app.rb +1 -8
- data/rakelib/lib/director/art_provider.rb +7 -3
- data/rakelib/lib/director/comboctrl.rb +0 -7
- data/rakelib/lib/director/context_help_button.rb +35 -2
- data/rakelib/lib/director/derived_dc.rb +41 -32
- data/rakelib/lib/director/editable_listbox.rb +10 -8
- data/rakelib/lib/director/event_handler.rb +32 -28
- data/rakelib/lib/director/fs_file.rb +38 -10
- data/rakelib/lib/director/functions.rb +8 -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 +140 -121
- data/rakelib/lib/director/help_controller.rb +70 -2
- data/rakelib/lib/director/mb_conv.rb +30 -0
- data/rakelib/lib/director/menu.rb +92 -42
- data/rakelib/lib/director/menu_bar.rb +84 -45
- data/rakelib/lib/director/menu_item.rb +2 -2
- data/rakelib/lib/director/persistence_manager.rb +3 -2
- data/rakelib/lib/director/preview_frame.rb +2 -2
- data/rakelib/lib/director/ribbon_page.rb +11 -0
- data/rakelib/lib/director/richtext_buffer.rb +5 -2
- 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 +7 -7
- data/rakelib/lib/director/thread_event.rb +33 -0
- data/rakelib/lib/director/top_level_window.rb +12 -4
- data/rakelib/lib/director/validator.rb +3 -1
- data/rakelib/lib/director/variant.rb +16 -12
- 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/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/specs/interfaces.rb +14 -2
- data/rakelib/lib/typemap/common.rb +34 -1
- data/rakelib/lib/typemap/mb_conv.rb +58 -0
- data/rakelib/prepost.rake +23 -31
- data/rakelib/prepost.rb +20 -0
- 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/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.zip +0 -0
- data/tests/lib/text_entry_tests.rb +2 -2
- data/tests/lib/wxapp_runner.rb +40 -0
- data/tests/lib/wxframe_runner.rb +17 -2
- data/tests/test_art.rb +8 -8
- data/tests/test_clipboard.rb +4 -4
- data/tests/test_config.rb +6 -6
- data/tests/test_exceptions.rb +8 -6
- data/tests/test_ext_controls.rb +3 -3
- data/tests/test_file_dialog.rb +5 -5
- data/tests/test_font.rb +7 -7
- data/tests/test_grid_ctrl.rb +133 -0
- data/tests/test_help.rb +88 -0
- data/tests/test_intl.rb +1 -1
- data/tests/test_media_ctrl.rb +14 -6
- data/tests/test_menu.rb +94 -86
- data/tests/test_persistence.rb +1 -1
- data/tests/test_proof_check.rb +5 -5
- data/tests/test_propgrid.rb +1 -1
- data/tests/test_shared_event_handler.rb +141 -0
- data/tests/test_std_controls.rb +5 -5
- data/tests/test_webview.rb +492 -0
- data/tests/test_window.rb +3 -3
- metadata +66 -368
- data/assets/repo-social-preview.odg +0 -0
- data/assets/repo-social-preview.xcf +0 -0
- data/lib/wx/aui/events/evt_list.rb +0 -148
- data/lib/wx/core/events/evt_list.rb +0 -1458
- data/lib/wx/core/font/encoding.rb +0 -113
- data/lib/wx/doc/gen/about_dialog_info.rb +0 -330
- data/lib/wx/doc/gen/accelerator.rb +0 -178
- data/lib/wx/doc/gen/activity_indicator.rb +0 -83
- data/lib/wx/doc/gen/affine_matrix2d.rb +0 -284
- data/lib/wx/doc/gen/animation.rb +0 -275
- data/lib/wx/doc/gen/animation_ctrl.rb +0 -300
- data/lib/wx/doc/gen/any_button.rb +0 -191
- data/lib/wx/doc/gen/app.rb +0 -463
- data/lib/wx/doc/gen/app_traits.rb +0 -396
- data/lib/wx/doc/gen/art_provider.rb +0 -605
- data/lib/wx/doc/gen/aui/aui_dock_art.rb +0 -455
- data/lib/wx/doc/gen/aui/aui_floating_frame.rb +0 -54
- data/lib/wx/doc/gen/aui/aui_manager.rb +0 -847
- data/lib/wx/doc/gen/aui/aui_manager_event.rb +0 -131
- data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +0 -180
- data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +0 -59
- data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +0 -130
- data/lib/wx/doc/gen/aui/aui_notebook.rb +0 -631
- data/lib/wx/doc/gen/aui/aui_notebook_event.rb +0 -233
- data/lib/wx/doc/gen/aui/aui_pane_info.rb +0 -769
- data/lib/wx/doc/gen/aui/aui_tab_art.rb +0 -352
- data/lib/wx/doc/gen/aui/aui_tab_ctrl.rb +0 -14
- data/lib/wx/doc/gen/aui/aui_tool_bar.rb +0 -510
- data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +0 -340
- data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +0 -244
- data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +0 -257
- data/lib/wx/doc/gen/aui/event_list.rb +0 -179
- data/lib/wx/doc/gen/banner_window.rb +0 -124
- data/lib/wx/doc/gen/bitmap.rb +0 -731
- data/lib/wx/doc/gen/bitmap_button.rb +0 -123
- data/lib/wx/doc/gen/bitmap_combo_box.rb +0 -221
- data/lib/wx/doc/gen/book_ctrl_base.rb +0 -273
- data/lib/wx/doc/gen/book_ctrl_event.rb +0 -66
- data/lib/wx/doc/gen/box_sizer.rb +0 -85
- data/lib/wx/doc/gen/brush.rb +0 -251
- data/lib/wx/doc/gen/busy_info.rb +0 -157
- data/lib/wx/doc/gen/button.rb +0 -182
- data/lib/wx/doc/gen/calculate_layout_event.rb +0 -62
- data/lib/wx/doc/gen/calendar_ctrl.rb +0 -505
- data/lib/wx/doc/gen/calendar_date_attr.rb +0 -138
- data/lib/wx/doc/gen/calendar_event.rb +0 -147
- data/lib/wx/doc/gen/caret.rb +0 -97
- data/lib/wx/doc/gen/check_box.rb +0 -175
- data/lib/wx/doc/gen/check_list_box.rb +0 -121
- data/lib/wx/doc/gen/choice.rb +0 -175
- data/lib/wx/doc/gen/choicebook.rb +0 -116
- data/lib/wx/doc/gen/client_dc.rb +0 -43
- data/lib/wx/doc/gen/clipboard.rb +0 -144
- data/lib/wx/doc/gen/collapsible_pane.rb +0 -138
- data/lib/wx/doc/gen/collapsible_pane_event.rb +0 -46
- data/lib/wx/doc/gen/colour.rb +0 -333
- data/lib/wx/doc/gen/colour_dialog.rb +0 -190
- data/lib/wx/doc/gen/colour_picker_ctrl.rb +0 -110
- data/lib/wx/doc/gen/colour_picker_event.rb +0 -77
- data/lib/wx/doc/gen/combo_box.rb +0 -292
- data/lib/wx/doc/gen/combo_ctrl.rb +0 -662
- data/lib/wx/doc/gen/command_link_button.rb +0 -134
- data/lib/wx/doc/gen/config_base.rb +0 -10
- data/lib/wx/doc/gen/context_help_button.rb +0 -109
- data/lib/wx/doc/gen/control.rb +0 -277
- data/lib/wx/doc/gen/control_with_items.rb +0 -253
- data/lib/wx/doc/gen/core.rb +0 -45
- data/lib/wx/doc/gen/credential_entry_dialog.rb +0 -137
- data/lib/wx/doc/gen/cursor.rb +0 -193
- data/lib/wx/doc/gen/data_format.rb +0 -85
- data/lib/wx/doc/gen/data_object.rb +0 -436
- data/lib/wx/doc/gen/data_object_simple_base.rb +0 -10
- data/lib/wx/doc/gen/date_event.rb +0 -49
- data/lib/wx/doc/gen/date_picker_ctrl.rb +0 -161
- data/lib/wx/doc/gen/dc.rb +0 -1631
- data/lib/wx/doc/gen/dc_overlay.rb +0 -102
- data/lib/wx/doc/gen/defs.rb +0 -2802
- data/lib/wx/doc/gen/dial_up_event.rb +0 -45
- data/lib/wx/doc/gen/dial_up_manager.rb +0 -149
- data/lib/wx/doc/gen/dialog.rb +0 -541
- data/lib/wx/doc/gen/dir_dialog.rb +0 -164
- data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +0 -90
- data/lib/wx/doc/gen/dir_picker_ctrl.rb +0 -125
- data/lib/wx/doc/gen/display.rb +0 -238
- data/lib/wx/doc/gen/drag_drop.rb +0 -299
- data/lib/wx/doc/gen/drag_image.rb +0 -116
- data/lib/wx/doc/gen/editable_list_box.rb +0 -109
- data/lib/wx/doc/gen/event.rb +0 -990
- data/lib/wx/doc/gen/event_blocker.rb +0 -50
- data/lib/wx/doc/gen/event_filter.rb +0 -92
- data/lib/wx/doc/gen/event_list.rb +0 -1644
- data/lib/wx/doc/gen/events.rb +0 -2809
- data/lib/wx/doc/gen/evt_handler.rb +0 -229
- data/lib/wx/doc/gen/ext_help_controller.rb +0 -109
- data/lib/wx/doc/gen/file_ctrl.rb +0 -231
- data/lib/wx/doc/gen/file_ctrl_event.rb +0 -83
- data/lib/wx/doc/gen/file_dialog.rb +0 -353
- data/lib/wx/doc/gen/file_dialog_custom_control.rb +0 -165
- data/lib/wx/doc/gen/file_dialog_customize_hook.rb +0 -158
- data/lib/wx/doc/gen/file_dir_picker_event.rb +0 -100
- data/lib/wx/doc/gen/file_picker_ctrl.rb +0 -132
- data/lib/wx/doc/gen/file_system.rb +0 -232
- data/lib/wx/doc/gen/find_dialog_event.rb +0 -126
- data/lib/wx/doc/gen/find_replace_data.rb +0 -60
- data/lib/wx/doc/gen/find_replace_dialog.rb +0 -58
- data/lib/wx/doc/gen/flex_grid_sizer.rb +0 -199
- data/lib/wx/doc/gen/font.rb +0 -1379
- data/lib/wx/doc/gen/font_data.rb +0 -151
- data/lib/wx/doc/gen/font_dialog.rb +0 -88
- data/lib/wx/doc/gen/font_picker_ctrl.rb +0 -143
- data/lib/wx/doc/gen/font_picker_event.rb +0 -65
- data/lib/wx/doc/gen/frame.rb +0 -352
- data/lib/wx/doc/gen/fs_file.rb +0 -337
- data/lib/wx/doc/gen/functions.rb +0 -10
- data/lib/wx/doc/gen/gauge.rb +0 -157
- data/lib/wx/doc/gen/gb_sizer_item.rb +0 -68
- data/lib/wx/doc/gen/gcdc.rb +0 -46
- data/lib/wx/doc/gen/gdi_common.rb +0 -1271
- data/lib/wx/doc/gen/gdi_object.rb +0 -31
- data/lib/wx/doc/gen/generic_about_dialog.rb +0 -140
- data/lib/wx/doc/gen/generic_dir_ctrl.rb +0 -223
- data/lib/wx/doc/gen/geometry.rb +0 -661
- data/lib/wx/doc/gen/graphics_context.rb +0 -1184
- data/lib/wx/doc/gen/graphics_object.rb +0 -750
- data/lib/wx/doc/gen/grid/event_list.rb +0 -191
- data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +0 -40
- data/lib/wx/doc/gen/grid/grid_cell_attr.rb +0 -280
- data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +0 -35
- data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +0 -37
- data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +0 -49
- data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +0 -35
- data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +0 -46
- data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +0 -38
- data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +0 -45
- data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +0 -40
- data/lib/wx/doc/gen/grid/grid_cell_editor.rb +0 -197
- data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +0 -39
- data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +0 -44
- data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +0 -45
- data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +0 -79
- data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +0 -46
- data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +0 -35
- data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +0 -108
- data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +0 -35
- data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +0 -49
- data/lib/wx/doc/gen/grid/grid_ctrl.rb +0 -3002
- data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +0 -95
- data/lib/wx/doc/gen/grid/grid_event.rb +0 -129
- data/lib/wx/doc/gen/grid/grid_range_select_event.rb +0 -104
- data/lib/wx/doc/gen/grid/grid_size_event.rb +0 -85
- data/lib/wx/doc/gen/grid/grid_string_table.rb +0 -142
- data/lib/wx/doc/gen/grid/grid_table_base.rb +0 -317
- data/lib/wx/doc/gen/grid/grid_table_message.rb +0 -81
- data/lib/wx/doc/gen/grid_bag_sizer.rb +0 -323
- data/lib/wx/doc/gen/grid_sizer.rb +0 -195
- data/lib/wx/doc/gen/gui_event_loop.rb +0 -159
- data/lib/wx/doc/gen/h_scrolled_window.rb +0 -562
- data/lib/wx/doc/gen/header_ctrl.rb +0 -880
- data/lib/wx/doc/gen/header_ctrl_event.rb +0 -133
- data/lib/wx/doc/gen/help_controller.rb +0 -195
- data/lib/wx/doc/gen/help_provider.rb +0 -98
- data/lib/wx/doc/gen/html/event_list.rb +0 -38
- data/lib/wx/doc/gen/html/html_cell.rb +0 -536
- data/lib/wx/doc/gen/html/html_cell_event.rb +0 -69
- data/lib/wx/doc/gen/html/html_data_object.rb +0 -42
- data/lib/wx/doc/gen/html/html_easy_printing.rb +0 -203
- data/lib/wx/doc/gen/html/html_help_controller.rb +0 -340
- data/lib/wx/doc/gen/html/html_help_data.rb +0 -159
- data/lib/wx/doc/gen/html/html_help_window.rb +0 -258
- data/lib/wx/doc/gen/html/html_link_event.rb +0 -41
- data/lib/wx/doc/gen/html/html_list_box.rb +0 -346
- data/lib/wx/doc/gen/html/html_printout.rb +0 -109
- data/lib/wx/doc/gen/html/html_window.rb +0 -461
- data/lib/wx/doc/gen/hyperlink_ctrl.rb +0 -311
- data/lib/wx/doc/gen/hyperlink_event.rb +0 -44
- data/lib/wx/doc/gen/icon.rb +0 -267
- data/lib/wx/doc/gen/icon_location.rb +0 -40
- data/lib/wx/doc/gen/image.rb +0 -1371
- data/lib/wx/doc/gen/image_list.rb +0 -168
- data/lib/wx/doc/gen/info_bar.rb +0 -195
- data/lib/wx/doc/gen/keyboard_state.rb +0 -140
- data/lib/wx/doc/gen/list_box.rb +0 -304
- data/lib/wx/doc/gen/list_ctrl.rb +0 -1774
- data/lib/wx/doc/gen/list_event.rb +0 -208
- data/lib/wx/doc/gen/listbook.rb +0 -116
- data/lib/wx/doc/gen/locale.rb +0 -4293
- data/lib/wx/doc/gen/log.rb +0 -603
- data/lib/wx/doc/gen/mdi_client_window.rb +0 -47
- data/lib/wx/doc/gen/mdi_frame.rb +0 -324
- data/lib/wx/doc/gen/media_ctrl.rb +0 -269
- data/lib/wx/doc/gen/media_event.rb +0 -117
- data/lib/wx/doc/gen/memory_dc.rb +0 -174
- data/lib/wx/doc/gen/menu.rb +0 -509
- data/lib/wx/doc/gen/menu_bar.rb +0 -287
- data/lib/wx/doc/gen/menu_item.rb +0 -362
- data/lib/wx/doc/gen/message_dialog.rb +0 -238
- data/lib/wx/doc/gen/mini_frame.rb +0 -108
- data/lib/wx/doc/gen/mirror_dc.rb +0 -22
- data/lib/wx/doc/gen/mouse_state.rb +0 -150
- data/lib/wx/doc/gen/multi_choice_dialog.rb +0 -80
- data/lib/wx/doc/gen/non_owned_window.rb +0 -49
- data/lib/wx/doc/gen/notebook.rb +0 -278
- data/lib/wx/doc/gen/num_validator.rb +0 -37
- data/lib/wx/doc/gen/number_entry_dialog.rb +0 -93
- data/lib/wx/doc/gen/object.rb +0 -59
- data/lib/wx/doc/gen/owner_drawn_combo_box.rb +0 -395
- data/lib/wx/doc/gen/paint_dc.rb +0 -27
- data/lib/wx/doc/gen/palette.rb +0 -92
- data/lib/wx/doc/gen/panel.rb +0 -127
- data/lib/wx/doc/gen/pen.rb +0 -511
- data/lib/wx/doc/gen/persistence_manager.rb +0 -135
- data/lib/wx/doc/gen/persistent_object.rb +0 -52
- data/lib/wx/doc/gen/persistent_window.rb +0 -241
- data/lib/wx/doc/gen/pg/event_list.rb +0 -106
- data/lib/wx/doc/gen/pg/numeric_property_validator.rb +0 -54
- data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +0 -292
- data/lib/wx/doc/gen/pg/pg_cell.rb +0 -177
- data/lib/wx/doc/gen/pg/pg_editor.rb +0 -721
- data/lib/wx/doc/gen/pg/pg_multi_button.rb +0 -152
- data/lib/wx/doc/gen/pg/pg_properties.rb +0 -2829
- data/lib/wx/doc/gen/pg/pg_property.rb +0 -2078
- data/lib/wx/doc/gen/pg/pg_validation_info.rb +0 -344
- data/lib/wx/doc/gen/pg/property_grid.rb +0 -740
- data/lib/wx/doc/gen/pg/property_grid_event.rb +0 -184
- data/lib/wx/doc/gen/pg/property_grid_interface.rb +0 -1098
- data/lib/wx/doc/gen/pg/property_grid_manager.rb +0 -415
- data/lib/wx/doc/gen/pg/property_grid_page.rb +0 -354
- data/lib/wx/doc/gen/pg/property_grid_page_state.rb +0 -165
- data/lib/wx/doc/gen/picker_base.rb +0 -152
- data/lib/wx/doc/gen/platform_info.rb +0 -622
- data/lib/wx/doc/gen/popup_window.rb +0 -107
- data/lib/wx/doc/gen/progress_dialog.rb +0 -100
- data/lib/wx/doc/gen/property_sheet_dialog.rb +0 -216
- data/lib/wx/doc/gen/prt/event_list.rb +0 -17
- data/lib/wx/doc/gen/prt/page_setup_dialog.rb +0 -44
- data/lib/wx/doc/gen/prt/post_script_dc.rb +0 -30
- data/lib/wx/doc/gen/prt/preview_frame.rb +0 -78
- data/lib/wx/doc/gen/prt/print_abort_dialog.rb +0 -151
- data/lib/wx/doc/gen/prt/print_data.rb +0 -804
- data/lib/wx/doc/gen/prt/print_dialog.rb +0 -55
- data/lib/wx/doc/gen/prt/printer.rb +0 -518
- data/lib/wx/doc/gen/prt/printer_dc.rb +0 -37
- data/lib/wx/doc/gen/query_layout_info_event.rb +0 -106
- data/lib/wx/doc/gen/radio_box.rb +0 -306
- data/lib/wx/doc/gen/radio_button.rb +0 -159
- data/lib/wx/doc/gen/rbn/event_list.rb +0 -136
- data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +0 -1132
- data/lib/wx/doc/gen/rbn/ribbon_bar.rb +0 -308
- data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +0 -45
- data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +0 -458
- data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +0 -63
- data/lib/wx/doc/gen/rbn/ribbon_control.rb +0 -143
- data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +0 -229
- data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +0 -55
- data/lib/wx/doc/gen/rbn/ribbon_page.rb +0 -174
- data/lib/wx/doc/gen/rbn/ribbon_panel.rb +0 -270
- data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +0 -45
- data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +0 -360
- data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +0 -42
- data/lib/wx/doc/gen/rearrange_ctrl.rb +0 -78
- data/lib/wx/doc/gen/rearrange_list.rb +0 -123
- data/lib/wx/doc/gen/region.rb +0 -380
- data/lib/wx/doc/gen/region_iterator.rb +0 -76
- data/lib/wx/doc/gen/rich_tool_tip.rb +0 -154
- data/lib/wx/doc/gen/rtc/event_list.rb +0 -125
- data/lib/wx/doc/gen/rtc/rich_text_box.rb +0 -445
- data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +0 -1188
- data/lib/wx/doc/gen/rtc/rich_text_buffer_data_object.rb +0 -41
- data/lib/wx/doc/gen/rtc/rich_text_composite_object.rb +0 -538
- data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +0 -2103
- data/lib/wx/doc/gen/rtc/rich_text_event.rb +0 -173
- data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +0 -181
- data/lib/wx/doc/gen/rtc/rich_text_formatting_dialog.rb +0 -319
- data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +0 -193
- data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +0 -102
- data/lib/wx/doc/gen/rtc/rich_text_image.rb +0 -337
- data/lib/wx/doc/gen/rtc/rich_text_object.rb +0 -2922
- data/lib/wx/doc/gen/rtc/rich_text_paragraph_layout_box.rb +0 -1240
- data/lib/wx/doc/gen/rtc/rich_text_printing.rb +0 -258
- data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +0 -344
- data/lib/wx/doc/gen/rtc/rich_text_style_organiser_dialog.rb +0 -227
- data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +0 -59
- data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +0 -169
- data/lib/wx/doc/gen/sash_event.rb +0 -147
- data/lib/wx/doc/gen/sash_layout_window.rb +0 -232
- data/lib/wx/doc/gen/sash_window.rb +0 -171
- data/lib/wx/doc/gen/scaled_dc.rb +0 -10
- data/lib/wx/doc/gen/screen_dc.rb +0 -30
- data/lib/wx/doc/gen/scroll_bar.rb +0 -204
- data/lib/wx/doc/gen/scrolled_canvas.rb +0 -410
- data/lib/wx/doc/gen/scrolled_control.rb +0 -410
- data/lib/wx/doc/gen/scrolled_window.rb +0 -430
- data/lib/wx/doc/gen/search_ctrl.rb +0 -159
- data/lib/wx/doc/gen/secret_store.rb +0 -116
- data/lib/wx/doc/gen/simplebook.rb +0 -110
- data/lib/wx/doc/gen/single_choice_dialog.rb +0 -89
- data/lib/wx/doc/gen/sizer.rb +0 -945
- data/lib/wx/doc/gen/sizer_item.rb +0 -244
- data/lib/wx/doc/gen/slider.rb +0 -342
- data/lib/wx/doc/gen/spin_button.rb +0 -157
- data/lib/wx/doc/gen/spin_ctrl.rb +0 -231
- data/lib/wx/doc/gen/spin_ctrl_double.rb +0 -192
- data/lib/wx/doc/gen/spin_double_event.rb +0 -55
- data/lib/wx/doc/gen/spin_event.rb +0 -51
- data/lib/wx/doc/gen/splash_screen.rb +0 -113
- data/lib/wx/doc/gen/splitter_event.rb +0 -99
- data/lib/wx/doc/gen/splitter_window.rb +0 -498
- data/lib/wx/doc/gen/static_bitmap.rb +0 -256
- data/lib/wx/doc/gen/static_box.rb +0 -180
- data/lib/wx/doc/gen/static_box_sizer.rb +0 -85
- data/lib/wx/doc/gen/static_line.rb +0 -83
- data/lib/wx/doc/gen/static_text.rb +0 -127
- data/lib/wx/doc/gen/status_bar.rb +0 -290
- data/lib/wx/doc/gen/stc/event_list.rb +0 -221
- data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +0 -4474
- data/lib/wx/doc/gen/stc/styled_text_event.rb +0 -8762
- data/lib/wx/doc/gen/std_dialog_button_sizer.rb +0 -129
- data/lib/wx/doc/gen/svg_file_dc.rb +0 -164
- data/lib/wx/doc/gen/system_options.rb +0 -129
- data/lib/wx/doc/gen/system_settings.rb +0 -507
- data/lib/wx/doc/gen/task_bar_icon.rb +0 -127
- data/lib/wx/doc/gen/task_bar_icon_event.rb +0 -88
- data/lib/wx/doc/gen/text_attr.rb +0 -756
- data/lib/wx/doc/gen/text_ctrl.rb +0 -1033
- data/lib/wx/doc/gen/text_entry.rb +0 -441
- data/lib/wx/doc/gen/text_entry_dialog.rb +0 -220
- data/lib/wx/doc/gen/text_validator.rb +0 -245
- data/lib/wx/doc/gen/time_picker_ctrl.rb +0 -128
- data/lib/wx/doc/gen/timer.rb +0 -119
- data/lib/wx/doc/gen/timer_event.rb +0 -68
- data/lib/wx/doc/gen/tip_provider.rb +0 -63
- data/lib/wx/doc/gen/tip_window.rb +0 -51
- data/lib/wx/doc/gen/toggle_button.rb +0 -182
- data/lib/wx/doc/gen/tool_bar.rb +0 -890
- data/lib/wx/doc/gen/tool_tip.rb +0 -86
- data/lib/wx/doc/gen/toolbook.rb +0 -118
- data/lib/wx/doc/gen/top_level_window.rb +0 -497
- data/lib/wx/doc/gen/tree_ctrl.rb +0 -1052
- data/lib/wx/doc/gen/tree_event.rb +0 -127
- data/lib/wx/doc/gen/treebook.rb +0 -180
- data/lib/wx/doc/gen/ui_action_simulator.rb +0 -109
- data/lib/wx/doc/gen/utils.rb +0 -273
- data/lib/wx/doc/gen/v_list_box.rb +0 -272
- data/lib/wx/doc/gen/v_scrolled_canvas.rb +0 -195
- data/lib/wx/doc/gen/v_scrolled_window.rb +0 -191
- data/lib/wx/doc/gen/validator.rb +0 -68
- data/lib/wx/doc/gen/variant.rb +0 -294
- data/lib/wx/doc/gen/window.rb +0 -2917
- data/lib/wx/doc/gen/window_dc.rb +0 -38
- data/lib/wx/doc/gen/window_disabler.rb +0 -30
- data/lib/wx/doc/gen/with_images.rb +0 -84
- data/lib/wx/doc/gen/wizard.rb +0 -257
- data/lib/wx/doc/gen/wizard_event.rb +0 -113
- data/lib/wx/doc/gen/wizard_page.rb +0 -65
- data/lib/wx/doc/gen/wizard_page_simple.rb +0 -88
- data/lib/wx/doc/gen/wrap_sizer.rb +0 -79
- data/lib/wx/doc/gen/xml_node.rb +0 -316
- data/lib/wx/doc/gen/xml_resource.rb +0 -320
- data/lib/wx/grid/events/evt_list.rb +0 -166
- data/lib/wx/html/events/evt_list.rb +0 -27
- data/lib/wx/pg/events/evt_list.rb +0 -73
- data/lib/wx/rbn/events/evt_list.rb +0 -102
- data/lib/wx/rtc/events/evt_list.rb +0 -98
- data/lib/wx/rtc/ext/rich_text_ctrl.rb +0 -24
- data/lib/wx/stc/events/evt_list.rb +0 -178
- data/samples/art/wxruby-512x512.png +0 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# :stopdoc:
|
|
2
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
3
|
+
#
|
|
4
|
+
# This software is released under the MIT license.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
# Shared event handler methods documentation stubs.
|
|
8
|
+
# :startdoc:
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
module Wx
|
|
13
|
+
|
|
14
|
+
# The RT (Ruby|Ractor Threading) module provides the {RT::SharedEvtHandler} and {RT::ThreadEvent}
|
|
15
|
+
# classes which can be used provide thread-(or Ractor-)safe event messaging in wxRuby3.
|
|
16
|
+
module RT
|
|
17
|
+
|
|
18
|
+
# This class provides a threadsafe (Ractor shareable) reference to a {Wx:EvtHandler} providing
|
|
19
|
+
# only 2 methods; {RT::SharedEvtHandler#clone} and {RT::SharedEvtHandler#queue_event}
|
|
20
|
+
class SharedEvtHandler
|
|
21
|
+
|
|
22
|
+
# Returns a cloned instance referencing the same {Wx::EvtHandler}.
|
|
23
|
+
# @return [Wx::RT::SharedEvtHandler]
|
|
24
|
+
def clone; end
|
|
25
|
+
|
|
26
|
+
# Essentially the same functionality as {Wx::EvtHandler#queue_event} except that this method only
|
|
27
|
+
# accepts {Wx::RT::ThreadEvent} or derived instances.
|
|
28
|
+
# @note Note that this event will not maintain any Ruby state, i.e. the actual Ruby instance and/or any instance
|
|
29
|
+
# variables thereof will not be transferred through the event messaging system. Only state managed by the wrapped
|
|
30
|
+
# C\++ event instance will persist.
|
|
31
|
+
# @param [Wx::RT::ThreadEvent] evt event instance to be queued
|
|
32
|
+
# @return [void]
|
|
33
|
+
def queue_event(evt); end
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
class EvtHandler < Wx::Object
|
|
40
|
+
|
|
41
|
+
# Returns a Ractor-safe shareable event handler reference.
|
|
42
|
+
# @see Wx::RT::SharedEvtHandler
|
|
43
|
+
# @see Wx::RT::ThreadEvent
|
|
44
|
+
# @return [Wx::RTT::SharedEvtHandler]
|
|
45
|
+
def make_shared; end
|
|
46
|
+
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# :stopdoc:
|
|
2
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
3
|
+
#
|
|
4
|
+
# This software is released under the MIT license.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
# Shared event handler methods documentation stubs.
|
|
8
|
+
# :startdoc:
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
module Wx
|
|
13
|
+
|
|
14
|
+
module RT
|
|
15
|
+
|
|
16
|
+
class ThreadEvent < Event
|
|
17
|
+
|
|
18
|
+
# Constructor.
|
|
19
|
+
# @param eventType [Integer]
|
|
20
|
+
# @param id [Integer]
|
|
21
|
+
# @return [Wx::RT::ThreadEvent]
|
|
22
|
+
def initialize(eventType=Wx::EVT_THREAD, id=Wx::StandardID::ID_ANY) end
|
|
23
|
+
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
data/lib/wx/doc/stream.rb
CHANGED
|
@@ -17,12 +17,16 @@ module Wx
|
|
|
17
17
|
# Reads bytes from stream and writes these to output stream until eof or error.
|
|
18
18
|
# @param [IO,Wx::OutputStream] output output stream to write to
|
|
19
19
|
# @return [self]
|
|
20
|
-
def read(*
|
|
20
|
+
def read(*); end
|
|
21
21
|
|
|
22
|
+
# @overload read_all(size)
|
|
22
23
|
# Reads size bytes from stream (until eof or error).
|
|
23
24
|
# @param [Integer] size number of bytes to read
|
|
24
25
|
# @return [String,nil] string with bytes read (nil if none read)
|
|
25
|
-
|
|
26
|
+
# @overload read_all()
|
|
27
|
+
# Reads all bytes from stream (until eof or error).
|
|
28
|
+
# @return [String,nil] string with bytes read (nil if none read)
|
|
29
|
+
def read_all(*); end
|
|
26
30
|
|
|
27
31
|
end
|
|
28
32
|
|
|
@@ -36,7 +40,7 @@ module Wx
|
|
|
36
40
|
# Write bytes read from input stream (until eof or error)
|
|
37
41
|
# @param [IO,Wx::InputStream] input input stream to read from
|
|
38
42
|
# @return [self]
|
|
39
|
-
def write(*
|
|
43
|
+
def write(*); end
|
|
40
44
|
|
|
41
45
|
# Writes bytes from buffer to stream.
|
|
42
46
|
# @param [String] buffer string with bytes to write
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# :stopdoc:
|
|
2
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
3
|
+
#
|
|
4
|
+
# This software is released under the MIT license.
|
|
5
|
+
# :startdoc:
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
module Wx
|
|
9
|
+
|
|
10
|
+
module WEB
|
|
11
|
+
|
|
12
|
+
class WebView < Wx::Control
|
|
13
|
+
|
|
14
|
+
# Sets emulation level.
|
|
15
|
+
#
|
|
16
|
+
# This function is useful to change the emulation level of the system browser control used for {Wx::WebView}
|
|
17
|
+
# implementation under MSW, rather than using the currently default, IE11-compatible, level (with wxRuby3).
|
|
18
|
+
#
|
|
19
|
+
# Please notice that this function works by modifying the per-user part of MSW registry, which has several
|
|
20
|
+
# implications: first, it is sufficient to call it only once (per user) as the changes done by it are persistent
|
|
21
|
+
# and, second, if you do not want them to be persistent, you need to call it with {Wx::WEB::WEBVIEWIE_EMU_DEFAULT}
|
|
22
|
+
# argument explicitly.
|
|
23
|
+
#
|
|
24
|
+
# In particular, this function should be called to allow {Wx::WEB::WebView#run_script} to work for JavaScript code
|
|
25
|
+
# returning arbitrary objects, which is not supported at the default emulation level.
|
|
26
|
+
#
|
|
27
|
+
# If set to a level higher than installed version, the highest available level will be used instead.
|
|
28
|
+
# {Wx::WEB::WEBVIEWIE_EMU_IE11} is recommended for best performance and experience.
|
|
29
|
+
#
|
|
30
|
+
# This function is MSW-specific and doesn't exist under other platforms.
|
|
31
|
+
#
|
|
32
|
+
# @param [Wx::WEB::WebViewIE_EmulationLevel] level
|
|
33
|
+
# @return [Boolean] true on success, false on failure (a warning message is also logged in the latter case).
|
|
34
|
+
# @wxrb_require WXMSW
|
|
35
|
+
def self.msw_set_ie_emulation_level(level=Wx::WEB::WEBVIEWIE_EMU_IE11); end
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end
|
data/lib/wx/helpers.rb
CHANGED
data/lib/wx/keyword_defs.rb
CHANGED
|
@@ -240,6 +240,17 @@ Wx::define_keyword_ctors(Wx::TextEntryDialog) do
|
|
|
240
240
|
wx_ctor_params :pos
|
|
241
241
|
end
|
|
242
242
|
|
|
243
|
+
# Dialog to get a number from the user
|
|
244
|
+
Wx::define_keyword_ctors(Wx::NumberEntryDialog) do
|
|
245
|
+
wx_ctor_params :message => ''
|
|
246
|
+
wx_ctor_params :prompt => 'Number'
|
|
247
|
+
wx_ctor_params :caption => 'Please enter a number'
|
|
248
|
+
wx_ctor_params :value => 0
|
|
249
|
+
wx_ctor_params :min => 0
|
|
250
|
+
wx_ctor_params :max => 0
|
|
251
|
+
wx_ctor_params :pos
|
|
252
|
+
end
|
|
253
|
+
|
|
243
254
|
# wxPasswordEntryDialog Dialog to get a password from the user
|
|
244
255
|
Wx::define_keyword_ctors(Wx::PasswordEntryDialog) do
|
|
245
256
|
wx_ctor_params :message => ''
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
#
|
|
5
|
+
|
|
6
|
+
module Wx
|
|
7
|
+
|
|
8
|
+
Wx::EvtHandler.register_event_type Wx::EvtHandler::EventType[
|
|
9
|
+
'evt_thread', 1,
|
|
10
|
+
Wx::RT::EVT_THREAD,
|
|
11
|
+
Wx::RT::ThreadEvent
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
end
|
data/lib/wx/rt.rb
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
5
|
+
# Wx::RT sub package loader for wxRuby3
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
require 'wx/core'
|
|
9
|
+
|
|
10
|
+
require 'wxruby_rt'
|
|
11
|
+
|
|
12
|
+
require 'wx/rt/require'
|
|
13
|
+
|
|
14
|
+
::Wx.include(WxRubyStyleAccessors)
|
|
15
|
+
|
|
16
|
+
::Wx.include(::Wx::RT) if defined?(::WX_GLOBAL_CONSTANTS) && ::WX_GLOBAL_CONSTANTS
|
data/lib/wx/version.rb
CHANGED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
#
|
|
5
|
+
# Some parts are
|
|
6
|
+
# Copyright 2004-2007, wxRuby development team
|
|
7
|
+
# released under the MIT-like wxRuby2 license
|
|
8
|
+
|
|
9
|
+
module Wx
|
|
10
|
+
|
|
11
|
+
module WEB
|
|
12
|
+
|
|
13
|
+
WEBVIEW_DEFAULT_URL_STR = 'about:blank'
|
|
14
|
+
WEBVIEW_BACKEND_WEB_KIT = 'wxWebViewWebKit'
|
|
15
|
+
WEBVIEW_BACKEND_CHROMIUM = 'wxWebViewChromium'
|
|
16
|
+
WEBVIEW_BACKEND_EDGE = 'wxWebViewEdge'
|
|
17
|
+
WEBVIEW_BACKEND_IE = 'wxWebViewIE'
|
|
18
|
+
WEBVIEW_BACKEND_DEFAULT = case Wx::PLATFORM
|
|
19
|
+
when 'WXOSX'
|
|
20
|
+
if Wx.has_feature?(:USE_WEBVIEW_WEBKIT)
|
|
21
|
+
WEBVIEW_BACKEND_WEB_KIT
|
|
22
|
+
elsif Wx.has_feature?(:USE_WEBVIEW_CHROMIUM)
|
|
23
|
+
WEBVIEW_BACKEND_CHROMIUM
|
|
24
|
+
else
|
|
25
|
+
''
|
|
26
|
+
end
|
|
27
|
+
when 'WXMSW'
|
|
28
|
+
if Wx.has_feature?(:USE_WEBVIEW_EDGE) || Wx.has_feature?(:USE_WEBVIEW_EDGE_STATIC)
|
|
29
|
+
WEBVIEW_BACKEND_EDGE
|
|
30
|
+
elsif Wx.has_feature?(:USE_WEBVIEW_CHROMIUM)
|
|
31
|
+
WEBVIEW_BACKEND_CHROMIUM
|
|
32
|
+
elsif Wx.has_feature?(:USE_WEBVIEW_IE)
|
|
33
|
+
WEBVIEW_BACKEND_IE
|
|
34
|
+
else
|
|
35
|
+
''
|
|
36
|
+
end
|
|
37
|
+
when 'WXGTK'
|
|
38
|
+
if Wx.has_feature?(:USE_WEBVIEW_WEBKIT2) || Wx.has_feature?(:USE_WEBVIEW_WEBKIT)
|
|
39
|
+
WEBVIEW_BACKEND_WEB_KIT
|
|
40
|
+
elsif Wx.has_feature?(:USE_WEBVIEW_CHROMIUM)
|
|
41
|
+
WEBVIEW_BACKEND_CHROMIUM
|
|
42
|
+
else
|
|
43
|
+
''
|
|
44
|
+
end
|
|
45
|
+
else
|
|
46
|
+
''
|
|
47
|
+
end
|
|
48
|
+
WEBVIEW_NAME_STR = 'WebView'
|
|
49
|
+
|
|
50
|
+
class WebView < Wx::Control
|
|
51
|
+
|
|
52
|
+
class << self
|
|
53
|
+
# Redefine #new method to support positional and named
|
|
54
|
+
# arguments
|
|
55
|
+
WEBVIEW_NEW_PARAMS = [Wx::Parameter[:id, Wx::StandardID::ID_ANY],
|
|
56
|
+
Wx::Parameter[:url, WEBVIEW_DEFAULT_URL_STR],
|
|
57
|
+
Wx::Parameter[:pos, Wx::DEFAULT_POSITION],
|
|
58
|
+
Wx::Parameter[:size, Wx::DEFAULT_SIZE],
|
|
59
|
+
Wx::Parameter[:backend, WEBVIEW_BACKEND_DEFAULT],
|
|
60
|
+
Wx::Parameter[:style, 0],
|
|
61
|
+
Wx::Parameter[:name, WEBVIEW_NAME_STR]]
|
|
62
|
+
|
|
63
|
+
wx_new = instance_method(:new)
|
|
64
|
+
wx_redefine_method :new do |*args, **kwargs|
|
|
65
|
+
|
|
66
|
+
if args.size == 1 && args.first.is_a?(::String)
|
|
67
|
+
wx_new.bind(self).call(*args) # no need for keyword scanning
|
|
68
|
+
elsif ::Wx::WXWIDGETS_VERSION >= '3.3.0' && args.size == 1 && args.first.is_a?(Wx::WEB::WebViewConfiguration)
|
|
69
|
+
wx_new.bind(self).call(*args) # no need for keyword scanning
|
|
70
|
+
else
|
|
71
|
+
full_args = []
|
|
72
|
+
|
|
73
|
+
full_args << args.shift # get parent argument
|
|
74
|
+
|
|
75
|
+
begin
|
|
76
|
+
args = Wx::args_as_list(WEBVIEW_NEW_PARAMS, *args, **kwargs)
|
|
77
|
+
rescue => err
|
|
78
|
+
err.set_backtrace(caller)
|
|
79
|
+
Kernel.raise err
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# update the full arguments list with the optional arguments
|
|
83
|
+
full_args.concat(args)
|
|
84
|
+
|
|
85
|
+
# Call original add with full args
|
|
86
|
+
wx_new.bind(self).call(*full_args)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# take care of GC protection for registered handlers
|
|
94
|
+
wx_register_handler = instance_method :register_handler
|
|
95
|
+
define_method(:register_handler) do |handler|
|
|
96
|
+
(@handlers ||= []) << handler
|
|
97
|
+
wx_register_handler.bind(self).call(handler)
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
if Wx::PLATFORM == 'WXMSW' && Wx.has_feature?(:USE_WEBVIEW_IE)
|
|
102
|
+
Wx::WEB::WebView.msw_set_ie_emulation_level # set emulation level to highest possible by default
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
end
|
|
106
|
+
end
|
data/lib/wx/web.rb
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
5
|
+
# Wx::WEB sub package loader for wxRuby3
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
require 'wx/core'
|
|
9
|
+
|
|
10
|
+
require 'wxruby_web'
|
|
11
|
+
|
|
12
|
+
require_relative './web/require'
|
|
13
|
+
|
|
14
|
+
::Wx.include(WxRubyStyleAccessors)
|
|
15
|
+
|
|
16
|
+
::Wx.include(::Wx::WEB) if defined?(::WX_GLOBAL_CONSTANTS) && ::WX_GLOBAL_CONSTANTS
|
|
17
|
+
::Wx::WEB.include((defined?(::WX_GLOBAL_CONSTANTS) && ::WX_GLOBAL_CONSTANTS) ? WxGlobalConstants : WxEnumConstants)
|
data/lib/wx/wxruby/cmd/setup.rb
CHANGED
|
@@ -42,6 +42,16 @@ module WxRuby
|
|
|
42
42
|
raise "Invalid version #{v} specified. Version should be '<major>.<minor>.<release>'." unless v =~ /^\d+\.\d+\.\d+$/
|
|
43
43
|
Setup.options['wxversion'] = v
|
|
44
44
|
end
|
|
45
|
+
opts.on('--without-webview',
|
|
46
|
+
'disable including wxWidgets WebView library (only valid with --with-wxwin)') { |v|
|
|
47
|
+
Setup.options['with-webview'] = false
|
|
48
|
+
}
|
|
49
|
+
opts.on('--with-webview[=backend]',
|
|
50
|
+
'include wxWidgets WebView library (only valid with --with-wxwin)',
|
|
51
|
+
'backend = (comma separated list of) backend(s) to include',
|
|
52
|
+
'without backend(s) specified only the default backend for the platform is included') { |v|
|
|
53
|
+
Setup.options['with-webview'] = v ? v : true
|
|
54
|
+
}
|
|
45
55
|
opts.on('--swig=path',
|
|
46
56
|
"the path to swig executable [swig]") {|v| Setup.options['swig'] = v}
|
|
47
57
|
opts.on('--doxygen=path',
|
|
@@ -81,6 +91,11 @@ module WxRuby
|
|
|
81
91
|
cfg_args << "--wxxml=#{Setup.options['wxxml']}" if Setup.options['wxxml']
|
|
82
92
|
cfg_args << '--with-wxwin' if Setup.options['with-wxwin']
|
|
83
93
|
cfg_args << '--with-wxhead' if Setup.options['with-wxhead']
|
|
94
|
+
if Setup.options['with-webview'] == false
|
|
95
|
+
cfg_args << '--without-webview'
|
|
96
|
+
elsif Setup.options['with-webview']
|
|
97
|
+
cfg_args << "--with-webview#{Setup.options['with-webview'] == true ? '' : "=#{Setup.options['with-webview']}"}"
|
|
98
|
+
end
|
|
84
99
|
cfg_args << "--wxversion=#{Setup.options['wxversion']}" if Setup.options['wxversion']
|
|
85
100
|
cfg_args << "--swig=#{Setup.options['swig']}" if Setup.options['swig']
|
|
86
101
|
cfg_args << "--doxygen=#{Setup.options['doxygen']}" if Setup.options['doxygen']
|
data/lib/wx/wxruby/cmd/test.rb
CHANGED
|
@@ -38,7 +38,8 @@ module WxRuby
|
|
|
38
38
|
exit(0)
|
|
39
39
|
end
|
|
40
40
|
opts.on('--exclude=TEST',
|
|
41
|
-
"
|
|
41
|
+
"Exclude the specified test from running") {|v| Test.options[:excludes] << v }
|
|
42
|
+
opts.on('--keep-going', 'Do NOT stop on error.') { Test.options[:keep_going] = true }
|
|
42
43
|
opts.on('-h', '--help',
|
|
43
44
|
'Show this message.') do |v|
|
|
44
45
|
puts opts
|
|
@@ -66,9 +67,14 @@ module WxRuby
|
|
|
66
67
|
end
|
|
67
68
|
end
|
|
68
69
|
tests.each do |test|
|
|
70
|
+
rc = true
|
|
69
71
|
unless Test.options[:excludes].include?(File.basename(test, '.*'))
|
|
70
|
-
|
|
72
|
+
$stdout.puts
|
|
73
|
+
$stdout.puts "Running #{File.basename(test, '.*')} ..."
|
|
74
|
+
rc &&= system(RUBY, test)
|
|
75
|
+
exit(1) unless rc || Test.options[:keep_going]
|
|
71
76
|
end
|
|
77
|
+
exit(1) unless rc
|
|
72
78
|
end
|
|
73
79
|
end
|
|
74
80
|
end
|
data/lib/wx.rb
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
WX_GLOBAL_CONSTANTS=true unless defined? WX_GLOBAL_CONSTANTS
|
|
8
8
|
|
|
9
9
|
require 'wx/core'
|
|
10
|
+
require 'wx/rt'
|
|
10
11
|
require 'wx/prt' if Wx.has_feature?(:USE_PRINTING_ARCHITECTURE)
|
|
11
12
|
require 'wx/rtc' if Wx.has_feature?(:USE_RICHTEXT)
|
|
12
13
|
require 'wx/stc' if Wx.has_feature?(:USE_STC)
|
|
@@ -15,3 +16,4 @@ require 'wx/html' if Wx.has_feature?(:USE_HTML)
|
|
|
15
16
|
require 'wx/aui' if Wx.has_feature?(:USE_AUI)
|
|
16
17
|
require 'wx/pg' if Wx.has_feature?(:USE_PROPGRID)
|
|
17
18
|
require 'wx/rbn' if Wx.has_feature?(:USE_RIBBON)
|
|
19
|
+
require 'wx/web' if Wx.has_feature?(:USE_WEBVIEW)
|
data/rakelib/configure.rb
CHANGED
|
@@ -91,6 +91,17 @@ module WXRuby3
|
|
|
91
91
|
CONFIG['wxversion'] = v
|
|
92
92
|
CONFIG['with-wxhead'] = false
|
|
93
93
|
}
|
|
94
|
+
opts.on('--without-webview',
|
|
95
|
+
'disable including wxWidgets WebView library (only valid with --with-wxwin)') { |v|
|
|
96
|
+
CONFIG['with-webview'] = false
|
|
97
|
+
}
|
|
98
|
+
opts.on('--with-webview[=backend]',
|
|
99
|
+
'include wxWidgets WebView library (only valid with --with-wxwin)',
|
|
100
|
+
'backend = (comma separated list of) backend(s) to include',
|
|
101
|
+
'without backend(s) specified only the default backend for the platform is included') { |v|
|
|
102
|
+
val = v ? v.split(',') : true
|
|
103
|
+
CONFIG['with-webview'] = val
|
|
104
|
+
}
|
|
94
105
|
opts.on('--with-debug',
|
|
95
106
|
"build with debugger support [#{instance.get_config('with-debug')}]") {|v| CONFIG['with-debug'] = true}
|
|
96
107
|
opts.on('--swig=path',
|
|
@@ -161,6 +172,19 @@ module WXRuby3
|
|
|
161
172
|
# else we're assumed to build wxWidgets ourselves so cannot test anything yet
|
|
162
173
|
end
|
|
163
174
|
|
|
175
|
+
# embedded wxWidgets?
|
|
176
|
+
if get_config('with-wxwin') && get_config('with-webview').is_a?(Array)
|
|
177
|
+
# check validity of backends
|
|
178
|
+
if (v = get_config('with-webview')).is_a?(Array)
|
|
179
|
+
backends = WX_WEBVIEW_BACKENDS[instance.platform]
|
|
180
|
+
err = v.reject { |b| backends.include?(b) }
|
|
181
|
+
unless err.empty?
|
|
182
|
+
STDERR.puts "ERROR: '#{err.join("' and '")}' #{err.size>1 ? 'are not valid WebView backends' : 'is not a valid WebView backend'} for this platform."
|
|
183
|
+
exit(1)
|
|
184
|
+
end
|
|
185
|
+
end
|
|
186
|
+
end
|
|
187
|
+
|
|
164
188
|
if get_cfg_string('wxxml').empty? && !get_cfg_string('wxwin').empty?
|
|
165
189
|
# in case of a custom wxWidgets build and no explicit xml path check if the custom build holds this
|
|
166
190
|
xml_path = File.join(get_cfg_string('wxwin'), 'docs', 'doxygen', 'out', 'xml')
|
data/rakelib/gem.rb
CHANGED
|
@@ -74,7 +74,8 @@ module WXRuby3
|
|
|
74
74
|
manifest.include 'lib/wx/**/events/*.rb', 'lib/wx/**/ext/*.rb', 'lib/wx/core/font/*.rb'
|
|
75
75
|
manifest.include "lib/wx/doc/gen/**/*.rb"
|
|
76
76
|
if WXRuby3.config.get_config('with-wxwin')
|
|
77
|
-
manifest.include "ext/*.#{WXRuby3.config.dll_mask}"
|
|
77
|
+
manifest.include "ext/lib/*.#{WXRuby3.config.dll_mask}"
|
|
78
|
+
manifest.include "ext/lib/#{WXRuby3.config.wx_plugin_path}/**/*.#{WXRuby3.config.dll_mask}" # possible plugin libs
|
|
78
79
|
end
|
|
79
80
|
manifest
|
|
80
81
|
end
|
|
@@ -299,7 +300,7 @@ module WXRuby3
|
|
|
299
300
|
registry.each do |entry|
|
|
300
301
|
path, mode, size, symlink = entry
|
|
301
302
|
if symlink
|
|
302
|
-
FileUtils.mkdir_p(File.dirname(
|
|
303
|
+
FileUtils.mkdir_p(File.dirname(path))
|
|
303
304
|
FileUtils.ln_s(symlink, path)
|
|
304
305
|
else
|
|
305
306
|
FileUtils.mkdir_p(File.dirname(path))
|
data/rakelib/install.rb
CHANGED
|
@@ -24,6 +24,7 @@ module WXRuby3
|
|
|
24
24
|
def wxwin_shlibs
|
|
25
25
|
unless @wxwin_shlibs
|
|
26
26
|
@wxwin_shlibs = Rake::FileList.new
|
|
27
|
+
@wxwin_plugin_libs = {}
|
|
27
28
|
# include wxWidgets shared libraries we linked with
|
|
28
29
|
WXRuby3.config.wx_libs.select { |s| s.start_with?('-L') }.each do |libdir|
|
|
29
30
|
libdir = libdir[2..libdir.size]
|
|
@@ -49,46 +50,72 @@ module WXRuby3
|
|
|
49
50
|
end
|
|
50
51
|
end
|
|
51
52
|
end
|
|
53
|
+
if WXRuby3.config.linux? && WXRuby3.config.wx_port == :wxgtk && WXRuby3.config.features_set?('USE_WEBVIEW')
|
|
54
|
+
# look for 'webkit_ext*.so' or 'webkit2_ext*.so' in standard plugin subdir 'wx/<wx version>/web-extensions'
|
|
55
|
+
plugin_sub_dir = File.join(WXRuby3.config.wx_plugin_path, 'web-extensions')
|
|
56
|
+
Dir.glob(File.join(libdir, plugin_sub_dir, "webkit?_ext*.#{WXRuby3.config.dll_mask}")).each do |lib|
|
|
57
|
+
@wxwin_plugin_libs[File.join(plugin_sub_dir, File.basename(lib))] = lib
|
|
58
|
+
end
|
|
59
|
+
end
|
|
52
60
|
end
|
|
53
61
|
@wxwin_shlibs = ::Set.new(@wxwin_shlibs.to_a)
|
|
54
62
|
end
|
|
55
63
|
@wxwin_shlibs
|
|
56
64
|
end
|
|
57
65
|
|
|
66
|
+
def wxwin_plugin_libs
|
|
67
|
+
@wxwin_plugin_libs || {}
|
|
68
|
+
end
|
|
69
|
+
|
|
58
70
|
def install_wxwin_shlibs
|
|
59
71
|
if WXRuby3.config.get_config('with-wxwin')
|
|
60
72
|
$stdout.print "Installing wxRuby3 extensions..." if WXRuby3.config.run_silent?
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
73
|
+
begin
|
|
74
|
+
# make sure directory exists
|
|
75
|
+
FileUtils.mkdir_p(File.join('ext', 'lib'))
|
|
76
|
+
# prepare required wxWidgets shared libs
|
|
77
|
+
wxwin_inshlibs = []
|
|
78
|
+
WXRuby3::Install.wxwin_shlibs.each do |shlib|
|
|
79
|
+
if File.symlink?(shlib)
|
|
80
|
+
src_shlib = shlib
|
|
81
|
+
src_shlib = File.join(File.dirname(shlib), File.basename(File.readlink(src_shlib))) while File.symlink?(src_shlib)
|
|
82
|
+
FileUtils.ln_s(File.join('.', File.basename(src_shlib)), File.join('ext', 'lib', File.basename(shlib)))
|
|
83
|
+
else
|
|
84
|
+
FileUtils.cp(shlib, inshlib = File.join('ext', 'lib', File.basename(shlib)))
|
|
85
|
+
unless WXRuby3.config.update_shlib_loadpaths(inshlib)
|
|
86
|
+
# cleanup and exit
|
|
87
|
+
remove_wxwin_shlibs
|
|
88
|
+
exit(1)
|
|
89
|
+
end
|
|
90
|
+
wxwin_inshlibs << File.expand_path(inshlib)
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
WXRuby3::Install.wxwin_plugin_libs.each do |lib, lib_path|
|
|
94
|
+
FileUtils.mkdir_p(File.join('ext', 'lib', File.dirname(lib)))
|
|
95
|
+
FileUtils.cp(lib_path, inshlib = File.join('ext', 'lib', lib))
|
|
96
|
+
end
|
|
97
|
+
if WXRuby3.config.windows? && WXRuby3.config.wx_port == :wxmsw && WXRuby3.config.features_set?('USE_WEBVIEW_EDGE')
|
|
98
|
+
# copy the WebView2 loader dll that should be installed
|
|
99
|
+
FileUtils.cp(File.join('ext', 'wxWidgets', WXRuby3::Config.instance.class::WEBVIEW2_LOADER), File.join('ext', 'lib'))
|
|
100
|
+
end
|
|
101
|
+
# prepare wxRuby shared libs
|
|
102
|
+
Dir["lib/*.#{WXRuby3.config.dll_mask}"].each do |shlib|
|
|
103
|
+
unless WXRuby3.config.update_shlib_loadpaths(shlib) && WXRuby3.config.update_shlib_ruby_libpath(shlib)
|
|
71
104
|
# cleanup and exit
|
|
72
|
-
|
|
105
|
+
remove_wxwin_shlibs
|
|
73
106
|
exit(1)
|
|
74
107
|
end
|
|
75
|
-
wxwin_inshlibs << File.expand_path(inshlib)
|
|
76
|
-
end
|
|
77
|
-
end
|
|
78
|
-
# prepare wxRuby shared libs
|
|
79
|
-
Dir["lib/*.#{WXRuby3.config.dll_mask}"].each do |shlib|
|
|
80
|
-
unless WXRuby3.config.update_shlib_loadpaths(shlib) && WXRuby3.config.update_shlib_ruby_libpath(shlib)
|
|
81
|
-
# cleanup and exit
|
|
82
|
-
FileUtils.rm_f(Dir["ext/*.#{WXRuby3.config.dll_mask}"])
|
|
83
|
-
exit(1)
|
|
84
108
|
end
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
109
|
+
(wxwin_inshlibs + Dir["lib/*.#{WXRuby3.config.dll_mask}"]).each do |shlib|
|
|
110
|
+
unless WXRuby3.config.update_shlib_wxwin_libpaths(shlib, WXRuby3::Install.wxwin_shlibs)
|
|
111
|
+
# cleanup and exit
|
|
112
|
+
remove_wxwin_shlibs
|
|
113
|
+
exit(1)
|
|
114
|
+
end
|
|
91
115
|
end
|
|
116
|
+
rescue
|
|
117
|
+
remove_wxwin_shlibs
|
|
118
|
+
raise
|
|
92
119
|
end
|
|
93
120
|
$stdout.puts 'done!' if WXRuby3.config.run_silent?
|
|
94
121
|
end
|
|
@@ -96,7 +123,7 @@ module WXRuby3
|
|
|
96
123
|
|
|
97
124
|
def remove_wxwin_shlibs
|
|
98
125
|
if WXRuby3.config.get_config('with-wxwin')
|
|
99
|
-
|
|
126
|
+
FileUtils.rm_rf(File.join('ext', 'lib'))
|
|
100
127
|
end
|
|
101
128
|
end
|
|
102
129
|
|
|
@@ -194,13 +194,15 @@ module WXRuby3
|
|
|
194
194
|
if WXRuby3.config.sysinfo.os.release >= '15' && (wxw_ver.nil? || wxw_ver <= '3.2.6')
|
|
195
195
|
# circumvent compilation problems on MacOS 15 or higher with older wxWidgets releases
|
|
196
196
|
bash("./configure " +
|
|
197
|
-
"--disable-optimise --disable-sys-libs --without-liblzma --without-regex "
|
|
198
|
-
"--prefix=`pwd`/install --disable-tests --without-subdirs --disable-debug_info "
|
|
197
|
+
"--disable-optimise --disable-sys-libs --without-liblzma --without-regex " \
|
|
198
|
+
"--prefix=`pwd`/install --disable-tests --without-subdirs --disable-debug_info " \
|
|
199
|
+
"#{wx_with_webview? ? '--enable-webview' : '--disable-webview'} " \
|
|
199
200
|
"CFLAGS=\"-Wno-unused-but-set-variable\"")
|
|
200
201
|
else
|
|
201
|
-
bash("./configure --with-macosx-version-min=#{WXRuby3.config.sysinfo.os.release}.0 "
|
|
202
|
-
"--disable-optimise --disable-sys-libs --without-liblzma --without-regex "
|
|
203
|
-
"--prefix=`pwd`/install --disable-tests --without-subdirs --disable-debug_info "
|
|
202
|
+
bash("./configure --with-macosx-version-min=#{WXRuby3.config.sysinfo.os.release}.0 " \
|
|
203
|
+
"--disable-optimise --disable-sys-libs --without-liblzma --without-regex " \
|
|
204
|
+
"--prefix=`pwd`/install --disable-tests --without-subdirs --disable-debug_info " \
|
|
205
|
+
"#{wx_with_webview? ? '--enable-webview' : '--disable-webview'} " \
|
|
204
206
|
"CFLAGS=\"-Wno-unused-but-set-variable\"")
|
|
205
207
|
end
|
|
206
208
|
end
|