README for wxruby2
Version 0.0.29

This is wxruby2, the second generation of wxRuby, a library 
that allows Ruby programs to use the wxWidgets GUI toolkit. 
It is released under a permissive MIT-style license
(see the LICENSE file for details).

There are no binaries yet. You must build it from source.
It now supports about 130 classes, and is only missing about 20 
classes that were supported in wxruby 0.6.

For more details, see the project home page:
  http://rubyforge.org/projects/wxruby/


REQUIREMENTS:

- Ruby 1.8
- rake (http://rake.rubyforge.org/)
- SWIG 1.3.24 or later
- wxWidgets 2.6+ SDK
- Linux, MS Windows, or Mac OS X


OBTAINING THE SOURCE:

No binary builds are available yet. 
Source code can be retrieved from CVS at:
  http://rubyforge.org/scm/?group_id=35
  

BUILDING:

From the top-level directory (typically wxruby-swig/), 
just start the rake build with the command:
  rake
  
There is no ./configure step, nor do you need to 
run ruby extconf.rb. 


INSTALLING THE LIBRARY:

You can install the library using:
  rake install
  
Note that on some systems you may need to be "root" to do this.
To manually install, copy all the files in the lib/ subdirectory 
to somewhere on your ruby library path, such as a ruby extensions 
directory.


TESTING:

To use wxruby-swig in your app, use:
  require 'wx'

Several samples are available:
	samples/calendar/calendar.rb
	samples/test.rb
	samples/caret/caret.rb
	samples/controls/controls.rb
	samples/controls/get_item_sample.rb
	samples/dialogs/dialogs.rb
	samples/etc/choice.rb
	samples/images/images.rb
	samples/mdi/mdi.rb
	samples/minimal/minimal.rb
	samples/minimal/nothing.rb
	samples/minimal/text.rb
	
The listbook sample doesn't seem to work under Linux.
The bigdemo sample doesn't work well at all yet, but it will 
be really cool when it does!


PORTING TO OTHER PLATFORMS

You may need to edit the appropriate platform-dependent 
rake file if your system is not yet supported, or if it
is unusual. These files are found in the rake subdirectory:

  Mac OSX:              rakemacosx.rb
  MS Windows VC++:      rakemswin.rb
  MS Windows BC++:      rakebccwin.rb
  MS Windows MingGW:    rakemingw.rb
  MS Windows Cygwin:    rakecygwin.rb
  NetBSD:               rakenetbsd.rb

When editing a platform-dependent rakefile, you might 
merely need to set one or more of the following variables:
    $extra_cppflags
    $extra_ldflags
    $extra_objs
    $extra_libs




NOTES:
- Since initialize is reserved in ruby, use SplitterWindow#init instead.
- Uninitialized client data will have the value (false), 
  not (nil). This is a change from wxRuby 0.3 and earlier.
- wxDateTime has not been wrapped. Use Ruby's DateTime 
  whenever a wxDateTime is specified.
- wxString has not been wrapped. Use a normal Ruby String
  whenever a wxString is specified.
- log_message and log_status take a single string parameter, 
  rather than a format string followed by additional values 
  to be inserted.
-- ScreenDC extends DC on all platforms, unlike in C++ wx. 
  This means that you cannot override any virtual methods that were 
  defined in PaintDC or WindowDC in a ruby subclass of ScreenDC.
  
  
SUPPORTED CLASSES:

As of 0.0.25, The following classes are supported:
App.i                Gauge.i                       Notebook.i
ArtProvider.i        GDIObject.i                   NotifyEvent.i
BitmapButton.i       GridCellAttr.i                Object.i
Bitmap.i             GridCellBoolEditor.i          PaintDC.i
Bogus.i              GridCellBoolRenderer.i        PaintEvent.i
BoxSizer.i           GridCellChoiceEditor.i        Panel.i
Brush.i              GridCellEditor.i              Pen.i
BusyCursor.i         GridCellFloatEditor.i         Point.i
BusyInfo.i           GridCellFloatRenderer.i       ProgressDialog.i
Button.i             GridCellNumberEditor.i        RadioBox.i
CalendarCtrl.i       GridCellNumberRenderer.i      RadioButton.i
CalendarDateAttr.i   GridCellRenderer.i            ScrolledWindow.i
CalendarEvent.i      GridCellStringRenderer.i      SingleChoiceDialog.i
Caret.i              GridCellTextEditor.i          SizeEvent.i
CheckBox.i           GridEvent.i                   Size.i
CheckListBox.i       Grid.i                        Sizer.i
Choice.i             GridRangeSelectEvent.i        Slider.i
ClassInfo.i          GridSizeEvent.i               SpinButton.i
ClientDC.i           GridSizer.i                   SpinCtrl.i
CloseEvent.i         Icon.i                        SpinEvent.i
ColourData.i         IdleEvent.i                   SplitterEvent.i
ColourDialog.i       Image.i                       SplitterWindow.i
Colour.i             ImageList.i                   StaticBitmap.i
ComboBox.i           include                       StaticBox.i
CommandEvent.i       IndividualLayoutConstraint.i  StaticBoxSizer.i
Control.i            KeyEvent.i                    StaticLine.i
ControlWithItems.i   LayoutConstraints.i           StaticText.i
Cursor.i             ListbookEvent.i               StatusBar.i
CVS                  Listbook.i                    TextAttr.i
DC.i                 ListBox.i                     TextCtrl.i
Dialog.i             ListCtrl.i                    TextEntryDialog.i
DirDialog.i          Log.i                         TipProvider.i
Event.i              LogTextCtrl.i                 TipWindow.i
EvtHandler.i         Mask.i                        ToggleButton.i
FileDialog.i         MDIChildFrame.i               ToolBar.i
FindDialogEvent.i    MDIParentFrame.i              ToolTip.i
FindReplaceData.i    MemoryDC.i                    TreeCtrl.i
FindReplaceDialog.i  MenuBar.i                     TreeEvent.i
FlexGridSizer.i      Menu.i                        UpdateUIEvent.i
FocusEvent.i         MenuItem.i                    Validator.i
FontData.i           MessageDialog.i               WindowDC.i
FontDialog.i         MouseEvent.i                  WindowDisabler.i
Font.i               MoveEvent.i                   Window.i
Frame.i              NotebookEvent.i               XmlResource.i

  

LEAD MAINTAINER:
  Kevin Smith
  http://qualitycode.com
  mailto:wxruby@qualitycode.com
