wxruby3 0.9.3-x64-mingw-ucrt → 0.9.5-x64-mingw-ucrt

Sign up to get free protection for your applications and to get access to all the features.
Files changed (160) hide show
  1. checksums.yaml +4 -4
  2. data/INSTALL.md +1 -1
  3. data/README.md +2 -2
  4. data/ext/wxbase32u_gcc_custom.dll +0 -0
  5. data/ext/wxbase32u_net_gcc_custom.dll +0 -0
  6. data/ext/wxbase32u_xml_gcc_custom.dll +0 -0
  7. data/ext/wxmsw32u_aui_gcc_custom.dll +0 -0
  8. data/ext/wxmsw32u_core_gcc_custom.dll +0 -0
  9. data/ext/wxmsw32u_gl_gcc_custom.dll +0 -0
  10. data/ext/wxmsw32u_html_gcc_custom.dll +0 -0
  11. data/ext/wxmsw32u_media_gcc_custom.dll +0 -0
  12. data/ext/wxmsw32u_propgrid_gcc_custom.dll +0 -0
  13. data/ext/wxmsw32u_qa_gcc_custom.dll +0 -0
  14. data/ext/wxmsw32u_ribbon_gcc_custom.dll +0 -0
  15. data/ext/wxmsw32u_richtext_gcc_custom.dll +0 -0
  16. data/ext/wxmsw32u_stc_gcc_custom.dll +0 -0
  17. data/ext/wxmsw32u_webview_gcc_custom.dll +0 -0
  18. data/ext/wxmsw32u_xrc_gcc_custom.dll +0 -0
  19. data/lib/wx/core/book_ctrl_base.rb +16 -0
  20. data/lib/wx/core/combo_ctrl.rb +171 -0
  21. data/lib/wx/core/config.rb +454 -83
  22. data/lib/wx/core/notebook.rb +10 -8
  23. data/lib/wx/core/peristent_object.rb +15 -0
  24. data/lib/wx/core/persistence_manager.rb +39 -0
  25. data/lib/wx/core/persistent_window.rb +16 -0
  26. data/lib/wx/core/top_level_window.rb +16 -0
  27. data/lib/wx/core/treebook.rb +18 -0
  28. data/lib/wx/core.rb +4 -0
  29. data/lib/wx/doc/book_ctrl_base.rb +19 -0
  30. data/lib/wx/doc/comboctrl.rb +128 -3
  31. data/lib/wx/doc/config.rb +101 -41
  32. data/lib/wx/doc/extra/14_config.md +101 -0
  33. data/lib/wx/doc/extra/15_persistence.md +148 -0
  34. data/lib/wx/doc/gen/app_traits.rb +2 -54
  35. data/lib/wx/doc/gen/art_provider.rb +0 -2
  36. data/lib/wx/doc/gen/aui/aui_dock_art.rb +77 -77
  37. data/lib/wx/doc/gen/aui/aui_manager.rb +0 -1
  38. data/lib/wx/doc/gen/aui/aui_manager_event.rb +1 -1
  39. data/lib/wx/doc/gen/aui/aui_mdi_client_window.rb +5 -4
  40. data/lib/wx/doc/gen/aui/aui_notebook_event.rb +1 -1
  41. data/lib/wx/doc/gen/aui/aui_tool_bar_event.rb +21 -21
  42. data/lib/wx/doc/gen/book_ctrl_event.rb +1 -1
  43. data/lib/wx/doc/gen/calendar_event.rb +1 -1
  44. data/lib/wx/doc/gen/colour.rb +0 -1
  45. data/lib/wx/doc/gen/colour_dialog.rb +1 -1
  46. data/lib/wx/doc/gen/combo_box.rb +3 -2
  47. data/lib/wx/doc/gen/combo_ctrl.rb +91 -227
  48. data/lib/wx/doc/gen/core.rb +2 -2
  49. data/lib/wx/doc/gen/date_event.rb +1 -1
  50. data/lib/wx/doc/gen/dc.rb +0 -3
  51. data/lib/wx/doc/gen/dialog.rb +0 -1
  52. data/lib/wx/doc/gen/event.rb +4 -4
  53. data/lib/wx/doc/gen/event_blocker.rb +1 -1
  54. data/lib/wx/doc/gen/event_filter.rb +0 -2
  55. data/lib/wx/doc/gen/events.rb +17 -39
  56. data/lib/wx/doc/gen/file_ctrl_event.rb +1 -1
  57. data/lib/wx/doc/gen/file_dialog.rb +0 -2
  58. data/lib/wx/doc/gen/file_dialog_customize_hook.rb +55 -63
  59. data/lib/wx/doc/gen/file_dir_picker_event.rb +1 -1
  60. data/lib/wx/doc/gen/file_system.rb +1 -58
  61. data/lib/wx/doc/gen/find_dialog_event.rb +1 -1
  62. data/lib/wx/doc/gen/frame.rb +0 -1
  63. data/lib/wx/doc/gen/gdi_common.rb +0 -8
  64. data/lib/wx/doc/gen/grid/grid_cell_activatable_editor.rb +0 -2
  65. data/lib/wx/doc/gen/grid/grid_cell_attr.rb +0 -2
  66. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_editor.rb +0 -2
  67. data/lib/wx/doc/gen/grid/grid_cell_auto_wrap_string_renderer.rb +0 -2
  68. data/lib/wx/doc/gen/grid/grid_cell_bool_editor.rb +0 -2
  69. data/lib/wx/doc/gen/grid/grid_cell_bool_renderer.rb +0 -2
  70. data/lib/wx/doc/gen/grid/grid_cell_choice_editor.rb +0 -2
  71. data/lib/wx/doc/gen/grid/grid_cell_date_editor.rb +0 -2
  72. data/lib/wx/doc/gen/grid/grid_cell_date_renderer.rb +0 -2
  73. data/lib/wx/doc/gen/grid/grid_cell_date_time_renderer.rb +0 -2
  74. data/lib/wx/doc/gen/grid/grid_cell_editor.rb +0 -2
  75. data/lib/wx/doc/gen/grid/grid_cell_enum_editor.rb +0 -2
  76. data/lib/wx/doc/gen/grid/grid_cell_enum_renderer.rb +0 -2
  77. data/lib/wx/doc/gen/grid/grid_cell_float_editor.rb +0 -2
  78. data/lib/wx/doc/gen/grid/grid_cell_float_renderer.rb +0 -2
  79. data/lib/wx/doc/gen/grid/grid_cell_number_editor.rb +0 -2
  80. data/lib/wx/doc/gen/grid/grid_cell_number_renderer.rb +0 -2
  81. data/lib/wx/doc/gen/grid/grid_cell_renderer.rb +0 -2
  82. data/lib/wx/doc/gen/grid/grid_cell_string_renderer.rb +0 -2
  83. data/lib/wx/doc/gen/grid/grid_cell_text_editor.rb +0 -2
  84. data/lib/wx/doc/gen/grid/grid_ctrl.rb +0 -12
  85. data/lib/wx/doc/gen/grid/grid_editor_created_event.rb +1 -1
  86. data/lib/wx/doc/gen/grid/grid_event.rb +1 -1
  87. data/lib/wx/doc/gen/grid/grid_range_select_event.rb +1 -1
  88. data/lib/wx/doc/gen/grid/grid_size_event.rb +1 -1
  89. data/lib/wx/doc/gen/gui_event_loop.rb +0 -2
  90. data/lib/wx/doc/gen/header_ctrl.rb +0 -7
  91. data/lib/wx/doc/gen/header_ctrl_event.rb +1 -1
  92. data/lib/wx/doc/gen/html/html_cell_event.rb +1 -1
  93. data/lib/wx/doc/gen/image.rb +0 -2
  94. data/lib/wx/doc/gen/list_ctrl.rb +0 -1
  95. data/lib/wx/doc/gen/list_event.rb +1 -1
  96. data/lib/wx/doc/gen/media_ctrl.rb +0 -6
  97. data/lib/wx/doc/gen/media_event.rb +1 -1
  98. data/lib/wx/doc/gen/menu.rb +0 -2
  99. data/lib/wx/doc/gen/notebook.rb +0 -1
  100. data/lib/wx/doc/gen/persistence_manager.rb +135 -0
  101. data/lib/wx/doc/gen/persistent_object.rb +52 -0
  102. data/lib/wx/doc/gen/persistent_window.rb +116 -0
  103. data/lib/wx/doc/gen/pg/pg_property.rb +0 -13
  104. data/lib/wx/doc/gen/pg/pg_validation_info.rb +0 -2
  105. data/lib/wx/doc/gen/pg/property_grid.rb +0 -2
  106. data/lib/wx/doc/gen/pg/property_grid_event.rb +1 -1
  107. data/lib/wx/doc/gen/pg/property_grid_interface.rb +2 -2
  108. data/lib/wx/doc/gen/pg/property_grid_manager.rb +0 -2
  109. data/lib/wx/doc/gen/pg/property_grid_page.rb +0 -2
  110. data/lib/wx/doc/gen/pg/property_grid_page_state.rb +0 -1
  111. data/lib/wx/doc/gen/prt/post_script_dc.rb +0 -1
  112. data/lib/wx/doc/gen/rbn/ribbon_bar_event.rb +1 -1
  113. data/lib/wx/doc/gen/rbn/ribbon_button_bar_event.rb +1 -1
  114. data/lib/wx/doc/gen/rbn/ribbon_gallery_event.rb +1 -1
  115. data/lib/wx/doc/gen/rbn/ribbon_panel_event.rb +1 -1
  116. data/lib/wx/doc/gen/rbn/ribbon_tool_bar_event.rb +1 -1
  117. data/lib/wx/doc/gen/rtc/rich_text_event.rb +1 -1
  118. data/lib/wx/doc/gen/rtc/rich_text_html_handler.rb +0 -1
  119. data/lib/wx/doc/gen/rtc/rich_text_style_list_box.rb +3 -0
  120. data/lib/wx/doc/gen/rtc/rich_text_xml_handler.rb +0 -1
  121. data/lib/wx/doc/gen/scroll_bar.rb +0 -1
  122. data/lib/wx/doc/gen/sizer.rb +0 -1
  123. data/lib/wx/doc/gen/slider.rb +0 -1
  124. data/lib/wx/doc/gen/spin_double_event.rb +1 -1
  125. data/lib/wx/doc/gen/spin_event.rb +1 -1
  126. data/lib/wx/doc/gen/splash_screen.rb +1 -1
  127. data/lib/wx/doc/gen/splitter_event.rb +1 -1
  128. data/lib/wx/doc/gen/stc/styled_text_ctrl.rb +0 -1
  129. data/lib/wx/doc/gen/stc/styled_text_event.rb +1 -2
  130. data/lib/wx/doc/gen/task_bar_icon.rb +0 -1
  131. data/lib/wx/doc/gen/task_bar_icon_event.rb +1 -1
  132. data/lib/wx/doc/gen/text_ctrl.rb +0 -5
  133. data/lib/wx/doc/gen/text_entry.rb +0 -4
  134. data/lib/wx/doc/gen/tree_ctrl.rb +0 -2
  135. data/lib/wx/doc/gen/tree_event.rb +1 -1
  136. data/lib/wx/doc/gen/utils.rb +0 -16
  137. data/lib/wx/doc/gen/v_scrolled_window.rb +0 -1
  138. data/lib/wx/doc/gen/wizard.rb +0 -1
  139. data/lib/wx/doc/gen/wizard_event.rb +1 -1
  140. data/lib/wx/doc/gen/wizard_page.rb +0 -1
  141. data/lib/wx/doc/owner_drawn_combobox.rb +5 -1
  142. data/lib/wx/doc/persistence_manager.rb +36 -0
  143. data/lib/wx/doc/persistent_object.rb +27 -0
  144. data/lib/wx/doc/top_level_window.rb +19 -0
  145. data/lib/wx/doc/treebook.rb +6 -1
  146. data/lib/wx/version.rb +1 -1
  147. data/lib/wxruby_aui.so +0 -0
  148. data/lib/wxruby_core.so +0 -0
  149. data/lib/wxruby_grid.so +0 -0
  150. data/lib/wxruby_html.so +0 -0
  151. data/lib/wxruby_pg.so +0 -0
  152. data/lib/wxruby_prt.so +0 -0
  153. data/lib/wxruby_rbn.so +0 -0
  154. data/lib/wxruby_rtc.so +0 -0
  155. data/lib/wxruby_stc.so +0 -0
  156. data/samples/widgets/widgets.rb +5 -9
  157. data/tests/test_combo_ctrl.rb +196 -0
  158. data/tests/test_config.rb +207 -42
  159. data/tests/test_persistence.rb +142 -0
  160. metadata +20 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a2a8e8e3953aef31ac0b70927370fcd6cfdbc04787dbd5e33371a3dddfe2f0dc
4
- data.tar.gz: c35adef75eb90234d21087533e2d376130172689ce6d4a1aa4cd8c1d549a45b6
3
+ metadata.gz: a0ad2e04d5e9c1abdb9af5996fb90f9840998e61791ef6e70dfd38451dc6cc96
4
+ data.tar.gz: 650f43b258547d2bf337f3dad0562f92991fee005b99c64347eeab9ae2f8e125
5
5
  SHA512:
6
- metadata.gz: a2a3ee55cda0961559da5af1b818b148d3f7bebb4ae0bf0096b2e07cdff552e0907ad4bfab5678e7cb2fb8eea3aa1e8c74d54d7817d32f0d6b4b03e9d9f726ac
7
- data.tar.gz: 7c0f4533356c17073dfaf2a347ff48aeadd85ff223fca12bf8ed85d3d67ef1b4480a9bc4c87cd01826ce81d928121c993d76a3fefbbfec14e4749210cf7a2abc
6
+ metadata.gz: 944eec6b06fd0503e651e5a02760a1ff8e50f2c1f61ea3e0e706d61a7c62e8ee045cda7a6f03e5d1a99eaec2284ba5722e3f70a6fdcd068b0c7ebd6d680de7dc
7
+ data.tar.gz: 9f1588496325b7253cd5a110ca3309b92f59b6d7537e0f53a8c8ce002a1b0d5907896a205b44da75b02035a8c1a7ef7b688cea91b02eb53101e849c6215801ed
data/INSTALL.md CHANGED
@@ -16,7 +16,7 @@ The minimal requirements for installing any source based setup (gem, source pack
16
16
  | C++ compiler<br>(incl. dev tools like `make`) | On linux a recent version of the GNU C++ compiler (with c++-14 support) needs to be installed<br>On Windows the RubyInstaller MSYS2-Devkit needs to be installed<br>On MacOS XCode with commandline tools needs to be installed via <code>sudo xcode-select --install</code> |
17
17
  | Git version control toolkit | |
18
18
  | SWIG >= 3.0.12 | On MacOS install Homebrew (https://brew.sh) and than <code>brew install swig</code> |
19
- | Doxygen (>= 1.9.1, <= 1.9.6) | Doxygen > 1.9.6 has changes that cause problems with the wxWidgets doxygen files.<br>On MacOS: <code>brew tap mcorino/wxruby3</code> and than `brew install doxygen@1.9.6` (default brew recipe installs 1.9.7) |
19
+ | Doxygen (>= 1.9.1) | On MacOS install Homebrew (https://brew.sh) and than <code>brew install doxygen@</code> |
20
20
  | wxWidgets (>= 3.2) | See the <b>wxWidgets installation</b> section below. |
21
21
 
22
22
  The wxRuby3 build process requires `git` to clone a copy of the wxWidgets Github repository to extract the interface
data/README.md CHANGED
@@ -124,7 +124,7 @@ To install the source-only gem the following software is required:
124
124
  | C++ compiler<br>(incl. dev tools like `make`) | On linux a recent version of the GNU C++ compiler (with c++-14 support) needs to be installed<br>On Windows the RubyInstaller MSYS2-Devkit needs to be installed<br>On MacOS XCode with commandline tools needs to be installed |
125
125
  | Git version control toolkit | |
126
126
  | SWIG >= 3.0.12 | On MacOS install with Homebrew |
127
- | Doxygen (>= 1.9.1, <= 1.9.6) | Doxygen > 1.9.6 has changes that cause problems with the wxWidgets doxygen files. |
127
+ | Doxygen (>= 1.9.1) | On MacOS install with Homebrew |
128
128
  | wxWidgets >= 3.2 (*OPTIONAL*) | On Linux most distributions provide system installable (development) packages for wxWidgets providing a supported version.<br>Alternatively you can fairly easily install your own preferred version manually. |
129
129
 
130
130
  See the [INSTALL](INSTALL.md) document for more details.
@@ -204,7 +204,7 @@ Several years of development have passed for wxWidgets and Ruby respectively,
204
204
  improving code quality, adding new classes and new language features.
205
205
  In 2022 I finally found the time and the inspiration to pick up this project
206
206
  with the idea of reviving it to build some applications I had in mind.
207
- wxRuby 3 intents to provide Ruby interfaces for all relevant (!) wxWidget
207
+ wxRuby 3 intends to provide Ruby interfaces for all relevant (!) wxWidget
208
208
  classes of the latest version 3.2 and beyond.
209
209
  Building on the experiences of the previous wxRuby (2) developments as well
210
210
  as the wxPython Phoenix project it is expected to provide a better and more
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,16 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+ module Wx
6
+
7
+ class BookCtrlBase
8
+
9
+ # create PersistentObject for toplevel windows (incl. Dialog and Frame)
10
+ def create_persistent_object
11
+ PersistentBookCtrl.new(self)
12
+ end
13
+
14
+ end
15
+
16
+ end
@@ -0,0 +1,171 @@
1
+ # Copyright (c) 2023 M.J.N. Corino, The Netherlands
2
+ #
3
+ # This software is released under the MIT license.
4
+
5
+
6
+ module Wx
7
+
8
+ module ComboPopup
9
+
10
+ def self.included(mod)
11
+ unless mod == Wx::ComboPopupWx
12
+ mod.class_eval { include Wx::ComboPopup::Methods }
13
+ end
14
+ end
15
+
16
+ module Methods
17
+ # Returns pointer to the associated parent {Wx::ComboCtrl}.
18
+ # @return [Wx::ComboCtrl]
19
+ # def get_combo_ctrl; end
20
+
21
+ # The including class must implement this to initialize its internal variables.
22
+ #
23
+ # This method is called immediately after construction finishes. m_combo member variable has been initialized before the call.
24
+ # @return [void]
25
+ def init
26
+ end
27
+
28
+ # The including class may implement this to return true if it wants to delay call to {Wx::ComboPopup#create} until the popup is shown for the first time.
29
+ #
30
+ # It is more efficient, but on the other hand it is often more convenient to have the control created immediately.
31
+ #
32
+ # <div class="wxrb-remark">
33
+ # <b>Remark:</b>
34
+ # <p>Base implementation returns false.
35
+ # </p>
36
+ # </div>
37
+ # @return [Boolean]
38
+ def lazy_create
39
+ false
40
+ end
41
+
42
+ # The including class must implement this to create the popup control.
43
+ #
44
+ # true if the call succeeded, false otherwise.
45
+ # @param parent [Wx::Window]
46
+ # @return [Boolean]
47
+ def create(parent)
48
+ false
49
+ end
50
+
51
+ # You only need to implement this member function if you create your popup class in non-standard way.
52
+ #
53
+ # The default implementation can handle both multiple-inherited popup control (as seen in {Wx::ComboCtrl} samples) and one allocated separately in heap.
54
+ # If you do completely re-implement this function, make sure it calls Destroy() for the popup control and also deletes this object (usually as the last thing).
55
+ # @return [void]
56
+ def destroy_popup
57
+ end
58
+
59
+ # Implement to customize matching of value string to an item container entry.
60
+ #
61
+ # <div class="wxrb-remark">
62
+ # <b>Remark:</b>
63
+ # <p>Default implementation always return true and does not alter trueItem.
64
+ # </p>
65
+ # </div>
66
+ # @param item [String] String entered, usually by user or from SetValue() call.
67
+ # @param trueItem [Boolean] if true the true item string should be returned in case matching but different
68
+ # @return [Boolean, String] Returns true if a match is found or false if not. If trueItem == true and item matches an entry, but the entry's string representation is not exactly the same (case mismatch, for example), then the true item string should be returned as the match result.
69
+ def find_item(item, trueItem=false)
70
+ true
71
+ end
72
+
73
+ # The including class may implement this to return adjusted size for the popup control, according to the variables given.
74
+ #
75
+ # <div class="wxrb-remark">
76
+ # <b>Remark:</b>
77
+ # <p>This function is called each time popup is about to be shown.
78
+ # </p>
79
+ # </div>
80
+ # @param minWidth [Integer] Preferred minimum width.
81
+ # @param prefHeight [Integer] Preferred height. May be -1 to indicate no preference.
82
+ # @param maxHeight [Integer] Max height for window, as limited by screen size.
83
+ # @return [Wx::Size]
84
+ def get_adjusted_size(minWidth, prefHeight, maxHeight)
85
+ Wx::Size.new(minWidth, prefHeight)
86
+ end
87
+
88
+ # The including class must implement this to return pointer to the associated control created in {Wx::ComboPopup#create}.
89
+ # @return [Wx::Window]
90
+ def get_control
91
+ end
92
+
93
+ # The including class must implement this to receive string value changes from {Wx::ComboCtrl}.
94
+ # @param value [String]
95
+ # @return [void]
96
+ def set_string_value(value)
97
+ end
98
+
99
+ # The including class must implement this to return string representation of the value.
100
+ # @return [String]
101
+ def get_string_value
102
+ nil
103
+ end
104
+
105
+ # The including class may implement this to do something when the parent {Wx::ComboCtrl} gets double-clicked.
106
+ # @return [void]
107
+ def on_combo_double_click
108
+ end
109
+
110
+ # The including class may implement this to receive key down events from the parent {Wx::ComboCtrl}.
111
+ #
112
+ # Events not handled should be skipped, as usual.
113
+ # @param event [Wx::KeyEvent]
114
+ # @return [void]
115
+ def on_combo_key_event(event)
116
+ event.skip
117
+ end
118
+
119
+ # The including class may implement this to receive char events from the parent {Wx::ComboCtrl}.
120
+ #
121
+ # Events not handled should be skipped, as usual.
122
+ # @param event [Wx::KeyEvent]
123
+ # @return [void]
124
+ def on_combo_char_event(event)
125
+ event.skip
126
+ end
127
+
128
+ # The including class may implement this to do special processing when popup is hidden.
129
+ # @return [void]
130
+ def on_dismiss
131
+ end
132
+
133
+ # The including class may implement this to do special processing when popup is shown.
134
+ # @return [void]
135
+ def on_popup
136
+ end
137
+
138
+ # The including class may implement this to paint the parent {Wx::ComboCtrl}.
139
+ # This is called to custom paint in the combo control itself (ie. not the popup).
140
+ #
141
+ # Default implementation draws value as string.
142
+ # @param dc [Wx::DC]
143
+ # @param rect [Wx::Rect]
144
+ # @return [void]
145
+ def paint_combo_control(dc, rect)
146
+ combo = get_combo_ctrl
147
+ if combo.get_window_style.allbits?(Wx::CB_READONLY) # ie. no textctrl
148
+ combo.prepare_background(dc, rect,0)
149
+
150
+ dc.draw_text(combo.get_value,
151
+ rect.x + combo.get_margin_left,
152
+ (rect.height-dc.get_char_height)/2 + rect.y)
153
+ end
154
+ end
155
+
156
+ end
157
+
158
+ end
159
+
160
+ class ComboPopupWx
161
+
162
+ include ComboPopup
163
+
164
+ # this method has not been wrapped as a default popup control will always already have been
165
+ # initialized before returned from #get_combo_control
166
+ # just do nothing here (or should we raise an exception?)
167
+ def init; end
168
+
169
+ end
170
+
171
+ end