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
|
@@ -9,31 +9,11 @@
|
|
|
9
9
|
// This file, required by common.i defines a set of macros which are used
|
|
10
10
|
// to specify memory management strategies for individual Wx classes.
|
|
11
11
|
|
|
12
|
-
// Broadly speaking there are two different strategies:
|
|
13
|
-
//
|
|
14
|
-
// 1) For all classes which inherit from Wx::Window, including all Frames,
|
|
15
|
-
// Dialogs and Controls: the C++ objects are managed by WxWidgets; when=
|
|
16
|
-
// Frame is closed, it and all its contents are deleted. Therefore wxRuby
|
|
17
|
-
// doesn't try to delete these objects as part of GC until they are known
|
|
18
|
-
// to have been deleted. The instance of Wx::App watches for window
|
|
19
|
-
// destruction, and in the GC-mark phase marks all Windows that are still
|
|
20
|
-
// alive. [see App.i]
|
|
21
|
-
//
|
|
22
|
-
// 2) Almost all other classes are memory managed by wxRuby - that is, when
|
|
23
|
-
// they have fallen out of scope and GC is run, the underlying C++ object
|
|
24
|
-
// will be deleted too by the standard %freefunc.
|
|
25
|
-
|
|
26
|
-
|
|
27
12
|
// These are implemented in swig/wx.i, so they are shared among all classes
|
|
28
13
|
%{
|
|
29
|
-
WXRUBY_EXPORT void GcNullFreeFunc(void *);
|
|
30
|
-
WXRUBY_EXPORT void GcSizerFreeFunc(void *);
|
|
31
|
-
WXRUBY_EXPORT void GcDialogFreeFunc(void *);
|
|
32
14
|
WXRUBY_EXPORT void GcRefCountedFreeFunc(void *);
|
|
33
15
|
WXRUBY_EXPORT void GC_mark_wxSizer(void *);
|
|
34
|
-
WXRUBY_EXPORT void GC_mark_attached_wxMenu(void *);
|
|
35
16
|
WXRUBY_EXPORT void GC_mark_wxWindow(void *);
|
|
36
|
-
WXRUBY_EXPORT void GC_mark_wxFrame(void *);
|
|
37
17
|
WXRUBY_EXPORT void GC_mark_wxEvent(void *);
|
|
38
18
|
%}
|
|
39
19
|
|
|
@@ -43,7 +23,7 @@ WXRUBY_EXPORT void GC_mark_wxEvent(void *);
|
|
|
43
23
|
// all Windows, including Frames and Dialogs
|
|
44
24
|
%define GC_NEVER(kls)
|
|
45
25
|
%trackobjects kls;
|
|
46
|
-
%feature("freefunc") kls "
|
|
26
|
+
%feature("freefunc") kls "SWIG_RubyRemoveTracking";
|
|
47
27
|
%enddef
|
|
48
28
|
|
|
49
29
|
// Strategy for windows that aren't top-level windows. Here, the C++
|
|
@@ -61,26 +41,21 @@ GC_NEVER(kls);
|
|
|
61
41
|
%enddef
|
|
62
42
|
|
|
63
43
|
// Strategy for top-level frames - these are destroyed
|
|
64
|
-
// automatically. Marking is the same as for Windows
|
|
65
|
-
// of the associated MenuBar, if reuqired.
|
|
44
|
+
// automatically. Marking is the same as for Windows.
|
|
66
45
|
%define GC_MANAGE_AS_FRAME(kls)
|
|
67
|
-
|
|
68
|
-
// Mark any associated sizer
|
|
69
|
-
%feature("markfunc") kls "GC_mark_wxFrame";
|
|
46
|
+
GC_MANAGE_AS_WINDOW(kls);
|
|
70
47
|
%enddef
|
|
71
48
|
|
|
72
49
|
// Strategy for dialogs - these are NOT destroyed automatically
|
|
73
50
|
%define GC_MANAGE_AS_DIALOG(kls)
|
|
74
|
-
|
|
75
|
-
// Mark any associated sizer
|
|
76
|
-
%feature("markfunc") kls "GC_mark_wxWindow";
|
|
51
|
+
GC_MANAGE_AS_WINDOW(kls);
|
|
77
52
|
%enddef
|
|
78
53
|
|
|
79
54
|
// Events - most are created within wxWidgets C++ on the stack and thus
|
|
80
55
|
// do not need deletion. These are passed into ruby via EvtHandler or
|
|
81
56
|
// App methods, and are wrapped using wxRuby_WrapWxEventInRuby (see
|
|
82
|
-
// wx.i). This gives them a
|
|
83
|
-
//
|
|
57
|
+
// wx.i). This gives them a null freefunc and markfunc and provides no
|
|
58
|
+
// tracking - they are treated as one-shot short-lived objects.
|
|
84
59
|
//
|
|
85
60
|
// However, custom events created on the ruby side need to be deleted to
|
|
86
61
|
// avoid leakage as SWIG wrappers call C++ "new" to allocate the
|
|
@@ -113,15 +88,10 @@ GC_NEVER(kls);
|
|
|
113
88
|
%define GC_MANAGE_AS_MARKED(kls)
|
|
114
89
|
%enddef
|
|
115
90
|
|
|
116
|
-
//
|
|
117
|
-
// so they should not be deleted.
|
|
118
|
-
//
|
|
119
|
-
// TODO - orphaned/unattached sizers are not automatically destroyed -
|
|
120
|
-
// so the freefunc should check for this condition and do the delete if
|
|
121
|
-
// required to prevent a memory leak.
|
|
91
|
+
// Attached sizers should only be marked by the window they are attached to.
|
|
122
92
|
%define GC_MANAGE_AS_SIZER(kls)
|
|
123
93
|
%trackobjects kls;
|
|
124
|
-
|
|
94
|
+
//%feature("freefunc") kls "GcSizerFreeFunc";
|
|
125
95
|
%feature("markfunc") kls "GC_mark_wxSizer";
|
|
126
96
|
%enddef
|
|
127
97
|
|
|
@@ -133,12 +103,6 @@ GC_NEVER(kls);
|
|
|
133
103
|
%feature("freefunc") kls "GcRefCountedFreeFunc";
|
|
134
104
|
%enddef
|
|
135
105
|
|
|
136
|
-
// special refcounted for grid cell renderers/editors and attrs
|
|
137
|
-
%define GC_MANAGE_AS_UNTRACKED_REFCOUNTED(kls)
|
|
138
|
-
%feature("freefunc") kls "GcRefCountedFreeFunc";
|
|
139
|
-
%enddef
|
|
140
|
-
|
|
141
|
-
|
|
142
106
|
// All other classes - mainly helper classes (eg Sizer, GridCellxxx).
|
|
143
107
|
// These are tracked but sometimes later disowned once passed into a
|
|
144
108
|
// widget, and thenceforth managed by WxWidgets
|
data/ext/wxruby3/swig/wx.i
CHANGED
|
@@ -17,13 +17,15 @@
|
|
|
17
17
|
|
|
18
18
|
#include <wx/filesys.h>
|
|
19
19
|
#include <wx/fs_zip.h>
|
|
20
|
+
#include <wx/utils.h>
|
|
20
21
|
|
|
21
22
|
#include <unordered_map>
|
|
22
23
|
|
|
23
|
-
WXRUBY_TRACE_GUARD(WxRubyTraceGCTrack, "GC_TRACK")
|
|
24
24
|
WXRUBY_TRACE_GUARD(WxRubyTraceGCWrapEvents, "GC_WRAP_EVENTS")
|
|
25
25
|
WXRUBY_TRACE_GUARD(WxRubyTraceGCWrapObject, "GC_WRAP_OBJECT")
|
|
26
26
|
|
|
27
|
+
// SWIG and wxRuby3 custom tracking support
|
|
28
|
+
#include "wxruby-GCTracking.h"
|
|
27
29
|
%}
|
|
28
30
|
|
|
29
31
|
// Some common functions
|
|
@@ -82,73 +84,6 @@ WXRUBY_EXPORT swig_type_info* wxRuby_GetSwigTypeForClassName(const char* clsname
|
|
|
82
84
|
return wxRuby_GetSwigTypeForClass(rb_const_get(wxRuby_Core(), rb_intern(clsname)));
|
|
83
85
|
}
|
|
84
86
|
|
|
85
|
-
// Overriding standard SWIG tracking.
|
|
86
|
-
// We don't want to use any functionality that could interfere with
|
|
87
|
-
// Ruby GC handling so we use standard C++ hash maps.
|
|
88
|
-
typedef std::unordered_map<void*, VALUE> PtrToRbObjHash;
|
|
89
|
-
PtrToRbObjHash Global_Ptr_Map;
|
|
90
|
-
|
|
91
|
-
// Add a tracking from ptr -> object
|
|
92
|
-
WXRUBY_EXPORT void wxRuby_AddTracking(void* ptr, VALUE object)
|
|
93
|
-
{
|
|
94
|
-
WXRUBY_TRACE_IF(WxRubyTraceGCTrack, 2)
|
|
95
|
-
WXRUBY_TRACE_WITH(VALUE clsname = rb_mod_name(CLASS_OF(object)))
|
|
96
|
-
WXRUBY_TRACE("> wxRuby_AddTracking" << std::flush <<
|
|
97
|
-
"(" << ptr << ":{"
|
|
98
|
-
<< (clsname != Qnil ? StringValueCStr(clsname) : "<noname>")
|
|
99
|
-
<< "}, " << object << ")")
|
|
100
|
-
WXRUBY_TRACE_END
|
|
101
|
-
|
|
102
|
-
// Check if an 'old' tracking registry exists.
|
|
103
|
-
if (Global_Ptr_Map.count(ptr) == 1)
|
|
104
|
-
{
|
|
105
|
-
// This can happen if the C++ referenced by a Ruby object is managed by
|
|
106
|
-
// a wxWidgets object and deleted without unlinking the Ruby object.
|
|
107
|
-
// In these cases we unlink the previously linked Ruby object here
|
|
108
|
-
// (if not the same Ruby object which should not be possible).
|
|
109
|
-
// This will prevent SIGSEGV when attempting to call anything for
|
|
110
|
-
// these objects but instead cause more informative exceptions.
|
|
111
|
-
VALUE old_obj = Global_Ptr_Map[ptr];
|
|
112
|
-
if (!NIL_P(old_obj) && old_obj != object)
|
|
113
|
-
{
|
|
114
|
-
DATA_PTR(old_obj) = 0;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
Global_Ptr_Map[ptr] = object;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
// Return the ruby object for ptr
|
|
122
|
-
WXRUBY_EXPORT VALUE wxRuby_FindTracking(void* ptr)
|
|
123
|
-
{
|
|
124
|
-
if ( Global_Ptr_Map.count(ptr) == 0 )
|
|
125
|
-
return Qnil;
|
|
126
|
-
else
|
|
127
|
-
return Global_Ptr_Map[ptr];
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
// Remove the tracking for ptr
|
|
131
|
-
WXRUBY_EXPORT void wxRuby_RemoveTracking(void* ptr)
|
|
132
|
-
{
|
|
133
|
-
WXRUBY_TRACE_IF(WxRubyTraceGCTrack, 2)
|
|
134
|
-
WXRUBY_TRACE("< wxRuby_RemoveTracking(" << ptr << ") -> " << wxRuby_FindTracking(ptr))
|
|
135
|
-
WXRUBY_TRACE_END
|
|
136
|
-
Global_Ptr_Map.erase(ptr);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
// Iterate over all the trackings, calling the passed-in method on each
|
|
140
|
-
WXRUBY_EXPORT void wxRuby_IterateTracking( void(*meth)(void* ptr, VALUE obj) )
|
|
141
|
-
{
|
|
142
|
-
PtrToRbObjHash::iterator it;
|
|
143
|
-
for( it = Global_Ptr_Map.begin(); it != Global_Ptr_Map.end(); ++it )
|
|
144
|
-
{
|
|
145
|
-
void* ptr = it->first;
|
|
146
|
-
VALUE obj = it->second;
|
|
147
|
-
(*meth)(ptr, obj);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
|
|
152
87
|
// Returns a ruby object wrapped around a wxObject. This is used for
|
|
153
88
|
// methods whose return type is a generic C++ class (eg wxWindow), but
|
|
154
89
|
// whose return values are actually instances of specific C++ classes
|
|
@@ -259,6 +194,18 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxObjectInRuby(wxObject *wx_obj)
|
|
|
259
194
|
static VALUE Evt_Type_Map = NULL;
|
|
260
195
|
static VALUE WxRuby_cAsyncProcCallEvent = Qnil;
|
|
261
196
|
|
|
197
|
+
inline VALUE _get_ThreadEventClass()
|
|
198
|
+
{
|
|
199
|
+
static VALUE __cThreadEvent = Qnil;
|
|
200
|
+
|
|
201
|
+
if (RB_NIL_P(__cThreadEvent))
|
|
202
|
+
{
|
|
203
|
+
VALUE module = rb_const_get(wxRuby_Core(), rb_intern("RT"));
|
|
204
|
+
if (!RB_NIL_P(module)) __cThreadEvent = rb_const_get(module, rb_intern("ThreadEvent"));
|
|
205
|
+
}
|
|
206
|
+
return __cThreadEvent;
|
|
207
|
+
}
|
|
208
|
+
|
|
262
209
|
#ifdef __WXRB_DEBUG__
|
|
263
210
|
WXRUBY_EXPORT VALUE wxRuby_WrapWxEventInRuby(void* rcvr, wxEvent *wx_event)
|
|
264
211
|
#else
|
|
@@ -338,17 +285,41 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxEventInRuby(wxEvent *wx_event)
|
|
|
338
285
|
DATA_PTR(rb_event) = wx_event;
|
|
339
286
|
// do not forget to mark the instance with the mangled swig type name
|
|
340
287
|
// (as there is no swig_type for the Wx::AsyncProcCallEvent class use it's base Wx::Event)
|
|
341
|
-
swig_type_info* type
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
288
|
+
swig_type_info* type;
|
|
289
|
+
if (wx_event->GetEventType() == wxEVT_ASYNC_METHOD_CALL)
|
|
290
|
+
{
|
|
291
|
+
type = wxRuby_GetSwigTypeForClass(wxRuby_GetDefaultEventClass());
|
|
292
|
+
}
|
|
293
|
+
else
|
|
294
|
+
{
|
|
295
|
+
type = wxRuby_GetSwigTypeForClass(rb_event_class);
|
|
296
|
+
if (!type)
|
|
297
|
+
{
|
|
298
|
+
// could be derived ThreadEvent
|
|
299
|
+
VALUE klass = _get_ThreadEventClass();
|
|
300
|
+
if (!RB_NIL_P(klass) && rb_class_inherited_p(rb_event_class, klass))
|
|
301
|
+
{
|
|
302
|
+
type = wxRuby_GetSwigTypeForClass(klass);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
// type should never be null but let's be paranoid
|
|
307
|
+
if (type) rb_iv_set(rb_event, "@__swigtype__", rb_str_new2(type->name));
|
|
345
308
|
|
|
346
309
|
WXRUBY_TRACE_IF(WxRubyTraceGCWrapEvents, 2)
|
|
347
|
-
WXRUBY_TRACE("< wxRuby_WrapWxEventInRuby - wrapped transitory event " << wx_event << "{" << type->name << "}")
|
|
310
|
+
WXRUBY_TRACE("< wxRuby_WrapWxEventInRuby - wrapped transitory event " << wx_event << "{" << (type ? type->name : rb_class2name(rb_event_class)) << "}")
|
|
348
311
|
WXRUBY_TRACE_END
|
|
349
312
|
|
|
350
313
|
return rb_event;
|
|
351
314
|
}
|
|
315
|
+
|
|
316
|
+
static VALUE wxruby_get_wx_prefix(int argc, VALUE *argv, VALUE self)
|
|
317
|
+
{
|
|
318
|
+
if ((argc < 0) || (argc > 0)) {
|
|
319
|
+
rb_raise(rb_eArgError, "wrong # of arguments(%d for 0)",argc); return Qnil;
|
|
320
|
+
}
|
|
321
|
+
return WXSTR_TO_RSTR(wxGetInstallPrefix());
|
|
322
|
+
}
|
|
352
323
|
%}
|
|
353
324
|
|
|
354
325
|
%constant int wxWXWIDGETS_DEBUG_LEVEL = wxDEBUG_LEVEL;
|
|
@@ -364,4 +335,6 @@ WXRUBY_EXPORT VALUE wxRuby_WrapWxEventInRuby(wxEvent *wx_event)
|
|
|
364
335
|
|
|
365
336
|
// This is needed so HtmlHelp can load docs from a zip file
|
|
366
337
|
wxFileSystem::AddHandler(new wxArchiveFSHandler);
|
|
338
|
+
|
|
339
|
+
rb_define_module_function(mWxruby3, "get_wx_prefix", VALUEFUNC(wxruby_get_wx_prefix), -1);
|
|
367
340
|
%}
|
data/lib/wx/core/const.rb
CHANGED
|
@@ -23,7 +23,6 @@ module Wx
|
|
|
23
23
|
FRAME_NAME_STR = 'frame'
|
|
24
24
|
STATUS_LINE_NAME_STR = 'status_line'
|
|
25
25
|
STATIC_BITMAP_NAME_STR = 'staticBitmap'
|
|
26
|
-
WEB_VIEW_NAME_STR = 'wxWebView'
|
|
27
26
|
ANIMATION_CTRL_NAME_STR = 'animationctrl'
|
|
28
27
|
TOOL_BAR_NAME_STR = 'toolbar'
|
|
29
28
|
TEXT_CTRL_NAME_STR = 'text'
|
data/lib/wx/core/cursor.rb
CHANGED
|
@@ -24,6 +24,7 @@ module Wx
|
|
|
24
24
|
|
|
25
25
|
wx_set_cursor = instance_method :set_cursor
|
|
26
26
|
wx_redefine_method :set_cursor do |cursor|
|
|
27
|
+
cursor = Wx::Cursor.new(cursor) if cursor.is_a?(Wx::StockCursor)
|
|
27
28
|
wx_set_cursor.bind(self).call(cursor.is_a?(Wx::Cursor) ? Wx::CursorBundle.new(cursor) : cursor)
|
|
28
29
|
end
|
|
29
30
|
end
|
|
@@ -12,17 +12,25 @@
|
|
|
12
12
|
require_relative './simplehelpprovider'
|
|
13
13
|
|
|
14
14
|
class Wx::HelpControllerHelpProvider < Wx::SimpleHelpProvider
|
|
15
|
-
def initialize(help_controller)
|
|
15
|
+
def initialize(help_controller = nil)
|
|
16
16
|
super()
|
|
17
17
|
@hc = help_controller
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
+
def get_help_controller
|
|
21
|
+
@hc
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def set_help_controller(help_controller)
|
|
25
|
+
@hc = help_controller
|
|
26
|
+
end
|
|
27
|
+
|
|
20
28
|
# Show help for +win+; if the help text for +win+ is a string with a
|
|
21
29
|
# single integer only, treats that as a section id for help and shows
|
|
22
30
|
# that, otherwise shows a popup (native-style on Windows) of the text.
|
|
23
31
|
def show_help(win)
|
|
24
32
|
help_text = get_help(win)
|
|
25
|
-
return false if help_text.empty?
|
|
33
|
+
return false if help_text.empty? || @hc.nil?
|
|
26
34
|
if help_text =~ /\A\d+\z/
|
|
27
35
|
@hc.display_context_popup(help_text.to_i)
|
|
28
36
|
else
|
|
@@ -0,0 +1,31 @@
|
|
|
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
|
+
|
|
9
|
+
class MediaCtrl < Wx::Control
|
|
10
|
+
|
|
11
|
+
if Wx::PLATFORM == 'WXMSW'
|
|
12
|
+
|
|
13
|
+
wx_load = instance_method :load
|
|
14
|
+
wx_redefine_method :load do |*args|
|
|
15
|
+
uri_or_path = args.shift
|
|
16
|
+
if args.empty? && uri_or_path.is_a?(::URI) && uri_or_path.scheme == 'file'
|
|
17
|
+
if uri_or_path.host.empty?
|
|
18
|
+
wx_load.bind(self).call("#{uri_or_path.path}")
|
|
19
|
+
else
|
|
20
|
+
wx_load.bind(self).call("#{uri_or_path.host}:#{uri_or_path.path}")
|
|
21
|
+
end
|
|
22
|
+
else
|
|
23
|
+
wx_load.bind(self).call(uri_or_path, *args)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
data/lib/wx/core.rb
CHANGED
|
@@ -26,6 +26,12 @@ Wx::WXWIDGETS_VERSION = '%i.%i.%i' % [ Wx::WXWIDGETS_MAJOR_VERSION,
|
|
|
26
26
|
Wx::WXWIDGETS_MINOR_VERSION,
|
|
27
27
|
Wx::WXWIDGETS_RELEASE_NUMBER ]
|
|
28
28
|
|
|
29
|
+
# except when in debug mode or when a user defined diagnostics level is defined
|
|
30
|
+
# suppress all diagnostics from GTK
|
|
31
|
+
unless Wx::DEBUG || ENV['WXSUPPRESS_GTK_DIAGNOSTICS'] || Wx::PLATFORM != 'WXGTK'
|
|
32
|
+
Wx::App.gtk_suppress_diagnostics
|
|
33
|
+
end
|
|
34
|
+
|
|
29
35
|
# Helper functions
|
|
30
36
|
require 'wx/helpers'
|
|
31
37
|
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
# This module provides and standardizes support for locating application art files.
|
|
8
|
+
#
|
|
9
|
+
# :startdoc:
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
module Wx
|
|
13
|
+
|
|
14
|
+
ART_STOP = "wxART_STOP"
|
|
15
|
+
ART_REFRESH = "wxART_REFRESH"
|
|
16
|
+
|
|
17
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
# This method changes the cursor to a query and puts the application into a 'context-sensitive help mode'.
|
|
11
|
+
#
|
|
12
|
+
# When the user left-clicks on a window within the specified window, a Wx::EVT_HELP event is sent to that control,
|
|
13
|
+
# and the application may respond to it by popping up some help.
|
|
14
|
+
# The method returns after the left-click.
|
|
15
|
+
#
|
|
16
|
+
# For example:
|
|
17
|
+
#
|
|
18
|
+
# ```ruby
|
|
19
|
+
# Wx.context_help(myWindow)
|
|
20
|
+
# ```
|
|
21
|
+
#
|
|
22
|
+
# There are a couple of ways to invoke this behaviour implicitly:
|
|
23
|
+
#
|
|
24
|
+
# - Use the Wx::DIALOG_EX_CONTEXTHELP style for a dialog (WXMSW only). This will put a question mark in the titlebar,
|
|
25
|
+
# and Windows will put the application into context-sensitive help mode automatically, without further programming.
|
|
26
|
+
# - Create a Wx::ContextHelpButton, whose predefined behaviour is to create a context help object. Normally you will
|
|
27
|
+
# write your application so that this button is only added to a dialog for non-Windows platforms (use
|
|
28
|
+
# Wx::DIALOG_EX_CONTEXTHELP on WXMSW).
|
|
29
|
+
#
|
|
30
|
+
# Note that on macOS, the cursor does not change when in context-sensitive help mode.
|
|
31
|
+
#
|
|
32
|
+
# @param [Wx::Window] window the window which will be used to catch events; if nullptr, the top window will be used.
|
|
33
|
+
# @return [void]
|
|
34
|
+
def self.context_help(window = nil); end
|
|
35
|
+
|
|
36
|
+
# Convenience alias for {Wx.context_help} similarly named as the wxWidgets wxContextHelp class.
|
|
37
|
+
#
|
|
38
|
+
# @param [Wx::Window] window the window which will be used to catch events; if nullptr, the top window will be used.
|
|
39
|
+
# @return [void]
|
|
40
|
+
def self.ContextHelp(window = nil); end
|
|
41
|
+
|
|
42
|
+
end
|
data/lib/wx/doc/core.rb
CHANGED
|
@@ -8,11 +8,6 @@
|
|
|
8
8
|
module Wx
|
|
9
9
|
|
|
10
10
|
class << self
|
|
11
|
-
# Returns trace level (always 0 if #wxrb_debug returns false)
|
|
12
|
-
# In case #wxrb_debug returns true #wxrb_trace_level= is also defined)
|
|
13
|
-
# @return [Integer]
|
|
14
|
-
attr_reader :wrb_trace_level
|
|
15
|
-
|
|
16
11
|
# Returns true if WXWIDGETS_VERSION >= ver
|
|
17
12
|
# @param [String,Array(Integer)] ver version string or integer array (1-3)
|
|
18
13
|
# @return [Boolean] true if WXWIDGETS_VERSION >= ver, false otherwise
|
data/lib/wx/doc/functions.rb
CHANGED
|
@@ -36,6 +36,16 @@ module Wx
|
|
|
36
36
|
# @return [void]
|
|
37
37
|
def self.log_info(fmt, *args, filename: nil, line: 0, func: nil, component: nil) end
|
|
38
38
|
|
|
39
|
+
# Log a Wx error informational message to the current Wx log output and abort (exit code 3)
|
|
40
|
+
# @param fmt [String] message (formatting) string
|
|
41
|
+
# @param args [Array<Object>] optional message arguments
|
|
42
|
+
# @param filename [String] optional file name for log info
|
|
43
|
+
# @param line [Integer] optional line number for log info
|
|
44
|
+
# @param func [String] optional function name for log info
|
|
45
|
+
# @param component [String] optional component name for log info
|
|
46
|
+
# @return [void]
|
|
47
|
+
def self.log_fatal_error(fmt, *args, filename: nil, line: 0, func: nil, component: nil) end
|
|
48
|
+
|
|
39
49
|
# Log a Wx Informational message to the current Wx log output
|
|
40
50
|
# @param fmt [String] message (formatting) string
|
|
41
51
|
# @param args [Array<Object>] optional message arguments
|
|
@@ -9,7 +9,7 @@ module Wx
|
|
|
9
9
|
|
|
10
10
|
module HTML
|
|
11
11
|
|
|
12
|
-
class
|
|
12
|
+
class HtmlHelpController
|
|
13
13
|
|
|
14
14
|
# Returns the latest frame size and position settings and whether a new frame is drawn with each invocation.
|
|
15
15
|
# @return [Array(Wx::Frame,Wx::Size,Wx::Point,Boolean)] latest frame settings
|
|
@@ -17,6 +17,28 @@ module Wx
|
|
|
17
17
|
|
|
18
18
|
end
|
|
19
19
|
|
|
20
|
+
# This module method uses Wx::HTML::HtmlHelpController to display help in a modal dialog and returns after
|
|
21
|
+
# the dialog has been closed.
|
|
22
|
+
#
|
|
23
|
+
# This is useful on platforms such as WXOSX where if you display help from a modal dialog, the help window must
|
|
24
|
+
# itself be a modal dialog.
|
|
25
|
+
#
|
|
26
|
+
# @param [Wx::Window] parent parent of the dialog.
|
|
27
|
+
# @param [String] help_file the HTML help file to show.
|
|
28
|
+
# @param [String] topic an optional topic. If this is empty, the help contents will be shown.
|
|
29
|
+
# @param [Integer] style is a combination of the flags described in the {Wx::HTML::HtmlHelpController} documentation.
|
|
30
|
+
# @return [void]
|
|
31
|
+
def self.html_modal_help(parent, help_file, topic = '', style = Wx::HTML::HF_DEFAULT_STYLE); end
|
|
32
|
+
|
|
33
|
+
# Convenience alias for {Wx::HTML.html_modal_help} similarly named as the wxWidgets wxHtmlModalHelp class.
|
|
34
|
+
#
|
|
35
|
+
# @param [Wx::Window] parent parent of the dialog.
|
|
36
|
+
# @param [String] help_file the HTML help file to show.
|
|
37
|
+
# @param [String] topic an optional topic. If this is empty, the help contents will be shown.
|
|
38
|
+
# @param [Integer] style is a combination of the flags described in the {Wx::HTML::HtmlHelpController} documentation.
|
|
39
|
+
# @return [void]
|
|
40
|
+
def self.HtmlModalHelp(parent, help_file, topic, style = Wx::HTML::HF_DEFAULT_STYLE); end
|
|
41
|
+
|
|
20
42
|
end
|
|
21
43
|
|
|
22
44
|
end
|
|
@@ -0,0 +1,108 @@
|
|
|
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
|
+
# This class is the base class of a hierarchy of classes capable of converting text strings between multibyte
|
|
11
|
+
# (SBCS or DBCS) encodings and Unicode.
|
|
12
|
+
#
|
|
13
|
+
# This is an abstract base class which defines the operations implemented by all different conversion classes.
|
|
14
|
+
#
|
|
15
|
+
# @note Note that in wxRuby these classes only provide types without any operations as these are not required
|
|
16
|
+
# as Ruby provides its own perfectly good encoding conversion methods. These types are therefor only required
|
|
17
|
+
# to provide as argument to certain methods of the wrapped wxWidgets classes (see for example {Wx::WEB::WebViewHandlerResponse}).
|
|
18
|
+
class MBConv
|
|
19
|
+
protected def initialize; end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# This class converts between any character set supported by the system and Unicode.
|
|
23
|
+
class CSConv < MBConv
|
|
24
|
+
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# This class implements a Unicode to/from multibyte converter capable of automatically recognizing the encoding of the
|
|
28
|
+
# multibyte text on input.
|
|
29
|
+
#
|
|
30
|
+
# The logic used is very simple: the class uses the BOM (byte order mark) if it's present and tries to interpret the
|
|
31
|
+
# input as UTF-8 otherwise. If this fails, the input is interpreted as being in the default multibyte encoding which
|
|
32
|
+
# can be specified in the constructor of a {Wx::ConvAuto} instance and, in turn, defaults to a fallback encoding if not
|
|
33
|
+
# explicitly given.
|
|
34
|
+
#
|
|
35
|
+
# For the conversion from Unicode to multibyte, the same encoding as was previously used for multibyte to Unicode conversion is reused. If there had been no previous multibyte to Unicode conversion, UTF-8 is used by default. Notice that once the multibyte encoding is automatically detected, it doesn't change any more, i.e. it is entirely determined by the first use of wxConvAuto object in the multibyte-to-Unicode direction. However creating a copy of wxConvAuto object, either via the usual copy constructor or assignment operator, or using wxMBConv::Clone(), resets the automatically detected encoding so that the new copy will try to detect the encoding of the input on first use.
|
|
36
|
+
#
|
|
37
|
+
# This class is used by default in wxWidgets classes and functions reading text from files such as wxFile, wxFFile, wxTextFile, wxFileConfig and various stream classes so the encoding set with its SetFallbackEncoding() method will affect how these classes treat input files. In particular, use this method to change the fall-back multibyte encoding used to interpret the contents of the files whose contents isn't valid UTF-8 or to disallow it completely.
|
|
38
|
+
class ConvAuto < MBConv
|
|
39
|
+
|
|
40
|
+
# Constructs a new Wx::ConvAuto instance.
|
|
41
|
+
#
|
|
42
|
+
# The object will try to detect the input of the given multibyte text automatically but if the automatic detection
|
|
43
|
+
# of Unicode encodings fails, the fall-back encoding enc will be used to interpret it as multibyte text.
|
|
44
|
+
#
|
|
45
|
+
# The default value of enc, {Wx::FONTENCODING_DEFAULT}, means that the global default value (which can be set using
|
|
46
|
+
# {Wx::ConvAuto#set_fallback_encoding}) should be used. As with that method, passing Wx::FONTENCODING_MAX inhibits
|
|
47
|
+
# using this encoding completely so the input multibyte text will always be interpreted as UTF-8 in the absence of
|
|
48
|
+
# BOM and the conversion will fail if the input doesn't form valid UTF-8 sequence.
|
|
49
|
+
#
|
|
50
|
+
# Another special value is {Wx::FONTENCODING_SYSTEM} which means to use the encoding currently used on the user system,
|
|
51
|
+
# i.e. the encoding returned by {Wx::Locale#get_system_encoding}. Any other encoding will be used as is, e.g. passing
|
|
52
|
+
# {Wx::FONTENCODING_ISO8859_1} ensures that non-UTF-8 input will be treated as latin1.
|
|
53
|
+
# @param [Wx::FontEncoding] enc
|
|
54
|
+
def initialize(enc=Wx::FONTENCODING_DEFAULT); end
|
|
55
|
+
|
|
56
|
+
# Disable the use of the fallback encoding: if the input doesn't have a BOM and is not valid UTF-8, the conversion
|
|
57
|
+
# will fail.
|
|
58
|
+
def self.disable_fallback_encoding; end
|
|
59
|
+
|
|
60
|
+
# Returns the encoding used by default by {Wx::ConvAuto} if no other encoding is explicitly specified in constructor.
|
|
61
|
+
#
|
|
62
|
+
# By default, returns {Wx::FONTENCODING_ISO8859_1} but can be changed using #set_fallback_encoding.
|
|
63
|
+
# @return [Wx::FontEncoding]
|
|
64
|
+
def self.get_fallback_encoding; end
|
|
65
|
+
|
|
66
|
+
# Changes the encoding used by default by {Wx::ConvAuto} if no other encoding is explicitly specified in constructor.
|
|
67
|
+
#
|
|
68
|
+
# The default value, which can be retrieved using #get_fallback_encoding, is {Wx::FONTENCODING_ISO8859_1}.
|
|
69
|
+
#
|
|
70
|
+
# Special values of {Wx::FONTENCODING_SYSTEM} or {Wx::FONTENCODING_MAX} can be used for the enc parameter to use
|
|
71
|
+
# the encoding of the current user locale as fall back or not use any encoding for fall back at all, respectively
|
|
72
|
+
# (just as with the similar constructor parameter). However, {Wx::FONTENCODING_DEFAULT} can't be used here.
|
|
73
|
+
# @param [Wx::FontEncoding] enc
|
|
74
|
+
def self.set_fallback_encoding(enc); end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# This class is used to convert between multibyte encodings and UTF-16 Unicode encoding (also known as UCS-2).
|
|
78
|
+
#
|
|
79
|
+
# Unlike UTF-8 encoding, UTF-16 uses words and not bytes and hence depends on the byte ordering: big or little endian.
|
|
80
|
+
# Hence this class is provided in a little endian version and a big endian version. {Wx::MBConvUTF16} always provides
|
|
81
|
+
# the implementation native to the current platform (e.g. LE under Windows and BE under Mac).
|
|
82
|
+
class MBConvUTF16 < MBConv
|
|
83
|
+
def initialize; end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
#This class is used to convert between multibyte encodings and UTF-32 Unicode encoding (also known as UCS-4).
|
|
87
|
+
#
|
|
88
|
+
# Unlike UTF-8 encoding, UTF-32 uses (double) words and not bytes and hence depends on the byte ordering: big or
|
|
89
|
+
# little endian. Hence this class is provided in in a little endian version and a big endian version. {Wx::MBConvUTF32}
|
|
90
|
+
# always provides the implementation native to the current platform (e.g. LE under Windows and BE under Mac).
|
|
91
|
+
class MBConvUTF32 < MBConv
|
|
92
|
+
def initialize; end
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# This class converts between the UTF-7 encoding and Unicode.
|
|
96
|
+
#
|
|
97
|
+
# Notice that, unlike all the other conversion objects, this converter is stateful, and therefor <b>not</b> thread-safe.
|
|
98
|
+
# It has one predefined instance, Wx::ConvUTF7.
|
|
99
|
+
class MBConvUTF7 < MBConv
|
|
100
|
+
def initialize; end
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# This class converts between the UTF-8 encoding and Unicode.
|
|
104
|
+
# It has one predefined instance, Wx::ConvUTF8.
|
|
105
|
+
class MBConvUTF8 < MBConv
|
|
106
|
+
def initialize; end
|
|
107
|
+
end
|
|
108
|
+
end
|