wxruby 1.9.10-x86-mingw32 → 2.0.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
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 wxruby2
1
+ = README for wxRuby version 2.0
2
2
 
3
- Version 1.9.x
3
+ == Introduction
4
4
 
5
- This is wxruby2, the second generation of wxRuby, a library
6
- that allows Ruby programs to use the wxWidgets GUI toolkit.
7
- It is released under a permissive MIT-style license
8
- (see the LICENSE file for details).
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
- This version is a beta release, in preparation for a stable release of
11
- wxruby version 2.0.
11
+ == Installing wxRuby
12
12
 
13
- ------------------------FAQ---------------------------
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
- - What platforms and operating systems are supported in wxRuby2?
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
- Currently the following are fully supported:
20
+ == wxRuby licence
18
21
 
19
- Windows NT/2000/XP/Vista (i686)
20
- OS X 10.4+ (i686 and PowerPc)
21
- Linux (i686 + AMD-64)
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
- It is unlikely that support for old Windows OS's (3.1, 95, 98, ME)
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
- - Why would I choose wxruby over FXRuby, Ruby/GTK, or one of the other
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
- wxruby2 is the "next generation" of wxruby. It is being developed
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
- First, because development on the original wxruby codebase has stopped.
66
- Everyone is working on wxruby2, so it will continue to improve. Beyond
67
- that, wxruby2 has these advantages over wxruby 0.6.0:
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
- See the "Documentation" section of the README file, or check the
90
- wxruby web site: http://wxruby.org
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
- - How are the wxruby 0.6.0 and wxruby2 licenses different?
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
- - I am getting an error trying to compile wxruby2
102
-
103
- Please double-check the requirements. You may be using the wrong
104
- version of SWIG, wxWidgets, or some other tool. Double-check the
105
- instructions on the wxRuby wiki (http://wxruby.rubyforge.org/)
106
-
107
- If you need help, please ask your question on the wxruby mailing list
108
- (see the link at http://wxruby.org).
109
-
110
- - I am getting an error trying to run any wxruby2 application, such as
111
- the samples that are included in the gem.
112
-
113
- If you are using Linux, be sure you have configured your system to
114
- have RUBYOPT=-rubygems. This can be done in .bashrc or /etc/environment,
115
- depending on your distribution and preferences. [More details to follow].
116
-
117
- - Why aren't the wx network, file, date, database and other non-GUI
118
- classes supported?
119
-
120
- Because Ruby has its own versions of each of them, providing
121
- cross-platform abstractions of these functions with familiar syntax
122
- and methods. We assume you are writing your application in Ruby, so it
123
- makes sense to keep as much code as possible in Ruby. We have only
124
- wrapped the wx classes that are necessary to write GUI code.
125
-
126
- There may be some advantages to porting the Wx network classes into
127
- ruby, if they work better with multi-(native)-threaded code. This is
128
- currently under evaluation.
129
-
130
- - Why has it taken so long for wxruby2 to be released?
131
-
132
- Nobody is getting paid to develop wxruby, so each of the wxruby developers
133
- are limited in the amount of time they can dedicate to the project. We are
134
- always looking for more volunteers to help code, test, document, manage
135
- the bug list, handle publicity, or do other necessary chores.
136
-
137
- Wrapping wx is a big project that requires a wide variety of skills. As of
138
- February 2008, the wxRuby project has over 100,000 lines of code, including
139
- ruby, C++, and SWIG scripts. If we weren't using SWIG it would be far bigger.
140
-
141
-
142
- For more details, see the project home page:
143
- http://wxruby.org/
144
-
145
-
146
- ------------------------USING WXRUBY---------------------------
147
- INSTALLING:
148
-
149
- wxRuby is available as binary gems for MS Windows, Mac OS X, and Linux
150
- with GTK+ 2. Unless you wish to work on wxRuby itself, we strongly
151
- recommend installing the gem rather than building from source.
152
-
153
- REQUIREMENTS TO CREATE AND RUN WXRUBY APPS:
154
-
155
- - Ruby 1.8
156
- - MS Windows NT/2000/XP/Vista, Mac OS X 10.4+, or Linux with GTK+ 2,
157
-
158
- - On Windows, gdiplus.pll and msvcp71.dll. These are available on most
159
- systems, but can be downloaded and installed for free from the
160
- internet
161
- - On Linux, libgstreamer. This can be installed from most package sources
162
-
163
- SAMPLES:
164
-
165
- There is a samples/ directory containing many small sample wxRuby apps
166
- that demonstrate how to use various classes. A few samples do not work
167
- across all platforms at this time.
168
-
169
- The bigdemo sample is fairly comprehensive, but not all of the
170
- sections work on all platforms.
171
-
172
-
173
- WRITING YOUR OWN WXRUBY APP:
174
-
175
- To use wxruby-swig in your app, use:
176
- require 'wx'
177
-
178
- samples/minimal.rb can be used as a template for creating your
179
- own wxruby application.
180
-
181
-
182
- DOCUMENTATION:
183
-
184
- - wxRuby-specific API documentation can be found here:
185
-
186
- http://wxruby.org/doc/
187
-
188
- (Note: This documentation is auto-generated from the C++ wxWidgets API
189
- docs. There are some broken links, some sample code in C++, and some
190
- sections which do not apply to ruby. The documentation is continually
191
- being improved.)
192
-
193
- - The latest version of the documentation can be downloaded from the
194
- wxRuby 'Files' section on Rubyforge.
195
-
196
- http://www.rubyforge.org/frs/?group_id=35
197
-
198
- - Tables summarizing which wx classes are and are not supported can
199
- be found here:
200
-
201
- http://wxruby.org/wiki/wiki.pl?ClassesSupportedByCategory
202
-
203
- - Most wxWidgets and wxPython tutorials and references can also be used, if
204
- you remember that wxRuby uses ruby_style_naming for methods and variables
205
- instead of MixedCase as used by wxWidgets.
206
-
207
-
208
-
209
- API DIFFERENCES FROM WXWIDGETS:
210
- - In many cases, wxRuby follows the lead of wxPython (or in some cases,
211
- wxPerl), adjusting certain method calls when the C++ style doesn't fit
212
- dynamic languages.
213
- - Since initialize is reserved in ruby, use SplitterWindow#init instead.
214
- - Many wx classes have not been wrapped because native ruby classes work
215
- as well or better. These include wxDateTime, wxString, networking
216
- classes, database classes.
217
- - log_message and log_status take a single string parameter,
218
- rather than a format string followed by additional values
219
- to be inserted. Use Ruby's sprintf if required.
220
-
221
- ----------------------COMPILING WXRUBY--------------------------
222
- REQUIREMENTS TO COMPILE/BUILD WXRUBY ITSELF
223
-
224
- - rake
225
- - SWIG, version 1.3.32 or later. Earlier versions will not work correctly.
226
- - wxWidgets 2.8.x SDK. See further information on the wxruby website for
227
- recommended compile-time options for wxWidgets.
228
-
229
-
230
- OBTAINING THE SOURCE:
231
-
232
- Source code is hosted in Subversion at rubyforge.org. See the links on
233
- the wxruby web site (http://wxruby.org). Check out the wxruby2
234
- Subversion module (not the old wxruby module).
235
-
236
-
237
- BUILDING:
238
-
239
- From the top-level directory (typically wxruby2/),
240
- just start the rake build with the command:
241
-
242
- rake
243
-
244
- There is no ./configure step, nor do you need to run ruby extconf.rb.
245
-
246
-
247
- INSTALLING THE LIBRARY:
248
-
249
- You can install the library using:
250
- rake install
251
-
252
- Note that on some systems you may need to be "root" to do this.
253
- To manually install, copy all the files in the lib/ subdirectory
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