wxruby3 0.9.0.pre.rc.2-x64-mingw-ucrt → 0.9.0.pre.rc.3-x64-mingw-ucrt
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/INSTALL.md +30 -8
- data/README.md +3 -3
- data/ext/wxbase32u_gcc_custom.dll +0 -0
- data/ext/wxbase32u_net_gcc_custom.dll +0 -0
- data/ext/wxbase32u_xml_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_aui_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_core_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_gl_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_html_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_media_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_propgrid_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_qa_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_ribbon_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_richtext_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_stc_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_webview_gcc_custom.dll +0 -0
- data/ext/wxmsw32u_xrc_gcc_custom.dll +0 -0
- data/lib/wx/core/event_loop.rb +7 -0
- data/lib/wx/core/image.rb +33 -0
- data/lib/wx/core/listctrl.rb +17 -13
- data/lib/wx/core/log.rb +90 -0
- data/lib/wx/doc/bitmap.rb +11 -15
- data/lib/wx/doc/event_loop.rb +7 -0
- data/lib/wx/doc/extra/00_starting.md +6 -6
- data/lib/wx/doc/extra/02_lifecycles.md +9 -8
- data/lib/wx/doc/extra/09_exceptions.md +1 -1
- data/lib/wx/doc/extra/11_drawing_and_dc.md +4 -4
- data/lib/wx/doc/font.rb +1 -1
- data/lib/wx/doc/functions.rb +51 -23
- data/lib/wx/doc/gc_dc.rb +1 -1
- data/lib/wx/doc/gen/about_dialog_info.rb +1 -1
- data/lib/wx/doc/gen/accelerator.rb +6 -6
- data/lib/wx/doc/gen/accessible.rb +6 -2
- data/lib/wx/doc/gen/activity_indicator.rb +5 -5
- data/lib/wx/doc/gen/animation.rb +7 -7
- data/lib/wx/doc/gen/animation_ctrl.rb +7 -6
- data/lib/wx/doc/gen/any_button.rb +1 -1
- data/lib/wx/doc/gen/app.rb +17 -11
- data/lib/wx/doc/gen/art_provider.rb +61 -1
- data/lib/wx/doc/gen/aui/aui_dock_art.rb +12 -12
- data/lib/wx/doc/gen/aui/aui_floating_frame.rb +6 -6
- data/lib/wx/doc/gen/aui/aui_manager.rb +45 -27
- data/lib/wx/doc/gen/aui/aui_manager_event.rb +12 -6
- data/lib/wx/doc/gen/aui/aui_mdi_child_frame.rb +6 -6
- data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +6 -6
- data/lib/wx/doc/gen/aui/aui_mdi_parent_frame.rb +10 -10
- data/lib/wx/doc/gen/aui/aui_notebook.rb +34 -7
- data/lib/wx/doc/gen/aui/aui_notebook_event.rb +17 -2
- data/lib/wx/doc/gen/aui/aui_pane_info.rb +51 -51
- data/lib/wx/doc/gen/aui/aui_tab_art.rb +6 -6
- data/lib/wx/doc/gen/aui/aui_tool_bar.rb +33 -18
- data/lib/wx/doc/gen/aui/aui_tool_bar_art.rb +16 -16
- data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +4 -4
- data/lib/wx/doc/gen/aui/aui_tool_bar_item.rb +4 -4
- data/lib/wx/doc/gen/bitmap.rb +32 -26
- data/lib/wx/doc/gen/bitmap_button.rb +10 -6
- data/lib/wx/doc/gen/bitmap_combo_box.rb +12 -7
- data/lib/wx/doc/gen/book_ctrl_base.rb +7 -3
- data/lib/wx/doc/gen/book_ctrl_event.rb +2 -2
- data/lib/wx/doc/gen/box_sizer.rb +1 -1
- data/lib/wx/doc/gen/brush.rb +16 -4
- data/lib/wx/doc/gen/busy_info.rb +1 -1
- data/lib/wx/doc/gen/button.rb +19 -7
- data/lib/wx/doc/gen/calculate_layout_event.rb +2 -1
- data/lib/wx/doc/gen/calendar_ctrl.rb +28 -16
- data/lib/wx/doc/gen/calendar_date_attr.rb +2 -2
- data/lib/wx/doc/gen/calendar_event.rb +3 -3
- data/lib/wx/doc/gen/caret.rb +2 -2
- data/lib/wx/doc/gen/check_box.rb +10 -6
- data/lib/wx/doc/gen/check_list_box.rb +8 -7
- data/lib/wx/doc/gen/choice.rb +7 -6
- data/lib/wx/doc/gen/choicebook.rb +12 -6
- data/lib/wx/doc/gen/client_dc.rb +1 -1
- data/lib/wx/doc/gen/clipboard.rb +1 -1
- data/lib/wx/doc/gen/collapsible_pane.rb +9 -6
- data/lib/wx/doc/gen/collapsible_pane_event.rb +2 -1
- data/lib/wx/doc/gen/colour.rb +16 -6
- data/lib/wx/doc/gen/colour_dialog.rb +6 -6
- data/lib/wx/doc/gen/colour_picker_ctrl.rb +15 -9
- data/lib/wx/doc/gen/colour_picker_event.rb +7 -4
- data/lib/wx/doc/gen/combo_box.rb +22 -13
- data/lib/wx/doc/gen/context_help_button.rb +4 -3
- data/lib/wx/doc/gen/control.rb +9 -6
- data/lib/wx/doc/gen/core.rb +5 -2
- data/lib/wx/doc/gen/cursor.rb +16 -11
- data/lib/wx/doc/gen/data_format.rb +2 -2
- data/lib/wx/doc/gen/data_object.rb +23 -16
- data/lib/wx/doc/gen/date_event.rb +3 -3
- data/lib/wx/doc/gen/date_picker_ctrl.rb +11 -6
- data/lib/wx/doc/gen/dc.rb +37 -12
- data/lib/wx/doc/gen/defs.rb +16 -16
- data/lib/wx/doc/gen/dialog.rb +19 -5
- data/lib/wx/doc/gen/dir_dialog.rb +6 -2
- data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +2 -2
- data/lib/wx/doc/gen/dir_picker_ctrl.rb +14 -9
- data/lib/wx/doc/gen/drag_drop.rb +15 -15
- data/lib/wx/doc/gen/drag_image.rb +6 -6
- data/lib/wx/doc/gen/editable_list_box.rb +7 -3
- data/lib/wx/doc/gen/event.rb +44 -13
- data/lib/wx/doc/gen/event_blocker.rb +1 -1
- data/lib/wx/doc/gen/event_filter.rb +5 -2
- data/lib/wx/doc/gen/event_list.rb +15 -15
- data/lib/wx/doc/gen/events.rb +215 -79
- data/lib/wx/doc/gen/evt_handler.rb +1 -1
- data/lib/wx/doc/gen/ext_help_controller.rb +1 -1
- data/lib/wx/doc/gen/file_dialog.rb +16 -7
- data/lib/wx/doc/gen/file_dir_picker_event.rb +5 -3
- data/lib/wx/doc/gen/file_picker_ctrl.rb +16 -8
- data/lib/wx/doc/gen/find_dialog_event.rb +7 -2
- data/lib/wx/doc/gen/find_replace_data.rb +1 -1
- data/lib/wx/doc/gen/find_replace_dialog.rb +1 -1
- data/lib/wx/doc/gen/flex_grid_sizer.rb +12 -6
- data/lib/wx/doc/gen/font.rb +30 -29
- data/lib/wx/doc/gen/font_data.rb +9 -5
- data/lib/wx/doc/gen/font_dialog.rb +3 -3
- data/lib/wx/doc/gen/font_picker_ctrl.rb +10 -6
- data/lib/wx/doc/gen/font_picker_event.rb +2 -1
- data/lib/wx/doc/gen/frame.rb +34 -11
- data/lib/wx/doc/gen/fs_file.rb +4 -17
- data/lib/wx/doc/gen/gauge.rb +11 -7
- data/lib/wx/doc/gen/gcdc.rb +5 -1
- data/lib/wx/doc/gen/gdi_common.rb +35 -33
- data/lib/wx/doc/gen/gdi_object.rb +1 -1
- data/lib/wx/doc/gen/generic_dir_ctrl.rb +13 -7
- data/lib/wx/doc/gen/graphics_context.rb +29 -28
- data/lib/wx/doc/gen/graphics_object.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +2 -2
- data/lib/wx/doc/gen/grid/grid_cell_attr.rb +10 -10
- data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +2 -2
- data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_editor.rb +13 -10
- data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +12 -12
- data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +1 -1
- data/lib/wx/doc/gen/grid/grid_ctrl.rb +32 -18
- data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +5 -3
- data/lib/wx/doc/gen/grid/grid_event.rb +20 -3
- data/lib/wx/doc/gen/grid/grid_range_select_event.rb +7 -3
- data/lib/wx/doc/gen/grid/grid_size_event.rb +9 -3
- data/lib/wx/doc/gen/grid/grid_string_table.rb +2 -2
- data/lib/wx/doc/gen/grid/grid_table_base.rb +7 -7
- data/lib/wx/doc/gen/grid/grid_table_message.rb +5 -5
- data/lib/wx/doc/gen/grid_bag_sizer.rb +5 -5
- data/lib/wx/doc/gen/grid_sizer.rb +4 -4
- data/lib/wx/doc/gen/gui_event_loop.rb +132 -0
- data/lib/wx/doc/gen/help_controller.rb +18 -12
- data/lib/wx/doc/gen/html/html_cell.rb +36 -18
- data/lib/wx/doc/gen/html/html_cell_event.rb +5 -3
- data/lib/wx/doc/gen/html/html_easy_printing.rb +9 -4
- data/lib/wx/doc/gen/html/html_help_controller.rb +34 -8
- data/lib/wx/doc/gen/html/html_help_data.rb +3 -3
- data/lib/wx/doc/gen/html/html_help_frame.rb +6 -6
- data/lib/wx/doc/gen/html/html_help_window.rb +12 -8
- data/lib/wx/doc/gen/html/html_link_event.rb +4 -3
- data/lib/wx/doc/gen/html/html_list_box.rb +15 -7
- data/lib/wx/doc/gen/html/html_printout.rb +15 -5
- data/lib/wx/doc/gen/html/html_window.rb +19 -8
- data/lib/wx/doc/gen/hyperlink_ctrl.rb +12 -7
- data/lib/wx/doc/gen/hyperlink_event.rb +2 -1
- data/lib/wx/doc/gen/icon.rb +14 -14
- data/lib/wx/doc/gen/image.rb +119 -64
- data/lib/wx/doc/gen/image_list.rb +10 -6
- data/lib/wx/doc/gen/keyboard_state.rb +7 -7
- data/lib/wx/doc/gen/list_box.rb +30 -21
- data/lib/wx/doc/gen/list_ctrl.rb +169 -78
- data/lib/wx/doc/gen/list_event.rb +24 -2
- data/lib/wx/doc/gen/listbook.rb +12 -6
- data/lib/wx/doc/gen/locale.rb +11 -36
- data/lib/wx/doc/gen/log.rb +122 -45
- data/lib/wx/doc/gen/mdi_client_window.rb +2 -2
- data/lib/wx/doc/gen/mdi_frame.rb +15 -9
- data/lib/wx/doc/gen/media_ctrl.rb +7 -4
- data/lib/wx/doc/gen/media_event.rb +8 -2
- data/lib/wx/doc/gen/memory_dc.rb +23 -27
- data/lib/wx/doc/gen/menu.rb +9 -9
- data/lib/wx/doc/gen/menu_bar.rb +4 -4
- data/lib/wx/doc/gen/menu_item.rb +115 -34
- data/lib/wx/doc/gen/message_dialog.rb +48 -30
- data/lib/wx/doc/gen/mini_frame.rb +12 -3
- data/lib/wx/doc/gen/mouse_state.rb +1 -1
- data/lib/wx/doc/gen/multi_choice_dialog.rb +4 -2
- data/lib/wx/doc/gen/non_owned_window.rb +6 -7
- data/lib/wx/doc/gen/notebook.rb +20 -15
- data/lib/wx/doc/gen/number_entry_dialog.rb +2 -2
- data/lib/wx/doc/gen/object.rb +2 -2
- data/lib/wx/doc/gen/palette.rb +3 -3
- data/lib/wx/doc/gen/panel.rb +4 -3
- data/lib/wx/doc/gen/pen.rb +25 -12
- data/lib/wx/doc/gen/pg/numeric_property_validator.rb +1 -1
- data/lib/wx/doc/gen/pg/pg_array_editor_dialog.rb +3 -3
- data/lib/wx/doc/gen/pg/pg_cell.rb +12 -12
- data/lib/wx/doc/gen/pg/pg_editor.rb +76 -74
- data/lib/wx/doc/gen/pg/pg_multi_button.rb +3 -3
- data/lib/wx/doc/gen/pg/pg_properties.rb +221 -138
- data/lib/wx/doc/gen/pg/pg_property.rb +103 -54
- data/lib/wx/doc/gen/pg/pg_validation_info.rb +1 -1
- data/lib/wx/doc/gen/pg/property_grid.rb +19 -19
- data/lib/wx/doc/gen/pg/property_grid_event.rb +18 -5
- data/lib/wx/doc/gen/pg/property_grid_interface.rb +36 -24
- data/lib/wx/doc/gen/pg/property_grid_manager.rb +12 -12
- data/lib/wx/doc/gen/pg/property_grid_page.rb +12 -11
- data/lib/wx/doc/gen/pg/property_grid_page_state.rb +8 -8
- data/lib/wx/doc/gen/picker_base.rb +12 -11
- data/lib/wx/doc/gen/platform_info.rb +7 -7
- data/lib/wx/doc/gen/popup_window.rb +6 -6
- data/lib/wx/doc/gen/progress_dialog.rb +1 -1
- data/lib/wx/doc/gen/property_sheet_dialog.rb +19 -17
- data/lib/wx/doc/gen/prt/page_setup_dialog.rb +2 -2
- data/lib/wx/doc/gen/prt/preview_frame.rb +4 -1
- data/lib/wx/doc/gen/prt/print_abort_dialog.rb +1 -1
- data/lib/wx/doc/gen/prt/print_data.rb +24 -18
- data/lib/wx/doc/gen/prt/print_dialog.rb +4 -4
- data/lib/wx/doc/gen/prt/printer.rb +22 -22
- data/lib/wx/doc/gen/query_layout_info_event.rb +2 -1
- data/lib/wx/doc/gen/radio_box.rb +12 -10
- data/lib/wx/doc/gen/radio_button.rb +8 -6
- data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +39 -39
- data/lib/wx/doc/gen/rbn/ribbon_bar.rb +25 -7
- data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +5 -5
- data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +9 -2
- data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +5 -5
- data/lib/wx/doc/gen/rbn/ribbon_control.rb +4 -4
- data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +6 -2
- data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +5 -5
- data/lib/wx/doc/gen/rbn/ribbon_page.rb +5 -5
- data/lib/wx/doc/gen/rbn/ribbon_panel.rb +12 -6
- data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +5 -5
- data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +4 -2
- data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +5 -5
- data/lib/wx/doc/gen/region.rb +9 -8
- data/lib/wx/doc/gen/region_iterator.rb +2 -2
- data/lib/wx/doc/gen/rtc/rich_text_buffer.rb +92 -92
- data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +56 -34
- data/lib/wx/doc/gen/rtc/rich_text_event.rb +23 -4
- data/lib/wx/doc/gen/rtc/rich_text_file_handler.rb +6 -6
- data/lib/wx/doc/gen/rtc/rich_text_header_footer_data.rb +9 -5
- data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +6 -2
- data/lib/wx/doc/gen/rtc/rich_text_printing.rb +12 -12
- data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +1 -1
- data/lib/wx/doc/gen/rtc/symbol_picker_dialog.rb +2 -2
- data/lib/wx/doc/gen/sash_event.rb +3 -1
- data/lib/wx/doc/gen/sash_layout_window.rb +5 -3
- data/lib/wx/doc/gen/sash_window.rb +8 -3
- data/lib/wx/doc/gen/scroll_bar.rb +29 -8
- data/lib/wx/doc/gen/scrolled_canvas.rb +41 -23
- data/lib/wx/doc/gen/scrolled_control.rb +41 -23
- data/lib/wx/doc/gen/scrolled_window.rb +41 -23
- data/lib/wx/doc/gen/search_ctrl.rb +15 -8
- data/lib/wx/doc/gen/simplebook.rb +2 -2
- data/lib/wx/doc/gen/single_choice_dialog.rb +4 -2
- data/lib/wx/doc/gen/sizer.rb +29 -28
- data/lib/wx/doc/gen/slider.rb +49 -16
- data/lib/wx/doc/gen/spin_button.rb +15 -9
- data/lib/wx/doc/gen/spin_ctrl.rb +12 -6
- data/lib/wx/doc/gen/spin_event.rb +5 -2
- data/lib/wx/doc/gen/splash_screen.rb +16 -12
- data/lib/wx/doc/gen/splitter_event.rb +6 -2
- data/lib/wx/doc/gen/splitter_window.rb +20 -4
- data/lib/wx/doc/gen/static_bitmap.rb +5 -5
- data/lib/wx/doc/gen/static_box.rb +36 -32
- data/lib/wx/doc/gen/static_box_sizer.rb +13 -10
- data/lib/wx/doc/gen/static_line.rb +5 -4
- data/lib/wx/doc/gen/static_text.rb +12 -6
- data/lib/wx/doc/gen/status_bar.rb +14 -5
- data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +55 -7
- data/lib/wx/doc/gen/stc/styled_text_event.rb +224 -49
- data/lib/wx/doc/gen/std_dialog_button_sizer.rb +11 -2
- data/lib/wx/doc/gen/svg_file_dc.rb +3 -3
- data/lib/wx/doc/gen/system_options.rb +11 -1
- data/lib/wx/doc/gen/system_settings.rb +3 -3
- data/lib/wx/doc/gen/task_bar_icon.rb +10 -2
- data/lib/wx/doc/gen/task_bar_icon_event.rb +3 -3
- data/lib/wx/doc/gen/text_attr.rb +11 -7
- data/lib/wx/doc/gen/text_ctrl.rb +61 -92
- data/lib/wx/doc/gen/text_entry.rb +28 -40
- data/lib/wx/doc/gen/text_entry_dialog.rb +19 -19
- data/lib/wx/doc/gen/text_validator.rb +0 -11
- data/lib/wx/doc/gen/time_picker_ctrl.rb +6 -5
- data/lib/wx/doc/gen/timer.rb +8 -4
- data/lib/wx/doc/gen/timer_event.rb +19 -26
- data/lib/wx/doc/gen/tip_provider.rb +1 -1
- data/lib/wx/doc/gen/toggle_button.rb +6 -5
- data/lib/wx/doc/gen/tool_bar.rb +41 -24
- data/lib/wx/doc/gen/tool_tip.rb +2 -2
- data/lib/wx/doc/gen/toolbook.rb +6 -3
- data/lib/wx/doc/gen/top_level_window.rb +35 -25
- data/lib/wx/doc/gen/tree_ctrl.rb +63 -13
- data/lib/wx/doc/gen/tree_event.rb +23 -2
- data/lib/wx/doc/gen/treebook.rb +6 -2
- data/lib/wx/doc/gen/ui_action_simulator.rb +1 -1
- data/lib/wx/doc/gen/utils.rb +9 -3
- data/lib/wx/doc/gen/v_list_box.rb +2 -2
- data/lib/wx/doc/gen/v_scrolled_window.rb +2 -2
- data/lib/wx/doc/gen/validator.rb +7 -5
- data/lib/wx/doc/gen/variant.rb +34 -97
- data/lib/wx/doc/gen/window.rb +157 -102
- data/lib/wx/doc/gen/window_dc.rb +1 -1
- data/lib/wx/doc/gen/with_images.rb +1 -1
- data/lib/wx/doc/gen/wizard.rb +17 -4
- data/lib/wx/doc/gen/wizard_event.rb +9 -2
- data/lib/wx/doc/gen/wizard_page.rb +1 -1
- data/lib/wx/doc/gen/wizard_page_simple.rb +7 -7
- data/lib/wx/doc/gen/xml_node.rb +3 -3
- data/lib/wx/doc/gen/xml_resource.rb +12 -9
- data/lib/wx/doc/image.rb +42 -12
- data/lib/wx/doc/list_ctrl.rb +32 -0
- data/lib/wx/doc/log.rb +28 -0
- data/lib/wx/doc/prt/printer_dc.rb +2 -2
- data/lib/wx/doc/scaled_dc.rb +1 -1
- data/lib/wx/doc/text_validator.rb +12 -0
- data/lib/wx/version.rb +1 -1
- data/lib/wxruby_aui.so +0 -0
- data/lib/wxruby_core.so +0 -0
- data/lib/wxruby_grid.so +0 -0
- data/lib/wxruby_html.so +0 -0
- data/lib/wxruby_pg.so +0 -0
- data/lib/wxruby_prt.so +0 -0
- data/lib/wxruby_rbn.so +0 -0
- data/lib/wxruby_rtc.so +0 -0
- data/lib/wxruby_stc.so +0 -0
- data/tests/test_art.rb +9 -0
- data/tests/test_box_sizer.rb +161 -0
- data/tests/test_grid_sizer.rb +148 -0
- data/tests/test_list_ctrl.rb +53 -0
- data/tests/test_log.rb +163 -0
- data/tests/test_std_controls.rb +58 -0
- data/tests/test_timer.rb +95 -0
- metadata +13 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb68ca47dc52aa1c4ff478322597d44502782a0d58228d94a448d41963614ba6
|
4
|
+
data.tar.gz: 7799517b7e2018421436f41dce8e3f7a5faa9c0cd2b2c4df93b6e2558904a464
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 87cffdbf4f24e354a0b68337a01923c4f5c04084f5cebd02e5a8f7a065e7d92c8fa413852fd008bce63e841f2e031bd776d43009fdb997dd04cbaf1516b9024f
|
7
|
+
data.tar.gz: 434e080088dd9b85becebeb57c56f48c7465940553c56717a946cddf4e3eed31f81e4cccf22e9a715761007696e012f5a2f441edc8f21b307b405f41dfcf0d96
|
data/INSTALL.md
CHANGED
@@ -4,17 +4,20 @@
|
|
4
4
|
|
5
5
|
# Installation of wxRuby3
|
6
6
|
|
7
|
+
Below are installation instructions for Linux, Windows, and Mac (both AMD64 and ARM64).
|
8
|
+
|
7
9
|
## Minimal requirements for installing wxRuby3
|
8
10
|
|
9
11
|
The minimal requirements for installing any source based setup (gem, source package or Github clone) of wxRuby3 are:
|
10
12
|
|
11
|
-
| Sofware | Notes
|
12
|
-
|
13
|
-
| Ruby | A supported version of the Ruby interpreter needs to be installed.
|
14
|
-
| C++ compiler<br>(incl. dev tools like `make`) | On linux a recent version of the GNU C++ compiler (with c++-14 support) needs to be installed<br>On Windows the RubyInstaller MSYS2-Devkit needs to be installed<br>On MacOS XCode with commandline tools needs to be installed |
|
15
|
-
| Git version control toolkit |
|
16
|
-
| SWIG >= 3.0.12 | On MacOS install [Homebrew](https://brew.sh/) and than `brew install swig`
|
17
|
-
| Doxygen (>= 1.9.1, <= 1.9.6) | Doxygen > 1.9.6 has changes that cause problems with the wxWidgets doxygen files.<br>On MacOS: `brew tap mcorino/wxruby3` and than `brew install doxygen@1.9.6` (default brew recipe installs 1.9.7)
|
13
|
+
| Sofware | Notes |
|
14
|
+
|-----------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
15
|
+
| Ruby | A supported version of the Ruby interpreter needs to be installed. |
|
16
|
+
| C++ compiler<br>(incl. dev tools like `make`) | On linux a recent version of the GNU C++ compiler (with c++-14 support) needs to be installed<br>On Windows the RubyInstaller MSYS2-Devkit needs to be installed<br>On MacOS XCode with commandline tools needs to be installed via `sudo xcode-select --install` |
|
17
|
+
| Git version control toolkit | |
|
18
|
+
| SWIG >= 3.0.12 | On MacOS install [Homebrew](https://brew.sh/) and than `brew install swig` |
|
19
|
+
| Doxygen (>= 1.9.1, <= 1.9.6) | Doxygen > 1.9.6 has changes that cause problems with the wxWidgets doxygen files.<br>On MacOS: `brew tap mcorino/wxruby3` and than `brew install doxygen@1.9.6` (default brew recipe installs 1.9.7) |
|
20
|
+
| wxWidgets (>= 3.2) | See [wxWidgets installation](#wxwidgets-installation) |
|
18
21
|
|
19
22
|
The wxRuby3 build process requires `git` to clone a copy of the wxWidgets Github repository to extract the interface
|
20
23
|
specifications from.<br>
|
@@ -44,6 +47,14 @@ gem install wxruby3 --platform=ruby
|
|
44
47
|
|
45
48
|
When installing the source gem the minimal requirements listed above apply.
|
46
49
|
|
50
|
+
On MacOS, if wxWidgets was not available, you can pull in the latest wxWidgets and build it by adding the `WITH_WXWIN=1` option:
|
51
|
+
|
52
|
+
```shell
|
53
|
+
gem install wxruby3 -- WITH_WXWIN=1
|
54
|
+
```
|
55
|
+
|
56
|
+
### wxWidgets installation
|
57
|
+
|
47
58
|
Also a wxWidgets installation (version 3.2 or later) is required for which there are multiple options.
|
48
59
|
|
49
60
|
1. System installed wxWidgets version (including development package)<br>
|
@@ -55,6 +66,17 @@ Also a wxWidgets installation (version 3.2 or later) is required for which there
|
|
55
66
|
build procedure requires access to the wxWidgets interface specification sources which are not normally part of any of
|
56
67
|
the standard distribution packages.
|
57
68
|
|
69
|
+
On MacOS, you can install wxWidgets via [Homebrew](https://brew.sh/):
|
70
|
+
|
71
|
+
```shell
|
72
|
+
brew install wxwidgets
|
73
|
+
```
|
74
|
+
|
75
|
+
Afterwards, you can install the Ruby gem and it will detect wxWidgets in the system automatically:
|
76
|
+
|
77
|
+
```shell
|
78
|
+
gem install wxruby3
|
79
|
+
```
|
58
80
|
|
59
81
|
2. User installed wxWidgets version<br>
|
60
82
|
<br>
|
@@ -65,7 +87,7 @@ Also a wxWidgets installation (version 3.2 or later) is required for which there
|
|
65
87
|
```shell
|
66
88
|
gem install wxruby3 -- WXWIN=/path/to/wx/install
|
67
89
|
```
|
68
|
-
|
90
|
+
|
69
91
|
3. Automatic installed, embedded, wxWidgets version<br>
|
70
92
|
<br>
|
71
93
|
This is the easiest method when the system being installed on does not provide (a compatible) wxWidgets version (and
|
data/README.md
CHANGED
@@ -100,7 +100,7 @@ Currently the following are fully supported:
|
|
100
100
|
|----------------------------------------------------------------------------|-----------------| --- |
|
101
101
|
| Windows 10 (tested)<br>(most likely also Windows 11) | Ruby >= 2.5<br>(RubyInstaller MSYS2-DevKit) | wxWidgets >= 3.2 |
|
102
102
|
| Linux (tested; any AMD-64 distribution)<br>(most likely also i686 and ARM) | Ruby >= 2.5 | wxWidgets >= 3.2 |
|
103
|
-
| MacOS >= 10.10 using Cocoa (tested on AMD-64)
|
103
|
+
| MacOS >= 10.10 using Cocoa (tested on AMD-64 and ARM64 M2 Chip) | Ruby >= 2.5 | wxWidgets >= 3.2 |
|
104
104
|
|
105
105
|
Support for other platforms is not being actively developed at present,
|
106
106
|
but patches are welcome. It is likely to be much simpler to get wxRuby
|
@@ -158,7 +158,7 @@ some use a more modern coding style than others.
|
|
158
158
|
|
159
159
|
Complete (more or less) wxRuby API documentation should be part of any
|
160
160
|
complete wxRuby3 build. This tends to focus on providing a reference
|
161
|
-
of all available modules, classes
|
161
|
+
of all available modules, classes and methods and how to use specific
|
162
162
|
classes and methods, rather than on how to construct an application
|
163
163
|
overall.
|
164
164
|
This documentation (for the latest release) is also available online
|
@@ -190,7 +190,7 @@ If you know of a feature in wxWidgets that you would like to see
|
|
190
190
|
supported in wxRuby3 you are free to ask but do not **EXPECT** unconditional
|
191
191
|
agreement or immediate response.
|
192
192
|
|
193
|
-
### How does wxRuby3 relate to the wxRuby 2.0 (and even older 0.6.0 release
|
193
|
+
### How does wxRuby3 relate to the wxRuby 2.0 (and even older 0.6.0) release?
|
194
194
|
|
195
195
|
wxRuby 0.6.0 was the last in a series of releases developed using a
|
196
196
|
different approach in the early days of wxRuby. Work on this series
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/lib/wx/core/image.rb
CHANGED
@@ -66,6 +66,39 @@ module Wx
|
|
66
66
|
def convert_to_bitmap
|
67
67
|
Wx::Bitmap.from_image(self)
|
68
68
|
end
|
69
|
+
|
70
|
+
module Histogram
|
71
|
+
|
72
|
+
def make_key(r, g, b)
|
73
|
+
(r << 16) | (g << 8) | b
|
74
|
+
end
|
75
|
+
|
76
|
+
def find_first_unused_colour(r=1, g=0, b=0)
|
77
|
+
while self.has_key?(make_key(r,g,b))
|
78
|
+
if r >= 254
|
79
|
+
r = 0
|
80
|
+
if g >= 254
|
81
|
+
return nil if b >= 254
|
82
|
+
g = 0
|
83
|
+
b += 1
|
84
|
+
else
|
85
|
+
g += 1
|
86
|
+
end
|
87
|
+
else
|
88
|
+
r += 1
|
89
|
+
end
|
90
|
+
end
|
91
|
+
[r, g, b]
|
92
|
+
end
|
93
|
+
|
94
|
+
end
|
95
|
+
|
96
|
+
wx_compute_histogram = instance_method :compute_histogram
|
97
|
+
define_method :compute_histogram do
|
98
|
+
hist_hash = wx_compute_histogram.bind(self).call
|
99
|
+
hist_hash.extend Histogram
|
100
|
+
hist_hash
|
101
|
+
end
|
69
102
|
end
|
70
103
|
|
71
104
|
def self.Image(name, bmp_type = nil, *rest)
|
data/lib/wx/core/listctrl.rb
CHANGED
@@ -3,8 +3,23 @@ class Wx::ListCtrl
|
|
3
3
|
# Make these ruby enumerables so find, find_all, map are available
|
4
4
|
include Enumerable
|
5
5
|
# Passes each valid item index into the passed block
|
6
|
-
def each
|
7
|
-
|
6
|
+
def each(&block)
|
7
|
+
if block_given?
|
8
|
+
0.upto(item_count - 1) { | i | block.call(i) }
|
9
|
+
else
|
10
|
+
::Enumerator.new { |y| each { | i | y << i } }
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def each_selected(&block)
|
15
|
+
if block_given?
|
16
|
+
item = -1
|
17
|
+
while (item = get_next_item(item, Wx::LIST_NEXT_ALL, Wx::LIST_STATE_SELECTED)) >= 0
|
18
|
+
block.call(item)
|
19
|
+
end
|
20
|
+
else
|
21
|
+
::Enumerator.new { |y| each_selected { | i | y << i } }
|
22
|
+
end
|
8
23
|
end
|
9
24
|
|
10
25
|
# Returns an Array containing the indexes of the currently selected
|
@@ -19,15 +34,4 @@ class Wx::ListCtrl
|
|
19
34
|
selections
|
20
35
|
end
|
21
36
|
|
22
|
-
# # Stub version for LC_VIRTUAL controls that does nothing; may be
|
23
|
-
# # overridden in subclasses.
|
24
|
-
# def on_get_item_attr(i)
|
25
|
-
# nil
|
26
|
-
# end
|
27
|
-
#
|
28
|
-
# # Stub version for LC_VIRTUAL|LC_REPORT controls that does nothing;
|
29
|
-
# # may be overridden in subclasses.
|
30
|
-
# def on_get_item_column_image(i, col)
|
31
|
-
# -1
|
32
|
-
# end
|
33
37
|
end
|
data/lib/wx/core/log.rb
CHANGED
@@ -14,7 +14,97 @@ module Wx
|
|
14
14
|
alias :timestamp= :set_timestamp
|
15
15
|
alias :verbose :get_verbose
|
16
16
|
alias :verbose= :set_verbose
|
17
|
+
|
18
|
+
def set_component(comp)
|
19
|
+
@component = comp ? comp.to_s : comp
|
20
|
+
end
|
21
|
+
private :set_component
|
22
|
+
|
23
|
+
def component
|
24
|
+
@component
|
25
|
+
end
|
26
|
+
|
27
|
+
def for_component(comp, &block)
|
28
|
+
old_comp = component
|
29
|
+
set_component(comp)
|
30
|
+
begin
|
31
|
+
block.call if block_given?
|
32
|
+
ensure
|
33
|
+
set_component(old_comp)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
class << self
|
42
|
+
|
43
|
+
def setup_log_info(fmt, args, filename, line, func, component)
|
44
|
+
# as wxRuby apps will ever only log from the main thread the only reason why
|
45
|
+
# log info data may be retained beyond the execution scope of the current
|
46
|
+
# log action is because of log repetition counting which will retain the
|
47
|
+
# first log info instance of a repeating message sequence
|
48
|
+
|
49
|
+
# format message
|
50
|
+
msg = fmt % args
|
51
|
+
log_info = {
|
52
|
+
filename: if filename
|
53
|
+
filename.to_s
|
54
|
+
else
|
55
|
+
filename
|
56
|
+
end,
|
57
|
+
line: line,
|
58
|
+
func: if func
|
59
|
+
func.to_s
|
60
|
+
else
|
61
|
+
func
|
62
|
+
end,
|
63
|
+
component: if component
|
64
|
+
component.to_s
|
65
|
+
else
|
66
|
+
Log.component
|
67
|
+
end
|
68
|
+
}
|
69
|
+
if Wx::Log.get_repetition_counting && @last_msg != msg
|
70
|
+
# refresh cache
|
71
|
+
@last_msg = msg
|
72
|
+
@last_info = log_info
|
73
|
+
end
|
74
|
+
[msg, log_info]
|
75
|
+
end
|
76
|
+
private :setup_log_info
|
77
|
+
|
78
|
+
wx_log_generic = self.instance_method :log_generic
|
79
|
+
define_method :log_generic do |lvl, fmt, *args, filename: nil, line: 0, func: nil, component: nil|
|
80
|
+
wx_log_generic.bind(self).call(lvl, *setup_log_info(fmt, args, filename, line, func, component))
|
17
81
|
end
|
82
|
+
|
83
|
+
wx_log_info = self.instance_method :log_info
|
84
|
+
define_method :log_info do |fmt, *args, filename: nil, line: 0, func: nil, component: nil|
|
85
|
+
wx_log_info.bind(self).call(*setup_log_info(fmt, args, filename, line, func, component))
|
86
|
+
end
|
87
|
+
|
88
|
+
wx_log_verbose = self.instance_method :log_verbose
|
89
|
+
define_method :log_verbose do |fmt, *args, filename: nil, line: 0, func: nil, component: nil|
|
90
|
+
wx_log_verbose.bind(self).call(*setup_log_info(fmt, args, filename, line, func, component))
|
91
|
+
end
|
92
|
+
|
93
|
+
wx_log_message = self.instance_method :log_message
|
94
|
+
define_method :log_message do |fmt, *args, filename: nil, line: 0, func: nil, component: nil|
|
95
|
+
wx_log_message.bind(self).call(*setup_log_info(fmt, args, filename, line, func, component))
|
96
|
+
end
|
97
|
+
|
98
|
+
wx_log_warning = self.instance_method :log_warning
|
99
|
+
define_method :log_warning do |fmt, *args, filename: nil, line: 0, func: nil, component: nil|
|
100
|
+
wx_log_warning.bind(self).call(*setup_log_info(fmt, args, filename, line, func, component))
|
101
|
+
end
|
102
|
+
|
103
|
+
wx_log_error = self.instance_method :log_error
|
104
|
+
define_method :log_error do |fmt, *args, filename: nil, line: 0, func: nil, component: nil|
|
105
|
+
wx_log_error.bind(self).call(*setup_log_info(fmt, args, filename, line, func, component))
|
106
|
+
end
|
107
|
+
|
18
108
|
end
|
19
109
|
|
20
110
|
end
|
data/lib/wx/doc/bitmap.rb
CHANGED
@@ -8,20 +8,16 @@ module Wx
|
|
8
8
|
# Default BitmapType for current platform. Actual value is platform dependent.
|
9
9
|
CURSOR_DEFAULT_TYPE = Wx::BitmapType::BITMAP_TYPE_ANY
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
# @see Wx::ArtLocator::find_art
|
23
|
-
def self.Bitmap(name, bmp_type = nil); end
|
24
|
-
|
25
|
-
end
|
11
|
+
# Searches for an art file with basename 'name' and creates a Bitmap if found.
|
12
|
+
# Raises an ArgumentError if not found.
|
13
|
+
# Wx::ArtLocator::find_art is used to look up the art file using ::Kernel#caller_locations to
|
14
|
+
# determine the values for the 'art_path' and 'art_owner' arguments ('art_path' is set to the
|
15
|
+
# absolute path to the folder holding the caller's code and 'art_owner' to the basename of the
|
16
|
+
# caller's source file). The 'art_type' argument is set to <code>:icon</code>.
|
17
|
+
# @param [String,Symbol] name base name of art file
|
18
|
+
# @param [Wx::BitmapType,nil] bmp_type bitmap type for art file (nil means any supported type)
|
19
|
+
# @return [Wx::Bitmap]
|
20
|
+
# @see Wx::ArtLocator::find_art
|
21
|
+
def self.Bitmap(name, bmp_type = nil); end
|
26
22
|
|
27
23
|
end
|
@@ -18,9 +18,9 @@ is available for anyone to look at and use in any way they like. Also, anyone ca
|
|
18
18
|
and enhancements to the project.
|
19
19
|
|
20
20
|
Like wxWidgets wxRuby is a cross platform toolkit. This means that the same program will run on multiple platforms
|
21
|
-
without modification. Currently Supported platforms are Microsoft Windows and Linux or other
|
22
|
-
unix-like systems with GTK2 or GTK3 libraries.
|
23
|
-
|
21
|
+
without modification. Currently Supported platforms are Microsoft Windows, MacOSX and Linux or other
|
22
|
+
unix-like systems with GTK2 or GTK3 libraries. Contributions to achieve support for other wxWidgets supported platforms
|
23
|
+
are appreciated.
|
24
24
|
|
25
25
|
Since the programming language is Ruby, wxRuby programs are simple and easy to write and understand. To accomplish the
|
26
26
|
full Ruby experience wxRuby has not ported the wxWidgets API 1 on 1 to Ruby but has made an effort to make the wxRuby
|
@@ -75,7 +75,7 @@ require 'wx'
|
|
75
75
|
Wx::App.run { puts 'Hello world!' }
|
76
76
|
```
|
77
77
|
|
78
|
-
As you can there is no obligation to create an instance of the Wx::App class in wxRuby for
|
78
|
+
As you can see there is no obligation to create an instance of the Wx::App class in wxRuby for
|
79
79
|
(admittedly extremely) simple applications. Calling the #run class method with a block will suffice.<br>
|
80
80
|
The class method will create an instance of the generic Wx::App class under the hood and use the
|
81
81
|
provided block as the #on_init callback. As the code inside the block returns a false-type value (#puts
|
@@ -127,8 +127,8 @@ When creating #on_init/#on_exit methods it is important to understand that those
|
|
127
127
|
with wxWidgets itself). The base Wx::App class actually does not define these methods so it's also not needed (even not possible)
|
128
128
|
to call `super` in the implementation. The wxRuby application class implementation will call the wxWidget OnInit base implementation
|
129
129
|
itself and after successful completion check for the existence of an #on_init method (which could also be 'automagicallly'
|
130
|
-
created from a block passed to #run) and call that if available or terminate the application if not.
|
131
|
-
exit sequence
|
130
|
+
created from a block passed to #run) and call that if available or terminate the application if not. The
|
131
|
+
exit sequence of executions are similar but reversed (first a possible #on_exit method and than the wxWidgets base OnExit).
|
132
132
|
|
133
133
|
What remains though is that for a derived application class it is still not necessary to explicitly create a class instance.
|
134
134
|
Simply calling the #run class method will suffice.
|
@@ -76,7 +76,7 @@ As mentioned above the wxWidgets GUI framework resources will only be fully init
|
|
76
76
|
starts. Likewise the framework resources will be de-initialized (deleted) after `#on_exit` method ends which means that
|
77
77
|
your application should not attempt to access any of these resources (windows, fonts, colours etc.) after that moment.
|
78
78
|
|
79
|
-
Also, largely because of the way the wxWidgets framework is designed but also because of
|
79
|
+
Also, largely because of the way the wxWidgets framework is designed but also because of the way this meshes with Ruby
|
80
80
|
GC, there is no safe way to re-initialize the framework after an application instance ends it run. This means you
|
81
81
|
**cannot** safely attempt to start another application instance after a previous (first) one has ended.
|
82
82
|
|
@@ -120,7 +120,7 @@ therefor provides special support to ease handling the destruction of these. See
|
|
120
120
|
One of the trickier things to handle correctly in the kind of native extensions like wxRuby is maintaining object
|
121
121
|
identities i.e. keeping native instances synced with their Ruby wrapper counter parts.
|
122
122
|
|
123
|
-
Whenever a native extension is allowed to call back into Ruby space we encounter the problem
|
123
|
+
Whenever a native extension is allowed to call back into Ruby space we encounter the problem that we need to map any
|
124
124
|
native object data provided for the call to the right Ruby types and when necessary to the right Ruby instance (object
|
125
125
|
identity).
|
126
126
|
|
@@ -131,8 +131,8 @@ passing them on to Ruby space.
|
|
131
131
|
For a lot of other objects though it is essential to not only map to the right **most derived** class type but also to
|
132
132
|
the exact Ruby instance which was originally instantiated as wrapper for the native object if any exists (in case no
|
133
133
|
Ruby instance existed yet a new instance of the correct **most derived** class should be instantiated at that point).
|
134
|
-
The reason this is important is 1
|
135
|
-
reference other data and/or functionality related to that specific Ruby/native pair and 2
|
134
|
+
The reason this is important is **1.** because the Ruby instance may have been used to identify, link to or otherwise
|
135
|
+
reference other data and/or functionality related to that specific Ruby/native pair and **2.** the Ruby instance could
|
136
136
|
contain data elements (instance variables) related to that specific Ruby/native pair.<br>
|
137
137
|
In the case of wxRuby Window instance for example it is common to derive custom Window classes with custom behaviour and
|
138
138
|
corresponding instance variables that drive that behaviour. When an event handler or an overloaded native method is passed
|
@@ -155,11 +155,12 @@ There are however quite a lot of wrapped native objects in wxRuby for which *obj
|
|
155
155
|
object tracking has been disabled for their classes. This means these kind of classes/object should **not** be derived from
|
156
156
|
(if even possible and/or useful) to add functionality/information or their identity used as key to link other information.<br>
|
157
157
|
These classes include:
|
158
|
-
|
158
|
+
* classes considered POD types like Wx::Size, Wx::Point, Wx::RealPoint, Wx::Rect, Wx::GBSpan, Wx::GBPosition, Wx::BusyInfoFlags,
|
159
159
|
Wx::AboutDialogInfo
|
160
|
-
|
160
|
+
* final non-instantiatable classes like the Wx::DC (Device Context) class family, Wx::GraphicsContext, Wx::WindowsDisabler,
|
161
161
|
Wx::EventBlocker, Wx::BusyInfo
|
162
|
-
|
163
|
-
|
162
|
+
* classes with native singleton objects like Wx::Clipboard
|
163
|
+
* the reference counted GDI objects like Wx::Pen, Wx::Brush, Wx::Colour, Wx::Cursor, Wx::Bitmap, Wx::Icon and similar
|
164
|
+
reference counted objects like Wx::Font
|
164
165
|
|
165
166
|
The reference documentation will note untracked object classes.
|
@@ -15,7 +15,7 @@ your own Ruby application code.
|
|
15
15
|
|
16
16
|
Any exceptions raised from wxRuby wrapper code signal coding errors that need to be rectified.
|
17
17
|
|
18
|
-
As far as handling application code exceptions is concerned the same advice applies as for wxWidgets itself; do **
|
18
|
+
As far as handling application code exceptions is concerned the same advice applies as for wxWidgets itself; do **NOT**
|
19
19
|
let exceptions escape your event handlers meaning that if you can reasonably expect application code to raise exceptions
|
20
20
|
you should make sure to catch any such exceptions within the context of the event handler like:
|
21
21
|
|
@@ -12,9 +12,9 @@ device context object is destroyed.
|
|
12
12
|
For this reason the common practice in wxWidgets C++ code would be to create temporary DC objects on the
|
13
13
|
stack and draw on them while they are in scope (for several classes it is even strongly advised to never create
|
14
14
|
them any other way and to never keep objects alive out of scope). When leaving the scope these object would than be
|
15
|
-
automatically destroyed and
|
15
|
+
automatically destroyed and any buffered output flushed to the final target.
|
16
16
|
|
17
|
-
In Ruby this approach is impossible as Ruby is a purely dynamic language and does not **this kind** of scope bound
|
17
|
+
In Ruby this approach is impossible as Ruby is a purely dynamic language and does not support **this kind** of scope bound
|
18
18
|
life cycles. Any DC object created would have to be dynamically created and due to the properties of the GC driven
|
19
19
|
life cycles could well be kept alive beyond the scope of it's creation. This will not always cause problems but could
|
20
20
|
and does not really have an upside.
|
@@ -24,7 +24,7 @@ cannot be instantiated using `new`. Rather all `Wx::DC` derived classes provide
|
|
24
24
|
temporary dc objects that will be passed on to blocks given and will only exist for the duration of the execution of
|
25
25
|
the block. This will guarantee proper DC cleanup when leaving it's usage scope.
|
26
26
|
|
27
|
-
> Note that it is a **BAD** idea to think about storing the dc reference
|
27
|
+
> Note that it is a **BAD** idea to think about storing the dc reference provided to the block for later access!
|
28
28
|
|
29
29
|
A typical usage of a `::draw_on` method would be:
|
30
30
|
|
@@ -48,7 +48,7 @@ The `Wx::PaintDC` and `Wx::AutoBufferedPaintDC` classes provide `::draw_on` meth
|
|
48
48
|
this is mostly to be consistent.
|
49
49
|
|
50
50
|
In this case it is recommended to instead use the `Wx::Window#paint` or `Wx::Window#paint_buffered` methods as these
|
51
|
-
provide some optimizations with regard to automatically detecting
|
51
|
+
provide some optimizations with regard to automatically detecting if the methods are called inside `Wx::EVT_PAINT`
|
52
52
|
handlers (which should normally be the case) or not.
|
53
53
|
|
54
54
|
So the typical way to do buffered painting inside a windows `Wx::EVT_PAINT` handler would be something like:
|
data/lib/wx/doc/font.rb
CHANGED
data/lib/wx/doc/functions.rb
CHANGED
@@ -11,32 +11,73 @@ module Wx
|
|
11
11
|
# @param lvl [Integer] logging level (like {Wx::LOG_Message})
|
12
12
|
# @param fmt [String] message (formatting) string
|
13
13
|
# @param args [Array<Object>] optional message arguments
|
14
|
-
# @
|
15
|
-
|
14
|
+
# @param filename [String] optional file name for log info
|
15
|
+
# @param line [Integer] optional line number for log info
|
16
|
+
# @param func [String] optional function name for log info
|
17
|
+
# @param component [String] optional component name for log info
|
18
|
+
# @return [void]
|
19
|
+
def self.log_generic(lvl, fmt, *args, filename: nil, line: 0, func: nil, component: nil) end
|
16
20
|
|
17
21
|
# Log a Wx low priority informational message to the current Wx log output
|
18
22
|
# @param fmt [String] message (formatting) string
|
19
23
|
# @param args [Array<Object>] optional message arguments
|
20
|
-
# @
|
21
|
-
|
24
|
+
# @param filename [String] optional file name for log info
|
25
|
+
# @param line [Integer] optional line number for log info
|
26
|
+
# @param func [String] optional function name for log info
|
27
|
+
# @param component [String] optional component name for log info
|
28
|
+
# @return [void]
|
29
|
+
def self.log_info(fmt, *args, filename: nil, line: 0, func: nil, component: nil) end
|
22
30
|
|
23
31
|
# Log a Wx Informational message to the current Wx log output
|
24
32
|
# @param fmt [String] message (formatting) string
|
25
33
|
# @param args [Array<Object>] optional message arguments
|
26
|
-
# @
|
27
|
-
|
34
|
+
# @param filename [String] optional file name for log info
|
35
|
+
# @param line [Integer] optional line number for log info
|
36
|
+
# @param func [String] optional function name for log info
|
37
|
+
# @param component [String] optional component name for log info
|
38
|
+
# @return [void]
|
39
|
+
def self.log_message(fmt, *args, filename: nil, line: 0, func: nil, component: nil) end
|
28
40
|
|
29
41
|
# Log a Wx Error message to the current Wx log output
|
30
42
|
# @param fmt [String] message (formatting) string
|
31
43
|
# @param args [Array<Object>] optional message arguments
|
32
|
-
# @
|
33
|
-
|
44
|
+
# @param filename [String] optional file name for log info
|
45
|
+
# @param line [Integer] optional line number for log info
|
46
|
+
# @param func [String] optional function name for log info
|
47
|
+
# @param component [String] optional component name for log info
|
48
|
+
# @return [void]
|
49
|
+
def self.log_error(fmt, *args, filename: nil, line: 0, func: nil, component: nil) end
|
34
50
|
|
35
51
|
# Log a Wx Warning message to the current Wx log output
|
36
52
|
# @param fmt [String] message (formatting) string
|
37
53
|
# @param args [Array<Object>] optional message arguments
|
38
|
-
# @
|
39
|
-
|
54
|
+
# @param filename [String] optional file name for log info
|
55
|
+
# @param line [Integer] optional line number for log info
|
56
|
+
# @param func [String] optional function name for log info
|
57
|
+
# @param component [String] optional component name for log info
|
58
|
+
# @return [void]
|
59
|
+
def self.log_warning(fmt, *args, filename: nil, line: 0, func: nil, component: nil) end
|
60
|
+
|
61
|
+
# Log a Wx verbose informational message to the current Wx log output
|
62
|
+
# (needs explicit activation to be shown)
|
63
|
+
# @param fmt [String] message (formatting) string
|
64
|
+
# @param args [Array<Object>] optional message arguments
|
65
|
+
# @param filename [String] optional file name for log info
|
66
|
+
# @param line [Integer] optional line number for log info
|
67
|
+
# @param func [String] optional function name for log info
|
68
|
+
# @param component [String] optional component name for log info
|
69
|
+
# @return [void]
|
70
|
+
def self.log_verbose(fmt, *args, filename: nil, line: 0, func: nil, component: nil) end
|
71
|
+
|
72
|
+
# Log a Wx debug message to the current Wx log output
|
73
|
+
# @param fmt [String] message (formatting) string
|
74
|
+
# @param args [Array<Object>] optional message arguments
|
75
|
+
# @param filename [String] optional file name for log info
|
76
|
+
# @param line [Integer] optional line number for log info
|
77
|
+
# @param func [String] optional function name for log info
|
78
|
+
# @param component [String] optional component name for log info
|
79
|
+
# @return [void]
|
80
|
+
def self.log_debug(fmt, *args, filename: nil, line: 0, func: nil, component: nil) end
|
40
81
|
|
41
82
|
# Log a Wx Status message - this is directed to the status bar of the
|
42
83
|
# specified Frame window, or the application main window if not specified.
|
@@ -51,19 +92,6 @@ module Wx
|
|
51
92
|
# @return [nil]
|
52
93
|
def self.log_status(fmt, *args) end
|
53
94
|
|
54
|
-
# Log a Wx verbose informational message to the current Wx log output
|
55
|
-
# (needs explicit activation to be shown)
|
56
|
-
# @param fmt [String] message (formatting) string
|
57
|
-
# @param args [Array<Object>] optional message arguments
|
58
|
-
# @return [nil]
|
59
|
-
def self.log_verbose(fmt, *args) end
|
60
|
-
|
61
|
-
# Log a Wx debug message to the current Wx log output
|
62
|
-
# @param fmt [String] message (formatting) string
|
63
|
-
# @param args [Array<Object>] optional message arguments
|
64
|
-
# @return [nil]
|
65
|
-
def self.log_debug(fmt, *args) end
|
66
|
-
|
67
95
|
# @!endgroup
|
68
96
|
|
69
97
|
# @!group Other class methods
|
data/lib/wx/doc/gc_dc.rb
CHANGED
@@ -66,7 +66,7 @@ module Wx
|
|
66
66
|
class AboutDialogInfo < ::Object
|
67
67
|
|
68
68
|
# Default constructor leaves all fields are initially uninitialized, in general you should call at least {Wx::AboutDialogInfo#set_version}, {Wx::AboutDialogInfo#set_copyright} and {Wx::AboutDialogInfo#set_description}.
|
69
|
-
# @return [AboutDialogInfo]
|
69
|
+
# @return [Wx::AboutDialogInfo]
|
70
70
|
def initialize; end
|
71
71
|
|
72
72
|
# Adds an artist name to be shown in the program credits.
|