wxruby3 0.9.1 → 0.9.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +1 -0
- data/ext/wxruby3/include/wxRubyApp.h +338 -0
- data/ext/wxruby3/include/wxruby-Config.h +6 -6
- data/ext/wxruby3/swig/common.i +1 -1
- data/lib/wx/aui/aui_tab_ctrl.rb +18 -0
- data/lib/wx/aui/auinotebook.rb +6 -2
- data/lib/wx/aui/require.rb +1 -0
- data/lib/wx/core/app.rb +2 -2
- data/lib/wx/core/collapsible_pane.rb +1 -1
- data/lib/wx/core/controlwithitems.rb +8 -6
- data/lib/wx/core/menu.rb +10 -0
- data/lib/wx/core/notebook.rb +6 -2
- data/lib/wx/core/sizer.rb +11 -0
- data/lib/wx/core/task_bar_button.rb +19 -0
- data/lib/wx/core/textctrl.rb +11 -1
- data/lib/wx/core/{treectrl.rb → tree_ctrl.rb} +31 -12
- data/lib/wx/core/window.rb +10 -0
- data/lib/wx/doc/app.rb +48 -38
- data/lib/wx/doc/art_locator.rb +47 -43
- data/lib/wx/doc/aui/auimanager.rb +16 -8
- data/lib/wx/doc/aui/auinotebook.rb +20 -5
- data/lib/wx/doc/clipboard.rb +11 -7
- data/lib/wx/doc/colour_dialog.rb +14 -10
- data/lib/wx/doc/controlwithitems.rb +17 -7
- data/lib/wx/doc/data_object.rb +2 -2
- data/lib/wx/doc/evthandler.rb +113 -108
- data/lib/wx/doc/font.rb +1 -0
- data/lib/wx/doc/gc_dc.rb +6 -1
- data/lib/wx/doc/graphics_context.rb +1 -0
- data/lib/wx/doc/grid/grid.rb +22 -1
- data/lib/wx/doc/help_controller.rb +11 -7
- data/lib/wx/doc/html/html_help_controller.rb +12 -4
- data/lib/wx/doc/list_ctrl.rb +33 -29
- data/lib/wx/doc/menu.rb +20 -0
- data/lib/wx/doc/notebook.rb +21 -0
- data/lib/wx/doc/pg/events.rb +13 -9
- data/lib/wx/doc/pg/pg_property.rb +18 -0
- data/lib/wx/doc/progress_dialog.rb +36 -32
- data/lib/wx/doc/prt/page_setup_dialog.rb +20 -12
- data/lib/wx/doc/prt/print_data.rb +13 -5
- data/lib/wx/doc/prt/print_dialog.rb +31 -23
- data/lib/wx/doc/prt/printer.rb +20 -12
- data/lib/wx/doc/radio_box.rb +19 -15
- data/lib/wx/doc/rbn/ribbon_bar.rb +13 -5
- data/lib/wx/doc/rbn/ribbon_button_bar.rb +13 -5
- data/lib/wx/doc/rbn/ribbon_gallery.rb +13 -5
- data/lib/wx/doc/rbn/ribbon_tool_bar.rb +13 -5
- data/lib/wx/doc/region_iterator.rb +32 -28
- data/lib/wx/doc/rtc/rich_text_composite_object.rb +24 -0
- data/lib/wx/doc/rtc/rich_text_ctrl.rb +24 -0
- data/lib/wx/doc/rtc/rich_text_paragraph.rb +24 -0
- data/lib/wx/doc/rtc/richtext_buffer.rb +27 -19
- data/lib/wx/doc/rtc/richtext_printing.rb +17 -9
- data/lib/wx/doc/rtc/richtext_style_sheet.rb +17 -9
- data/lib/wx/doc/sizer.rb +20 -0
- data/lib/wx/doc/stc/styled_text_ctrl.rb +24 -0
- data/lib/wx/doc/stream.rb +39 -35
- data/lib/wx/doc/system_settings.rb +30 -26
- data/lib/wx/doc/text_validator.rb +12 -8
- data/lib/wx/doc/textctrl.rb +16 -0
- data/lib/wx/doc/tree_ctrl.rb +95 -0
- data/lib/wx/doc/treebook.rb +9 -5
- data/lib/wx/doc/v_list_box.rb +9 -5
- data/lib/wx/doc/variant.rb +164 -160
- data/lib/wx/doc/window.rb +57 -47
- data/lib/wx/doc/window_disabler.rb +10 -6
- data/lib/wx/grid/grid.rb +27 -4
- data/lib/wx/pg/pg_property.rb +22 -0
- data/lib/wx/rtc/require.rb +3 -0
- data/lib/wx/rtc/rich_text_composite_object.rb +25 -0
- data/lib/wx/rtc/rich_text_ctrl.rb +25 -0
- data/lib/wx/rtc/rich_text_paragraph.rb +25 -0
- data/lib/wx/stc/require.rb +1 -0
- data/lib/wx/stc/styled_text_ctrl.rb +25 -0
- data/lib/wx/version.rb +1 -1
- data/rakelib/lib/config/linux.rb +0 -3
- data/rakelib/lib/config/macosx.rb +2 -2
- data/rakelib/lib/config/mingw.rb +1 -1
- data/rakelib/lib/config/unixish.rb +1 -1
- data/rakelib/lib/config.rb +14 -4
- data/rakelib/lib/core/package.rb +14 -7
- data/rakelib/lib/core/spec.rb +6 -1
- data/rakelib/lib/director/accelerator.rb +2 -3
- data/rakelib/lib/director/accessible.rb +47 -0
- data/rakelib/lib/director/app.rb +12 -319
- data/rakelib/lib/director/app_traits.rb +10 -12
- data/rakelib/lib/director/ctrl_with_items.rb +17 -5
- data/rakelib/lib/director/data_format.rb +1 -1
- data/rakelib/lib/director/derived_dc.rb +1 -1
- data/rakelib/lib/director/dialog.rb +1 -0
- data/rakelib/lib/director/drag_image.rb +2 -3
- data/rakelib/lib/director/event.rb +2 -2
- data/rakelib/lib/director/frame.rb +1 -3
- data/rakelib/lib/director/gdicommon.rb +8 -10
- data/rakelib/lib/director/graphics_context.rb +2 -4
- data/rakelib/lib/director/grid_ctrl.rb +34 -3
- data/rakelib/lib/director/icon.rb +5 -2
- data/rakelib/lib/director/list_ctrl.rb +5 -6
- data/rakelib/lib/director/locale.rb +1 -3
- data/rakelib/lib/director/log.rb +1 -4
- data/rakelib/lib/director/media_ctrl.rb +54 -0
- data/rakelib/lib/director/menu.rb +16 -1
- data/rakelib/lib/director/menu_item.rb +2 -2
- data/rakelib/lib/director/pgproperties.rb +1 -1
- data/rakelib/lib/director/pgproperty.rb +24 -1
- data/rakelib/lib/director/property_grid_interface.rb +5 -10
- data/rakelib/lib/director/richtext_composite_object.rb +25 -0
- data/rakelib/lib/director/richtext_ctrl.rb +14 -4
- data/rakelib/lib/director/richtext_formatting_dialog.rb +7 -5
- data/rakelib/lib/director/richtext_paragraph_layout_box.rb +9 -7
- data/rakelib/lib/director/sizer.rb +15 -0
- data/rakelib/lib/director/static_box.rb +4 -5
- data/rakelib/lib/director/styled_text_ctrl.rb +12 -0
- data/rakelib/lib/director/task_bar_button.rb +30 -0
- data/rakelib/lib/director/task_bar_icon.rb +5 -13
- data/rakelib/lib/director/textctrl.rb +12 -1
- data/rakelib/lib/director/tool_tip.rb +1 -1
- data/rakelib/lib/director/top_level_window.rb +4 -5
- data/rakelib/lib/director/tree_ctrl.rb +5 -6
- data/rakelib/lib/director/variant.rb +1 -1
- data/rakelib/lib/director/window.rb +24 -5
- data/rakelib/lib/director.rb +4 -4
- data/rakelib/lib/extractor/function.rb +6 -6
- data/rakelib/lib/extractor.rb +34 -5
- data/rakelib/lib/generate/analyzer.rb +8 -3
- data/rakelib/lib/generate/doc/busy_info.yaml +0 -2
- data/rakelib/lib/generate/doc/clipboard.yaml +0 -2
- data/rakelib/lib/generate/doc/cursor.yaml +0 -2
- data/rakelib/lib/generate/doc/panel.yaml +7 -0
- data/rakelib/lib/generate/doc.rb +76 -14
- data/rakelib/lib/specs/interfaces.rb +161 -160
- data/rakelib/lib/typemap/common.rb +30 -1
- data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +74 -2
- data/rakelib/yard/templates/default/fulldoc/html/full_list.erb +38 -0
- data/rakelib/yard/templates/default/fulldoc/html/setup.rb +39 -0
- data/rakelib/yard/templates/default/tags/html/wxrb_require.erb +10 -0
- data/rakelib/yard/templates/default/tags/setup.rb +16 -0
- data/rakelib/yard/yard-custom-templates.rb +3 -0
- data/samples/treectrl/treectrl.rb +1 -1
- data/tests/media/beep_lo.wav +0 -0
- data/tests/test_list_ctrl.rb +1 -1
- data/tests/test_media_ctrl.rb +38 -0
- data/tests/test_menu.rb +69 -0
- data/tests/test_pg.rb +27 -0
- data/tests/test_richtext.rb +45 -0
- data/tests/test_sizer.rb +16 -0
- data/tests/test_std_controls.rb +42 -1
- data/tests/test_styled_text_ctrl.rb +46 -0
- data/tests/test_tree_ctrl.rb +138 -0
- data/tests/test_window.rb +12 -0
- data/tests/testapp_noframe.rb +1 -1
- metadata +31 -3
data/lib/wx/doc/app.rb
CHANGED
@@ -5,42 +5,52 @@
|
|
5
5
|
# :startdoc:
|
6
6
|
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
8
|
+
module Wx
|
9
|
+
|
10
|
+
class App
|
11
|
+
|
12
|
+
# Set the menu item id for the About menu item.
|
13
|
+
# Default is {Wx::ID_ABOUT}
|
14
|
+
# @param [Integer] id
|
15
|
+
# @wxrb_require WXOSX
|
16
|
+
def set_mac_about_menu_itemid(id) end
|
17
|
+
alias :mac_about_menu_itemid= :set_mac_about_menu_itemid
|
18
|
+
|
19
|
+
# Get the current menu item id for the About menu item.
|
20
|
+
# Default is {Wx::ID_ABOUT}
|
21
|
+
# @return [Integer]
|
22
|
+
# @wxrb_require WXOSX
|
23
|
+
def get_mac_about_menu_itemid(id) end
|
24
|
+
alias :mac_about_menu_itemid :get_mac_about_menu_itemid
|
25
|
+
|
26
|
+
# Set the menu item id for the Preferences menu item.
|
27
|
+
# Default is {Wx::ID_PREFERENCES}
|
28
|
+
# @param [Integer] id
|
29
|
+
# @wxrb_require WXOSX
|
30
|
+
def set_mac_preferences_menu_itemid(id) end
|
31
|
+
alias :mac_preferences_menu_itemid= :set_mac_preferences_menu_itemid
|
32
|
+
|
33
|
+
# Get the current menu item id for the Preferences menu item.
|
34
|
+
# Default is {Wx::ID_PREFERENCES}
|
35
|
+
# @return [Integer]
|
36
|
+
# @wxrb_require WXOSX
|
37
|
+
def get_mac_preferences_menu_itemid(id) end
|
38
|
+
alias :mac_preferences_menu_itemid :get_mac_preferences_menu_itemid
|
39
|
+
|
40
|
+
# Set the menu item id for the Exit menu item.
|
41
|
+
# Default is {Wx::ID_EXIT}
|
42
|
+
# @param [Integer] id
|
43
|
+
# @wxrb_require WXOSX
|
44
|
+
def set_mac_exit_menu_itemid(id) end
|
45
|
+
alias :mac_exit_menu_itemid= :set_mac_exit_menu_itemid
|
46
|
+
|
47
|
+
# Get the current menu item id for the Exit menu item.
|
48
|
+
# Default is {Wx::ID_EXIT}
|
49
|
+
# @return [Integer]
|
50
|
+
# @wxrb_require WXOSX
|
51
|
+
def get_mac_exit_menu_itemid(id) end
|
52
|
+
alias :mac_exit_menu_itemid :get_mac_exit_menu_itemid
|
53
|
+
|
54
|
+
end
|
55
|
+
|
46
56
|
end
|
data/lib/wx/doc/art_locator.rb
CHANGED
@@ -9,55 +9,59 @@
|
|
9
9
|
# :startdoc:
|
10
10
|
|
11
11
|
|
12
|
-
module Wx
|
12
|
+
module Wx
|
13
13
|
|
14
|
-
|
15
|
-
ART_FOLDER = 'art'
|
14
|
+
module ArtLocator
|
16
15
|
|
17
|
-
|
16
|
+
# Default name of art folder.
|
17
|
+
ART_FOLDER = 'art'
|
18
18
|
|
19
|
-
|
20
|
-
# By default this returns ART_FOLDER
|
21
|
-
# @return [String]
|
22
|
-
def art_folder; end
|
19
|
+
class << self
|
23
20
|
|
24
|
-
|
25
|
-
|
26
|
-
|
21
|
+
# Returns the base name for the folder holding application art files.
|
22
|
+
# By default this returns ART_FOLDER
|
23
|
+
# @return [String]
|
24
|
+
def art_folder; end
|
27
25
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
# after the lookup in the caller's path has failed.
|
32
|
-
def add_search_path(*names) end
|
33
|
-
alias :add_search_paths :add_search_path
|
26
|
+
# Sets the base name for the folder holding application art files.
|
27
|
+
# @param [String] name art folder base name
|
28
|
+
def art_folder=(name) end
|
34
29
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
30
|
+
# Adds one or more search paths to look for art files.
|
31
|
+
# By default ArtLocator#find_art will look only at locations of the caller's
|
32
|
+
# file path. If search paths have been added though these will be searched
|
33
|
+
# after the lookup in the caller's path has failed.
|
34
|
+
def add_search_path(*names) end
|
35
|
+
alias :add_search_paths :add_search_path
|
36
|
+
|
37
|
+
# Searches for the an art file for the given 'art_name'.
|
38
|
+
# By default the search will be performed at the following locations (in order):
|
39
|
+
# 1. <art_path>/<#art_folder>/<art_section>/<art_type>/
|
40
|
+
# 2. <art_path>/<#art_folder>/<art_section>/
|
41
|
+
# 3. <art_path>/<#art_folder>/
|
42
|
+
# 4. <art_path>/
|
43
|
+
# Where 'art_type' is any of <code>:icon</code>, <code>:bitmap</code>, <code>:cursor</code>,
|
44
|
+
# <code>:image</code> or <code>nil</code>. If 'art_type' is nil the first location will be skipped.
|
45
|
+
# In case 'art_path' == <code>nil</code> the absolute path to the folder holding the caller's
|
46
|
+
# code will be used which is determined through ::Kernel#caller_locations.
|
47
|
+
# If 'art_section' is also <code>nil</code> the basename of the caller's source file will be used.
|
48
|
+
# At each location the existence of a file with base name 'art_name' and each of the supported
|
49
|
+
# extensions for the given 'art_type' (see wxWidgets documentation) will be tested. If 'art_type' is nil
|
50
|
+
# all extensions for all supported bitmap types will be tested (similar to when 'art_type' is :image).
|
51
|
+
# If an optional Wx::BitmapType is specified through 'bmp_type' the tested extensions will
|
52
|
+
# be restricted to the extensions supported for specified the bitmap type.
|
53
|
+
#
|
54
|
+
# In case additional search paths have been specified through #add_search_path these will be
|
55
|
+
# searched after the lookup at 'art_path' fails. For each search path the same lookups
|
56
|
+
# will be performed (replacing 'art_path' by the search path).
|
57
|
+
# @param [String,Symbol] art_name base name for art file
|
58
|
+
# @param [Symbol,nil] art_type type of art to look for (:icon, :bitmap, :cursor, :image)
|
59
|
+
# @param [String,nil] art_path base path to look up the art file
|
60
|
+
# @param [String,nil] art_section optional owner folder name for art files
|
61
|
+
# @param [Wx::BitmapType,nil] bmp_type bitmap type of art file
|
62
|
+
def find_art(art_name, art_type: nil, art_path: nil, art_section: nil, bmp_type: nil) end
|
63
|
+
|
64
|
+
end
|
61
65
|
|
62
66
|
end
|
63
67
|
|
@@ -5,14 +5,22 @@
|
|
5
5
|
# :startdoc:
|
6
6
|
|
7
7
|
|
8
|
-
|
8
|
+
module Wx
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
module AUI
|
11
|
+
|
12
|
+
class AuiManager
|
13
|
+
|
14
|
+
# Yield each pane to the given block.
|
15
|
+
# @yieldparam [Wx::AUI::AuiPaneInfo] pane the Aui pane info yielded
|
16
|
+
def each_pane; end
|
17
|
+
|
18
|
+
# Returns an array of all panes managed by the frame manager.
|
19
|
+
# @return [Array<Wx::AUI::AuiPaneInfo>] all managed panes
|
20
|
+
def get_all_panes; end
|
21
|
+
alias_method :all_panes, :get_all_panes
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
13
25
|
|
14
|
-
# Returns an array of all panes managed by the frame manager.
|
15
|
-
# @return [Array<Wx::AUI::AuiPaneInfo>] all managed panes
|
16
|
-
def get_all_panes; end
|
17
|
-
alias_method :all_panes, :get_all_panes
|
18
26
|
end
|
@@ -5,11 +5,26 @@
|
|
5
5
|
# :startdoc:
|
6
6
|
|
7
7
|
|
8
|
-
|
8
|
+
module Wx
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
module AUI
|
11
|
+
|
12
|
+
class AuiNotebook
|
13
|
+
|
14
|
+
# Iterate each notebook page.
|
15
|
+
# Passes each page to the given block.
|
16
|
+
# Returns an Enumerator if no block given.
|
17
|
+
# @yieldparam [Wx::Window] page notebook page
|
18
|
+
# @return [Object,Enumerator] last result of block or Enumerator if no block given.
|
19
|
+
def each_page; end
|
20
|
+
|
21
|
+
# Finds tab control and its tab index associated with a given window.
|
22
|
+
# @param [Wx::Window] page the notebook page window
|
23
|
+
# @return [Array<Wx::AUI::AuiTabCtrl, Integer>, nil] tab control and index if found else nil
|
24
|
+
def find_tab(page) end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
14
29
|
|
15
30
|
end
|
data/lib/wx/doc/clipboard.rb
CHANGED
@@ -5,14 +5,18 @@
|
|
5
5
|
# :startdoc:
|
6
6
|
|
7
7
|
|
8
|
-
|
8
|
+
module Wx
|
9
9
|
|
10
|
-
|
11
|
-
alias :fetch :get_data
|
10
|
+
class Clipboard
|
12
11
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
alias :place :set_data
|
13
|
+
alias :fetch :get_data
|
14
|
+
|
15
|
+
# Opens the global clipboard and passes the clipboard object to the block.
|
16
|
+
# @yieldparam [Wx::Clipboard] clip the global clipboard object
|
17
|
+
# @return [Object] block result
|
18
|
+
def self.open; end
|
19
|
+
|
20
|
+
end
|
17
21
|
|
18
22
|
end
|
data/lib/wx/doc/colour_dialog.rb
CHANGED
@@ -5,17 +5,21 @@
|
|
5
5
|
# :startdoc:
|
6
6
|
|
7
7
|
|
8
|
-
|
8
|
+
module Wx
|
9
9
|
|
10
|
-
|
11
|
-
# @return [Wx::ColourData] colour data copy
|
12
|
-
def get_colour_data; end
|
13
|
-
alias :colour_data :get_colour_data
|
10
|
+
class ColourDialog
|
14
11
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
12
|
+
# Returns (a copy of) the colour data of the dialog.
|
13
|
+
# @return [Wx::ColourData] colour data copy
|
14
|
+
def get_colour_data; end
|
15
|
+
alias :colour_data :get_colour_data
|
16
|
+
|
17
|
+
# Updates the colour data for the dialog.
|
18
|
+
# @param [Wx::ColourData] clr_data the colour data to update the dialog with
|
19
|
+
# @return [void]
|
20
|
+
def set_colour_data(clr_data); end
|
21
|
+
alias :colour_data= :set_colour_data
|
22
|
+
|
23
|
+
end
|
20
24
|
|
21
25
|
end
|
@@ -5,13 +5,23 @@
|
|
5
5
|
# :startdoc:
|
6
6
|
|
7
7
|
|
8
|
-
|
8
|
+
module Wx
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
10
|
+
class ControlWithItems
|
11
|
+
|
12
|
+
# Yield each string to the given block.
|
13
|
+
# Returns an Enumerator if no block given.
|
14
|
+
# @yieldparam [String] string the string yielded
|
15
|
+
# @return [Object,Enumerator] last result of block or Enumerator if no block given.
|
16
|
+
def each_string; end
|
17
|
+
|
18
|
+
# Returns true if the items in the control are sorted
|
19
|
+
# (style Wx::LB_SORT for list boxes or Wx::CB_SORT for combo boxes).
|
20
|
+
# This method is mostly meant for internal use only.
|
21
|
+
# @return [Boolean] true is sorted, false otherwise
|
22
|
+
def is_sorted; end
|
23
|
+
alias :sorted? :is_sorted
|
24
|
+
|
25
|
+
end
|
16
26
|
|
17
27
|
end
|
data/lib/wx/doc/data_object.rb
CHANGED
@@ -27,7 +27,7 @@ module Wx
|
|
27
27
|
# so the number of virtual functions to be implemented is reduced.
|
28
28
|
# This class is the base class for {Wx::TextDataObject}, {Wx::FileDataObject}, {Wx::BitmapDataObject},
|
29
29
|
# {Wx::wxCustomDataObject} and others.
|
30
|
-
#
|
30
|
+
#
|
31
31
|
#
|
32
32
|
# Category: Clipboard and Drag & Drop
|
33
33
|
# @see Drag and Drop Overview
|
@@ -74,7 +74,7 @@ module Wx
|
|
74
74
|
# The objects which may be set must override {Wx::DataObjectSimpleBase#_set_data} (which
|
75
75
|
# returns <code>false</code>).
|
76
76
|
# Of course, the objects supporting both operations must override all three methods.
|
77
|
-
#
|
77
|
+
#
|
78
78
|
#
|
79
79
|
# Category: Clipboard and Drag & Drop
|
80
80
|
# @see Drag and Drop Overview
|
data/lib/wx/doc/evthandler.rb
CHANGED
@@ -9,112 +9,117 @@
|
|
9
9
|
|
10
10
|
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
12
|
+
module Wx
|
13
|
+
|
14
|
+
class EvtHandler
|
15
|
+
|
16
|
+
# Removes all (Ruby) installed EventFilter-s.
|
17
|
+
# @return [void]
|
18
|
+
def self.clear_filters; end
|
19
|
+
|
20
|
+
# Public method to register the mapping of a custom event type
|
21
|
+
# +konstant+ (which should be a unique integer; one will be created if
|
22
|
+
# not supplied) to a custom event class +klass+. If +meth+ and +arity+
|
23
|
+
# are given, a convenience evt_handler method called +meth+ will be
|
24
|
+
# created, which accepts +arity+ arguments (specify both or neither).
|
25
|
+
# @param klass [Class] event class
|
26
|
+
# @param konstant [Integer] unique event type id (if nil a unique value will be autogenerated)
|
27
|
+
# @param meth [String,Symbol] optional event handler method name
|
28
|
+
# @param arity [Integer] event handler method arity (should be 0, 1 or 2 if not nil)
|
29
|
+
# @return [Integer] unique event type id
|
30
|
+
def self.register_class(klass, konstant = nil, meth = nil, arity = nil) end
|
31
|
+
|
32
|
+
def connect(first_id, last_id, evt_type, handler) end
|
33
|
+
|
34
|
+
def disconnect(first_id, last_id, evt_spec) end
|
35
|
+
|
36
|
+
# Processes an event, searching event tables and calling zero or more suitable event handler function(s).
|
37
|
+
#
|
38
|
+
# Normally, your application would not call this function: it is called in the wxWidgets implementation to
|
39
|
+
# dispatch incoming user interface events to the framework (and application).
|
40
|
+
#
|
41
|
+
# However, you might need to call it if implementing new functionality (such as a new control) where you
|
42
|
+
# define new event types, as opposed to allowing the user to override virtual functions.
|
43
|
+
#
|
44
|
+
# In wxRuby this method can not be effectively overridden.
|
45
|
+
# In order to override default event processing define a try_before(event) or try_after(event) method
|
46
|
+
# as member of a derived EvtHandler class.
|
47
|
+
#
|
48
|
+
# The normal order of event table searching is as follows:
|
49
|
+
#
|
50
|
+
# 1. {Wx::App#filter_event} is called. If it returns anything but -1 (default) the processing stops here.
|
51
|
+
# 2. #try_before (if it exists, otherwise the C++ default implementation) is called (this is where {Wx::Validator} are taken into account for {Wx::Window} objects). If this returns true, the function exits.
|
52
|
+
# 3. If the object is disabled (via a call to {Wx::EvtHandler#set_evt_handler_enabled}) the function skips to step (7).
|
53
|
+
# 4. Dynamic event table of the handlers bound using Bind<>() is searched in the most-recently-bound to the most-early-bound order. If a handler is found, it is executed and the function returns true unless the handler used {Wx::Event#skip} to indicate that it didn't handle the event in which case the search continues.
|
54
|
+
# 5. Static events table of the handlers bound using event table macros is searched for this event handler in the order of appearance of event table macros in the source code. If this fails, the base class event table is tried, and so on until no more tables exist or an appropriate function was found. If a handler is found, the same logic as in the previous step applies.
|
55
|
+
# 6. The search is applied down the entire chain of event handlers (usually the chain has a length of one). This chain can be formed using {Wx::EvtHandler#set_next_handler}
|
56
|
+
# Note that in the case of Wx::Window you can build a stack of event handlers (see {Wx::Window#push_event_handler} for more info). If any of the handlers of the chain return true, the function exits.
|
57
|
+
# 7. #try_after (if it exists, otherwise the C++ default implementation) is called: for the {Wx::Window} object this may propagate the event to the window parent (recursively). If the event is still not processed, {#process_event} on the {Wx::THE_APP} object is called as the last step.
|
58
|
+
#
|
59
|
+
# Notice that steps (2)-(6) are performed in {#process_event_locally} which is called by this function.
|
60
|
+
#
|
61
|
+
# @param event [Wx::Event] Event to process.
|
62
|
+
# @return [true,false] true if event has been processed
|
63
|
+
def process_event(event) end
|
64
|
+
|
65
|
+
# Process a command, supplying the window identifier, command event identifier, and member function or proc.
|
66
|
+
# @param [Integer] id window identifier
|
67
|
+
# @param [Integer] evt_id event type identifier
|
68
|
+
# @param [String,Symbol,Method,Proc] meth (name of) method or event handling proc
|
69
|
+
# @yieldparam [Wx::CommandEvent] event event to handle
|
70
|
+
def evt_command(id, evt_id, meth = nil, &block) end
|
71
|
+
|
72
|
+
# Process a command for a range of window identifiers, supplying the minimum and maximum window identifiers, command event identifier, and member function or proc.
|
73
|
+
# @param [Integer] id1 minimum window identifier
|
74
|
+
# @param [Integer] id2 maximum window identifier
|
75
|
+
# @param [Integer] evt_id event type identifier
|
76
|
+
# @param [String,Symbol,Method,Proc] meth (name of) method or event handling proc
|
77
|
+
# @yieldparam [Wx::CommandEvent] event event to handle
|
78
|
+
def evt_command_range(id1, id2, evt_id, meth = nil, &block) end
|
79
|
+
|
80
|
+
# Convenience evt_handler to listen to all mouse events.
|
81
|
+
# @yieldparam [Wx::MouseEvent] event event to handle
|
82
|
+
def evt_mouse_events(*args, &block) end
|
83
|
+
|
84
|
+
# Convenience evt handler to listen to all scrollwin events
|
85
|
+
# (from Wx::ScrolledWindow).
|
86
|
+
# @param [String,Symbol,Method,Proc] meth (name of) method or event handling proc
|
87
|
+
# @yieldparam [Wx::ScrollWinEvent] event event to handle
|
88
|
+
def evt_scrollwin(meth = nil, &block) end
|
89
|
+
|
90
|
+
# Convenience evt handler to listen to all scroll events
|
91
|
+
# (from Wx::Slider and Wx::ScrollBar).
|
92
|
+
# @param [String,Symbol,Method,Proc] meth (name of) method or event handling proc
|
93
|
+
# @yieldparam [Wx::ScrollWinEvent] event event to handle
|
94
|
+
def evt_scroll(meth = nil, &block) end
|
95
|
+
|
96
|
+
# Convenience evt handler to listen to all scroll events
|
97
|
+
# (from Wx::Slider and Wx::ScrollBar) with an id.
|
98
|
+
# @param [Integer] id window identifier
|
99
|
+
# @param [String,Symbol,Method,Proc] meth (name of) method or event handling proc
|
100
|
+
# @yieldparam [Wx::ScrollWinEvent] event event to handle
|
101
|
+
def evt_scroll_command(id, meth = nil, &block) end
|
102
|
+
|
103
|
+
# Processes Wx::WindowDestroyEvent events.
|
104
|
+
# In wxRuby Wx::Event#skipped will be forced to true after the provided
|
105
|
+
# handler has finished to make sure the event is propagated as it is
|
106
|
+
# required that Wx::App gets to handle the event in the end.
|
107
|
+
# @yieldparam [Wx::WindowDestroyEvent] event event to handle
|
108
|
+
def evt_window_destroy(&block) end
|
109
|
+
|
110
|
+
# Processes {Wx::EVT_TIMER} events. See {Wx::TimerEvent}.
|
111
|
+
# @param [Integer,Wx::Enum,Wx::Timer] id timer id
|
112
|
+
# @param [String,Symbol,Method,Proc] meth (name of) method or event handling proc
|
113
|
+
# @yieldparam [Wx::TimerEvent] event the event to handle
|
114
|
+
def evt_timer(id, meth = nil, &block) end
|
115
|
+
|
116
|
+
# Schedule a call for asynchronous execution (at idle time).
|
117
|
+
# @param meth [Symbol,String,Method,Proc] (name of) method or proc to call
|
118
|
+
# @param args [Array<Object>] optional arguments to pass to the call
|
119
|
+
# @return [void]
|
120
|
+
# @yield [*args] optional arguments
|
121
|
+
def call_after(meth = nil, *args, &block) end
|
122
|
+
|
123
|
+
end
|
124
|
+
|
120
125
|
end
|