wxruby3 0.9.7 → 1.0.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.
- checksums.yaml +4 -4
- data/INSTALL.md +183 -42
- data/README.md +40 -48
- data/ext/mkrf_conf_ext.rb +72 -0
- data/lib/wx/core/app.rb +16 -0
- data/lib/wx/core/colour.rb +36 -28
- data/lib/wx/core/const.rb +19 -0
- data/lib/wx/core/enum.rb +17 -1
- data/lib/wx/core/geometry.rb +121 -0
- data/lib/wx/core/graphics_pen_info.rb +18 -0
- data/lib/wx/core/image.rb +49 -0
- data/lib/wx/core/menu_bar.rb +11 -0
- data/lib/wx/core/paintdc.rb +9 -3
- data/lib/wx/core/secret_store.rb +38 -0
- data/lib/wx/doc/app.rb +97 -41
- data/lib/wx/doc/bitmap.rb +4 -0
- data/lib/wx/doc/client_dc.rb +2 -2
- data/lib/wx/doc/clipboard.rb +1 -1
- data/lib/wx/doc/colour.rb +12 -0
- data/lib/wx/doc/const.rb +16 -0
- data/lib/wx/doc/cursor.rb +4 -0
- data/lib/wx/doc/dc_overlay.rb +34 -0
- data/lib/wx/doc/enum.rb +7 -1
- data/lib/wx/doc/event_blocker.rb +1 -1
- data/lib/wx/doc/evthandler.rb +25 -3
- data/lib/wx/doc/functions.rb +3 -6
- data/lib/wx/doc/gc_dc.rb +13 -4
- data/lib/wx/doc/geometry.rb +136 -0
- data/lib/wx/doc/graphics_context.rb +25 -7
- data/lib/wx/doc/icon.rb +4 -0
- data/lib/wx/doc/image.rb +56 -0
- data/lib/wx/doc/list_ctrl.rb +6 -6
- data/lib/wx/doc/memory_dc.rb +2 -11
- data/lib/wx/doc/mirror_dc.rb +1 -1
- data/lib/wx/doc/pen.rb +26 -0
- data/lib/wx/doc/persistence_manager.rb +1 -1
- data/lib/wx/doc/persistent_object.rb +1 -1
- data/lib/wx/doc/pg/property_grid_interface.rb +3 -3
- data/lib/wx/doc/prt/printer_dc.rb +2 -2
- data/lib/wx/doc/region_iterator.rb +1 -1
- data/lib/wx/doc/scaled_dc.rb +1 -1
- data/lib/wx/doc/screen_dc.rb +1 -1
- data/lib/wx/doc/secret_store.rb +55 -0
- data/lib/wx/doc/svg_file_dc.rb +1 -1
- data/lib/wx/doc/textctrl.rb +1 -1
- data/lib/wx/doc/tree_ctrl.rb +2 -2
- data/lib/wx/doc/validator.rb +6 -6
- data/lib/wx/doc/variant.rb +2 -2
- data/lib/wx/doc/window.rb +5 -4
- data/lib/wx/grid/keyword_defs.rb +1 -1
- data/lib/wx/html/keyword_defs.rb +3 -3
- data/lib/wx/keyword_defs.rb +76 -71
- data/lib/wx/pg/keyword_defs.rb +2 -2
- data/lib/wx/pg/pg_property.rb +12 -0
- data/lib/wx/rbn/keyword_defs.rb +1 -1
- data/lib/wx/rtc/keyword_defs.rb +1 -1
- data/lib/wx/stc/keyword_defs.rb +1 -1
- data/lib/wx/version.rb +1 -1
- data/lib/wx/wxruby/base.rb +3 -5
- data/lib/wx/wxruby/cmd/check.rb +182 -0
- data/lib/wx/wxruby/cmd/sampler.rb +1 -1
- data/lib/wx/wxruby/cmd/setup.rb +9 -3
- data/lib/wx/wxruby/cmd/test.rb +1 -1
- data/rakelib/configure.rb +67 -52
- data/rakelib/gem.rake +97 -66
- data/rakelib/gem.rb +294 -41
- data/rakelib/install.rb +3 -3
- data/rakelib/lib/config/{cygwin.rb → freebsd.rb} +1 -1
- data/rakelib/lib/config/linux.rb +4 -2
- data/rakelib/lib/config/macosx.rb +42 -11
- data/rakelib/lib/config/mingw.rb +2 -2
- data/rakelib/lib/config/pkgman/{base.rb → linux.rb} +36 -61
- data/rakelib/lib/config/pkgman/macosx.rb +17 -78
- data/rakelib/lib/config/unixish.rb +17 -8
- data/rakelib/lib/config/{netbsd.rb → unknown.rb} +3 -2
- data/rakelib/lib/config.rb +74 -33
- data/rakelib/lib/core/include/enum.inc +31 -1
- data/rakelib/lib/director/affine_matrix.rb +51 -0
- data/rakelib/lib/director/app.rb +29 -13
- data/rakelib/lib/director/art_provider.rb +4 -0
- data/rakelib/lib/director/aui_manager.rb +1 -1
- data/rakelib/lib/director/cursor.rb +6 -2
- data/rakelib/lib/director/dc.rb +1 -6
- data/rakelib/lib/director/derived_dc.rb +88 -31
- data/rakelib/lib/director/geometry.rb +142 -0
- data/rakelib/lib/director/graphics_context.rb +3 -2
- data/rakelib/lib/director/graphics_object.rb +18 -25
- data/rakelib/lib/director/grid_ctrl.rb +2 -2
- data/rakelib/lib/director/image.rb +59 -0
- data/rakelib/lib/director/menu.rb +2 -3
- data/rakelib/lib/director/menu_bar.rb +0 -3
- data/rakelib/lib/director/pen.rb +1 -1
- data/rakelib/lib/director/richtext_composite_object.rb +2 -4
- data/rakelib/lib/director/richtext_ctrl.rb +1 -1
- data/rakelib/lib/director/secret_store.rb +117 -0
- data/rakelib/lib/director/system_settings.rb +1 -1
- data/rakelib/lib/director/tree_event.rb +2 -2
- data/rakelib/lib/director/window.rb +4 -3
- data/rakelib/lib/extractor/function.rb +1 -1
- data/rakelib/lib/generate/doc/animation_ctrl.yaml +10 -0
- data/rakelib/lib/generate/doc/banner_window.yaml +35 -0
- data/rakelib/lib/generate/doc/graphics_context.yaml +12 -0
- data/rakelib/lib/generate/doc/graphics_object.yaml +12 -0
- data/rakelib/lib/generate/doc/grid_ctrl.yaml +25 -0
- data/rakelib/lib/generate/doc/header_ctrl.yaml +91 -0
- data/rakelib/lib/generate/doc/icon.yaml +10 -0
- data/rakelib/lib/generate/doc/info_bar.yaml +27 -0
- data/rakelib/lib/generate/doc/log.yaml +1 -1
- data/rakelib/lib/generate/doc/media_ctrl.yaml +27 -0
- data/rakelib/lib/generate/doc/persistent_window.yaml +22 -0
- data/rakelib/lib/generate/doc/pg_editor.yaml +1 -1
- data/rakelib/lib/generate/doc/pg_property.yaml +4 -4
- data/rakelib/lib/generate/doc/rearrange_list.yaml +14 -0
- data/rakelib/lib/generate/doc/ribbon_panel.yaml +15 -0
- data/rakelib/lib/generate/doc/rich_text_formatting_dialog.yaml +26 -0
- data/rakelib/lib/generate/doc/secret_store.yaml +55 -0
- data/rakelib/lib/generate/doc/text_ctrl.yaml +1 -1
- data/rakelib/lib/generate/doc/wizard.yaml +27 -0
- data/rakelib/lib/generate/doc.rb +5 -5
- data/rakelib/lib/generate/interface.rb +1 -1
- data/rakelib/lib/specs/interfaces.rb +4 -0
- data/rakelib/lib/swig_runner.rb +24 -3
- data/rakelib/lib/typemap/common.rb +10 -0
- data/rakelib/lib/typemap/points_list.rb +8 -2
- data/rakelib/lib/typemap/richtext.rb +17 -0
- data/rakelib/prepost.rake +8 -1
- data/rakelib/yard/templates/default/fulldoc/html/css/wxruby3.css +4 -0
- data/rakelib/yard/templates/default/fulldoc/html/setup.rb +3 -3
- data/samples/dialogs/wizard.rb +20 -19
- data/samples/drawing/art/drawing/image.bmp +0 -0
- data/samples/drawing/art/drawing/mask.bmp +0 -0
- data/samples/drawing/art/drawing/pat35.bmp +0 -0
- data/samples/drawing/art/drawing/pat36.bmp +0 -0
- data/samples/drawing/art/drawing/pat4.bmp +0 -0
- data/samples/drawing/art/drawing/smile.xpm +42 -0
- data/samples/drawing/drawing.rb +2276 -0
- data/samples/drawing/tn_drawing.png +0 -0
- data/samples/html/html.rb +1 -1
- data/samples/propgrid/propgrid.rb +1 -1
- data/samples/propgrid/propgrid_minimal.rb +1 -1
- data/samples/propgrid/sample_props.rb +1 -1
- data/samples/sampler/editor.rb +13 -11
- data/samples/sampler/sample.rb +2 -0
- data/samples/sampler.rb +14 -10
- data/samples/text/richtext.rb +53 -0
- data/samples/text/scintilla.rb +1 -1
- data/samples/text/unicode.rb +4 -4
- data/tests/lib/wxapp_runner.rb +1 -1
- data/tests/test_config.rb +7 -4
- data/tests/test_ext_controls.rb +12 -5
- data/tests/test_secret_store.rb +83 -0
- data/tests/test_std_controls.rb +12 -12
- metadata +66 -47
- data/lib/wx/doc/extra/00_starting.md +0 -154
- data/lib/wx/doc/extra/01_packages.md +0 -180
- data/lib/wx/doc/extra/02_lifecycles.md +0 -166
- data/lib/wx/doc/extra/03_dialogs.md +0 -57
- data/lib/wx/doc/extra/04_enums.md +0 -143
- data/lib/wx/doc/extra/05_event-handling.md +0 -191
- data/lib/wx/doc/extra/06_geometry.md +0 -62
- data/lib/wx/doc/extra/07_colour_and_font.md +0 -52
- data/lib/wx/doc/extra/08_extensions.md +0 -144
- data/lib/wx/doc/extra/09_exceptions.md +0 -54
- data/lib/wx/doc/extra/10_art.md +0 -111
- data/lib/wx/doc/extra/11_drawing_and_dc.md +0 -62
- data/lib/wx/doc/extra/12_client_data.md +0 -89
- data/lib/wx/doc/extra/13_validators.md +0 -139
- data/lib/wx/doc/extra/14_config.md +0 -101
- data/lib/wx/doc/extra/15_persistence.md +0 -148
- data/rakefile +0 -14
- data/rakelib/lib/config/pkgman/arch.rb +0 -53
- data/rakelib/lib/config/pkgman/debian.rb +0 -66
- data/rakelib/lib/config/pkgman/rhel.rb +0 -54
- data/rakelib/lib/config/pkgman/suse.rb +0 -54
- data/samples/sampler/back.xpm +0 -21
- data/samples/sampler/copy.xpm +0 -44
- data/samples/sampler/cut.xpm +0 -46
- data/samples/sampler/filesave.xpm +0 -42
- data/samples/sampler/find.xpm +0 -62
- data/samples/sampler/findrepl.xpm +0 -63
- data/samples/sampler/forward.xpm +0 -21
- data/samples/sampler/paste.xpm +0 -46
- data/samples/sampler/redo.xpm +0 -58
- data/samples/sampler/undo.xpm +0 -58
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 22f63fb730a7c17f84eac51d892cad2f35ef33211d88fafde508fe7c222712e6
|
|
4
|
+
data.tar.gz: 2cf9e0b4026e8c00b24873e77af5f4d5676e5af3181e6459104b5c6fef0675d1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 48cce7a08e4f4bd15380178cab3ab38b53af6942d5054af617806d5b01bea0aabc26887ec26fc07a6bb6c2d9802ec512d59396a2361c88a12635ebf80b066d91
|
|
7
|
+
data.tar.gz: eba7856af27dcfe0e4eb50662bae9bb00af12f29258e0eb4b2d446c3351446651926e2e5c0eec017038fef2545671e8ac47faea0f75c1bb3efd54c751585ae08
|
data/INSTALL.md
CHANGED
|
@@ -8,25 +8,26 @@
|
|
|
8
8
|
|
|
9
9
|
The wxRuby3 gem provides a **worry-free** installation for all supported platforms.
|
|
10
10
|
|
|
11
|
-
The default gem installation
|
|
11
|
+
The default gem installation command
|
|
12
|
+
|
|
12
13
|
```shell
|
|
13
14
|
gem install wxruby3
|
|
14
15
|
```
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
and the setup command
|
|
17
18
|
|
|
18
19
|
```shell
|
|
19
|
-
|
|
20
|
+
wxruby setup
|
|
20
21
|
```
|
|
21
|
-
|
|
22
|
-
should always result in a successfully installed wxRuby3 version
|
|
23
|
-
Just follow the (very few and in some cases none) prompts at the start of the setup procedure and sit back and relax.
|
|
22
|
+
|
|
23
|
+
for installations without prebuilt binary packages should always result in a successfully installed wxRuby3 version.
|
|
24
24
|
|
|
25
25
|
> **NOTE**<br>
|
|
26
26
|
> Currently installing the wxRuby3 gem for the system supplied Ruby on MacOSX systems does not work.<br>
|
|
27
27
|
> The user is therefor required to install a Ruby interpreter using either [MacPorts](https://www.macports.org/) (both
|
|
28
28
|
> privileged and user installations are supported) or [Homebrew](https://brew.sh/) or Ruby installers/version managers
|
|
29
|
-
> like [ruby-install](https://github.com/postmodern/ruby-install) or [RVM](https://rvm.io) (only user installations
|
|
29
|
+
> like [ruby-install](https://github.com/postmodern/ruby-install) or [RVM](https://rvm.io) (only user installations
|
|
30
|
+
> supported) .
|
|
30
31
|
|
|
31
32
|
[Below](INSTALL.md#installing-software-requirements) more details regarding the software requirements for wxRuby3, the
|
|
32
33
|
setup procedure and various options to tweak and customize the installation (including platform specific details for
|
|
@@ -36,16 +37,65 @@ Linux, Windows and MacOSX) are described.
|
|
|
36
37
|
|
|
37
38
|
Installing the wxRuby3 gem will also install the bundled `wxruby` CLI binary.
|
|
38
39
|
|
|
39
|
-
For source gem installations the CLI will initially only provide the
|
|
40
|
+
For source gem installations the CLI will initially only provide the `check` and `setup` commands.
|
|
40
41
|
|
|
41
|
-
For
|
|
42
|
+
For finalized installations (either from binary packages or source builds) the *setup* command is replaced by other
|
|
42
43
|
utility commands providing the ability to run the bundled regression tests and access (run or copy) the bundled examples.<br>
|
|
43
44
|
Run the following command to see the available options at any time:
|
|
44
45
|
|
|
45
46
|
```shell
|
|
46
|
-
wxruby
|
|
47
|
+
wxruby -h
|
|
47
48
|
```
|
|
48
49
|
|
|
50
|
+
## Binary packages
|
|
51
|
+
|
|
52
|
+
The wxRuby3 gem installation process will by default attempt to match the current platform to any standard available
|
|
53
|
+
binary packages and if found install the matched package.
|
|
54
|
+
|
|
55
|
+
Binary packages are archives (custom format) containing prebuilt (extension) library artifacts for a single specific
|
|
56
|
+
platform. Any such platform is identified by:
|
|
57
|
+
|
|
58
|
+
- CPU architecture (x86_64, ARM64, etc.)
|
|
59
|
+
- Operating system type (linux, darwin, windows, etc.)
|
|
60
|
+
- OS distribution and release number (except for windows)
|
|
61
|
+
- Ruby ABI version (i.e. {major}.{minor})
|
|
62
|
+
|
|
63
|
+
The standard available binary packages provide both the wxRuby3 extension libraries as well as the embedded wxWidgets
|
|
64
|
+
libraries the extension libraries were built for.<br>
|
|
65
|
+
This is however not mandatory. User created binary packages can be built for separately installed (either distribution
|
|
66
|
+
or user provided) wxWidgets libraries.
|
|
67
|
+
|
|
68
|
+
### Standard packages
|
|
69
|
+
|
|
70
|
+
The standard release artifacts at [Github](https://github.com/mcorino/wxRuby3/releases) provide a selection of binary
|
|
71
|
+
packages for all supported OS platforms which are automatically built and uploaded for every release.<br>
|
|
72
|
+
The following tables lists the packages provided by the current wxRuby3 release process:
|
|
73
|
+
|
|
74
|
+
| OS | Distributions | Architectures | Rubies |
|
|
75
|
+
|---------|-------------------------------|-------------------------|----------------------------------------------------|
|
|
76
|
+
| Linux | OpenSuSE Leap (latest stable) | x86_64 <b>and</b> ARM64 | Distro provided Ruby <b>and</b> Latest stable Ruby |
|
|
77
|
+
| Linux | Fedora (latest stable) | x86_64 <b>and</b> ARM64 | Distro provided Ruby <b>and</b> Latest stable Ruby |
|
|
78
|
+
| Linux | Debian (latest stable) | x86_64 <b>and</b> ARM64 | Distro provided Ruby <b>and</b> Latest stable Ruby |
|
|
79
|
+
| Linux | Ubuntu (latest stable) | x86_64 <b>and</b> ARM64 | Distro provided Ruby <b>and</b> Latest stable Ruby |
|
|
80
|
+
| Windows | NA | x86_64 | Latest stable Ruby |
|
|
81
|
+
| OSX | MacOSX 12 | x86_64 <b>and</b> ARM64 | Latest stable Ruby |
|
|
82
|
+
| OSX | MacOSX 13 | x86_64 <b>and</b> ARM64 | Latest stable Ruby |
|
|
83
|
+
| OSX | MacOSX 14 | ARM64 | Latest stable Ruby |
|
|
84
|
+
|
|
85
|
+
### User created packages
|
|
86
|
+
|
|
87
|
+
Users can create their own wxRuby3 binary packages by building from source ([see here](#building-from-source)) and after
|
|
88
|
+
successfully having built the wxWidgets extension libraries execute the `rake binpkg` command.<br>
|
|
89
|
+
This creates two files in the `pkg` folder with names like<br>
|
|
90
|
+
`wxruby3_{distribution}_ruby{abi version}_v{wxruby version}_{os}_{arch}.pkg`<br>
|
|
91
|
+
and<br>
|
|
92
|
+
`wxruby3_{distribution}_ruby{abi version}_v{wxruby version}_{os}_{arch}.sha`<br>
|
|
93
|
+
where the `.pkg` file is the actual binary archive and the `.sha` file is the associated SHA256 digest signature of the
|
|
94
|
+
archive contents.
|
|
95
|
+
|
|
96
|
+
Both files are required for installation and should be located at the same path (either local path or http(s) url).<br>
|
|
97
|
+
[See here](#the-package-option) for information on how to use user created binary packages with the wxRuby3 gem installation process.
|
|
98
|
+
|
|
49
99
|
## Software requirements for wxRuby3
|
|
50
100
|
|
|
51
101
|
The software requirements for setting up a wxRuby3 runtime environment are:
|
|
@@ -90,63 +140,129 @@ wxRuby3 can be built and installed for 3 different types of wxWidgets installati
|
|
|
90
140
|
In this case the libraries and development files are most likely not found in standard locations and the wxRuby3
|
|
91
141
|
installation procedure will require specific options to have these locations provided.
|
|
92
142
|
3. An 'embedded' installation of wxWidgets setup by the wxRuby3 installation procedure.<br>
|
|
93
|
-
This is the default when
|
|
94
|
-
option has been provided explicitly specifying to install an
|
|
143
|
+
This is the default when using a standard binary package or when installing from source and the setup procedure does
|
|
144
|
+
not detect a (compatible!) system installation or if an option has been provided explicitly specifying to install an
|
|
145
|
+
embedded wxWidgets version.
|
|
95
146
|
|
|
96
147
|
Please note that in case of option **2** the user is responsible to make sure the wxWidgets shared libraries can be
|
|
97
148
|
found by the system's dynamic loader at runtime.
|
|
98
149
|
|
|
99
|
-
As described with option **3** a wxWidgets system installation must be compatible (>= version 3.2) to be selected
|
|
100
|
-
the installed version does not meet this requirement it is ignored as if not installed.
|
|
150
|
+
As described with option **3** a wxWidgets system installation must be compatible (>= version 3.2) to be selected for
|
|
151
|
+
source installation. In case the installed version does not meet this requirement it is ignored as if not installed.
|
|
101
152
|
|
|
102
153
|
For more information on how to install wxWidgets see the [Installing software requirements](INSTALL.md#installing-software-requirements) section below.
|
|
103
154
|
|
|
104
155
|
## wxRuby3 gem installation details
|
|
105
156
|
|
|
106
|
-
The wxRuby3 project provides
|
|
157
|
+
The wxRuby3 project provides a gem on [RubyGems](https://rubygems.org) which can be installed with the
|
|
107
158
|
standard `gem install` command line this:
|
|
108
159
|
|
|
109
160
|
```shell
|
|
110
161
|
gem install wxruby3
|
|
111
162
|
```
|
|
112
163
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
On Windows systems a prebuilt binary gem is available for the latest stable release(s) of [RubyInstaller](https://rubyinstaller.org)
|
|
116
|
-
installed rubies that will be installed by default if installing for that platform (including an embedded, latest
|
|
117
|
-
stable version, wxWidgets installation).<br>
|
|
118
|
-
Alternatively the source gem can be installed on Windows by installing with an explicit platform specification like this:
|
|
164
|
+
Alternatively the gem can be downloaded from the [Github release assets](https://github.com/mcorino/wxRuby3/releases) and
|
|
165
|
+
stored locally. This local gem can than be installed like this:
|
|
119
166
|
|
|
120
167
|
```shell
|
|
121
|
-
gem install wxruby3
|
|
168
|
+
gem install /path/to/local/wxruby3.gem
|
|
122
169
|
```
|
|
123
170
|
|
|
124
|
-
|
|
171
|
+
This default installation command will allow the wxRuby3 installation process to scan available standard binary packages
|
|
172
|
+
([see here](#standard-packages)) for a match to the platform being installed on and install any matched package or revert
|
|
173
|
+
to a source install if none matched.<br>
|
|
174
|
+
This command will therefor succeed if:
|
|
175
|
+
- a matching binary package could be successfully downloaded and installed;
|
|
176
|
+
- the installation reverted to source install.
|
|
177
|
+
|
|
178
|
+
This command only fails when:
|
|
179
|
+
- a matching digest signature for the downloaded binary package could not be downloaded;
|
|
180
|
+
- the digest signature did not match the downloaded package contents.
|
|
181
|
+
|
|
182
|
+
> The result of successfully installing the gem on a Linux platform should be something like this:
|
|
125
183
|
> ```
|
|
126
184
|
> $ gem install wxruby3
|
|
185
|
+
> Building native extensions. This could take a while...
|
|
127
186
|
>
|
|
128
|
-
> The wxRuby3 Gem has been successfully installed.
|
|
129
|
-
> Before being able to use wxRuby3 you need to run the post-install setup process
|
|
130
|
-
> by executing the command 'wxruby setup'.
|
|
187
|
+
> The wxRuby3 Gem has been successfully installed including the 'wxruby' utility.
|
|
131
188
|
>
|
|
132
|
-
>
|
|
133
|
-
>
|
|
134
|
-
>
|
|
135
|
-
>
|
|
136
|
-
>
|
|
137
|
-
>
|
|
189
|
+
> In case no suitable binary release package was available for your platform you
|
|
190
|
+
> will need to run the post-install setup process by executing:
|
|
191
|
+
>
|
|
192
|
+
> $ wxruby setup
|
|
193
|
+
>
|
|
194
|
+
> To check whether wxRuby3 is ready to run or not you can at any time execute the
|
|
195
|
+
> following command:
|
|
196
|
+
>
|
|
197
|
+
> $ wxruby check
|
|
198
|
+
>
|
|
199
|
+
> Run 'wxruby check -h' for more information.
|
|
200
|
+
>
|
|
201
|
+
> When the wxRuby3 setup has been fully completed you can start using wxRuby3.
|
|
202
|
+
>
|
|
203
|
+
> You can run the regression tests to verify the installation by executing:
|
|
204
|
+
>
|
|
205
|
+
> $ wxruby test
|
|
206
|
+
>
|
|
207
|
+
> The wxRuby3 sample explorer can be run by executing:
|
|
208
|
+
>
|
|
209
|
+
> $ wxruby sampler
|
|
210
|
+
>
|
|
211
|
+
> Have fun using wxRuby3.
|
|
212
|
+
>
|
|
213
|
+
> Run 'wxruby -h' to see information on the available commands.
|
|
214
|
+
>
|
|
215
|
+
> Successfully installed wxruby3-0.9.8
|
|
216
|
+
> Parsing documentation for wxruby3-0.9.8
|
|
217
|
+
> Installing ri documentation for wxruby3-0.9.8
|
|
218
|
+
> Done installing documentation for wxruby3 after 2 seconds
|
|
138
219
|
> 1 gem installed
|
|
139
220
|
> ```
|
|
140
221
|
|
|
141
|
-
|
|
142
|
-
|
|
222
|
+
### Gem installation options
|
|
223
|
+
|
|
224
|
+
Two options are available to control the wxRuby3 gem installation process.
|
|
225
|
+
|
|
226
|
+
#### The `prebuilt` option
|
|
227
|
+
|
|
228
|
+
The `prebuilt=none|only` option can be used to either prevent binary package matching and installation (`prebuilt=none`)
|
|
229
|
+
or make binary package installation mandatory (`prebuilt=only`).
|
|
230
|
+
|
|
231
|
+
The following command therefor forces a wxRuby3 source installation and will never fail:
|
|
232
|
+
|
|
233
|
+
```shell
|
|
234
|
+
gem install wxruby3 -- prebuilt=none
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
And the following command will force binary package installation and fails if no matching package could be installed:
|
|
238
|
+
|
|
239
|
+
```shell
|
|
240
|
+
gem install wxruby3 -- prebuilt=only
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
#### The `package` option
|
|
244
|
+
|
|
245
|
+
The `package=URL` option can be used to explicitly specify a binary package to install. This option implies `prebuilt=only`.
|
|
246
|
+
No package matching will be performed so mismatched binary packages will cause wxRuby3 to fail after installation.<br>
|
|
247
|
+
The `URL` can be specified as:
|
|
248
|
+
- an <b>absolute</b> local path like `/path/to/binary/package.pkg`
|
|
249
|
+
- an absolute `file://` URI like `file:///path/to/binary/package.pkg`
|
|
250
|
+
- an `http://` or `https://` URL
|
|
251
|
+
|
|
252
|
+
In all cases the associated `.sha` file <b>must</b> be located at the same path as the package file itself. If not the
|
|
253
|
+
installation will fail as well as when the signature does not match the digest of the package contents.
|
|
254
|
+
|
|
255
|
+
### Gem source setup
|
|
256
|
+
|
|
257
|
+
As said a gem-based source installation requires an additional command is to build the actual wxRuby3 extension libraries
|
|
258
|
+
for the platform installing on which is a wxRuby3 CLI command installed by the gem:
|
|
143
259
|
|
|
144
260
|
```shell
|
|
145
261
|
wxruby setup
|
|
146
262
|
```
|
|
147
263
|
|
|
148
264
|
The wxRuby3 CLI `wxruby` is installed by all wxRuby3 gems. In case of the source gem initially the CLI will provide only
|
|
149
|
-
|
|
265
|
+
the commands `wxruby setup` (to finish wxRuby3 extension installation) and `wxruby check`.
|
|
150
266
|
|
|
151
267
|
For most (user) installations the default setup command as shown above will suffice nicely. In this case the setup
|
|
152
268
|
(or installation) procedure will analyze the system to see if it meets the software requirements described above and if not
|
|
@@ -184,7 +300,7 @@ The initial message shown (between lines starting with '---' ) is indicative of
|
|
|
184
300
|
on options passed to the setup command.<br>
|
|
185
301
|
Building the wxRuby3 native extensions and generating reference documentation will always happen.
|
|
186
302
|
|
|
187
|
-
|
|
303
|
+
#### Disable prompting for automatic install
|
|
188
304
|
|
|
189
305
|
To prevent having the setup procedure asking consent the setup procedure can be started with the `--autoinstall` option
|
|
190
306
|
like this:
|
|
@@ -195,7 +311,7 @@ wxruby setup --autoinstall
|
|
|
195
311
|
|
|
196
312
|
Note that on Linux that may still present a prompt in case the `sudo` command requires a password.
|
|
197
313
|
|
|
198
|
-
|
|
314
|
+
#### Prevent automatic installation of software requirements
|
|
199
315
|
|
|
200
316
|
To prevent the setup procedure from considering to automatically install (with or without prompting) any missing software
|
|
201
317
|
requirements the setup procedure can be started with the `--no-autoinstall` option like this:
|
|
@@ -207,7 +323,7 @@ wxruby setup --no-autoinstall
|
|
|
207
323
|
The setup procedure will still analyze the system for available software requirements and if it finds any missing it
|
|
208
324
|
will end the procedure and show a message of what it found missing.
|
|
209
325
|
|
|
210
|
-
|
|
326
|
+
#### Force embedded wxWidgets installation
|
|
211
327
|
|
|
212
328
|
To prevent the setup procedure of using any system installed wxWidgets version the setup procedure can be started with
|
|
213
329
|
the `--with-wxwin` option like this:
|
|
@@ -218,7 +334,22 @@ wxruby setup --with-wxwin
|
|
|
218
334
|
|
|
219
335
|
This will force the setup procedure to build and install an embedded wxWidgets version for wxRuby3.
|
|
220
336
|
|
|
221
|
-
|
|
337
|
+
#### Force embedded wxWidgets head installation
|
|
338
|
+
|
|
339
|
+
To force the setup procedure to build and install an embedded wxWidgets head (master) version the setup procedure can
|
|
340
|
+
be started with the `--with-wxhead` option like this:
|
|
341
|
+
|
|
342
|
+
```shell
|
|
343
|
+
wxruby setup --with-wxhead
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
> **NOTE**<br>
|
|
347
|
+
> Although wxRuby3 endeavors to keep up to date with the wxWidgets master branch your mileage may vary depending on
|
|
348
|
+
> the development state of the wxWidgets master branch. You can check the latest results of the wxRuby3 CI master build
|
|
349
|
+
> workflows of the [wxRuby3 Github Actions](https://github.com/mcorino/wxRuby3/actions) to get a feel of the current
|
|
350
|
+
> integration state.
|
|
351
|
+
|
|
352
|
+
#### Setup with user installed wxWidgets
|
|
222
353
|
|
|
223
354
|
In case of a (custom) user installation of wxWidgets the `--wxwin` (and optionally `--wxxml`) option(s) can be used to
|
|
224
355
|
start the setup procedure to build for this installation like this:
|
|
@@ -241,7 +372,14 @@ wxruby setup --wxwin=/my/custom/wxWidgets --wxxml=/my/alternate/wxWidgets/xml
|
|
|
241
372
|
> responsible for making sure the wxRuby3 extension library can find the wxWidgets libraries at runtime (normally this
|
|
242
373
|
> requires updating the standard shared library search path for the platform).
|
|
243
374
|
|
|
244
|
-
|
|
375
|
+
> **NOTE 2**<br>
|
|
376
|
+
> Please be aware that when building a user installation of wxWidgets on Windows this has to be done using the exact
|
|
377
|
+
> same compiler suite as used for building Ruby (and it's standard native extensions) itself.<br>
|
|
378
|
+
> Currently only RubyInstaller versions are supported which use the MingW64 compiler.
|
|
379
|
+
> Do **NOT** install a separate MSYS2/MingW64 release but rather use a RubyInstaller version with integrated DevKit
|
|
380
|
+
> installation (which includes MSYS2 and the right MingW64 compiler suite).
|
|
381
|
+
|
|
382
|
+
#### Setup with customized tool paths
|
|
245
383
|
|
|
246
384
|
If for whatever reason the required development tools `doxygen`, `swig` and/or `git` have been installed in a location
|
|
247
385
|
not in the standard executable search path the full path to these tools can be passed on the setup procedure using the
|
|
@@ -251,7 +389,7 @@ not in the standard executable search path the full path to these tools can be p
|
|
|
251
389
|
wxruby setup --doxygen=/my/path/to/doxygen
|
|
252
390
|
```
|
|
253
391
|
|
|
254
|
-
|
|
392
|
+
#### Redirect log to customized path
|
|
255
393
|
|
|
256
394
|
The setup procedure will log full build results to a file setup.log at the location where the gem contents is stored.
|
|
257
395
|
If the setup fails the error message will display the log file location and by default if the setup succeeds the log
|
|
@@ -364,7 +502,7 @@ Checkout the wxRuby3 sources from [GitHub](https://github.com/mcorino/wxRuby3) o
|
|
|
364
502
|
Requirements are the same as for installing the source gem. Gem dependencies are listed in the Gemfile in the root
|
|
365
503
|
of the wxRuby3 tree and should be installed by executing `bundle install`.<br>
|
|
366
504
|
To be able to generate HTML documentation the optional `:documentation` group should be included.<br>
|
|
367
|
-
To be able to run the Rake memory check task the
|
|
505
|
+
To be able to run the Rake memory check task the optional `:develop` group should be included.
|
|
368
506
|
|
|
369
507
|
The wxRuby3 project provides a Rake based build system. Call `rake help` to get an overview of the available commands.
|
|
370
508
|
As mentioned there the `rake configure` command is required as the very first command. Call `rake configure[--help]` to
|
|
@@ -376,4 +514,7 @@ commands are executed using parallel task execution by default.
|
|
|
376
514
|
|
|
377
515
|
When the build has finished without errors the regression tests can be run by calling `rake test`.
|
|
378
516
|
|
|
517
|
+
After successfully building the wxRuby3 extension libraries (and possibly embedded wxWidgets libraries) a binary package
|
|
518
|
+
can be created by calling `rake binpkg`.
|
|
519
|
+
|
|
379
520
|
For more details concerning the wxRuby3 development strategy and build options see [here](TODO).
|
data/README.md
CHANGED
|
@@ -41,7 +41,8 @@ end
|
|
|
41
41
|
|
|
42
42
|
Anyone who is familiar with wxWidgets should feel right at home since the API may be Ruby-fied, it is still easily
|
|
43
43
|
recognizable (but being Ruby-fied allowing for elegant and compact coding). And for those that do not have previous
|
|
44
|
-
experience, do not fear, wxRuby3 comes with
|
|
44
|
+
experience, do not fear, wxRuby3 comes with an extensive [User Guide](https://github.com/mcorino/wxRuby3/wiki/User-Guide-%3A-Introduction)
|
|
45
|
+
and detailed [reference documentation](https://mcorino.github.io/wxRuby3) and lots of examples and tests.
|
|
45
46
|
|
|
46
47
|
```ruby
|
|
47
48
|
require 'wx'
|
|
@@ -90,17 +91,19 @@ README and license files for details.
|
|
|
90
91
|
See [here](CREDITS.md) for more details on and acknowledgement of the developers
|
|
91
92
|
of these products.
|
|
92
93
|
|
|
93
|
-
##
|
|
94
|
+
## (Some of the) Most Frequently Asked Questions
|
|
95
|
+
|
|
96
|
+
(see the extended [FAQ](https://github.com/mcorino/wxRuby3/wiki/Frequently-Asked-Questions) in the [Wiki](https://github.com/mcorino/wxRuby3/wiki) for more information)
|
|
94
97
|
|
|
95
98
|
### What platforms and operating systems are supported in wxRuby3?
|
|
96
99
|
|
|
97
100
|
Currently the following are fully supported:
|
|
98
101
|
|
|
99
|
-
| Platform
|
|
100
|
-
|
|
101
|
-
| Windows 10 (tested)<br>(most likely also Windows 11)
|
|
102
|
-
| Linux (tested; all major
|
|
103
|
-
| MacOS >= 10.10 using Cocoa (tested on
|
|
102
|
+
| Platform | Ruby version(s) | wxWidgets version(s) |
|
|
103
|
+
|------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------|----------------------|
|
|
104
|
+
| Windows 10 (tested)<br>(most likely also Windows 11) | Ruby >= 2.5<br>(RubyInstaller MSYS2-DevKit) | wxWidgets >= 3.2 |
|
|
105
|
+
| Linux (tested; all major AMD64 and ARM64 distributions: Ubuntu, Debian, Fedora, OpenSuSE and ArchLinux)<br>(most likely also i686) | Ruby >= 2.5 | wxWidgets >= 3.2 |
|
|
106
|
+
| MacOS >= 10.10 using Cocoa (tested on AMD64 and ARM64 M1/M2 Chip) | Ruby >= 2.5 (MacPorts, Homebrew, ruby-install, RVM) | wxWidgets >= 3.2 |
|
|
104
107
|
|
|
105
108
|
Support for other platforms is not being actively developed at present,
|
|
106
109
|
but patches are welcome. It is likely to be much simpler to get wxRuby
|
|
@@ -109,53 +112,59 @@ on legacy systems (eg Windows 98, Mac OS 9).
|
|
|
109
112
|
|
|
110
113
|
### How can I install wxRuby3?
|
|
111
114
|
|
|
112
|
-
wxRuby3 is distributed as a Ruby gem on [RubyGems](https://rubygems.org)
|
|
113
|
-
|
|
114
|
-
latest stable Ruby release at the time of publishing) which includes an embedded wxWidgets installation (also latest
|
|
115
|
-
stable version).
|
|
115
|
+
wxRuby3 is distributed as a Ruby gem on [RubyGems](https://rubygems.org). This gem can also be downloaded from the release
|
|
116
|
+
assets on [Github](https://github.com/mcorino/wxRuby3/releases).
|
|
116
117
|
|
|
117
118
|
The wxRuby3 gem provides a **worry-free** installation procedure for all supported platforms.
|
|
118
119
|
|
|
119
|
-
Installing the
|
|
120
|
-
|
|
121
|
-
version of the Ruby interpreter. So for this platform the following command is all it takes to get up and running:
|
|
120
|
+
Installing the gem requires no additional installation steps and/or additional software to be installed except for a
|
|
121
|
+
supported version of the Ruby interpreter. So the following command is all it takes to install:
|
|
122
122
|
|
|
123
123
|
```shell
|
|
124
124
|
gem install wxruby3
|
|
125
125
|
```
|
|
126
126
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
127
|
+
The wxRuby3 installation procedure will check the availability of a, prebuilt, binary package matching the platform
|
|
128
|
+
being installed on and if found will download and install that package resulting in a ready-to-run wxRuby3 installation.<br>
|
|
129
|
+
If no matching package is found the installation reverts to a source installation which will require an additional setup
|
|
130
|
+
step to finalize the wxRuby3 installation by executing the following command:
|
|
130
131
|
|
|
131
132
|
```shell
|
|
132
|
-
|
|
133
|
+
wxruby setup
|
|
133
134
|
```
|
|
134
135
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
requirements and build the wxRuby3 extension libraries (including a embedded copy of wxWidgets if necessary). It may
|
|
138
|
-
quite a while depending on your system but you can mostly sit back and relax.
|
|
136
|
+
This last command is a fully automated setup procedure provided by the wxRuby3 **CLI** installed with the gem. This
|
|
137
|
+
procedure (by default) will analyze your system and install (after asking your consent) any missing software
|
|
138
|
+
requirements and build the wxRuby3 extension libraries (including a embedded copy of wxWidgets if necessary). It may
|
|
139
|
+
take quite a while depending on your system but you can mostly sit back and relax.
|
|
139
140
|
|
|
140
141
|
> **NOTE**<br>
|
|
141
142
|
> A source based installation requires the availability of the Ruby development headers. User installed Rubies in most cases
|
|
142
143
|
> will already include those but (especially on Linux) system installed Rubies may require having an additional '-dev/-devel'
|
|
143
|
-
> package installed
|
|
144
|
+
> package installed (although actually you may already have needed those to install the gems that the wxRuby3 gem depends
|
|
145
|
+
> on like the nokogiri gem).
|
|
146
|
+
|
|
147
|
+
The wxRuby3 CLI also provides a 'check' command with which the runtime status of the wxRuby3 installation can be checked
|
|
148
|
+
at any time. By default running `wxruby check` will display a message reporting the runtime and suggestions on finalizing
|
|
149
|
+
the installation if not finalized yet. No message is displayed if wxRuby3 is ready to run. Run `wxruby check -h` for
|
|
150
|
+
details concerning this command.
|
|
151
|
+
|
|
152
|
+
A selection of (prebuilt) binary packages is provided as release assets on [Github](https://github.com/mcorino/wxRuby3/releases).
|
|
153
|
+
See the [INSTALL](INSTALL.md#binary-packages) document for more details.
|
|
144
154
|
|
|
145
155
|
This install procedure can of course be tweaked and customized with commandline arguments.
|
|
146
156
|
See the [INSTALL](INSTALL.md) document for more details.
|
|
147
157
|
|
|
148
|
-
|
|
149
158
|
### Where can I ask a question, or report a bug?
|
|
150
159
|
|
|
151
160
|
Use GitHUb Issues.
|
|
152
161
|
|
|
153
162
|
When asking a question, if something is not working as you expect,
|
|
154
163
|
please provide a *minimal*, *runnable* sample of code that demonstrates
|
|
155
|
-
the problem, and
|
|
164
|
+
the problem, and describe clearly what you expected to happen and what actually
|
|
156
165
|
happened. Please also provide basic details of your platform, Ruby,
|
|
157
166
|
wxRuby and wxWidgets version, and make a reasonable effort to find answers
|
|
158
|
-
in the archive and documentation before posting. People are mostly happy
|
|
167
|
+
in the archive, wiki and/or documentation before posting. People are mostly happy
|
|
159
168
|
to help, but it's too much to expect them to guess what you're trying to
|
|
160
169
|
do, or try and debug 1,000 lines of your application.
|
|
161
170
|
Very important also; do not use offensive language and be **polite**.
|
|
@@ -171,13 +180,17 @@ some use a more modern coding style than others. Use the bundled `wxruby`
|
|
|
171
180
|
CLI to access the samples (see the section **Bundled CLI** in
|
|
172
181
|
the [INSTALL](INSTALL.md) document for more details).
|
|
173
182
|
|
|
183
|
+
An extensive [User Guide](https://github.com/mcorino/wxRuby3/wiki/User-Guide-%3A-Introduction)
|
|
184
|
+
is available at the [wxRuby3 Wiki](https://github.com/mcorino/wxRuby3/wiki) providing detailed
|
|
185
|
+
information about how to build desktop applications with wxRuby3.
|
|
186
|
+
|
|
174
187
|
Complete (more or less) wxRuby API documentation should be part of any
|
|
175
188
|
complete wxRuby3 build. This tends to focus on providing a reference
|
|
176
189
|
of all available modules, classes and methods and how to use specific
|
|
177
190
|
classes and methods, rather than on how to construct an application
|
|
178
191
|
overall.
|
|
179
192
|
This documentation (for the latest release) is also available online
|
|
180
|
-
[here](https://mcorino.github.io/wxRuby3
|
|
193
|
+
[here](https://mcorino.github.io/wxRuby3).
|
|
181
194
|
|
|
182
195
|
One of the advantages of wxRuby3 is the much larger ecosystem of
|
|
183
196
|
wxWidgets and wxPython resources out there. There is a book for
|
|
@@ -193,18 +206,6 @@ example, if you wanted answers about the "Grid" class, try searching for
|
|
|
193
206
|
"wxGrid" as this will turn up results relating to wxWidgets and wxPython
|
|
194
207
|
which may be relevant.
|
|
195
208
|
|
|
196
|
-
### What wxWidgets features are supported by wxRuby3?
|
|
197
|
-
|
|
198
|
-
wxRuby supports almost all of the wxWidgets 3.2+ GUI API, providing over
|
|
199
|
-
600 classes in total. wxWidgets classes that provide general and/or non-GUI
|
|
200
|
-
programming support features, such as strings, networking, threading, database
|
|
201
|
-
access and such are not and will never be ported, as it's assumed that
|
|
202
|
-
in all these cases it's preferable to use pure Ruby features.
|
|
203
|
-
|
|
204
|
-
If you know of a feature in wxWidgets that you would like to see
|
|
205
|
-
supported in wxRuby3 you are free to ask but do not **EXPECT** unconditional
|
|
206
|
-
agreement or immediate response.
|
|
207
|
-
|
|
208
209
|
### How does wxRuby3 relate to the wxRuby 2.0 (and even older 0.6.0) release?
|
|
209
210
|
|
|
210
211
|
wxRuby 0.6.0 was the last in a series of releases developed using a
|
|
@@ -225,12 +226,3 @@ maintainable solution.
|
|
|
225
226
|
|
|
226
227
|
Please double-check the instructions above and in the [INSTALL](INSTALL.md) document and search issue archives. If
|
|
227
228
|
this doesn't help, please post your question using GitHub Issues.
|
|
228
|
-
|
|
229
|
-
### Is there another, more declarative way, for writing wxRuby3 desktop GUI applications?
|
|
230
|
-
|
|
231
|
-
Yes. [Glimmer DSL for WX](https://github.com/AndyObtiva/glimmer-dsl-wx) enables software engineers to build GUI
|
|
232
|
-
using wxruby3 following the Ruby way with the least amount of code possible. That is by offering a minimalistic
|
|
233
|
-
declarative high-level DSL that maps visually to the way software engineers think about the GUI hierarchy in addition
|
|
234
|
-
to adopting Rails' strategy of Convention over Configuration via smart defaults and automation of wxruby3 low-level
|
|
235
|
-
details. You can check out the [Glimmer DSL for WX README "Coming From wxruby3" section](https://github.com/AndyObtiva/glimmer-dsl-wx#coming-from-wxruby3) for more information on
|
|
236
|
-
how to translate wxruby3 apps to [Glimmer DSL for WX](https://github.com/AndyObtiva/glimmer-dsl-wx) syntax.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Copyright (c) 2023 M.J.N. Corino, The Netherlands
|
|
2
|
+
#
|
|
3
|
+
# This software is released under the MIT license.
|
|
4
|
+
|
|
5
|
+
###
|
|
6
|
+
# wxRuby3 extension configuration file for gems
|
|
7
|
+
###
|
|
8
|
+
|
|
9
|
+
OPTIONS = {
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
until ARGV.empty?
|
|
13
|
+
switch = ARGV.shift
|
|
14
|
+
case switch
|
|
15
|
+
when /^prebuilt=(none|only|head)$/
|
|
16
|
+
OPTIONS[:prebuilt] = $1.to_sym
|
|
17
|
+
when /^package=(.+)$/
|
|
18
|
+
OPTIONS[:package] = $1
|
|
19
|
+
when 'help'
|
|
20
|
+
puts <<~__INFO_TXT
|
|
21
|
+
wxRuby3 extension build script
|
|
22
|
+
|
|
23
|
+
Usage: gem install wxruby3 -- help OR gem install wxruby3 [-- options [...]]
|
|
24
|
+
|
|
25
|
+
options:
|
|
26
|
+
|
|
27
|
+
prebuilt=OPT Specifies to either require (OPT == 'only') or avoid (OPT == 'none') installing prebuilt
|
|
28
|
+
binary packages. If not specified installing a prebuilt package will be attempted reverting
|
|
29
|
+
to source install if none found.
|
|
30
|
+
|
|
31
|
+
package=URL Specifies the http(s) url or absolute path to the prebuilt binary package to install.
|
|
32
|
+
Implies 'prebuilt=only'.
|
|
33
|
+
|
|
34
|
+
help Show this message.
|
|
35
|
+
__INFO_TXT
|
|
36
|
+
puts
|
|
37
|
+
exit(1)
|
|
38
|
+
else
|
|
39
|
+
$stderr.puts "ERROR: Invalid option [#{switch}] for wxRuby3 extension build script."
|
|
40
|
+
exit(1)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
task_args = []
|
|
45
|
+
unless OPTIONS[:prebuilt].nil?
|
|
46
|
+
case OPTIONS[:prebuilt]
|
|
47
|
+
when :only
|
|
48
|
+
task_args << "'--prebuilt'"
|
|
49
|
+
when :none
|
|
50
|
+
task_args << "'--no-prebuilt'"
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
if OPTIONS[:package]
|
|
54
|
+
pkg = RUBY_PLATFORM =~ /mingw/ ? OPTIONS[:package].gsub('\\', '/') : OPTIONS[:package] # make sure the path is URI compatible
|
|
55
|
+
task_args << "'--package'" << "'#{pkg}'"
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# generate new rakefile with appropriate default task (calls actual task in rakelib)
|
|
59
|
+
File.open('../Rakefile', 'w') do |f|
|
|
60
|
+
f.puts <<EOF__
|
|
61
|
+
###
|
|
62
|
+
# wxRuby3 rake file
|
|
63
|
+
# Copyright (c) M.J.N. Corino, The Netherlands
|
|
64
|
+
###
|
|
65
|
+
|
|
66
|
+
unless File.file?(File.join('lib', 'wx', 'wxruby_core.so'))
|
|
67
|
+
task :default do
|
|
68
|
+
Rake::Task['wxruby:gem:install'].invoke(#{task_args.join(', ')})
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
EOF__
|
|
72
|
+
end
|
data/lib/wx/core/app.rb
CHANGED
|
@@ -14,6 +14,22 @@ require_relative './ext'
|
|
|
14
14
|
# Controller class which creates and manages all windows.
|
|
15
15
|
class Wx::App
|
|
16
16
|
|
|
17
|
+
if Wx::PLATFORM == 'WXOSX'
|
|
18
|
+
class << self
|
|
19
|
+
# provide aliases for macosx specials
|
|
20
|
+
alias :mac_about_menu_itemid= :set_mac_about_menu_itemid
|
|
21
|
+
alias :mac_about_menu_itemid :get_mac_about_menu_itemid
|
|
22
|
+
alias :mac_preferences_menu_itemid= :set_mac_preferences_menu_itemid
|
|
23
|
+
alias :mac_preferences_menu_itemid :get_mac_preferences_menu_itemid
|
|
24
|
+
alias :mac_exit_menu_itemid= :set_mac_exit_menu_itemid
|
|
25
|
+
alias :mac_exit_menu_itemid :get_mac_exit_menu_itemid
|
|
26
|
+
alias :mac_help_menu_title= :set_mac_help_menu_title
|
|
27
|
+
alias :mac_help_menu_title :get_mac_help_menu_title
|
|
28
|
+
alias :mac_window_menu_title= :set_mac_window_menu_title
|
|
29
|
+
alias :mac_window_menu_title :get_mac_window_menu_title
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
17
33
|
# convenience method to retrieve global Wx::App instance
|
|
18
34
|
def self.the_app
|
|
19
35
|
if Wx::const_defined?(:THE_APP) and Wx::THE_APP.is_running
|