wxruby3 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +27 -2
  3. data/README.md +15 -15
  4. data/ext/wxruby3/include/wxRubyApp.h +145 -46
  5. data/ext/wxruby3/include/wxruby-ComboPopup.h +25 -8
  6. data/ext/wxruby3/include/wxruby-GCTracking.h +262 -0
  7. data/ext/wxruby3/include/wxruby-MBConv.h +190 -0
  8. data/ext/wxruby3/include/wxruby-SharedEventHandler.h +183 -0
  9. data/ext/wxruby3/include/wxruby-SharedPtr.h +104 -0
  10. data/ext/wxruby3/include/wxruby-runtime.h +29 -0
  11. data/ext/wxruby3/swig/custom/rubytracking.swg +8 -22
  12. data/ext/wxruby3/swig/custom/wx_ruby_shared_ptr.i +434 -0
  13. data/ext/wxruby3/swig/custom/wx_shared_ptr.i +431 -0
  14. data/ext/wxruby3/swig/mark_free_impl.i +7 -132
  15. data/ext/wxruby3/swig/memory_management.i +8 -44
  16. data/ext/wxruby3/swig/wx.i +46 -73
  17. data/lib/wx/core/const.rb +0 -1
  18. data/lib/wx/core/context_help.rb +17 -0
  19. data/lib/wx/core/cursor.rb +1 -0
  20. data/lib/wx/core/helpcontrollerhelpprovider.rb +10 -2
  21. data/lib/wx/core/mbconv.rb +11 -0
  22. data/lib/wx/core/media_ctrl.rb +31 -0
  23. data/lib/wx/core/top_level_window.rb +7 -0
  24. data/lib/wx/core.rb +6 -0
  25. data/lib/wx/doc/art_provider.rb +17 -0
  26. data/lib/wx/doc/context_help.rb +42 -0
  27. data/lib/wx/doc/core.rb +0 -5
  28. data/lib/wx/doc/functions.rb +10 -0
  29. data/lib/wx/doc/gen/affine_matrix2d.rb +2 -0
  30. data/lib/wx/doc/gen/art_provider.rb +12 -0
  31. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +15 -15
  32. data/lib/wx/doc/gen/aui/aui_pane_info.rb +8 -8
  33. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +5 -5
  34. data/lib/wx/doc/gen/book_ctrl_base.rb +2 -1
  35. data/lib/wx/doc/gen/calendar_event.rb +5 -5
  36. data/lib/wx/doc/gen/choicebook.rb +2 -2
  37. data/lib/wx/doc/gen/collapsible_pane.rb +1 -1
  38. data/lib/wx/doc/gen/colour_dialog.rb +1 -1
  39. data/lib/wx/doc/gen/colour_picker_event.rb +3 -3
  40. data/lib/wx/doc/gen/context_help_button.rb +0 -53
  41. data/lib/wx/doc/gen/core.rb +4 -4
  42. data/lib/wx/doc/gen/credential_entry_dialog.rb +2 -2
  43. data/lib/wx/doc/gen/date_event.rb +2 -2
  44. data/lib/wx/doc/gen/dial_up_event.rb +2 -2
  45. data/lib/wx/doc/gen/dir_filter_list_ctrl.rb +2 -2
  46. data/lib/wx/doc/gen/event.rb +58 -58
  47. data/lib/wx/doc/gen/ext_help_controller.rb +62 -16
  48. data/lib/wx/doc/gen/file_ctrl.rb +4 -4
  49. data/lib/wx/doc/gen/file_dir_picker_event.rb +2 -2
  50. data/lib/wx/doc/gen/file_system.rb +1 -1
  51. data/lib/wx/doc/gen/find_dialog_event.rb +5 -5
  52. data/lib/wx/doc/gen/font_picker_event.rb +1 -1
  53. data/lib/wx/doc/gen/grid/grid_ctrl.rb +67 -32
  54. data/lib/wx/doc/gen/header_ctrl_event.rb +13 -13
  55. data/lib/wx/doc/gen/help_controller.rb +45 -2
  56. data/lib/wx/doc/gen/html/html_help_controller.rb +74 -32
  57. data/lib/wx/doc/gen/html/html_help_window.rb +3 -3
  58. data/lib/wx/doc/gen/html/html_window.rb +4 -4
  59. data/lib/wx/doc/gen/hyperlink_ctrl.rb +1 -1
  60. data/lib/wx/doc/gen/list_ctrl.rb +22 -22
  61. data/lib/wx/doc/gen/listbook.rb +2 -2
  62. data/lib/wx/doc/gen/mb_conv.rb +10 -0
  63. data/lib/wx/doc/gen/media_event.rb +6 -6
  64. data/lib/wx/doc/gen/notebook.rb +2 -2
  65. data/lib/wx/doc/gen/pg/pg_validation_info.rb +14 -14
  66. data/lib/wx/doc/gen/pg/property_grid_interface.rb +2 -2
  67. data/lib/wx/doc/gen/rbn/ribbon_art_provider.rb +19 -9
  68. data/lib/wx/doc/gen/rbn/ribbon_button_bar.rb +2 -2
  69. data/lib/wx/doc/gen/rbn/ribbon_gallery.rb +3 -3
  70. data/lib/wx/doc/gen/rbn/ribbon_panel.rb +2 -2
  71. data/lib/wx/doc/gen/rbn/ribbon_tool_bar.rb +2 -2
  72. data/lib/wx/doc/gen/rt/event_list.rb +17 -0
  73. data/lib/wx/doc/gen/rt/shared_evt_handler.rb +14 -0
  74. data/lib/wx/doc/gen/rt/thread_event.rb +71 -0
  75. data/lib/wx/doc/gen/rtc/rich_text_ctrl.rb +19 -19
  76. data/lib/wx/doc/gen/sash_event.rb +2 -2
  77. data/lib/wx/doc/gen/sash_layout_window.rb +2 -2
  78. data/lib/wx/doc/gen/search_ctrl.rb +2 -2
  79. data/lib/wx/doc/gen/spin_ctrl.rb +2 -2
  80. data/lib/wx/doc/gen/splitter_window.rb +6 -6
  81. data/lib/wx/doc/gen/stc/styled_text_event.rb +34 -34
  82. data/lib/wx/doc/gen/task_bar_icon_event.rb +10 -10
  83. data/lib/wx/doc/gen/text_ctrl.rb +4 -4
  84. data/lib/wx/doc/gen/toggle_button.rb +1 -1
  85. data/lib/wx/doc/gen/toolbook.rb +2 -2
  86. data/lib/wx/doc/gen/top_level_window.rb +19 -0
  87. data/lib/wx/doc/gen/tree_ctrl.rb +21 -21
  88. data/lib/wx/doc/gen/treebook.rb +4 -4
  89. data/lib/wx/doc/gen/utils.rb +2 -2
  90. data/lib/wx/doc/gen/web/event_list.rb +95 -0
  91. data/lib/wx/doc/gen/web/web_view.rb +1136 -0
  92. data/lib/wx/doc/gen/web/web_view_event.rb +210 -0
  93. data/lib/wx/doc/gen/web/web_view_handler.rb +318 -0
  94. data/lib/wx/doc/gen/window.rb +1 -1
  95. data/lib/wx/doc/gen/wizard_event.rb +7 -7
  96. data/lib/wx/doc/html/html_help_controller.rb +23 -1
  97. data/lib/wx/doc/mbconv.rb +108 -0
  98. data/lib/wx/doc/rt/shared_event_handler.rb +49 -0
  99. data/lib/wx/doc/rt/thread_event.rb +28 -0
  100. data/lib/wx/doc/webview.rb +40 -0
  101. data/lib/wx/helpers.rb +1 -1
  102. data/lib/wx/html/htmlhelpcontroller.rb +10 -0
  103. data/lib/wx/keyword_defs.rb +11 -0
  104. data/lib/wx/rt/events/evt_list.rb +8 -0
  105. data/lib/wx/rt/require.rb +8 -0
  106. data/lib/wx/rt/thread_event.rb +14 -0
  107. data/lib/wx/rt.rb +16 -0
  108. data/lib/wx/version.rb +1 -1
  109. data/lib/wx/web/events/evt_list.rb +74 -0
  110. data/lib/wx/web/require.rb +8 -0
  111. data/lib/wx/web/webview.rb +106 -0
  112. data/lib/wx/web.rb +17 -0
  113. data/lib/wx/wxruby/cmd/setup.rb +15 -0
  114. data/lib/wx.rb +2 -0
  115. data/rakelib/configure.rb +24 -0
  116. data/rakelib/gem.rb +3 -2
  117. data/rakelib/install.rb +54 -27
  118. data/rakelib/lib/config/macosx.rb +7 -5
  119. data/rakelib/lib/config/mingw.rb +66 -5
  120. data/rakelib/lib/config/pkgman/mingw.rb +1 -1
  121. data/rakelib/lib/config/unixish.rb +4 -2
  122. data/rakelib/lib/config.rb +37 -3
  123. data/rakelib/lib/core/include/client_data.inc +38 -17
  124. data/rakelib/lib/core/include/funcall.inc +1 -1
  125. data/rakelib/lib/core/include/swigdirector.inc +3 -3
  126. data/rakelib/lib/core/include/swigrubyrun.inc +14 -26
  127. data/rakelib/lib/core/package.rb +0 -2
  128. data/rakelib/lib/director/app.rb +1 -8
  129. data/rakelib/lib/director/art_provider.rb +7 -3
  130. data/rakelib/lib/director/comboctrl.rb +0 -7
  131. data/rakelib/lib/director/context_help_button.rb +35 -2
  132. data/rakelib/lib/director/event_handler.rb +32 -28
  133. data/rakelib/lib/director/fs_file.rb +15 -10
  134. data/rakelib/lib/director/functions.rb +8 -0
  135. data/rakelib/lib/director/grid_cell_attr.rb +1 -3
  136. data/rakelib/lib/director/grid_cell_editor.rb +14 -12
  137. data/rakelib/lib/director/grid_cell_renderer.rb +11 -8
  138. data/rakelib/lib/director/grid_ctrl.rb +140 -121
  139. data/rakelib/lib/director/help_controller.rb +70 -2
  140. data/rakelib/lib/director/mb_conv.rb +30 -0
  141. data/rakelib/lib/director/menu.rb +92 -42
  142. data/rakelib/lib/director/menu_bar.rb +84 -45
  143. data/rakelib/lib/director/menu_item.rb +2 -2
  144. data/rakelib/lib/director/persistence_manager.rb +3 -2
  145. data/rakelib/lib/director/preview_frame.rb +2 -2
  146. data/rakelib/lib/director/richtext_buffer.rb +5 -2
  147. data/rakelib/lib/director/shared_evt_handler.rb +30 -0
  148. data/rakelib/lib/director/sizer.rb +8 -17
  149. data/rakelib/lib/director/sizer_item.rb +3 -4
  150. data/rakelib/lib/director/task_bar_icon.rb +7 -7
  151. data/rakelib/lib/director/thread_event.rb +33 -0
  152. data/rakelib/lib/director/validator.rb +3 -1
  153. data/rakelib/lib/director/variant.rb +16 -12
  154. data/rakelib/lib/director/webview.rb +166 -0
  155. data/rakelib/lib/director/webview_event.rb +37 -0
  156. data/rakelib/lib/director/webview_handler.rb +63 -0
  157. data/rakelib/lib/generate/doc/thread_event.yaml +20 -0
  158. data/rakelib/lib/generate/doc/web_view.yaml +135 -0
  159. data/rakelib/lib/generate/doc/web_view_event.yaml +38 -0
  160. data/rakelib/lib/generate/doc/web_view_handler.yaml +58 -0
  161. data/rakelib/lib/specs/interfaces.rb +12 -0
  162. data/rakelib/lib/typemap/common.rb +34 -1
  163. data/rakelib/lib/typemap/mb_conv.rb +58 -0
  164. data/rakelib/prepost.rake +23 -31
  165. data/rakelib/prepost.rb +20 -0
  166. data/samples/event/threaded.rb +295 -42
  167. data/samples/event/tn_threaded.png +0 -0
  168. data/samples/help/doc/back.gif +0 -0
  169. data/samples/help/doc/contents.gif +0 -0
  170. data/samples/help/doc/cshelp.txt +9 -0
  171. data/samples/help/doc/doc.chm +0 -0
  172. data/samples/help/doc/doc.cnt +8 -0
  173. data/samples/help/doc/doc.h +7 -0
  174. data/samples/help/doc/doc.hhc +40 -0
  175. data/samples/help/doc/doc.hhk +31 -0
  176. data/samples/help/doc/doc.hhp +33 -0
  177. data/samples/help/doc/doc.hpj +21 -0
  178. data/samples/help/doc/doc.htm +27 -0
  179. data/samples/help/doc/doc1.htm +24 -0
  180. data/samples/help/doc/doc2.htm +12 -0
  181. data/samples/help/doc/doc3.htm +12 -0
  182. data/samples/help/doc/doc4.htm +12 -0
  183. data/samples/help/doc/doc5.htm +14 -0
  184. data/samples/help/doc/forward.gif +0 -0
  185. data/samples/help/doc/up.gif +0 -0
  186. data/samples/help/doc.chm +0 -0
  187. data/samples/help/doc.chw +0 -0
  188. data/samples/help/doc.zip +0 -0
  189. data/samples/help/help.rb +352 -0
  190. data/samples/help/tn_help.png +0 -0
  191. data/samples/webview/handler_advanced.html +55 -0
  192. data/samples/webview/tn_webview.png +0 -0
  193. data/samples/webview/webview.rb +1264 -0
  194. data/tests/assets/handler_advanced.html +55 -0
  195. data/tests/assets/test.css +1 -0
  196. data/tests/assets/test.html +9 -0
  197. data/tests/assets/test.zip +0 -0
  198. data/tests/lib/text_entry_tests.rb +2 -2
  199. data/tests/lib/wxapp_runner.rb +40 -0
  200. data/tests/lib/wxframe_runner.rb +17 -2
  201. data/tests/test_art.rb +8 -8
  202. data/tests/test_clipboard.rb +4 -4
  203. data/tests/test_config.rb +6 -6
  204. data/tests/test_exceptions.rb +8 -6
  205. data/tests/test_ext_controls.rb +3 -3
  206. data/tests/test_file_dialog.rb +5 -5
  207. data/tests/test_font.rb +7 -7
  208. data/tests/test_grid_ctrl.rb +133 -0
  209. data/tests/test_help.rb +88 -0
  210. data/tests/test_intl.rb +1 -1
  211. data/tests/test_media_ctrl.rb +14 -6
  212. data/tests/test_menu.rb +94 -86
  213. data/tests/test_persistence.rb +1 -1
  214. data/tests/test_proof_check.rb +5 -5
  215. data/tests/test_propgrid.rb +1 -1
  216. data/tests/test_shared_event_handler.rb +141 -0
  217. data/tests/test_std_controls.rb +5 -5
  218. data/tests/test_webview.rb +492 -0
  219. data/tests/test_window.rb +3 -3
  220. metadata +78 -2
@@ -0,0 +1,210 @@
1
+ # :stopdoc:
2
+ # This file is automatically generated by the WXRuby3 documentation
3
+ # generator. Do not alter this file.
4
+ # :startdoc:
5
+
6
+
7
+ module Wx
8
+
9
+ module WEB
10
+
11
+ # A navigation event holds information about events associated with {Wx::WEB::WebView} objects.
12
+ #
13
+ # ### Events emitted by this class
14
+ #
15
+ # The following event-handler methods redirect the events to member method or handler blocks for {Wx::WEB::WebViewEvent} events.
16
+ # Event handler methods for events emitted by this class:
17
+ #
18
+ # - {Wx::EvtHandler#evt_webview_created}(id, meth = nil, &block): Process a {Wx::WEB::EVT_WEBVIEW_CREATED} event, generated when the object is fully initialized. For the backends using asynchronous initialization, such as {Wx::WebViewChromium}, most of this class member functions can be only used once this event is received.
19
+ #
20
+ # - {Wx::EvtHandler#evt_webview_navigating}(id, meth = nil, &block): Process a {Wx::WEB::EVT_WEBVIEW_NAVIGATING} event, generated before trying to get a resource. This event may be vetoed to prevent navigating to this resource. Note that if the displayed HTML document has several frames, one such event will be generated per frame.
21
+ #
22
+ # - {Wx::EvtHandler#evt_webview_navigated}(id, meth = nil, &block): Process a {Wx::WEB::EVT_WEBVIEW_NAVIGATED} event generated after it was confirmed that a resource would be requested. This event may not be vetoed. Note that if the displayed HTML document has several frames, one such event will be generated per frame.
23
+ #
24
+ # - {Wx::EvtHandler#evt_webview_loaded}(id, meth = nil, &block): Process a {Wx::WEB::EVT_WEBVIEW_LOADED} event generated when the document is fully loaded and displayed. Note that if the displayed HTML document has several frames, one such event will be generated per frame.
25
+ #
26
+ # - {Wx::EvtHandler#evt_webview_error}(id, meth = nil, &block): Process a {Wx::WEB::EVT_WEBVIEW_ERROR} event generated when a navigation error occurs. The integer associated with this event will be a {Wx::WEB::WebViewNavigationError} item. The string associated with this event may contain a backend-specific more precise error message/code.
27
+ #
28
+ # - {Wx::EvtHandler#evt_webview_newwindow}(id, meth = nil, &block): Process a {Wx::WEB::EVT_WEBVIEW_NEWWINDOW} event, generated when a new window is created. You must handle this event if you want anything to happen, for example to load the page in a new window or tab. For usage details see {Wx::WEB::WebViewWindowFeatures}.
29
+ #
30
+ # - {Wx::EvtHandler#evt_webview_newwindow_features}(id, meth = nil, &block): Process a {Wx::WEB::EVT_WEBVIEW_NEWWINDOW_FEATURES} event, generated when window features are available for the new window. For usage details see {Wx::WEB::WebViewWindowFeatures}. only available in wxWidgets 3.3.0 or later.
31
+ #
32
+ # - {Wx::EvtHandler#evt_webview_window_close_requested}(id, meth = nil, &block): Process a {Wx::WEB::EVT_WEBVIEW_WINDOW_CLOSE_REQUESTED} event, generated when a window is requested to be closed. only available in wxWidgets 3.3.0 or later.
33
+ #
34
+ # - {Wx::EvtHandler#evt_webview_title_changed}(id, meth = nil, &block): Process a {Wx::WEB::EVT_WEBVIEW_TITLE_CHANGED} event, generated when the page title changes. Use GetString to get the title.
35
+ #
36
+ # - {Wx::EvtHandler#evt_webview_fullscreen_changed}(id, meth = nil, &block): Process a {Wx::WEB::EVT_WEBVIEW_FULLSCREEN_CHANGED} event, generated when the page wants to enter or leave fullscreen. Use GetInt to get the status. Not implemented for the IE backend and is only available in wxWidgets 3.1.5 or later.
37
+ #
38
+ # - {Wx::EvtHandler#evt_webview_script_message_received}(id, meth = nil, &block): Process a {Wx::WEB::EVT_WEBVIEW_SCRIPT_MESSAGE_RECEIVED} event only available in wxWidgets 3.1.5 or later. For usage details see {Wx::WEB::WebView#add_script_message_handler}.
39
+ #
40
+ # - {Wx::EvtHandler#evt_webview_script_result}(id, meth = nil, &block): Process a {Wx::WEB::EVT_WEBVIEW_SCRIPT_RESULT} event only available in wxWidgets 3.1.6 or later. For usage details see {Wx::WEB::WebView#run_script_async}.
41
+ #
42
+ # - wxEVT_WEBVIEW_BROWSING_DATA_CLEARED(id, func): Process a {Wx::WEB::EVT_WEBVIEW_BROWSING_DATA_CLEARED} event only available in wxWidgets 3.3.0 or later. For usage details see {Wx::WEB::WebView#clear_browsing_data}.
43
+ #
44
+ # Library: {Wx::WEB::WebView}
45
+ # Category: {Wx::Events}, {Wx::WEB::WebView}
46
+ # @see Wx::WEB::WebView
47
+ #
48
+ #
49
+ # @wxrb_require USE_WEBVIEW
50
+ class WebViewEvent < NotifyEvent
51
+
52
+ # @overload initialize()
53
+ # @return [Wx::WEB::WebViewEvent]
54
+ # @overload initialize(type, id, href, target, flags=Wx::WEB::WebViewNavigationActionFlags::WEBVIEW_NAV_ACTION_NONE, messageHandler=(''))
55
+ # @param type [Wx::TipWindow::EventType]
56
+ # @param id [Integer]
57
+ # @param href [String]
58
+ # @param target [String]
59
+ # @param flags [Wx::WebViewNavigationActionFlags]
60
+ # @param messageHandler [String]
61
+ # @return [Wx::WEB::WebViewEvent]
62
+ def initialize(*args) end
63
+
64
+ # Get the name of the target frame which the url of this event has been or will be loaded into.
65
+ #
66
+ # This may return an empty string if the frame is not available.
67
+ # @return [Wx::String]
68
+ def get_target; end
69
+ alias_method :target, :get_target
70
+
71
+ # Get the URL being visited.
72
+ # @return [Wx::String]
73
+ def get_url; end
74
+ alias_method :url, :get_url
75
+
76
+ # Get the type of navigation action.
77
+ #
78
+ # Only valid for events of type {Wx::WEB::EVT_WEBVIEW_NEWWINDOW}
79
+ # @return [Wx::WebViewNavigationActionFlags]
80
+ def get_navigation_action; end
81
+ alias_method :navigation_action, :get_navigation_action
82
+
83
+ # Get the name of the script handler.
84
+ #
85
+ # Only valid for events of type {Wx::WEB::EVT_WEBVIEW_SCRIPT_MESSAGE_RECEIVED}
86
+ # @return [Wx::String]
87
+ def get_message_handler; end
88
+ alias_method :message_handler, :get_message_handler
89
+
90
+ # Get information about the target window.
91
+ #
92
+ # Only valid for events of type {Wx::WEB::EVT_WEBVIEW_NEWWINDOW_FEATURES}
93
+ #
94
+ # <div class="wxrb-note">
95
+ # <b>Note:</b>
96
+ # <p>This function is not implemented and always returns nil when using WebKit1 or Internet Explorer backend.
97
+ # </p>
98
+ # </div>
99
+ # @see Wx::WEB::WebViewWindowFeatures
100
+ # @return [Wx::WEB::WebViewWindowFeatures]
101
+ def get_target_window_features; end
102
+ alias_method :target_window_features, :get_target_window_features
103
+
104
+ # Returns true if the operation failed.
105
+ #
106
+ # Only valid for events of type {Wx::WEB::EVT_WEBVIEW_SCRIPT_RESULT} and {Wx::WEB::EVT_WEBVIEW_BROWSING_DATA_CLEARED}
107
+ # @return [Boolean]
108
+ def is_error; end
109
+ alias_method :error?, :is_error
110
+
111
+ # Returns true if the navigation target is the main frame.
112
+ #
113
+ # Only valid for events of type {Wx::WEB::EVT_WEBVIEW_NAVIGATING}
114
+ #
115
+ # <div class="wxrb-note">
116
+ # <b>Note:</b>
117
+ # <p>This is only available with the macOS and the Edge backend.
118
+ # </p>
119
+ # </div>
120
+ # @return [Boolean]
121
+ def is_target_main_frame; end
122
+ alias_method :target_main_frame?, :is_target_main_frame
123
+
124
+ end # WebViewEvent
125
+
126
+ # A class describing the window information for a new child window.
127
+ #
128
+ # An object of this class can be obtained using {Wx::WEB::WebViewEvent#get_target_window_features} while handling {Wx::WEB::EVT_WEBVIEW_NEWWINDOW_FEATURES}.
129
+ # If a {Wx::WEB::EVT_WEBVIEW_NEWWINDOW} is not vetoed, a {Wx::WEB::EVT_WEBVIEW_NEWWINDOW_FEATURES} event will be sent to the application. The application can then create a new window and call {Wx::WEB::WebViewEvent#get_target_window_info} to get this class providing information about the new window. A new child web view will be available via {Wx::WEB::WebViewWindowFeatures#get_child_web_view}. The application can then place the child web view into the new window by calling {Wx::WEB::WebView#create} on the child web view.
130
+ # Sample JavaScript opening a new window:
131
+ # ```
132
+ # window.open("https://www.wxwidgets.org", "newWindow", "width=400,height=400");
133
+ # ```
134
+ #
135
+ # Sample code handling a new window request:
136
+ #
137
+ # ```ruby
138
+ # # Bind new window handler
139
+ # @webView.evt_webview_newwindow(Wx::ID_ANY) { |evt|
140
+ # if evt.get_url == "http://badwebsite.com"
141
+ # evt.veto # Disallow new window for badwebsite.com
142
+ # else
143
+ # evt.skip # Allow new window for all other websites
144
+ # end
145
+ # }
146
+ #
147
+ # # Bind new window features handler
148
+ # @webView.evt_webview_newwindow_features(Wx::ID_ANY) { |evt|
149
+ # # Get target window features
150
+ # features = evt.get_target_window_features
151
+ # # Create a top level window for the child web view
152
+ # win = Wx::Frame.new(nil, Wx::ID_ANY, features.get_position, features.get_size)
153
+ # sizer = Wx::VBoxSizer.new
154
+ # win.set_sizer(sizer)
155
+ # # Get the child web view
156
+ # childWebView = features.get_child_web_view
157
+ # # Place the child web view into the window
158
+ # childWebView.create(win, Wx::ID_ANY)
159
+ # sizer.add(childWebView, Wx::SizerFlags.new.proportion(1).expand)
160
+ # }
161
+ # ```
162
+ #
163
+ #
164
+ # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
165
+ # @wxrb_require USE_WEBVIEW
166
+ class WebViewWindowFeatures < ::Object
167
+
168
+ # Get the child web view for the target window.
169
+ #
170
+ # This is available in the event handler for {Wx::WEB::EVT_WEBVIEW_NEWWINDOW_FEATURES} and {Wx::WEB::WebView#create} <b>must</b> be called on the child web view directly.
171
+ # The requested URL will be loaded automatically in the child web view.
172
+ # @return [Wx::WEB::WebView]
173
+ def get_child_web_view; end
174
+ alias_method :child_web_view, :get_child_web_view
175
+
176
+ # Returns the position of the new window if specified by a <code>window.open()</code> call.
177
+ # @return [Wx::Point]
178
+ def get_position; end
179
+ alias_method :position, :get_position
180
+
181
+ # Returns the size of the new window if specified by a <code>window.open()</code> call.
182
+ # @return [Wx::Size]
183
+ def get_size; end
184
+ alias_method :size, :get_size
185
+
186
+ # Returns true if the target window is expected to display a menu bar as specified by a <code>window.open()</code> call.
187
+ # @return [Boolean]
188
+ def should_display_menu_bar; end
189
+
190
+ # Returns true if the target window is expected to display a status bar as specified by a <code>window.open()</code> call.
191
+ # @return [Boolean]
192
+ def should_display_status_bar; end
193
+
194
+ # Returns true if the target window is expected to display a tool bar as specified by a <code>window.open()</code> call.
195
+ # @return [Boolean]
196
+ def should_display_tool_bar; end
197
+
198
+ # Returns true if the target window is expected to display scroll bars as specified by a <code>window.open()</code> call.
199
+ # @return [Boolean]
200
+ def should_display_scroll_bars; end
201
+
202
+
203
+ protected
204
+
205
+ end # WebViewWindowFeatures
206
+
207
+
208
+ end
209
+
210
+ end
@@ -0,0 +1,318 @@
1
+ # :stopdoc:
2
+ # This file is automatically generated by the WXRuby3 documentation
3
+ # generator. Do not alter this file.
4
+ # :startdoc:
5
+
6
+
7
+ module Wx
8
+
9
+ module WEB
10
+
11
+ # The base class for handling custom schemes in {Wx::WEB::WebView}, for example to allow virtual file system support.
12
+ #
13
+ # A new handler should either implement {Wx::WEB::WebViewHandler#get_file} or if a more detailed request handling is required (access to headers, post data) {Wx::WEB::WebViewHandler#start_request} has to be implemented.
14
+ #
15
+ # Category: {Wx::WEB::WebView}
16
+ # @see Wx::WEB::WebView
17
+ #
18
+ #
19
+ #
20
+ # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
21
+ # @wxrb_require USE_WEBVIEW
22
+ class WebViewHandler < ::Object
23
+
24
+ # Constructor.
25
+ #
26
+ # Takes the name of the scheme that will be handled by this class for example file or zip.
27
+ # @param scheme [String]
28
+ # @return [Wx::WEB::WebViewHandler]
29
+ def initialize(scheme) end
30
+
31
+ #
32
+ #
33
+ # A pointer to the file represented by uri.
34
+ # @param uri [String]
35
+ # @return [Wx::FSFile]
36
+ def get_file(uri) end
37
+ alias_method :file, :get_file
38
+
39
+ #
40
+ #
41
+ # The name of the scheme, as passed to the constructor.
42
+ # @return [String]
43
+ def get_name; end
44
+ alias_method :name, :get_name
45
+
46
+ # Sets a custom security URL.
47
+ #
48
+ # Only used by {Wx::WebViewIE}.
49
+ # @param url [String]
50
+ # @return [void]
51
+ def set_security_url(url) end
52
+ alias_method :security_url=, :set_security_url
53
+
54
+ #
55
+ #
56
+ # The custom security URL. Only used by {Wx::WebViewIE}.
57
+ # @return [String]
58
+ def get_security_url; end
59
+ alias_method :security_url, :get_security_url
60
+
61
+ # When using the edge backend handler urls are https urls with a virtual host.
62
+ #
63
+ # As default <code>name.wxsite</code> is used as the virtual hostname. If you customize this host, use a non existing site (ideally a reserved subdomain of a domain you control). If localassests.domain.example is used the handlers content will be available under https://localassets.domain.example/
64
+ # This has to be set <b>before</b> registering the handler via {Wx::WEB::WebView#register_handler}.
65
+ # @param host [String]
66
+ # @return [void]
67
+ def set_virtual_host(host) end
68
+ alias_method :virtual_host=, :set_virtual_host
69
+
70
+ #
71
+ #
72
+ # The virtual host of this handler
73
+ # @see Wx::WEB::WebViewHandler#set_virtual_host
74
+ # @return [String]
75
+ def get_virtual_host; end
76
+ alias_method :virtual_host, :get_virtual_host
77
+
78
+ # Implementing this method allows for more control over requests from the backend than {Wx::WEB::WebViewHandler#get_file}.
79
+ #
80
+ # More details of the request are available from the request object which allows access to URL, method, postdata and headers.
81
+ # A response can be send via the response object. The response does not have to be finished from this method and it's possible to be finished asynchronously via {Wx::WEB::WebViewHandlerResponse#finish}.
82
+ # The following pseudo code demonstrates a typical implementation:
83
+ # ```ruby
84
+ # def start_request(request, response)
85
+ # # Set common headers allowing access from XMLHTTPRequests()
86
+ # response.set_header("Access-Control-Allow-Origin", "*")
87
+ # response.set_header("Access-Control-Allow-Headers", "*")
88
+ #
89
+ # # Handle options request
90
+ # if request.get_method.casecmp("options") == 0
91
+ # response.finish("")
92
+ # return
93
+ # end
94
+ #
95
+ # # Check the post data type
96
+ # unless request.get_header("Content-Type").start_with?("application/json")
97
+ # response.finish_with_error
98
+ # return;
99
+ # end
100
+ #
101
+ # # Process input data
102
+ # postData = request.get_data_string
103
+ #
104
+ # #...
105
+ #
106
+ # # Send result
107
+ # response.set_content_type("application/json")
108
+ # response.finish("{ result: true }")
109
+ # end
110
+ # ```
111
+ #
112
+ # <div class="wxrb-note">
113
+ # <b>Note:</b>
114
+ # <p>This is only used by macOS, Chromium, and the Edge backend.
115
+ # </p>
116
+ # </div>
117
+ # @see Wx::WEB::WebViewHandler#get_file
118
+ # @param request [Wx::WEB::WebViewHandlerRequest]
119
+ # @param response [Wx::WEB::WebViewHandlerResponse]
120
+ # @return [void]
121
+ def start_request(request, response) end
122
+
123
+ end # WebViewHandler
124
+
125
+ # A custom handler for the file scheme which also supports loading from archives.
126
+ #
127
+ # The syntax for {Wx::WEB::WebViewArchiveHandler} differs from virtual file systems in the rest of wxWidgets by using a syntax such as <code> scheme:///C:/example/docs.zip;protocol=zip/main.htm </code> Currently the only supported protocol is zip.
128
+ #
129
+ # Category: {Wx::WEB::WebView}
130
+ # @see Wx::WEB::WebView
131
+ # @see Wx::WEB::WebViewHandler
132
+ #
133
+ #
134
+ #
135
+ # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
136
+ # @wxrb_require USE_WEBVIEW
137
+ class WebViewArchiveHandler < WebViewHandler
138
+
139
+ # Constructor.
140
+ # @param scheme [String]
141
+ # @return [Wx::WEB::WebViewArchiveHandler]
142
+ def initialize(scheme) end
143
+
144
+ #
145
+ #
146
+ # A pointer to the file represented by uri.
147
+ # @param uri [String]
148
+ # @return [Wx::FSFile]
149
+ def get_file(uri) end
150
+ alias_method :file, :get_file
151
+
152
+ end # WebViewArchiveHandler
153
+
154
+ # A {Wx::WEB::WebView} file system handler to support standard {Wx::FileSystem} protocols of the form <code> example:page.htm </code> The handler allows {Wx::WEB::WebView} to use {Wx::FileSystem} in a similar fashion to its use with {Wx::HTML}.
155
+ #
156
+ # The {Wx::MemoryFSHandler} documentation gives an example of how it may be used.
157
+ #
158
+ # Category: {Wx::WEB::WebView}
159
+ # @see Wx::WEB::WebView
160
+ # @see Wx::WEB::WebViewHandler
161
+ # @see Wx::WEB::WebViewArchiveHandler
162
+ #
163
+ #
164
+ #
165
+ # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
166
+ # @wxrb_require USE_WEBVIEW
167
+ class WebViewFSHandler < WebViewHandler
168
+
169
+ # Constructor.
170
+ # @param scheme [String]
171
+ # @return [Wx::WEB::WebViewFSHandler]
172
+ def initialize(scheme) end
173
+
174
+ #
175
+ #
176
+ # A pointer to the file represented by uri.
177
+ # @param uri [String]
178
+ # @return [Wx::FSFile]
179
+ def get_file(uri) end
180
+ alias_method :file, :get_file
181
+
182
+ end # WebViewFSHandler
183
+
184
+ # A class giving access to various parameters of a webview request.
185
+ #
186
+ # Category: {Wx::WEB::WebView}
187
+ # @see Wx::WEB::WebViewHandler#start_request
188
+ #
189
+ #
190
+ #
191
+ # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
192
+ # @wxrb_require USE_WEBVIEW
193
+ class WebViewHandlerRequest < ::Object
194
+
195
+ #
196
+ #
197
+ # The unmodified url of the request.
198
+ # @return [String]
199
+ def get_raw_uri; end
200
+ alias_method :raw_uri, :get_raw_uri
201
+
202
+ #
203
+ #
204
+ # The url of the request. Can be modified by the backend for compatibility.
205
+ # @return [String]
206
+ def get_uri; end
207
+ alias_method :uri, :get_uri
208
+
209
+ #
210
+ #
211
+ # The body data of the request of null if nothing was posted.
212
+ # @return [Wx::InputStream]
213
+ def get_data; end
214
+ alias_method :data, :get_data
215
+
216
+ #
217
+ #
218
+ # The body data of the request as a string. The returned string is empty if the supplied conv doesn't match the encoding.
219
+ # @param conv [Wx::MBConv]
220
+ # @return [String]
221
+ def get_data_string(conv=wxConvUTF8) end
222
+ alias_method :data_string, :get_data_string
223
+
224
+ #
225
+ #
226
+ # The requests HTTP method (e.g. POST, GET, OPTIONS).
227
+ # @return [String]
228
+ def get_method; end
229
+ alias_method :method, :get_method
230
+
231
+ # Returns a header from the request or an empty string if the header could not be found.
232
+ # @param name [String] Name of the header field
233
+ # @return [String]
234
+ def get_header(name) end
235
+ alias_method :header, :get_header
236
+
237
+ end # WebViewHandlerRequest
238
+
239
+ # A class giving access to various webview response parameters.
240
+ #
241
+ # Usually a {web_view_handler} would set various parameters required for the response like HTTP status, various headers and must then call {Wx::WEB::WebViewHandlerResponse#finish} to complete the response or call {Wx::WEB::WebViewHandlerResponse#finish_with_error} to abort the request.
242
+ #
243
+ # Category: {Wx::WEB::WebView}
244
+ # @see Wx::WEB::WebViewHandler#start_request
245
+ #
246
+ #
247
+ #
248
+ # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
249
+ # @wxrb_require USE_WEBVIEW
250
+ class WebViewHandlerResponse < ::Object
251
+
252
+ # Sets the status code of the response.
253
+ # @param status [Integer] HTTP status code
254
+ # @return [void]
255
+ def set_status(status) end
256
+ alias_method :status=, :set_status
257
+
258
+ # Sets the MIME type of the response.
259
+ # @param contentType [String] MIME type of the response content
260
+ # @return [void]
261
+ def set_content_type(contentType) end
262
+ alias_method :content_type=, :set_content_type
263
+
264
+ # Sets a response header which will be sent to the web view.
265
+ #
266
+ # The header will be added if it hasn't been set before or replaced otherwise.
267
+ # @param name [String] Name of the header
268
+ # @param value [String] String value of the header
269
+ # @return [void]
270
+ def set_header(name, value) end
271
+
272
+ # @overload finish(data)
273
+ # Finishes the request with binary data.
274
+ #
275
+ # @see finish(text, conv)
276
+ # @param data [Wx::WEB::WebViewHandlerResponseData] The data object will be dereferenced when the request is completed
277
+ # @return [void]
278
+ # @overload finish(text, conv=wxConvUTF8)
279
+ # Finishes the request with text data.
280
+ #
281
+ # @see find(data)
282
+ # @param text [String] Text content of the response (can be empty)
283
+ # @param conv [Wx::MBConv] Conversion used when sending the text in the response
284
+ # @return [void]
285
+ def finish(*args) end
286
+
287
+ # Finishes the request as an error.
288
+ #
289
+ # This will notify that the request could not produce any data.
290
+ # @see Wx::WEB::WebViewHandlerResponse#finish
291
+ # @return [void]
292
+ def finish_with_error; end
293
+
294
+ end # WebViewHandlerResponse
295
+
296
+ # A class holding the response data.
297
+ #
298
+ # @see Wx::WEB::WebViewHandlerResponse#finish(data)
299
+ #
300
+ #
301
+ # @note This class is <b>untracked</b> and should not be derived from nor instances extended!
302
+ # @wxrb_require USE_WEBVIEW
303
+ class WebViewHandlerResponseData < ::Object
304
+
305
+ #
306
+ #
307
+ # A pointer to the stream.
308
+ # @see Wx::WEB::WebViewHandlerResponse#finish
309
+ # @return [Wx::InputStream]
310
+ def get_stream; end
311
+ alias_method :stream, :get_stream
312
+
313
+ end # WebViewHandlerResponseData
314
+
315
+
316
+ end
317
+
318
+ end
@@ -417,7 +417,7 @@ module Wx
417
417
  # Reparents the window, i.e. the window will be removed from its current parent window (e.g.
418
418
  #
419
419
  # a non-standard toolbar in a {Wx::Frame}) and then re-inserted into another.
420
- # Notice that currently you need to explicitly call {Wx::Notebook#remove_page} before reparenting a notebook page.
420
+ # Notice that currently you need to explicitly call {Wx::Notebook#remove_page} before reparenting a notebook page (and most likely you want to call {Wx::Window#show} for the window afterwards).
421
421
  # @param newParent [Wx::Window] New parent.
422
422
  # @return [Boolean]
423
423
  def reparent(newParent) end
@@ -32,31 +32,31 @@ module Wx
32
32
 
33
33
  #
34
34
  #
35
- EVT_WIZARD_PAGE_CHANGED = 10317
35
+ EVT_WIZARD_PAGE_CHANGED = 10320
36
36
 
37
37
  #
38
38
  #
39
- EVT_WIZARD_PAGE_CHANGING = 10318
39
+ EVT_WIZARD_PAGE_CHANGING = 10321
40
40
 
41
41
  #
42
42
  #
43
- EVT_WIZARD_CANCEL = 10320
43
+ EVT_WIZARD_CANCEL = 10323
44
44
 
45
45
  #
46
46
  #
47
- EVT_WIZARD_HELP = 10322
47
+ EVT_WIZARD_HELP = 10325
48
48
 
49
49
  #
50
50
  #
51
- EVT_WIZARD_FINISHED = 10321
51
+ EVT_WIZARD_FINISHED = 10324
52
52
 
53
53
  #
54
54
  #
55
- EVT_WIZARD_PAGE_SHOWN = 10323
55
+ EVT_WIZARD_PAGE_SHOWN = 10326
56
56
 
57
57
  #
58
58
  #
59
- EVT_WIZARD_BEFORE_PAGE_CHANGED = 10319
59
+ EVT_WIZARD_BEFORE_PAGE_CHANGED = 10322
60
60
 
61
61
  # {Wx::WizardEvent} class represents an event generated by the {Wx::Wizard}: this event is first sent to the page itself and, if not processed there, goes up the window hierarchy as usual.
62
62
  #
@@ -9,7 +9,7 @@ module Wx
9
9
 
10
10
  module HTML
11
11
 
12
- class HelpController
12
+ class HtmlHelpController
13
13
 
14
14
  # Returns the latest frame size and position settings and whether a new frame is drawn with each invocation.
15
15
  # @return [Array(Wx::Frame,Wx::Size,Wx::Point,Boolean)] latest frame settings
@@ -17,6 +17,28 @@ module Wx
17
17
 
18
18
  end
19
19
 
20
+ # This module method uses Wx::HTML::HtmlHelpController to display help in a modal dialog and returns after
21
+ # the dialog has been closed.
22
+ #
23
+ # This is useful on platforms such as WXOSX where if you display help from a modal dialog, the help window must
24
+ # itself be a modal dialog.
25
+ #
26
+ # @param [Wx::Window] parent parent of the dialog.
27
+ # @param [String] help_file the HTML help file to show.
28
+ # @param [String] topic an optional topic. If this is empty, the help contents will be shown.
29
+ # @param [Integer] style is a combination of the flags described in the {Wx::HTML::HtmlHelpController} documentation.
30
+ # @return [void]
31
+ def self.html_modal_help(parent, help_file, topic = '', style = Wx::HTML::HF_DEFAULT_STYLE); end
32
+
33
+ # Convenience alias for {Wx::HTML.html_modal_help} similarly named as the wxWidgets wxHtmlModalHelp class.
34
+ #
35
+ # @param [Wx::Window] parent parent of the dialog.
36
+ # @param [String] help_file the HTML help file to show.
37
+ # @param [String] topic an optional topic. If this is empty, the help contents will be shown.
38
+ # @param [Integer] style is a combination of the flags described in the {Wx::HTML::HtmlHelpController} documentation.
39
+ # @return [void]
40
+ def self.HtmlModalHelp(parent, help_file, topic, style = Wx::HTML::HF_DEFAULT_STYLE); end
41
+
20
42
  end
21
43
 
22
44
  end