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
|
@@ -38,7 +38,7 @@ module WXRuby3
|
|
|
38
38
|
}
|
|
39
39
|
return rc;
|
|
40
40
|
}
|
|
41
|
-
|
|
41
|
+
__HEREDOC
|
|
42
42
|
# not relevant anymore
|
|
43
43
|
spec.ignore 'wxScreenDC::StartDrawingOnTop',
|
|
44
44
|
'wxScreenDC::EndDrawingOnTop',
|
|
@@ -82,14 +82,14 @@ module WXRuby3
|
|
|
82
82
|
return Qfalse;
|
|
83
83
|
#endif
|
|
84
84
|
}
|
|
85
|
-
|
|
85
|
+
__HEREDOC
|
|
86
86
|
spec.add_extend_code 'wxPaintDC', <<~__HEREDOC
|
|
87
87
|
#include "wx/dcbuffer.h"
|
|
88
88
|
static VALUE has_native_double_buffer()
|
|
89
89
|
{
|
|
90
90
|
return do_check_native_double_buffer();
|
|
91
91
|
}
|
|
92
|
-
|
|
92
|
+
__HEREDOC
|
|
93
93
|
when 'wxMemoryDC'
|
|
94
94
|
spec.items << 'wxBufferedDC' << 'wxBufferedPaintDC'
|
|
95
95
|
spec.override_inheritance_chain('wxMemoryDC', ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version_check('3.3.0') >= 0
|
|
@@ -249,6 +249,9 @@ module WXRuby3
|
|
|
249
249
|
when 'wxSVGFileDC'
|
|
250
250
|
spec.override_inheritance_chain('wxSVGFileDC', ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version_check('3.3.0') >= 0
|
|
251
251
|
spec.items.concat %w[wxSVGBitmapHandler wxSVGBitmapFileHandler wxSVGBitmapEmbedHandler]
|
|
252
|
+
if Config.instance.wx_version_check('3.3.2') > 0
|
|
253
|
+
spec.items.concat %w[wxSVGAttributes]
|
|
254
|
+
end
|
|
252
255
|
spec.make_abstract 'wxSVGFileDC'
|
|
253
256
|
spec.ignore 'wxSVGFileDC::wxSVGFileDC'
|
|
254
257
|
# like all DC this should best always be a temporary stack object
|
|
@@ -284,6 +287,12 @@ module WXRuby3
|
|
|
284
287
|
'wxSVGFileDC::EndDoc',
|
|
285
288
|
'wxSVGFileDC::StartPage',
|
|
286
289
|
'wxSVGFileDC::EndPage'
|
|
290
|
+
if Config.instance.wx_version_check('3.3.2') > 0
|
|
291
|
+
# simplify/optimize mapping for wxSVGAttributes return values
|
|
292
|
+
spec.map 'wxSVGAttributes&' => 'Wx::SVGAttributes' do
|
|
293
|
+
map_out code: '$result = self; (void)$1;' # simply return the 'self' argument
|
|
294
|
+
end
|
|
295
|
+
end
|
|
287
296
|
when 'wxGCDC'
|
|
288
297
|
spec.override_inheritance_chain('wxGCDC', ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version_check('3.3.0') >= 0
|
|
289
298
|
spec.make_abstract 'wxGCDC'
|
|
@@ -311,7 +320,7 @@ module WXRuby3
|
|
|
311
320
|
}
|
|
312
321
|
return rc;
|
|
313
322
|
}
|
|
314
|
-
|
|
323
|
+
__HEREDOC
|
|
315
324
|
end
|
|
316
325
|
spec.add_extend_code 'wxGCDC', <<~__HEREDOC
|
|
317
326
|
static VALUE draw_on()
|
|
@@ -386,7 +395,7 @@ module WXRuby3
|
|
|
386
395
|
}
|
|
387
396
|
return rc;
|
|
388
397
|
}
|
|
389
|
-
|
|
398
|
+
__HEREDOC
|
|
390
399
|
spec.disown 'wxGraphicsContext *gc'
|
|
391
400
|
spec.ignore 'wxGCDC::wxGCDC(const wxEnhMetaFileDC &)'
|
|
392
401
|
when 'wxScaledDC'
|
|
@@ -422,7 +431,7 @@ module WXRuby3
|
|
|
422
431
|
return rc;
|
|
423
432
|
}
|
|
424
433
|
};
|
|
425
|
-
|
|
434
|
+
__HEREDOC
|
|
426
435
|
spec.swig_import %w[ext/wxruby3/swig/classes/include/wxObject.h
|
|
427
436
|
ext/wxruby3/swig/classes/include/wxDC.h]
|
|
428
437
|
spec.add_interface_code <<~__HEREDOC
|
|
@@ -433,7 +442,7 @@ module WXRuby3
|
|
|
433
442
|
protected:
|
|
434
443
|
wxScaledDC(wxDC& target, double scale);
|
|
435
444
|
};
|
|
436
|
-
|
|
445
|
+
__HEREDOC
|
|
437
446
|
when 'wxPrinterDC'
|
|
438
447
|
spec.override_inheritance_chain('wxPrinterDC', ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject']) if Config.instance.wx_version_check('3.3.0') >= 0
|
|
439
448
|
spec.make_abstract 'wxPrinterDC'
|
|
@@ -513,41 +522,41 @@ module WXRuby3
|
|
|
513
522
|
}
|
|
514
523
|
return rc;
|
|
515
524
|
}
|
|
516
|
-
|
|
525
|
+
__HEREDOC
|
|
517
526
|
if Config.instance.wx_version_check('3.3.0') >= 0
|
|
518
527
|
spec.items << 'wxOverlayDC'
|
|
519
528
|
spec.override_inheritance_chain('wxOverlayDC', ['wxDC', { 'wxReadOnlyDC' => 'wxDC' }, 'wxObject'])
|
|
520
529
|
spec.make_abstract 'wxOverlayDC'
|
|
521
530
|
spec.ignore 'wxOverlayDC::wxOverlayDC'
|
|
522
531
|
spec.add_extend_code 'wxOverlayDC', <<~__HEREDOC
|
|
523
|
-
|
|
524
|
-
{
|
|
525
|
-
if (!wxRuby_IsAppRunning())
|
|
526
|
-
rb_raise(rb_eRuntimeError, "A running Wx::App is required.");
|
|
527
|
-
VALUE rc = Qnil;
|
|
528
|
-
if (rb_block_given_p ())
|
|
532
|
+
static VALUE draw_on(wxOverlay &overlay, wxWindow *win)
|
|
529
533
|
{
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
VALUE
|
|
533
|
-
|
|
534
|
+
if (!wxRuby_IsAppRunning())
|
|
535
|
+
rb_raise(rb_eRuntimeError, "A running Wx::App is required.");
|
|
536
|
+
VALUE rc = Qnil;
|
|
537
|
+
if (rb_block_given_p ())
|
|
538
|
+
{
|
|
539
|
+
wxOverlayDC ovl_dc(overlay, win);
|
|
540
|
+
wxOverlayDC* ovl_dc_ptr = &ovl_dc;
|
|
541
|
+
VALUE rb_dc = SWIG_NewPointerObj(SWIG_as_voidptr(ovl_dc_ptr), SWIGTYPE_p_wxOverlayDC, 0);
|
|
542
|
+
rc = rb_yield(rb_dc);
|
|
543
|
+
}
|
|
544
|
+
return rc;
|
|
534
545
|
}
|
|
535
|
-
|
|
536
|
-
}
|
|
537
|
-
static VALUE draw_on(wxOverlay &overlay, wxWindow *win, const wxRect &rect)
|
|
538
|
-
{
|
|
539
|
-
if (!wxRuby_IsAppRunning())
|
|
540
|
-
rb_raise(rb_eRuntimeError, "A running Wx::App is required.");
|
|
541
|
-
VALUE rc = Qnil;
|
|
542
|
-
if (rb_block_given_p ())
|
|
546
|
+
static VALUE draw_on(wxOverlay &overlay, wxWindow *win, const wxRect &rect)
|
|
543
547
|
{
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
VALUE
|
|
547
|
-
|
|
548
|
+
if (!wxRuby_IsAppRunning())
|
|
549
|
+
rb_raise(rb_eRuntimeError, "A running Wx::App is required.");
|
|
550
|
+
VALUE rc = Qnil;
|
|
551
|
+
if (rb_block_given_p ())
|
|
552
|
+
{
|
|
553
|
+
wxOverlayDC ovl_dc(overlay, win, rect);
|
|
554
|
+
wxOverlayDC* ovl_dc_ptr = &ovl_dc;
|
|
555
|
+
VALUE rb_dc = SWIG_NewPointerObj(SWIG_as_voidptr(ovl_dc_ptr), SWIGTYPE_p_wxOverlayDC, 0);
|
|
556
|
+
rc = rb_yield(rb_dc);
|
|
557
|
+
}
|
|
558
|
+
return rc;
|
|
548
559
|
}
|
|
549
|
-
return rc;
|
|
550
|
-
}
|
|
551
560
|
__HEREDOC
|
|
552
561
|
end
|
|
553
562
|
else
|
|
@@ -16,14 +16,16 @@ module WXRuby3
|
|
|
16
16
|
|
|
17
17
|
def setup
|
|
18
18
|
super
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
if Config.instance.wx_version_check('3.3.3') < 0
|
|
20
|
+
# methods missing from docs
|
|
21
|
+
spec.extend_interface 'wxEditableListBox',
|
|
22
|
+
'wxListCtrl* GetListCtrl()',
|
|
23
|
+
'wxBitmapButton* GetDelButton()',
|
|
24
|
+
'wxBitmapButton* GetNewButton()',
|
|
25
|
+
'wxBitmapButton* GetUpButton()',
|
|
26
|
+
'wxBitmapButton* GetDownButton()',
|
|
27
|
+
'wxBitmapButton* GetEditButton()'
|
|
28
|
+
end
|
|
27
29
|
# redefine this
|
|
28
30
|
spec.ignore 'wxEditableListBox::GetStrings', ignore_doc: false
|
|
29
31
|
spec.add_extend_code 'wxEditableListBox', <<~__HEREDOC
|
|
@@ -93,6 +93,21 @@ module WXRuby3
|
|
|
93
93
|
}
|
|
94
94
|
__CODE
|
|
95
95
|
end
|
|
96
|
+
spec.add_header_code <<~__HEREDOC
|
|
97
|
+
// custom subclass for Ruby (derived) instances to cleanup event handler procs on destruction
|
|
98
|
+
class wxRubyEvtHandler : public wxEvtHandler
|
|
99
|
+
{
|
|
100
|
+
public:
|
|
101
|
+
wxRubyEvtHandler() : wxEvtHandler() {}
|
|
102
|
+
virtual ~wxRubyEvtHandler()
|
|
103
|
+
{
|
|
104
|
+
wxRuby_ReleaseEvtHandlerProcs(this);
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
__HEREDOC
|
|
109
|
+
# make Ruby director and wrappers use custom implementation
|
|
110
|
+
spec.use_class_implementation('wxEvtHandler', 'wxRubyEvtHandler')
|
|
96
111
|
spec.add_runtime_code <<~__HEREDOC
|
|
97
112
|
WXRUBY_TRACE_GUARD(WxRubyTraceEventHandlers, "EVENTS_HANDLER");
|
|
98
113
|
|
|
@@ -153,33 +168,27 @@ module WXRuby3
|
|
|
153
168
|
// GC until the EvtHandler object itself is destroyed. So we keep a hash
|
|
154
169
|
// which maps C++ pointer addresses of EvtHandlers to lists of
|
|
155
170
|
// the callback objects created to handle their events.
|
|
156
|
-
|
|
157
|
-
typedef
|
|
158
|
-
|
|
159
|
-
|
|
171
|
+
#include <set>
|
|
172
|
+
typedef std::set<wxRbCallback*> TEvtHandlerProcs;
|
|
173
|
+
typedef std::unordered_map<void*, TEvtHandlerProcs> TPtrToEvtHandlerProcs;
|
|
174
|
+
static TPtrToEvtHandlerProcs _s__Evt_Handler_Handlers {};
|
|
160
175
|
|
|
161
176
|
// Add a proc to the list of protected handler for an EvtHandler object
|
|
162
177
|
void wxRuby_ProtectEvtHandlerProc(void* evt_handler, wxRbCallback* proc_cb)
|
|
163
178
|
{
|
|
164
|
-
|
|
165
|
-
Evt_Handler_Handlers[evt_handler] = new EvtHandlerProcList();
|
|
166
|
-
Evt_Handler_Handlers[evt_handler]->push_back(proc_cb);
|
|
179
|
+
_s__Evt_Handler_Handlers[evt_handler].emplace(proc_cb);
|
|
167
180
|
}
|
|
168
181
|
|
|
169
182
|
static void wxRuby_ReleaseEvtHandlerProc(void* evt_handler, wxRbCallback* proc_cb)
|
|
170
183
|
{
|
|
171
|
-
|
|
184
|
+
auto itevh = _s__Evt_Handler_Handlers.find(evt_handler);
|
|
185
|
+
if (itevh != _s__Evt_Handler_Handlers.end())
|
|
172
186
|
{
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
itproc != ehpl->end();
|
|
176
|
-
itproc++)
|
|
187
|
+
auto itproc = itevh->second.find(proc_cb);
|
|
188
|
+
if (itproc != itevh->second.end())
|
|
177
189
|
{
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
ehpl->erase(itproc);
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
190
|
+
itevh->second.erase(itproc);
|
|
191
|
+
return;
|
|
183
192
|
}
|
|
184
193
|
}
|
|
185
194
|
}
|
|
@@ -187,16 +196,11 @@ module WXRuby3
|
|
|
187
196
|
// Called by App's mark function; protect all currently needed procs
|
|
188
197
|
void wxRuby_MarkProtectedEvtHandlerProcs()
|
|
189
198
|
{
|
|
190
|
-
|
|
191
|
-
for( it = Evt_Handler_Handlers.begin();
|
|
192
|
-
it != Evt_Handler_Handlers.end();
|
|
193
|
-
++it )
|
|
199
|
+
for(const auto& ehp :_s__Evt_Handler_Handlers )
|
|
194
200
|
{
|
|
195
|
-
for (
|
|
196
|
-
itproc != it->second->end();
|
|
197
|
-
itproc++)
|
|
201
|
+
for (const wxRbCallback* rb_cp : ehp.second)
|
|
198
202
|
{
|
|
199
|
-
rb_gc_mark(
|
|
203
|
+
rb_gc_mark(rb_cp->m_func);
|
|
200
204
|
}
|
|
201
205
|
}
|
|
202
206
|
}
|
|
@@ -206,10 +210,10 @@ module WXRuby3
|
|
|
206
210
|
// swig/mark_free_impl.i
|
|
207
211
|
WXRUBY_EXPORT void wxRuby_ReleaseEvtHandlerProcs(void* evt_handler)
|
|
208
212
|
{
|
|
209
|
-
|
|
213
|
+
auto itevh = _s__Evt_Handler_Handlers.find(evt_handler);
|
|
214
|
+
if (itevh != _s__Evt_Handler_Handlers.end())
|
|
210
215
|
{
|
|
211
|
-
|
|
212
|
-
Evt_Handler_Handlers.erase(evt_handler);
|
|
216
|
+
_s__Evt_Handler_Handlers.erase(itevh);
|
|
213
217
|
}
|
|
214
218
|
}
|
|
215
219
|
|
|
@@ -86,6 +86,29 @@ module WXRuby3
|
|
|
86
86
|
return nread>0 ? rb_str_new(buffer.get(), nread) : Qnil;
|
|
87
87
|
}
|
|
88
88
|
__HEREDOC
|
|
89
|
+
if Config.instance.wx_version_check('3.3.3') >= 0
|
|
90
|
+
# covered by custom ReadAll()
|
|
91
|
+
spec.ignore 'wxInputStream::Read(std::vector<wxUint8> &)'
|
|
92
|
+
spec.add_extend_code 'wxInputStream', <<~__HEREDOC
|
|
93
|
+
VALUE ReadAll()
|
|
94
|
+
{
|
|
95
|
+
std::vector<wxUint8> buffer;
|
|
96
|
+
$self->Read(buffer);
|
|
97
|
+
return buffer.size()>0 ? rb_str_new(reinterpret_cast<char*> (buffer.data()), buffer.size()) : Qnil;
|
|
98
|
+
}
|
|
99
|
+
__HEREDOC
|
|
100
|
+
else
|
|
101
|
+
spec.include 'wx/mstream.h'
|
|
102
|
+
spec.add_extend_code 'wxInputStream', <<~__HEREDOC
|
|
103
|
+
VALUE ReadAll()
|
|
104
|
+
{
|
|
105
|
+
wxMemoryOutputStream stream;
|
|
106
|
+
$self->Read(stream);
|
|
107
|
+
wxStreamBuffer* buffer = stream.GetOutputStreamBuffer();
|
|
108
|
+
return buffer->GetBufferSize()>0 ? rb_str_new(reinterpret_cast<char*> (buffer->GetBufferStart()), buffer->GetBufferSize()) : Qnil;
|
|
109
|
+
}
|
|
110
|
+
__HEREDOC
|
|
111
|
+
end
|
|
89
112
|
# for Read(wxOutputStream&)
|
|
90
113
|
spec.map 'wxInputStream&' => 'Wx::InputStream' do
|
|
91
114
|
map_out code: '$result = self; wxUnusedVar($1);'
|
|
@@ -147,28 +170,34 @@ module WXRuby3
|
|
|
147
170
|
static WxRuby_ID ios_close_id("close");
|
|
148
171
|
|
|
149
172
|
// Mapping of wxStreamBase* to Ruby IO VALUE
|
|
150
|
-
WX_DECLARE_VOIDPTR_HASH_MAP(VALUE,
|
|
151
|
-
WXRBStreamBaseToRbValueHash);
|
|
152
|
-
static WXRBStreamBaseToRbValueHash Stream_Value_Map;
|
|
153
173
|
|
|
154
|
-
|
|
174
|
+
// tracking category
|
|
175
|
+
static const std::string WXRUBY_RUBY_IO_STREAMS = {"WXRUBY_RUBY_IO_STREAMS"};
|
|
176
|
+
|
|
177
|
+
static void wxRuby_markRbStreams(const TGCTrackingValueMap& values)
|
|
155
178
|
{
|
|
156
|
-
|
|
157
|
-
for( it = Stream_Value_Map.begin(); it != Stream_Value_Map.end(); ++it )
|
|
179
|
+
for(const auto& ti : values)
|
|
158
180
|
{
|
|
159
|
-
VALUE obj =
|
|
181
|
+
VALUE obj = ti.second;
|
|
160
182
|
rb_gc_mark(obj);
|
|
161
183
|
}
|
|
162
184
|
}
|
|
163
185
|
|
|
164
186
|
static void wxRuby_RegisterStream(void* ptr, VALUE rbval)
|
|
165
187
|
{
|
|
166
|
-
|
|
188
|
+
static bool is_marker_registered = false;
|
|
189
|
+
|
|
190
|
+
if (!is_marker_registered)
|
|
191
|
+
{
|
|
192
|
+
wxRuby_RegisterTrackingCategory(WXRUBY_RUBY_IO_STREAMS, wxRuby_markRbStreams);
|
|
193
|
+
is_marker_registered = true;
|
|
194
|
+
}
|
|
195
|
+
wxRuby_RegisterCategoryValue(WXRUBY_RUBY_IO_STREAMS, ptr, rbval);
|
|
167
196
|
}
|
|
168
197
|
|
|
169
198
|
static void wxRuby_UnregisterStream(void* ptr)
|
|
170
199
|
{
|
|
171
|
-
|
|
200
|
+
wxRuby_UnregisterCategoryValue(WXRUBY_RUBY_IO_STREAMS, ptr);
|
|
172
201
|
}
|
|
173
202
|
|
|
174
203
|
// Implementation for wxRubyInputStream
|
|
@@ -373,7 +402,6 @@ module WXRuby3
|
|
|
373
402
|
}
|
|
374
403
|
}
|
|
375
404
|
__CODE
|
|
376
|
-
spec.add_init_code 'wxRuby_AppendMarker(wxRuby_markRbStreams);'
|
|
377
405
|
end
|
|
378
406
|
|
|
379
407
|
def process(gendoc: false)
|
|
@@ -83,6 +83,13 @@ module WXRuby3
|
|
|
83
83
|
return Qnil;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
// Log a Wx error Message to the current Wx log output and abort
|
|
87
|
+
static VALUE log_fatal_error(int argc, VALUE *argv, VALUE self)
|
|
88
|
+
{
|
|
89
|
+
do_log(wxLOG_FatalError, argc, argv);
|
|
90
|
+
return Qnil;
|
|
91
|
+
}
|
|
92
|
+
|
|
86
93
|
// Log a Wx low prio Message to the current Wx log output
|
|
87
94
|
static VALUE log_info(int argc, VALUE *argv, VALUE self)
|
|
88
95
|
{
|
|
@@ -264,6 +271,7 @@ module WXRuby3
|
|
|
264
271
|
spec.add_init_code <<~__HEREDOC
|
|
265
272
|
rb_define_module_function(mWxFunctions, "log_generic", VALUEFUNC(log_generic), -1);
|
|
266
273
|
rb_define_module_function(mWxFunctions, "log_info", VALUEFUNC(log_info), -1);
|
|
274
|
+
rb_define_module_function(mWxFunctions, "log_fatal_error", VALUEFUNC(log_info), -1);
|
|
267
275
|
rb_define_module_function(mWxFunctions, "log_verbose", VALUEFUNC(log_verbose), -1);
|
|
268
276
|
rb_define_module_function(mWxFunctions, "log_message", VALUEFUNC(log_message), -1);
|
|
269
277
|
rb_define_module_function(mWxFunctions, "log_warning", VALUEFUNC(log_warning), -1);
|
|
@@ -39,9 +39,7 @@ module WXRuby3
|
|
|
39
39
|
spec.ignore('wxGridCellAttr::GetEditorPtr',
|
|
40
40
|
'wxGridCellAttr::GetRendererPtr')
|
|
41
41
|
# these require wxRuby to take ownership (ref counted)
|
|
42
|
-
spec.new_object('wxGridCellAttr::Clone'
|
|
43
|
-
'wxGridCellAttr::GetEditor',
|
|
44
|
-
'wxGridCellAttr::GetRenderer')
|
|
42
|
+
spec.new_object('wxGridCellAttr::Clone')
|
|
45
43
|
# type mapping for wxGridCellEditor* return ref
|
|
46
44
|
spec.map 'wxGridCellEditor*' => 'Wx::GRID::GridCellEditor' do
|
|
47
45
|
add_header_code 'extern VALUE wxRuby_WrapWxGridCellEditorInRuby(const wxGridCellEditor *wx_gce);',
|
|
@@ -39,6 +39,9 @@ module WXRuby3
|
|
|
39
39
|
VALUE rb_gce = wxRuby_GridCellEditorInstance(const_cast<wxGridCellEditor*> (wx_gce));
|
|
40
40
|
if (rb_gce && !NIL_P(rb_gce))
|
|
41
41
|
{
|
|
42
|
+
// as this editor got passed from C++ it wll have incremented it's reference counter
|
|
43
|
+
// decrease that here; if we pass it back to C++ we will increase there
|
|
44
|
+
const_cast<wxGridCellEditor*> (wx_gce)->DecRef();
|
|
42
45
|
return rb_gce;
|
|
43
46
|
}
|
|
44
47
|
|
|
@@ -98,19 +101,24 @@ module WXRuby3
|
|
|
98
101
|
}
|
|
99
102
|
|
|
100
103
|
// Otherwise, retrieve the swig type info for this class and wrap it
|
|
101
|
-
// in Ruby.
|
|
104
|
+
// in Ruby.
|
|
105
|
+
// As this editor was created in C++ it seems we have no registration yet
|
|
106
|
+
// but the reference counter will be at least 2 now (1 for C++ owner and 1
|
|
107
|
+
// increment for returning to us).
|
|
108
|
+
// We will now register a new Ruby object, keep it disowned and decrement
|
|
109
|
+
// for now. If passing to C++ again we will increment there.
|
|
102
110
|
// wxRuby_GetSwigTypeForClass is defined in wx.i
|
|
103
111
|
swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(r_class);
|
|
104
112
|
rb_gce = SWIG_NewPointerObj(const_cast<void*> (ptr), swig_type, 0);
|
|
105
113
|
wxRuby_RegisterGridCellEditor(const_cast<wxGridCellEditor*> (wx_gce), rb_gce);
|
|
114
|
+
const_cast<wxGridCellEditor*> (wx_gce)->DecRef();
|
|
106
115
|
return rb_gce;
|
|
107
116
|
}
|
|
108
117
|
|
|
109
118
|
extern void GC_free_GridCellEditor(void *ptr)
|
|
110
119
|
{
|
|
111
|
-
wxGridCellEditor* gc_edt = (wxGridCellEditor*)ptr;
|
|
112
|
-
|
|
113
|
-
gc_edt->DecRef();
|
|
120
|
+
wxGridCellEditor* gc_edt = (wxGridCellEditor*)ptr;
|
|
121
|
+
wxSafeDecRef(gc_edt);
|
|
114
122
|
}
|
|
115
123
|
__CODE
|
|
116
124
|
elsif spec.module_name == 'wxGridCellActivatableEditor'
|
|
@@ -147,7 +155,7 @@ module WXRuby3
|
|
|
147
155
|
spec.override_inheritance_chain(spec.module_name, %w[wxGridCellEditor])
|
|
148
156
|
end
|
|
149
157
|
# due to the flawed wxWidgets XML docs we need to explicitly add these here
|
|
150
|
-
# otherwise the derived editors won't be
|
|
158
|
+
# otherwise the derived editors won't be allocatable due to pure virtuals
|
|
151
159
|
spec.extend_interface spec.module_name,
|
|
152
160
|
'void BeginEdit(int row, int col, wxGrid *grid)',
|
|
153
161
|
'wxGridCellEditor * Clone() const',
|
|
@@ -157,13 +165,7 @@ module WXRuby3
|
|
|
157
165
|
'void Reset()',
|
|
158
166
|
'wxString GetValue() const'
|
|
159
167
|
end
|
|
160
|
-
|
|
161
|
-
# type mapping for Clone return ref
|
|
162
|
-
spec.map 'wxGridCellEditor*' => 'Wx::GRID::GridCellEditor' do
|
|
163
|
-
add_header_code 'extern VALUE wxRuby_WrapWxGridCellEditorInRuby(const wxGridCellEditor *wx_gce);'
|
|
164
|
-
map_out code: '$result = wxRuby_WrapWxGridCellEditorInRuby($1);'
|
|
165
|
-
end
|
|
166
|
-
end
|
|
168
|
+
spec.new_object "#{spec.module_name}::Clone"
|
|
167
169
|
# handled; can be suppressed
|
|
168
170
|
spec.suppress_warning(473, "#{spec.module_name}::Clone")
|
|
169
171
|
end
|
|
@@ -38,6 +38,9 @@ module WXRuby3
|
|
|
38
38
|
VALUE rb_gcr = wxRuby_GridCellRendererInstance(const_cast<wxGridCellRenderer*> (wx_gcr));
|
|
39
39
|
if (rb_gcr && !NIL_P(rb_gcr))
|
|
40
40
|
{
|
|
41
|
+
// as this renderer got passed from C++ it wll have incremented it's reference counter
|
|
42
|
+
// decrease that here; if we pass it back to C++ we will increase there
|
|
43
|
+
const_cast<wxGridCellRenderer*> (wx_gcr)->DecRef();
|
|
41
44
|
return rb_gcr;
|
|
42
45
|
}
|
|
43
46
|
|
|
@@ -94,11 +97,17 @@ module WXRuby3
|
|
|
94
97
|
}
|
|
95
98
|
|
|
96
99
|
// Otherwise, retrieve the swig type info for this class and wrap it
|
|
97
|
-
// in Ruby.
|
|
100
|
+
// in Ruby.
|
|
101
|
+
// As this renderer was created in C++ it seems we have no registration yet
|
|
102
|
+
// but the reference counter will be at least 2 now (1 for C++ owner and 1
|
|
103
|
+
// increment for returning to us).
|
|
104
|
+
// We will now register a new Ruby object, keep it disowned and decrement
|
|
105
|
+
// for now. If passing to C++ again we will increment there.
|
|
98
106
|
// wxRuby_GetSwigTypeForClass is defined in wx.i
|
|
99
107
|
swig_type_info* swig_type = wxRuby_GetSwigTypeForClass(r_class);
|
|
100
108
|
rb_gcr = SWIG_NewPointerObj(const_cast<void*> (ptr), swig_type, 0);
|
|
101
109
|
wxRuby_RegisterGridCellRenderer(const_cast<wxGridCellRenderer*> (wx_gcr), rb_gcr);
|
|
110
|
+
const_cast<wxGridCellRenderer*> (wx_gcr)->DecRef();
|
|
102
111
|
return rb_gcr;
|
|
103
112
|
}
|
|
104
113
|
|
|
@@ -126,13 +135,7 @@ module WXRuby3
|
|
|
126
135
|
'virtual wxSize GetBestSize(wxGrid &grid, wxGridCellAttr &attr, wxDC &dc, int row, int col)'
|
|
127
136
|
spec.force_proxy spec.module_name
|
|
128
137
|
end
|
|
129
|
-
|
|
130
|
-
# type mapping for Clone return ref
|
|
131
|
-
spec.map 'wxGridCellRenderer*' => 'Wx::GRID::GridCellRenderer' do
|
|
132
|
-
add_header_code 'extern VALUE wxRuby_WrapWxGridCellRendererInRuby(const wxGridCellRenderer *wx_gcr);'
|
|
133
|
-
map_out code: '$result = wxRuby_WrapWxGridCellRendererInRuby($1);'
|
|
134
|
-
end
|
|
135
|
-
end
|
|
138
|
+
spec.new_object "#{spec.module_name}::Clone"
|
|
136
139
|
# handled; can be suppressed
|
|
137
140
|
spec.suppress_warning(473, "#{spec.module_name}::Clone")
|
|
138
141
|
end
|