wxruby 1.9.10-x86-mingw32 → 2.0.0-x86-mingw32
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.
- data/INSTALL +254 -0
- data/README +184 -283
- data/lib/wx/accessors.rb +19 -7
- data/lib/wx/classes/bitmap.rb +3 -0
- data/lib/wx/classes/clipboard.rb +28 -4
- data/lib/wx/classes/image.rb +5 -0
- data/lib/wx/classes/toolbar.rb +7 -4
- data/lib/wx/classes/validator.rb +7 -0
- data/lib/wx/keyword_defs.rb +19 -2
- data/lib/wx/version.rb +1 -1
- data/lib/wxruby2.so +0 -0
- data/samples/aui/aui.rb +21 -21
- data/samples/calendar/calendar.rb +1 -1
- data/samples/drawing/{images.rb → bitmap.rb} +10 -3
- data/samples/drawing/bitmap_image.rb +92 -0
- data/samples/drawing/maths_images.rb +265 -0
- data/samples/drawing/ruby-logo.jpg +0 -0
- data/samples/drawing/wxruby-logo.png +0 -0
- data/samples/text/document-open.png +0 -0
- data/samples/text/document-save.png +0 -0
- data/samples/text/edit-copy.png +0 -0
- data/samples/text/edit-cut.png +0 -0
- data/samples/text/edit-paste.png +0 -0
- data/samples/text/edit-redo.png +0 -0
- data/samples/text/edit-undo.png +0 -0
- data/samples/text/preferences-desktop-font.png +0 -0
- data/samples/text/rich_textctrl.rb +234 -42
- metadata +17 -4
- data/samples/drawing/paperclip.png +0 -0
data/INSTALL
ADDED
@@ -0,0 +1,254 @@
|
|
1
|
+
= Installing wxRuby
|
2
|
+
|
3
|
+
wxRuby is fully supported on Ruby 1.8 and Ruby 1.9.1. There are two
|
4
|
+
ways of installing wxRuby2:
|
5
|
+
|
6
|
+
* Using Rubygems to install a precompiled binary gem
|
7
|
+
* Obtaining the sources and compiling wxRuby yourself
|
8
|
+
|
9
|
+
For most users (especially on Windows and OS X), using rubygems will be
|
10
|
+
most convenient, and is recommended. Compiling may be needed on systems
|
11
|
+
which have very varied configurations (in particular, Linux). You'll
|
12
|
+
also need to compile yourself if you want to use the latest development
|
13
|
+
code, rather than a numbered release.
|
14
|
+
|
15
|
+
= Installing wxRuby using Rubygems
|
16
|
+
|
17
|
+
On Windows and OS X, the only normal prerequisite is Ruby itself and
|
18
|
+
rubygems. On Linux, you will need your distro's wx library
|
19
|
+
installed. See below for platform-specific information.
|
20
|
+
|
21
|
+
== Temporary instructions for gem installation
|
22
|
+
|
23
|
+
As of February 2009, Rubygems has a serious bug which means that the
|
24
|
+
latest version of specific gems are not correctly offered by the
|
25
|
+
automatic installation procedure. This affects a variety of gems and
|
26
|
+
ruby and rubygems versions. Please follow these temporary instructions
|
27
|
+
until this is resolved:
|
28
|
+
|
29
|
+
Download the correct gem file for your platform from the wxRuby download
|
30
|
+
page: http://rubyforge.org/frs/?group_id=35
|
31
|
+
|
32
|
+
Gems for 1.8 are named: wxruby-[version]-[processor]-[os].gem
|
33
|
+
Gems for 1.9 are named: wxruby-ruby19-[version]-[processor]-[os].gem
|
34
|
+
|
35
|
+
Choose the latest version available for your processor and operating
|
36
|
+
system: mswin32 or mingw32 for Windows, darwin for for OS X, linux for
|
37
|
+
Linux.
|
38
|
+
|
39
|
+
Save the file to your local hard drive. Open a command prompt or
|
40
|
+
terminal, go to the directory where the gem file is saved, and do:
|
41
|
+
|
42
|
+
gem install <filename>
|
43
|
+
|
44
|
+
For example:
|
45
|
+
|
46
|
+
gem install wxruby-1.9.10-x86-mswin32-60.gem
|
47
|
+
|
48
|
+
On Linux and OS X, you may need to run this command as a privileged user, eg
|
49
|
+
|
50
|
+
sudo gem install <filename>
|
51
|
+
|
52
|
+
== Proper instructions for gem installation
|
53
|
+
|
54
|
+
To install wxRuby using Rubygems, open a command prompt and type:
|
55
|
+
|
56
|
+
gem install wxruby # Ruby 1.8
|
57
|
+
gem install wxruby-ruby19 # Ruby 1.9
|
58
|
+
|
59
|
+
If you are on Linux or OS X, you will likely need to run this as a
|
60
|
+
privileged user, something like:
|
61
|
+
|
62
|
+
sudo gem install wxruby
|
63
|
+
|
64
|
+
Wait whilst rubygems updates its gem list. You will then be offered a
|
65
|
+
choice of gems to install. Choose the most up-to-date one available for
|
66
|
+
your platform. Rubygems will download and install the desired gem.
|
67
|
+
|
68
|
+
On Linux, you should also install your distro's wxwidgets 2.8
|
69
|
+
libraries. On Windows and OS X, the gem contains everything needed to
|
70
|
+
create and run wxRuby applications; you're ready to go.
|
71
|
+
|
72
|
+
=== Gem Installation Notes - Microsoft Windows
|
73
|
+
|
74
|
+
* x86-mswin32 gems are for ruby on Windows NT/2000/XP/Vista on Intel-32,
|
75
|
+
built with the Microsoft compiler. This includes current releases of
|
76
|
+
the One-Click Installer.
|
77
|
+
|
78
|
+
* x86-mingw gems are compatible with ruby built on Windows using the
|
79
|
+
MingW compiler
|
80
|
+
|
81
|
+
* If using NT or 2000, you may need to install the free library
|
82
|
+
gdiplus.dll in your Windows/system32 directory.
|
83
|
+
|
84
|
+
* If using a recent fresh install of NT, 2000 or XP, you may need to
|
85
|
+
install the dll msvcp71.dll. This can be downloaded for free.
|
86
|
+
|
87
|
+
* To get native XP-style widgets on XP you need to create a manifest.exe
|
88
|
+
file for ruby; see here for more information:
|
89
|
+
http://rubyonwindows.blogspot.com/2007/10/windows-xp-visual-style-controls-with.html
|
90
|
+
|
91
|
+
* Unfortunately, wxRuby2 does not currently work on Windows 3.1, 98 or
|
92
|
+
Me, as these do not have adequate unicode support. The old
|
93
|
+
wxruby-0.6.0 release should work (to the best of its limited
|
94
|
+
abilities) on these platforms.
|
95
|
+
|
96
|
+
=== Gem Installation Notes - OS X
|
97
|
+
|
98
|
+
* Gems are provided as single universal binary for both Intel and
|
99
|
+
PowerPC Apple machines
|
100
|
+
|
101
|
+
* wxRuby binary gems are compatible with versions 10.4 (Tiger) and 10.5
|
102
|
+
(Leopard)
|
103
|
+
|
104
|
+
=== Gem Installation Notes - Linux
|
105
|
+
|
106
|
+
* The wxRuby gems for Linux are intended to work with your system's
|
107
|
+
existing packages and libraries. Therefore, you should install the
|
108
|
+
wxwidgets-2.8 package(s) for your system, eg libwx-2.8
|
109
|
+
|
110
|
+
* The gems are built on recent versions of Ubuntu; due to the wide
|
111
|
+
variation between the configuration of different distros, they may not
|
112
|
+
work correctly with other distributions and versions. If you
|
113
|
+
experience errors after installing the gem, you will need to compile
|
114
|
+
your own version of wxRuby.
|
115
|
+
|
116
|
+
* On some systems libselinux1-related shutdown crashs are reported with
|
117
|
+
wxRuby. On Ubuntu Hardy, this workaround fixed it:
|
118
|
+
http://www.libavg.de/wiki/index.php/Libavg_on_Ubuntu#8.04_known_issue
|
119
|
+
|
120
|
+
= Compiling wxRuby from Source
|
121
|
+
|
122
|
+
The remainder of this document covers compiling ruby from source.
|
123
|
+
|
124
|
+
Compiling wxRuby is recommended if you wish to use the latest
|
125
|
+
development version, or if you want to work with a specific
|
126
|
+
configuration of wxWidgets - for example, that provided by a Linux
|
127
|
+
distro. You may also need to compile wxRuby if a binary gem is not
|
128
|
+
available for your platform.
|
129
|
+
|
130
|
+
== Compilation prerequisites
|
131
|
+
|
132
|
+
* A C++ compiler: MSVC or MingW for Windows; gcc (g++) for Linux and OS X
|
133
|
+
* A recent version of SWIG, especially for Ruby 1.9.
|
134
|
+
* rake
|
135
|
+
* A compiled wxWidgets library, either built yourself or installed from
|
136
|
+
via a package manager
|
137
|
+
|
138
|
+
wxWidgets has a huge range of compile-time options, and wxRuby tries to
|
139
|
+
support as many of these as possible. In particular, both debug and
|
140
|
+
release builds are supported; a debug build is recommended if you're
|
141
|
+
interested in working on wxRuby. On windows, only static builds are
|
142
|
+
supported; on Linux and OS X, either statically or dynamically linked
|
143
|
+
libraries can be used.
|
144
|
+
|
145
|
+
wxRuby will skip several optional features if they are not supported by
|
146
|
+
your wxWidgets library; these include StyledTextCtrl, GraphicsContext
|
147
|
+
and OpenGL classes.
|
148
|
+
|
149
|
+
== Obtaining wxRuby source code
|
150
|
+
|
151
|
+
Tarballs containing the wxRuby source for released versions can be
|
152
|
+
downloaded from the wxRuby Rubyforge pages:
|
153
|
+
http://rubyforge.org/frs/?group_id=35
|
154
|
+
|
155
|
+
If you wish to use the latest development code, it's hosted in
|
156
|
+
Subversion at rubyforge.org. Note that this code may be incomplete or
|
157
|
+
buggy. To check it out do
|
158
|
+
|
159
|
+
svn co svn://rubyforge.org/var/svn/wxruby/trunk/wxruby2
|
160
|
+
|
161
|
+
== Setting build options
|
162
|
+
|
163
|
+
If you're compiling on Windows, you *must* set an environment variable
|
164
|
+
to indicate where the WxWidgets libraries and header files can be found:
|
165
|
+
|
166
|
+
set WXWIN=C:/path/to/wxMSW-2.8.9
|
167
|
+
|
168
|
+
The path should be the top-level directory of the unpacked wxWidgets
|
169
|
+
tarball; it's recommended that the path does not contain spaces.
|
170
|
+
|
171
|
+
If you have multiple parallel versions of wxWidgets installed, you may
|
172
|
+
influence which build is selected by setting or unsetting the
|
173
|
+
environment variables WXRUBY_DEBUG, WXRUBY_RELEASE, WXRUBY_STATIC and
|
174
|
+
WXRUBY_DYNAMIC. eg
|
175
|
+
|
176
|
+
export WXRUBY_DEBUG=1
|
177
|
+
|
178
|
+
Forces wxRuby to be built against a -debug version of wxWidgets.
|
179
|
+
|
180
|
+
Lastly, you may specifically exclude certain classes; this is most often
|
181
|
+
useful if a particular class is causing problems:
|
182
|
+
|
183
|
+
export WXRUBY_EXCLUDE=ThisClass,ThatClass
|
184
|
+
|
185
|
+
== Running the compile task
|
186
|
+
|
187
|
+
From the top-level directory of the unpacked or downloaded wxRuby
|
188
|
+
directory, just start the rake build with the command:
|
189
|
+
|
190
|
+
rake
|
191
|
+
|
192
|
+
There is no ./configure step, nor do you need to run ruby
|
193
|
+
extconf.rb. wxRuby has approaching 300 classes to generate, compile and
|
194
|
+
link, so the process may take some time.
|
195
|
+
|
196
|
+
== Using a compiled library
|
197
|
+
|
198
|
+
To run a wxRuby program using the newly compiled library, you can run
|
199
|
+
ruby with the -I flag pointing to the lib directory. For example, a
|
200
|
+
quick test of a newly compiled library might be:
|
201
|
+
|
202
|
+
ruby -Ilib samples/minimal/minimal.rb
|
203
|
+
|
204
|
+
== Installing a compiled library
|
205
|
+
|
206
|
+
Rubygems has emerged as the standard for managing user ruby libraries,
|
207
|
+
so you may wish to create a gem from your compiled code and install
|
208
|
+
it. To create a gem, do:
|
209
|
+
|
210
|
+
rake gem
|
211
|
+
|
212
|
+
This will create a gem file, which you can install as above.
|
213
|
+
|
214
|
+
If you do not wish to use Rubygems, you can also do
|
215
|
+
|
216
|
+
rake install
|
217
|
+
|
218
|
+
This will install wxRuby into your site_ruby directories. As with gem
|
219
|
+
commands, you may need to be root do this. Note that as Rubygems has
|
220
|
+
become the standard installation method for Ruby libraries, the
|
221
|
+
'install' task is no longer regularly maintained and tested.
|
222
|
+
|
223
|
+
= Porting to other platforms
|
224
|
+
|
225
|
+
The instructions above cover all the platforms that are in current use
|
226
|
+
for wxRuby. It should however be possible to use wxRuby on any platform
|
227
|
+
supported by wxWidgets and Ruby:
|
228
|
+
|
229
|
+
http://wiki.wxwidgets.org/Supported_Platforms
|
230
|
+
|
231
|
+
Platform-dependent rakefiles are used to set up compiler-specific
|
232
|
+
settings. The following platforms are currently fully supported:
|
233
|
+
|
234
|
+
Mac OSX (gcc): rakemacosx.rb
|
235
|
+
Linux (GTK2 + gcc): rakelinux.rb
|
236
|
+
Windows (shared): rakewindows.rb
|
237
|
+
Windows (MSVC): rakemswin.rb
|
238
|
+
Windows (MingW): rakemingw.rb
|
239
|
+
|
240
|
+
For other platforms, you will need to create or edit the appropriate
|
241
|
+
platform-dependent rake file if your system is not yet supported, or if
|
242
|
+
it is unusual. These files are found in the rake subdirectory, for
|
243
|
+
example:
|
244
|
+
|
245
|
+
NetBSD: rakenetbsd.rb
|
246
|
+
|
247
|
+
The existing rake files should provide a starting point. When editing a
|
248
|
+
platform-dependent rakefile, you might merely need to set one or more of
|
249
|
+
the following variables:
|
250
|
+
|
251
|
+
$extra_cppflags
|
252
|
+
$extra_ldflags
|
253
|
+
$extra_objs
|
254
|
+
$extra_libs
|
data/README
CHANGED
@@ -1,297 +1,198 @@
|
|
1
|
-
README for
|
1
|
+
= README for wxRuby version 2.0
|
2
2
|
|
3
|
-
|
3
|
+
== Introduction
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
wxRuby is a cross-platform GUI library for Ruby, based on the wxWidgets
|
6
|
+
GUI toolkit for C++. It uses native widgets wherever possible, providing
|
7
|
+
the correct look, feel and behaviour to GUI applications on Windows, OS
|
8
|
+
X and Linux/GTK. wxRuby aims to provide a comprehensive solution to
|
9
|
+
developing professional-standard desktop applications in Ruby.
|
9
10
|
|
10
|
-
|
11
|
-
wxruby version 2.0.
|
11
|
+
== Installing wxRuby
|
12
12
|
|
13
|
-
|
13
|
+
wxRuby is distributed as pre-compiled binaries and source from the
|
14
|
+
project's site on Rubyforge: http://wxruby.rubyforge.org/
|
14
15
|
|
15
|
-
|
16
|
+
For the majority of users, installation simply requires running 'gem
|
17
|
+
install wxruby' on the command line. See INSTALL for further
|
18
|
+
information.
|
16
19
|
|
17
|
-
|
20
|
+
== wxRuby licence
|
18
21
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
+
wxRuby is free and open-source. It is distributed under a liberal
|
23
|
+
licence which is compatible with both free and commercial development.
|
24
|
+
See LICENSE for more details.
|
22
25
|
|
23
|
-
|
24
|
-
will be added to wxRuby2 in the near future, as these operating
|
25
|
-
systems have very limited support for Unicode.
|
26
|
+
== FAQ
|
26
27
|
|
27
|
-
|
28
|
-
GUI toolkits? Isn't wxruby arriving "too late"?
|
29
|
-
|
30
|
-
There are several great GUI toolkits available for Ruby, but we
|
31
|
-
like wxruby better because it has a combination of features that no
|
32
|
-
other toolkit has:
|
33
|
-
|
34
|
-
- Cross-platform (MSWindows, Mac OS X, Linux)
|
35
|
-
- Native widgets when possible
|
36
|
-
- Provides a wide selection of widgets
|
37
|
-
- Simple license that is compatible with proprietary and Free Software
|
38
|
-
- Mature foundation (wxWidgets has been around for over 10 years)
|
39
|
-
|
40
|
-
The really big feature is native widgets. The only other cross-platform
|
41
|
-
toolkits that use native widgets are either limited (Tk) or expensive if
|
42
|
-
you want to develop proprietary software (Qt). We are not saying that
|
43
|
-
those toolkits are bad! Just that wxruby offers a unique set of
|
44
|
-
features.
|
45
|
-
|
46
|
-
- Why are native widgets important or helpful?
|
47
|
-
|
48
|
-
For one thing, it means that end-users do not have to adjust to a
|
49
|
-
"foreign" interface. It also ensures maximum compatibility with
|
50
|
-
"assistive technology" such as screen readers for blind users.
|
51
|
-
It also allows apps to respect any themes the user may have chosen
|
52
|
-
through their operating system. No matter how hard a toolkit may try
|
53
|
-
to emulate a particular UI, there will always be differences in the
|
54
|
-
look or behavior.
|
55
|
-
|
56
|
-
- How does wxruby2 relate to wxruby (and the wxruby 0.6.0 release)?
|
28
|
+
=== What platforms and operating systems are supported in wxRuby2?
|
57
29
|
|
58
|
-
|
59
|
-
by the same wxruby team, and is intended to replace the older
|
60
|
-
code base. wxruby2 is built using SWIG, a powerful tool that makes
|
61
|
-
it much easier to create and maintain wrappers around C/C++ libraries.
|
62
|
-
|
63
|
-
- Why should I use wxruby2 instead of wxruby?
|
30
|
+
Currently the following are fully supported:
|
64
31
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
- Available as binary gems for MSWindows, OS X, and Linux (GTK)
|
70
|
-
- Support for more classes, and more methods within classes
|
71
|
-
- Unicode support
|
72
|
-
- Vastly improved support for OS X
|
73
|
-
- Looks much better under Linux because it uses GTK+2
|
74
|
-
- Simpler and more permissive license
|
75
|
-
- Wraps wxWidgets 2.8.7 instead of the older 2.4 series
|
76
|
-
|
77
|
-
- Is wxruby2 ready for "production" use?
|
78
|
-
|
79
|
-
Yes, pretty much. This is a beta release, and there may be some bugs
|
80
|
-
in some methods, or memory leaks. This release includes all the
|
81
|
-
classes and features that are proposed for inclusion in wxruby 2.0.
|
82
|
-
|
83
|
-
It is considerably more stable and fully-featured than the old 0.6.0
|
84
|
-
release, which was never really stable enough for heavy-duty
|
85
|
-
production use.
|
86
|
-
|
87
|
-
- Does wxruby2 support the Xxx class?
|
32
|
+
* Windows NT/2000/XP/Vista (i686, MSVC and MingW)
|
33
|
+
* OS X 10.4+ (i686 and PowerPc)
|
34
|
+
* Linux (i686 + AMD-64)
|
88
35
|
|
89
|
-
|
90
|
-
|
36
|
+
Support for other platforms is not being actively developed at present,
|
37
|
+
but patches are welcome. It is likely to be much simpler to get wxRuby
|
38
|
+
working on similar modern systems (eg FreeBSD or Solaris with GTK) than
|
39
|
+
on legacy systems (eg Windows 98, Mac OS 9).
|
40
|
+
|
41
|
+
=== Why would I choose wxruby over FXRuby, Ruby/GTK, Shoes etc?
|
91
42
|
|
92
|
-
|
93
|
-
|
94
|
-
wxruby 0.6.0 was released under the wxWindows license, which is a
|
95
|
-
modified LGPL. It is a good, fair license, allowing use in both Free
|
96
|
-
Software and proprietary applications. However, it is long and complex,
|
97
|
-
and is more appropriate for compiled code. wxruby2 is available under a
|
98
|
-
*very* simple MIT-style license, which allows just about any use with
|
99
|
-
very few restrictions.
|
43
|
+
There are several fine GUI toolkits available for Ruby, but we consider
|
44
|
+
that wxRuby offers a combination of features that no other toolkit can match:
|
100
45
|
|
101
|
-
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
to somewhere on your ruby library path, such as a ruby extensions
|
255
|
-
directory.
|
256
|
-
|
257
|
-
|
258
|
-
PORTING TO OTHER PLATFORMS
|
259
|
-
|
260
|
-
Platform-dependent rakefiles are used to set up compiler-specific
|
261
|
-
settings. The following platforms are currently fully supported:
|
262
|
-
|
263
|
-
Mac OSX (gcc): rakemacosx.rb
|
264
|
-
MS Windows (VC++): rakemswin.rb
|
265
|
-
Linux (GTK2 + gcc): rakelinux.rb
|
266
|
-
|
267
|
-
For other platforms, you may need to edit the appropriate
|
268
|
-
platform-dependent rake file if your system is not yet supported, or if
|
269
|
-
it is unusual. These files are found in the rake subdirectory:
|
270
|
-
|
271
|
-
MS Windows BC++: rakebccwin.rb
|
272
|
-
MS Windows MingGW: rakemingw.rb
|
273
|
-
MS Windows Cygwin: rakecygwin.rb
|
274
|
-
NetBSD: rakenetbsd.rb
|
275
|
-
|
276
|
-
When editing a platform-dependent rakefile, you might
|
277
|
-
merely need to set one or more of the following variables:
|
278
|
-
|
279
|
-
$extra_cppflags
|
280
|
-
$extra_ldflags
|
281
|
-
$extra_objs
|
282
|
-
$extra_libs
|
283
|
-
|
284
|
-
|
285
|
-
CREDITS
|
286
|
-
|
287
|
-
Kevin Smith set up the wxruby2 project using SWIG and did much of the
|
288
|
-
work that still forms the core of the library in its present form. Over
|
289
|
-
the years dozens of volunteers have contributed invaluable patches and
|
290
|
-
new functionality. The list is too long to give here, but their
|
291
|
-
contributions are recorded in the wxruby mailing list archives.
|
292
|
-
|
293
|
-
-----------------------------------------------------------
|
294
|
-
|
295
|
-
LEAD MAINTAINER:
|
296
|
-
Alex Fenton
|
297
|
-
alex at pressure dot to
|
46
|
+
* Cross-platform (MS Windows, Mac OS X, Linux)
|
47
|
+
* Real native widgets wherever possible
|
48
|
+
* Provides a comprehensive selection of widgets and other GUI features
|
49
|
+
* Useful non-GUI support classes, eg for Images and internationalisation
|
50
|
+
* Simple licence that is compatible with proprietary and Free Software
|
51
|
+
* Mature and actively developed foundation in wxWidgets
|
52
|
+
* Easy to install and redistribute
|
53
|
+
|
54
|
+
=== Why are native widgets important or helpful?
|
55
|
+
|
56
|
+
The really important feature among the above is, for many people, native
|
57
|
+
widgets. Several toolkits are to some degree able to simulate the native
|
58
|
+
appearance of widgets, but wxRuby widgets are actually native widgets -
|
59
|
+
so they behave and interact exactly according to the desktop's GUI
|
60
|
+
conventions.
|
61
|
+
|
62
|
+
For one thing, this means that end-users do not have to adjust to a
|
63
|
+
"foreign" interface. It ensures maximum compatibility with "assistive
|
64
|
+
technology" such as screen readers for blind users. It also allows apps
|
65
|
+
to respect any themes the user may have chosen through their operating
|
66
|
+
system.
|
67
|
+
|
68
|
+
Desktop conventions go beyond widget appearance, to the labelling and
|
69
|
+
positioning of items in standard dialogs and menus. wxRuby offers
|
70
|
+
features to help with these too.
|
71
|
+
|
72
|
+
== Where can I ask a question, or report a bug?
|
73
|
+
|
74
|
+
The main mailing list for those using wxRuby for GUI development is
|
75
|
+
wxruby-users. General questions and queries of all sorts are appropriate
|
76
|
+
for this list, and new users are welcome.
|
77
|
+
|
78
|
+
When asking a question, if something is not working as you expect,
|
79
|
+
please provide a *minimal*, *runnable* sample of code that demonstrates
|
80
|
+
the problem, and say what you expected to happen, and what actually
|
81
|
+
happened. Please also provide basic details of your platform, ruby and
|
82
|
+
wxruby version, and make a reasonable effort to find answers in the
|
83
|
+
archive and documentation before posting. People on the list are happy
|
84
|
+
to help, but it's too much to expect them to guess what you're trying to
|
85
|
+
do, or try and debug 1,000 lines of your application.
|
86
|
+
|
87
|
+
There is a bug-tracker and feature-request system on the rubyforge
|
88
|
+
project pages for wxRuby. Using these helps ensure that a bug is
|
89
|
+
followed through and resolved. You're strongly encouraged to post to
|
90
|
+
these logged-in to rubyforge and not anonymously. You won't receive any
|
91
|
+
requests for follow-up information on anonymous items, and so these can
|
92
|
+
end up being closed without being resolved if needed information isn't
|
93
|
+
supplied.
|
94
|
+
|
95
|
+
wxruby-development is a secondary mailing list for all those interested
|
96
|
+
in the current and future development of wxRuby. The discussion on this
|
97
|
+
list tends to deal more with the internals of the library.
|
98
|
+
|
99
|
+
== How can I learn to use wxRuby?
|
100
|
+
|
101
|
+
wxRuby is a large API and takes some time to learn. The wxRuby
|
102
|
+
distribution comes with numerous samples which illustrate how to use
|
103
|
+
many specific parts of the API. A good one to start with is the
|
104
|
+
'minimal' sample, which provides an application skeleton. All the
|
105
|
+
bundled samples are expected to work with current wxRuby 2.0, although
|
106
|
+
some use a more modern coding style than others.
|
107
|
+
|
108
|
+
Complete wxRuby API documentation can downloaded separately; this tends
|
109
|
+
to focus on how to use specific classes and methods, rather than on how
|
110
|
+
to construct an application overall.
|
111
|
+
|
112
|
+
There are also tutorials on the wiki, as well as on third-party
|
113
|
+
websites. These typically provide in-depth view of a particular topic,
|
114
|
+
but some may be out-of-date.
|
115
|
+
|
116
|
+
One of the advantages of wxRuby is the much larger ecosystem of
|
117
|
+
wxWidgets and wxPython resources out there. There is a book for
|
118
|
+
wxWidgets,"Cross-Platform Programming in wxWidgets", whcih can be freely
|
119
|
+
downloaded as a PDF. This provides very comprehensive coverage of the
|
120
|
+
wxWidgets API in C++. The code may not be directly useful, but the
|
121
|
+
descriptions of how widgets and events and so forth work are almost
|
122
|
+
always relevant to wxRuby.
|
123
|
+
|
124
|
+
When using a search engine to find answers about a wxRuby class, it can
|
125
|
+
be worth searching for the same term but with 'wx' prepended. For
|
126
|
+
example, if you wanted answers about the "Grid" class, try searching for
|
127
|
+
"wxGrid" as this will turn up results relating to wxWidgets and wxPython
|
128
|
+
which may be relevant.
|
129
|
+
|
130
|
+
== What wxWidgets features are supported by wxRuby?
|
131
|
+
|
132
|
+
wxRuby supports almost all of the wxWidgets 2.8.9 GUI API, around 300
|
133
|
+
classes in total. wxWidgets classes that provide general programming
|
134
|
+
support features, such as strings, networking, threading and database
|
135
|
+
access are not and will never be ported, as it's assumed that in all
|
136
|
+
these cases it's preferable to use a Ruby library.
|
137
|
+
|
138
|
+
If you know of a feature in wxWidgets that you would like to see
|
139
|
+
supported in wxRuby
|
140
|
+
|
141
|
+
== How does wxRuby 2.0 relate to the wxruby 0.6.0 release?
|
142
|
+
|
143
|
+
wxRuby 0.6.0 was the last in a series of releases developed using a
|
144
|
+
different approach in the early days of wxRuby. Work on this series
|
145
|
+
stopped in early 2005, in favour of what is now wxRuby 2.0. Several
|
146
|
+
years of development have gone into wxRuby since, making it vastly more
|
147
|
+
capable and correct than the 0.6.0 release, which is only offered for
|
148
|
+
legacy applications.
|
149
|
+
|
150
|
+
== I am getting an error trying to install or compile wxRuby
|
151
|
+
|
152
|
+
Please double-check the INSTALL documents, and search the mailing list
|
153
|
+
archives. If this doesn't help, please post your question on the wxruby
|
154
|
+
mailing list (http://wxruby.rubyforge.org/wiki/wiki.pl?MailingLists)
|
155
|
+
|
156
|
+
= Credits
|
157
|
+
|
158
|
+
Kevin Smith established the wxRuby 2.0 project using SWIG in 2005. Since
|
159
|
+
then it has benefitted from the input of dozens of volunteers, who have
|
160
|
+
contributed code, documentation, testing, bug reports and feature
|
161
|
+
requests.
|
162
|
+
|
163
|
+
The alphabetic list shows (some of) those who've contributed code to
|
164
|
+
wxRuby 2.0.
|
165
|
+
|
166
|
+
Albin Holmgren
|
167
|
+
Alex Fenton
|
168
|
+
Artur Kuptel
|
169
|
+
Cezar Espinola
|
170
|
+
Chauk-Mean Proum
|
171
|
+
Christophe Bludau
|
172
|
+
Curt Hibbs
|
173
|
+
Dale Edmons
|
174
|
+
Daniel Savarese
|
175
|
+
David Whetstone
|
176
|
+
Dirk Traulsen
|
177
|
+
Hawley Waldman
|
178
|
+
Jani Monoses
|
179
|
+
Joe Seeley
|
180
|
+
Jonathan Maasland
|
181
|
+
Kevin Smith
|
182
|
+
Mario Steele
|
183
|
+
Nic
|
184
|
+
Pascal Hurni
|
185
|
+
Robert Carlin
|
186
|
+
Roy Sutton
|
187
|
+
Ryuichi Sakamoto
|
188
|
+
Sean Lindsay
|
189
|
+
Sean Long
|
190
|
+
Tobias Gruetzmacher
|
191
|
+
Zach Dennis
|
192
|
+
|
193
|
+
If your name is missing and should be here, please get in touch
|
194
|
+
with the current development team.
|
195
|
+
|
196
|
+
== Lead Maintainer
|
197
|
+
|
198
|
+
Alex Fenton: alex at pressure dot to
|