wxruby3 0.9.8 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +23 -1
  3. data/README.md +13 -27
  4. data/ext/mkrf_conf_ext.rb +11 -7
  5. data/lib/wx/core/app.rb +16 -0
  6. data/lib/wx/core/colour.rb +36 -28
  7. data/lib/wx/core/const.rb +19 -0
  8. data/lib/wx/core/enum.rb +17 -1
  9. data/lib/wx/core/geometry.rb +121 -0
  10. data/lib/wx/core/graphics_pen_info.rb +18 -0
  11. data/lib/wx/core/image.rb +49 -0
  12. data/lib/wx/core/menu_bar.rb +11 -0
  13. data/lib/wx/core/paintdc.rb +9 -3
  14. data/lib/wx/doc/app.rb +97 -41
  15. data/lib/wx/doc/bitmap.rb +4 -0
  16. data/lib/wx/doc/client_dc.rb +2 -2
  17. data/lib/wx/doc/clipboard.rb +1 -1
  18. data/lib/wx/doc/colour.rb +12 -0
  19. data/lib/wx/doc/const.rb +16 -0
  20. data/lib/wx/doc/cursor.rb +4 -0
  21. data/lib/wx/doc/dc_overlay.rb +34 -0
  22. data/lib/wx/doc/enum.rb +7 -1
  23. data/lib/wx/doc/event_blocker.rb +1 -1
  24. data/lib/wx/doc/evthandler.rb +25 -3
  25. data/lib/wx/doc/functions.rb +3 -6
  26. data/lib/wx/doc/gc_dc.rb +13 -4
  27. data/lib/wx/doc/geometry.rb +136 -0
  28. data/lib/wx/doc/graphics_context.rb +25 -7
  29. data/lib/wx/doc/icon.rb +4 -0
  30. data/lib/wx/doc/image.rb +56 -0
  31. data/lib/wx/doc/list_ctrl.rb +6 -6
  32. data/lib/wx/doc/memory_dc.rb +2 -11
  33. data/lib/wx/doc/mirror_dc.rb +1 -1
  34. data/lib/wx/doc/pen.rb +26 -0
  35. data/lib/wx/doc/persistence_manager.rb +1 -1
  36. data/lib/wx/doc/persistent_object.rb +1 -1
  37. data/lib/wx/doc/pg/property_grid_interface.rb +3 -3
  38. data/lib/wx/doc/prt/printer_dc.rb +2 -2
  39. data/lib/wx/doc/region_iterator.rb +1 -1
  40. data/lib/wx/doc/scaled_dc.rb +1 -1
  41. data/lib/wx/doc/screen_dc.rb +1 -1
  42. data/lib/wx/doc/svg_file_dc.rb +1 -1
  43. data/lib/wx/doc/textctrl.rb +1 -1
  44. data/lib/wx/doc/tree_ctrl.rb +2 -2
  45. data/lib/wx/doc/validator.rb +6 -6
  46. data/lib/wx/doc/variant.rb +2 -2
  47. data/lib/wx/doc/window.rb +5 -4
  48. data/lib/wx/grid/keyword_defs.rb +1 -1
  49. data/lib/wx/html/keyword_defs.rb +3 -3
  50. data/lib/wx/keyword_defs.rb +76 -71
  51. data/lib/wx/pg/keyword_defs.rb +2 -2
  52. data/lib/wx/pg/pg_property.rb +12 -0
  53. data/lib/wx/rbn/keyword_defs.rb +1 -1
  54. data/lib/wx/rtc/keyword_defs.rb +1 -1
  55. data/lib/wx/stc/keyword_defs.rb +1 -1
  56. data/lib/wx/version.rb +1 -1
  57. data/lib/wx/wxruby/cmd/setup.rb +3 -0
  58. data/rakelib/configure.rb +7 -0
  59. data/rakelib/gem.rake +3 -2
  60. data/rakelib/gem.rb +3 -2
  61. data/rakelib/lib/config/linux.rb +1 -1
  62. data/rakelib/lib/config/mingw.rb +4 -101
  63. data/rakelib/lib/config/pkgman/linux.rb +31 -8
  64. data/rakelib/lib/config/pkgman/mingw.rb +112 -0
  65. data/rakelib/lib/config/unixish.rb +6 -7
  66. data/rakelib/lib/config.rb +25 -4
  67. data/rakelib/lib/core/include/enum.inc +31 -1
  68. data/rakelib/lib/director/affine_matrix.rb +51 -0
  69. data/rakelib/lib/director/app.rb +29 -13
  70. data/rakelib/lib/director/art_provider.rb +4 -0
  71. data/rakelib/lib/director/cursor.rb +6 -2
  72. data/rakelib/lib/director/dc.rb +1 -6
  73. data/rakelib/lib/director/derived_dc.rb +88 -31
  74. data/rakelib/lib/director/dialog.rb +0 -8
  75. data/rakelib/lib/director/geometry.rb +142 -0
  76. data/rakelib/lib/director/graphics_context.rb +3 -2
  77. data/rakelib/lib/director/graphics_object.rb +18 -25
  78. data/rakelib/lib/director/image.rb +59 -0
  79. data/rakelib/lib/director/menu.rb +2 -3
  80. data/rakelib/lib/director/menu_bar.rb +0 -3
  81. data/rakelib/lib/director/pen.rb +1 -1
  82. data/rakelib/lib/director/richtext_ctrl.rb +1 -1
  83. data/rakelib/lib/director/system_settings.rb +1 -1
  84. data/rakelib/lib/director/window.rb +9 -3
  85. data/rakelib/lib/extractor/function.rb +1 -1
  86. data/rakelib/lib/generate/doc/animation_ctrl.yaml +10 -0
  87. data/rakelib/lib/generate/doc/banner_window.yaml +35 -0
  88. data/rakelib/lib/generate/doc/graphics_context.yaml +12 -0
  89. data/rakelib/lib/generate/doc/graphics_object.yaml +12 -0
  90. data/rakelib/lib/generate/doc/grid_ctrl.yaml +25 -0
  91. data/rakelib/lib/generate/doc/header_ctrl.yaml +91 -0
  92. data/rakelib/lib/generate/doc/icon.yaml +10 -0
  93. data/rakelib/lib/generate/doc/info_bar.yaml +27 -0
  94. data/rakelib/lib/generate/doc/log.yaml +1 -1
  95. data/rakelib/lib/generate/doc/media_ctrl.yaml +27 -0
  96. data/rakelib/lib/generate/doc/persistent_window.yaml +22 -0
  97. data/rakelib/lib/generate/doc/pg_editor.yaml +1 -1
  98. data/rakelib/lib/generate/doc/pg_property.yaml +4 -4
  99. data/rakelib/lib/generate/doc/rearrange_list.yaml +14 -0
  100. data/rakelib/lib/generate/doc/ribbon_panel.yaml +15 -0
  101. data/rakelib/lib/generate/doc/rich_text_formatting_dialog.yaml +26 -0
  102. data/rakelib/lib/generate/doc/text_ctrl.yaml +1 -1
  103. data/rakelib/lib/generate/doc/wizard.yaml +27 -0
  104. data/rakelib/lib/generate/doc.rb +4 -4
  105. data/rakelib/lib/generate/interface.rb +1 -1
  106. data/rakelib/lib/specs/interfaces.rb +3 -0
  107. data/rakelib/lib/swig_runner.rb +24 -3
  108. data/rakelib/lib/typemap/points_list.rb +8 -2
  109. data/rakelib/lib/typemap/richtext.rb +17 -0
  110. data/rakelib/yard/templates/default/fulldoc/html/setup.rb +3 -3
  111. data/samples/dialogs/wizard.rb +20 -19
  112. data/samples/drawing/art/drawing/image.bmp +0 -0
  113. data/samples/drawing/art/drawing/mask.bmp +0 -0
  114. data/samples/drawing/art/drawing/pat35.bmp +0 -0
  115. data/samples/drawing/art/drawing/pat36.bmp +0 -0
  116. data/samples/drawing/art/drawing/pat4.bmp +0 -0
  117. data/samples/drawing/art/drawing/smile.xpm +42 -0
  118. data/samples/drawing/drawing.rb +2276 -0
  119. data/samples/drawing/tn_drawing.png +0 -0
  120. data/samples/html/html.rb +1 -1
  121. data/samples/propgrid/propgrid.rb +1 -1
  122. data/samples/propgrid/propgrid_minimal.rb +1 -1
  123. data/samples/propgrid/sample_props.rb +1 -1
  124. data/samples/sampler/editor.rb +13 -11
  125. data/samples/sampler.rb +14 -10
  126. data/samples/text/richtext.rb +53 -0
  127. data/samples/text/scintilla.rb +1 -1
  128. data/samples/text/unicode.rb +4 -4
  129. data/tests/test_ext_controls.rb +12 -5
  130. data/tests/test_gdi_object.rb +2 -2
  131. data/tests/test_std_controls.rb +12 -12
  132. metadata +33 -32
  133. data/lib/wx/doc/extra/00_starting.md +0 -154
  134. data/lib/wx/doc/extra/01_packages.md +0 -180
  135. data/lib/wx/doc/extra/02_lifecycles.md +0 -166
  136. data/lib/wx/doc/extra/03_dialogs.md +0 -57
  137. data/lib/wx/doc/extra/04_enums.md +0 -143
  138. data/lib/wx/doc/extra/05_event-handling.md +0 -191
  139. data/lib/wx/doc/extra/06_geometry.md +0 -62
  140. data/lib/wx/doc/extra/07_colour_and_font.md +0 -52
  141. data/lib/wx/doc/extra/08_extensions.md +0 -144
  142. data/lib/wx/doc/extra/09_exceptions.md +0 -54
  143. data/lib/wx/doc/extra/10_art.md +0 -111
  144. data/lib/wx/doc/extra/11_drawing_and_dc.md +0 -62
  145. data/lib/wx/doc/extra/12_client_data.md +0 -89
  146. data/lib/wx/doc/extra/13_validators.md +0 -139
  147. data/lib/wx/doc/extra/14_config.md +0 -101
  148. data/lib/wx/doc/extra/15_persistence.md +0 -148
  149. data/samples/sampler/back.xpm +0 -21
  150. data/samples/sampler/copy.xpm +0 -44
  151. data/samples/sampler/cut.xpm +0 -46
  152. data/samples/sampler/filesave.xpm +0 -42
  153. data/samples/sampler/find.xpm +0 -62
  154. data/samples/sampler/findrepl.xpm +0 -63
  155. data/samples/sampler/forward.xpm +0 -21
  156. data/samples/sampler/paste.xpm +0 -46
  157. data/samples/sampler/redo.xpm +0 -58
  158. data/samples/sampler/undo.xpm +0 -58
data/lib/wx/doc/app.rb CHANGED
@@ -9,47 +9,103 @@ module Wx
9
9
 
10
10
  class App
11
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
12
+ # Run the (main loop for) the application instance.
13
+ # Optionally runs a given block as the applications #on_init callback
14
+ # if no actual #on_init method has been defined.
15
+ # A given block will be ignored if an actual #on_init method has been defined.
16
+ # @yieldreturn [Boolean] return true if init block succeeded, false otherwise
17
+ # @return [Integer] return code from the #on_exit callback (`0` if no #on_exit defined or called)
18
+ def run(&block) end
19
+
20
+ # Convenience method to instantiate an application object of the class
21
+ # and call the {Wx::App#run} method for that application object.
22
+ # @yieldreturn [Boolean] return true if init block succeeded, false otherwise
23
+ # @return [Integer] return code from {Wx::App#run}
24
+ def self.run(&block) end
25
+
26
+ class << self
27
+
28
+ # Set the menu item id for the About menu item.
29
+ # Default is {Wx::ID_ABOUT}. Setting to {Wx::ID_NONE} will disable moving the About item to the Application menu.
30
+ # @param [Integer] id
31
+ # @wxrb_require WXOSX
32
+ # @see Wx::App.get_mac_about_menu_itemid
33
+ def set_mac_about_menu_itemid(id) end
34
+ alias :mac_about_menu_itemid= :set_mac_about_menu_itemid
35
+
36
+ # Get the current menu item id for the About menu item.
37
+ # Default is {Wx::ID_ABOUT}
38
+ # @return [Integer]
39
+ # @wxrb_require WXOSX
40
+ # @see Wx::App.set_mac_about_menu_itemid
41
+ def get_mac_about_menu_itemid; end
42
+ alias :mac_about_menu_itemid :get_mac_about_menu_itemid
43
+
44
+ # Set the menu item id for the Preferences menu item.
45
+ # Default is {Wx::ID_PREFERENCES}
46
+ # @param [Integer] id
47
+ # @wxrb_require WXOSX
48
+ # @see Wx::App.get_mac_preferences_menu_itemid
49
+ def set_mac_preferences_menu_itemid(id) end
50
+ alias :mac_preferences_menu_itemid= :set_mac_preferences_menu_itemid
51
+
52
+ # Get the current menu item id for the Preferences menu item.
53
+ # Default is {Wx::ID_PREFERENCES}
54
+ # @return [Integer]
55
+ # @wxrb_require WXOSX
56
+ # @see Wx::App.set_mac_preferences_menu_itemid
57
+ def get_mac_preferences_menu_itemid; end
58
+ alias :mac_preferences_menu_itemid :get_mac_preferences_menu_itemid
59
+
60
+ # Set the menu item id for the Exit menu item.
61
+ # Default is {Wx::ID_EXIT}. Setting to {Wx::ID_NONE} will disable hiding the exit item. Standard item will still be added to Application menu.
62
+ # @param [Integer] id
63
+ # @wxrb_require WXOSX
64
+ # @see Wx::App.get_mac_exit_menu_itemid
65
+ def set_mac_exit_menu_itemid(id) end
66
+ alias :mac_exit_menu_itemid= :set_mac_exit_menu_itemid
67
+
68
+ # Get the current menu item id for the Exit menu item.
69
+ # Default is {Wx::ID_EXIT}
70
+ # @return [Integer]
71
+ # @wxrb_require WXOSX
72
+ # @see Wx::App.set_mac_exit_menu_itemid
73
+ def get_mac_exit_menu_itemid; end
74
+ alias :mac_exit_menu_itemid :get_mac_exit_menu_itemid
75
+
76
+ # Set the menu title for the Help menu.
77
+ # Default is '&Help'
78
+ # @param [String] title
79
+ # @wxrb_require WXOSX
80
+ # @see Wx::App.get_mac_help_menu_title
81
+ def set_mac_help_menu_title(title) end
82
+ alias :mac_help_menu_title= :set_mac_help_menu_title
83
+
84
+ # Get the current title for the Help menu.
85
+ # Default is '&Help'
86
+ # @return [String]
87
+ # @wxrb_require WXOSX
88
+ # @see Wx::App.set_mac_help_menu_title
89
+ def get_mac_help_menu_title; end
90
+ alias :mac_help_menu_title :get_mac_help_menu_title
91
+
92
+ # Set the menu title for the Window menu.
93
+ # Default is '&Window'
94
+ # @param [String] title
95
+ # @wxrb_require WXOSX
96
+ # @see Wx::App.get_mac_window_menu_title
97
+ def set_mac_window_menu_title(title) end
98
+ alias :mac_window_menu_title= :set_mac_window_menu_title
99
+
100
+ # Get the current title for the Window menu.
101
+ # Default is '&Window'
102
+ # @return [String]
103
+ # @wxrb_require WXOSX
104
+ # @see Wx::App.set_mac_window_menu_title
105
+ def get_mac_window_menu_title; end
106
+ alias :mac_window_menu_title :get_mac_window_menu_title
107
+
108
+ end
53
109
 
54
110
  end
55
111
 
data/lib/wx/doc/bitmap.rb CHANGED
@@ -14,6 +14,8 @@ module Wx
14
14
  # Default BitmapType for current platform. Actual value is platform dependent.
15
15
  CURSOR_DEFAULT_TYPE = Wx::BitmapType::BITMAP_TYPE_ANY
16
16
 
17
+ # @!group Art creation methods
18
+
17
19
  # Searches for an art file with basename 'name' and creates a Bitmap if found.
18
20
  # Raises an ArgumentError if not found.
19
21
  # Wx::ArtLocator::find_art is used to look up the art file using ::Kernel#caller_locations to
@@ -28,4 +30,6 @@ module Wx
28
30
  # @see Wx::ArtLocator::find_art
29
31
  def self.Bitmap(name, bmp_type = nil, art_path: nil, art_section: nil); end
30
32
 
33
+ # @!endgroup
34
+
31
35
  end
@@ -13,7 +13,7 @@ module Wx
13
13
  # it's single argument.
14
14
  # @param [Wx::Window] win window to draw on
15
15
  # @yieldparam [Wx::ClientDC] dc the ClientDC instance to paint on
16
- # @return [Object] result of the block
16
+ # @return [::Object] result of the block
17
17
  def self.draw_on(win) end
18
18
 
19
19
  end
@@ -26,7 +26,7 @@ module Wx
26
26
  # @note In wxRuby this method mostly exists to be consistent with the other DC classes. It is however recommended to use Wx::Window#paint instead.
27
27
  # @param [Wx::Window] win window to draw on
28
28
  # @yieldparam [Wx::PaintDC] dc the PaintDC instance to paint on
29
- # @return [Object] result of the block
29
+ # @return [::Object] result of the block
30
30
  def self.draw_on(win) end
31
31
 
32
32
  end
@@ -14,7 +14,7 @@ module Wx
14
14
 
15
15
  # Opens the global clipboard and passes the clipboard object to the block.
16
16
  # @yieldparam [Wx::Clipboard] clip the global clipboard object
17
- # @return [Object] block result
17
+ # @return [::Object] block result
18
18
  def self.open; end
19
19
 
20
20
  end
@@ -0,0 +1,12 @@
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
+ TRANSPARENT_COLOUR = Wx::Colour.new(0, 0, 0, Wx::ALPHA_TRANSPARENT)
11
+
12
+ end
data/lib/wx/doc/const.rb CHANGED
@@ -71,8 +71,14 @@ module Wx
71
71
  TREE_LIST_CTRL_NAME_STR = 'wxTreeListCtrl'
72
72
  HTML_LIST_BOX_NAME_STR = 'htmlListBox'
73
73
  SIMPLE_HTML_LIST_BOX_NAME_STR = 'simpleHtmlListBox'
74
+ HTML_WINDOW_NAME_STR = 'htmlWindow'
74
75
  EDITABLE_LIST_BOX_NAME_STR = 'editableListBox'
75
76
  V_LIST_BOX_NAME_STR = 'wxVListBox'
77
+ ACTIVITY_INDICATOR_NAME_STR = 'activityindicator'
78
+ TIME_PICKER_CTRL_NAME_STR = 'timectrl'
79
+ DATE_PICKER_CTRL_NAME_STR = 'datectrl'
80
+ CALENDAR_NAME_STR = 'CalendarCtrl'
81
+ SPIN_BUTTON_NAME_STR = 'wxSpinButton'
76
82
 
77
83
  # wxMSW only
78
84
  MSW_HEADER_CTRL_NAME_STR = 'wxMSWHeaderCtrl'
@@ -81,4 +87,14 @@ module Wx
81
87
  PROPERTY_GRID_NAME_STR = 'wxPropertyGrid'
82
88
  STC_NAME_STR = 'stcwindow'
83
89
 
90
+ MEDIA_CTRL_NAME_STR = 'mediaCtrl'
91
+ SPIN_CTRL_NAME_STR = 'spinCtrl'
92
+ SPIN_CTRL_DOUBLE_NAME_STR = 'wxSpinCtrlDouble'
93
+ SPLITTER_WINDOW_NAME_STR = 'splitter'
94
+ TOOLBOOK_NAME_STR = 'toolbook'
95
+ TREEBOOK_NAME_STR = 'treebook'
96
+ SASH_WINDOW_NAME_STR = 'sashWindow'
97
+ SASH_LAYOUT_WINDOW_NAME_STR = 'layoutWindow'
98
+ SCROLLED_NAME_STR = 'SCROLLED_WINDOW'
99
+
84
100
  end
data/lib/wx/doc/cursor.rb CHANGED
@@ -7,6 +7,8 @@
7
7
 
8
8
  class Wx
9
9
 
10
+ # @!group Art creation methods
11
+
10
12
  # Searches for an art file with basename 'name' and creates a Cursor if found.
11
13
  # Raises an ArgumentError if not found.
12
14
  # Wx::ArtLocator::find_art is used to look up the art file using ::Kernel#caller_locations to
@@ -21,4 +23,6 @@ class Wx
21
23
  # @see Wx::ArtLocator::find_art
22
24
  def self.Cursor(name, bmp_type = nil, art_path: nil, art_section: nil); end
23
25
 
26
+ # @!endgroup
27
+
24
28
  end
@@ -0,0 +1,34 @@
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
+ class DCOverlay < Wx::DC
11
+
12
+ private :initialize
13
+
14
+ # Connects this overlay to the corresponding drawing dc. If the overlay is not initialized yet, this call will do so.
15
+ # Creates a Wx::DCOverlay instance for to do that and passes the instance to the given block to use.
16
+ # Uses either the entire area of the drawing DC or the area specified.
17
+ # @overload draw_on(overlay, dc)
18
+ # @param [Wx::Overlay] overlay Overlay to connect
19
+ # @param [Wx::DC] dc Drawing DC
20
+ # @yieldparam [Wx::DCOverlay] ovl_dc DCOverlay instance to use
21
+ # @return [::Object] result from block
22
+ # @overload draw_on(overlay, dc, x, y, width, height)
23
+ # @param [Wx::Overlay] overlay Overlay to connect
24
+ # @param [Wx::DC] dc Drawing DC
25
+ # @param [Integer] x topleft x coordinate of area to use
26
+ # @param [Integer] y topleft y coordinate of area to use
27
+ # @param [Integer] width width of area to use
28
+ # @param [Integer] height height of area to use
29
+ # @yieldparam [Wx::DCOverlay] ovl_dc DCOverlay instance to use
30
+ # @return [::Object] result from block
31
+ def self.draw_on(*arg) end
32
+ end
33
+
34
+ end
data/lib/wx/doc/enum.rb CHANGED
@@ -37,7 +37,7 @@ module Wx
37
37
  def method_missing(sym, *args) end
38
38
 
39
39
  # Checks type and value equality.
40
- # @param [Object] o the object to compare
40
+ # @param [::Object] o the object to compare
41
41
  # @return [true,false] true if o is instance of same enum class as self **and** integer values are equal; false otherwise
42
42
  def eql?(o) end
43
43
 
@@ -94,6 +94,12 @@ module Wx
94
94
  def to_int; end
95
95
  alias :to_i :to_int
96
96
 
97
+ # Return string representation of enum value (mask).
98
+ # In case the enum value matches a single enumerator value of the enum class the (scoped) name
99
+ # of that enumerator is returned otherwise the enum mask value is analyzed and a string representation
100
+ # of a bitwise **or** expression is returned matching the mask.
101
+ def to_s; end
102
+
97
103
  # Create a new class and associated enum values.
98
104
  # @param [String,Symbol] name name of new enum class
99
105
  # @param [Hash] enum_values hash with enum value name and enum integer value pairs
@@ -22,7 +22,7 @@ module Wx
22
22
  # @param [Wx::Window] win the window to block events for
23
23
  # @param [Integer] evt_type the event type to block
24
24
  # @yieldparam [Wx::EventBlocker] blkr the blocker object
25
- # @return [Object] the value returned by the block
25
+ # @return [::Object] the value returned by the block
26
26
  def blocked_for(win, evt_type=Wx::EVT_ANY) end
27
27
  alias :block_for :blocked_for
28
28
 
@@ -29,9 +29,31 @@ module Wx
29
29
  # @return [Integer] unique event type id
30
30
  def self.register_class(klass, konstant = nil, meth = nil, arity = nil) end
31
31
 
32
- def connect(first_id, last_id, evt_type, handler) end
33
-
34
- def disconnect(first_id, last_id, evt_spec) end
32
+ # Connects the given event handler dynamically for id(s) and event type.
33
+ #
34
+ # This is the core event connecting method.
35
+ # In Ruby using named event connector methods like {Wx::EvtHandler#evt_menu} is highly recommended as using #connect
36
+ # does not provide any better options (less even) than using named event connectors as all event connecting is dynamic.
37
+ #
38
+ # @param [Integer] first_id The first ID of the identifier range to be associated with the event handler. Should be Wx::ANY_ID for events that do not require identifiers.
39
+ # @param [Integer] last_id The last ID of the identifier range to be associated with the event handler. Should be Wx::ANY_ID for events requiring a single identifier (like {Wx::MenuEvt}).
40
+ # @param [Integer] evt_id The event type identifier like {Wx::EVT_MENU}.
41
+ # @param [Proc,Method] handler The event handler proc or method.
42
+ # @return [Boolean] Always returns true.
43
+ def connect(first_id, last_id, evt_id, handler) end
44
+
45
+ # Disconnects any event handler connected for the specified id(s) and event type.
46
+ #
47
+ # Looks up connected event handler(s) using the specified parameters as search criteria and returning true if (a)
48
+ # matching handler(s) has(have) been found and removed.
49
+ #
50
+ # @note Note that in wxRuby it is not possible to remove a specific handler if multiple (chained) handler(s) have been connected.
51
+ #
52
+ # @param [Integer] first_id The first ID of the identifier range associated with the event handler. Should be Wx::ANY_ID for events that have no associated identifiers.
53
+ # @param [Integer] last_id The last ID of the identifier range associated with the event handler. Should be Wx::ANY_ID for events that have a single identifier associated.
54
+ # @param [Integer,Symbol,nil] evt_id The event type identifier like {Wx::EVT_MENU} or event connector symbol (like `:evt_menu`).
55
+ # @return [Boolean] Returns true if any event handler found and removed, false otherwise.
56
+ def disconnect(first_id, last_id, evt_id) end
35
57
 
36
58
  # Processes an event, searching event tables and calling zero or more suitable event handler function(s).
37
59
  #
@@ -102,15 +102,14 @@ module Wx
102
102
 
103
103
  # @!endgroup
104
104
 
105
- # @!group Other class methods
106
-
107
105
  # Returns the global app object
108
- # @return [Wx::App] the global app object
106
+ # Returns nil if no app instance is active.
107
+ # @return [Wx::App,nil] the global app object
109
108
  def self.get_app; end
110
109
 
111
110
  # Returns the pointer address of the underlying C++ object as a hex
112
111
  # string - useful for debugging
113
- # @param obj [Object] wrapped object
112
+ # @param obj [::Object] wrapped object
114
113
  # @return [String] string with address in hex format
115
114
  def self.ptr_addr(obj) end
116
115
 
@@ -124,8 +123,6 @@ module Wx
124
123
  def self.bell; end
125
124
  def self.safe_yield(win = nil, only_if_needed = false) end
126
125
 
127
- # @!endgroup
128
-
129
126
  # @!group System information
130
127
 
131
128
  # @return [String]
data/lib/wx/doc/gc_dc.rb CHANGED
@@ -13,20 +13,29 @@ module Wx
13
13
 
14
14
  # Creates a Wx::GCDC instance for target and
15
15
  # passes the instance to the given block to draw on.
16
+ # @overload draw_on()
17
+ # @yieldparam [Wx::GCDC] dc GCDC instance to draw on
18
+ # @return [::Object] result from block
16
19
  # @overload draw_on(dc)
17
20
  # @param [Wx::WindowDC,Wx::MemoryDC] target DC to draw on
18
21
  # @yieldparam [Wx::GCDC] dc GCDC instance to draw on
19
- # @return [Object] result from block
22
+ # @return [::Object] result from block
20
23
  # @overload draw_on(dc)
21
24
  # @param [Wx::PrinterDC] target DC to draw on
22
25
  # @yieldparam [Wx::GCDC] dc GCDC instance to draw on
23
- # @return [Object] result from block
26
+ # @return [::Object] result from block
24
27
  # @wxrb_require USE_PRINTING_ARCHITECTURE,WXMSW|WXOSX|USE_GTKPRINT
25
28
  # @overload draw_on(gc)
29
+ # Note that the context will continue using the same font, pen and brush as before until #set_font, #set_pen
30
+ # or #set_brush is explicitly called to change them. This means that the code can use this wxDC-derived object
31
+ # to work using pens and brushes with alpha component, for example (which normally isn't supported by Wx::DC API),
32
+ # but it also means that the return values of #get_font, #get_pen and #get_brush won't really correspond to the
33
+ # actually used objects because they simply can't represent them anyhow. If you wish to avoid such discrepancy,
34
+ # you need to call the setter methods to bring Wx::DC and Wx::GraphicsContext font, pen and brush in sync with each other.
26
35
  # @param [Wx::GraphicsContext] gc GraphicsContext to draw on
27
36
  # @yieldparam [Wx::GCDC] dc GCDC instance to draw on
28
- # @return [Object] result from block
29
- def self.draw_on(arg) end
37
+ # @return [::Object] result from block
38
+ def self.draw_on(*arg) end
30
39
  end
31
40
 
32
41
  end
@@ -0,0 +1,136 @@
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
+ ###
8
+ # wxRuby3 2D geometry classes
9
+ ###
10
+ # :startdoc:
11
+
12
+
13
+ module Wx
14
+
15
+ # Convert degrees to radians.
16
+ # @param [Float] deg degrees
17
+ # @return [Float] radians
18
+ def self.deg_to_rad(deg) end
19
+
20
+ # Convert radians to degrees.
21
+ # @param [Float] rad radians
22
+ # @return [Float] degrees
23
+ def self.rad_to_deg(rad) end
24
+
25
+ class Point2DInt
26
+
27
+ # @return [Integer]
28
+ def get_x; end
29
+ alias :x :get_x
30
+ # @param [Integer] v
31
+ # @return [Integer]
32
+ def set_x(v) end
33
+ alias :x= :set_x
34
+
35
+ # @return [Integer]
36
+ def get_y; end
37
+ alias :y :get_y
38
+ # @param [Integer] v
39
+ # @return [Integer]
40
+ def set_y(v) end
41
+ alias :y= :set_y
42
+
43
+ # @param [Wx::Point2DInt] pt
44
+ # @return [self]
45
+ def assign(pt) end
46
+
47
+ # @param [Wx::Point2DInt] pt
48
+ # @return [self]
49
+ def add!(pt) end
50
+
51
+ # @param [Wx::Point2DInt] pt
52
+ # @return [self]
53
+ def sub!(pt) end
54
+
55
+ # @param [Wx::Point2DInt,Integer,Float] v
56
+ # @return [self]
57
+ def mul!(v) end
58
+
59
+ # @param [Wx::Point2DInt,Integer,Float] v
60
+ # @return [self]
61
+ def div!(v) end
62
+
63
+ # @param [Wx::Point2DInt] pt
64
+ # @return [Wx::Point2DInt]
65
+ def +(pt) end
66
+
67
+ # @param [Wx::Point2DInt] pt
68
+ # @return [Wx::Point2DInt]
69
+ def -(pt) end
70
+
71
+ # @param [Wx::Point2DInt,Integer,Float] v
72
+ # @return [Wx::Point2DInt]
73
+ def *(v) end
74
+
75
+ # @param [Wx::Point2DInt,Integer,Float] v
76
+ # @return [Wx::Point2DInt]
77
+ def /(v) end
78
+
79
+ end
80
+
81
+ class Point2DDouble
82
+
83
+ # @return [Integer]
84
+ def get_x; end
85
+ alias :x :get_x
86
+ # @param [Integer] v
87
+ # @return [Integer]
88
+ def set_x(v) end
89
+ alias :x= :set_x
90
+
91
+ # @return [Integer]
92
+ def get_y; end
93
+ alias :y :get_y
94
+ # @param [Integer] v
95
+ # @return [Integer]
96
+ def set_y(v) end
97
+ alias :y= :set_y
98
+
99
+ # @param [Wx::Point2DInt] pt
100
+ # @return [self]
101
+ def assign(pt) end
102
+
103
+ # @param [Wx::Point2DDouble] pt
104
+ # @return [self]
105
+ def add!(pt) end
106
+
107
+ # @param [Wx::Point2DDouble] pt
108
+ # @return [self]
109
+ def sub!(pt) end
110
+
111
+ # @param [Wx::Point2DDouble,Integer,Float] v
112
+ # @return [self]
113
+ def mul!(v) end
114
+
115
+ # @param [Wx::Point2DDouble,Integer,Float] v
116
+ # @return [self]
117
+ def div!(v) end
118
+
119
+ # @param [Wx::Point2DDouble] pt
120
+ # @return [Wx::Point2DDouble]
121
+ def +(pt) end
122
+
123
+ # @param [Wx::Point2DDouble] pt
124
+ # @return [Wx::Point2DDouble]
125
+ def -(pt) end
126
+
127
+ # @param [Wx::Point2DDouble,Integer,Float] v
128
+ # @return [Wx::Point2DDouble]
129
+ def *(v) end
130
+
131
+ # @param [Wx::Point2DDouble,Integer,Float] v
132
+ # @return [Wx::Point2DDouble]
133
+ def /(v) end
134
+
135
+ end
136
+ end
@@ -14,19 +14,22 @@ module Wx
14
14
  # Deletes the gc object after the block returns.
15
15
  # @see Wx::GraphicsRenderer#create_context
16
16
  # @param window [Wx::Window]
17
- # @return [Wx::GraphicsContext]
17
+ # @yieldparam [Wx::GraphicsContext]
18
+ # @return [::Object] last result of the given block
18
19
  # @overload self.draw_on(windowDC)
19
20
  # Creates a {Wx::GraphicsContext} from a {Wx::WindowDC} and passes that object to the given block.
20
21
  # Deletes the gc object after the block returns.
21
22
  # @see Wx::GraphicsRenderer#create_context
22
23
  # @param windowDC [Wx::WindowDC]
23
- # @return [Wx::GraphicsContext]
24
+ # @yieldparam [Wx::GraphicsContext]
25
+ # @return [::Object] last result of the given block
24
26
  # @overload self.draw_on(memoryDC)
25
27
  # Creates a {Wx::GraphicsContext} from a {Wx::MemoryDC} and passes that object to the given block.
26
28
  # Deletes the gc object after the block returns.
27
29
  # @see Wx::GraphicsRenderer#create_context
28
30
  # @param memoryDC [Wx::MemoryDC]
29
- # @return [Wx::GraphicsContext]
31
+ # @yieldparam [Wx::GraphicsContext]
32
+ # @return [::Object] last result of the given block
30
33
  # @overload self.draw_on(printerDC)
31
34
  # Creates a {Wx::GraphicsContext} from a {Wx::PrinterDC} and passes that object to the given block.
32
35
  # Deletes the gc object after the block returns.
@@ -34,18 +37,21 @@ module Wx
34
37
  # @see Wx::GraphicsRenderer#create_context
35
38
  # @see Printing Under Unix (GTK+)
36
39
  # @param printerDC [Wx::PrinterDC]
37
- # @return [Wx::GraphicsContext]
40
+ # @yieldparam [Wx::GraphicsContext]
41
+ # @return [::Object] last result of the given block
38
42
  # @wxrb_require USE_PRINTING_ARCHITECTURE,WXMSW|WXOSX|USE_GTKPRINT
39
43
  # @overload self.draw_on(image)
40
44
  # Creates a {Wx::GraphicsContext} associated with a {Wx::Image} and passes that object to the given block.
41
45
  # Deletes the gc object after the block returns.
42
46
  # The image specifies the size of the context as well as whether alpha is supported (if {Wx::Image#has_alpha}) or not and the initial contents of the context. The image object must have a life time greater than that of the new context as the context copies its contents back to the image when it is destroyed.
43
47
  # @param image [Wx::Image]
44
- # @return [Wx::GraphicsContext]
48
+ # @yieldparam [Wx::GraphicsContext]
49
+ # @return [::Object] last result of the given block
45
50
  # @overload self.draw_on()
46
51
  # Create a lightweight context that can be used only for measuring text and passes that object to the given block.
47
52
  # Deletes the gc object after the block returns.
48
- # @return [Wx::GraphicsContext]
53
+ # @yieldparam [Wx::GraphicsContext]
54
+ # @return [::Object] last result of the given block
49
55
  def self.draw_on(*args) end
50
56
 
51
57
  end
@@ -56,7 +62,19 @@ module Wx
56
62
  # @param col [Wx::Colour] The colour of this stop. Note that the alpha component of the colour is honoured thus allowing the background colours to partially show through the gradient.
57
63
  # @param pos [Float] The stop position, must be in [0, 1] range with 0 being the beginning and 1 the end of the gradient.
58
64
  # @return [Wx::GraphicsGradientStop]
59
- def initialize(col=Wx::TransparentColour, pos=0.0) end
65
+ def initialize(col=Wx::TRANSPARENT_COLOUR, pos=0.0) end
66
+
67
+ end
68
+
69
+ class GraphicsPenInfo
70
+
71
+ # @param dashes [Array<Integer>]
72
+ # @return [Wx::GraphicsPenInfo]
73
+ def dashes(dashes) end
74
+
75
+ # @return [Array<Integer>]
76
+ def get_dashes; end
77
+ alias_method :dashes, :get_dashes
60
78
 
61
79
  end
62
80
 
data/lib/wx/doc/icon.rb CHANGED
@@ -7,6 +7,8 @@
7
7
 
8
8
  class Wx
9
9
 
10
+ # @!group Art creation methods
11
+
10
12
  # Searches for an art file with basename 'name' and creates an Icon if found.
11
13
  # Raises an ArgumentError if not found.
12
14
  # Wx::ArtLocator::find_art is used to look up the art file using ::Kernel#caller_locations to
@@ -23,4 +25,6 @@ class Wx
23
25
  # @see Wx::ArtLocator::find_art
24
26
  def self.Icon(name, bmp_type = nil, desired_width=-1, desired_height=-1, art_path: nil, art_section: nil); end
25
27
 
28
+ # @!endgroup
29
+
26
30
  end