Chapter 5. Using Scintilla with FXRuby
Prev |  | Next

## Chapter 5. Using Scintilla with FXRuby

## What is Scintilla?

Scintilla is a free source code editing component developed by Neil Hodgson for the Win32 and GTK+ platforms.

## What is FXScintilla?

FXScintilla is a FOX widget that wraps around the Scintilla component, or, if you wish, the FOX "port" of Scintilla. It is being developed by Gilles Filippini, and as of this writing the latest release is available for download from http://freesoftware.fsf.org/download/fxscintilla/fxscintilla-1.45.1.tgz.

## Compiling FXScintilla

Gilles' FXScintilla distribution contains everything you need to build the FXScintilla widget and begin using it in your C++-based FOX applications. That is to say, you do not have to separately download the Scintilla source code from the Scintilla home page. When you unpack the FXScintilla tarball, you should get two directories, `scintilla` and `scite`, containing the modified source code for the FOX port of the Scintilla widget. For the purposes of this discussion, we're only interested in getting the `scintilla` portion of the code compiled.

The `README.fox` file in the `scintilla` directory should provide enough instruction for you to compile the FXScintilla code for either Unix or Microsoft Windows. At the end you should have a static library in the `scintilla/bin` subdirectory, named either `scintilla.a` (for Unix-like platforms) or `scintilla-static.lib` (for Windows).

## Enabling FXScintilla support in FXRuby

The next step is to build a version of FXRuby (from its source code) with the optional FXScintilla support enabled. This process is not so different from the standard build procedure, but you do need to specify a few additional configuration options at the beginning.

You can configure the build on Unix or Linux systems by typing:

    $ ruby install.rb config -- \
        --with-scintilla-include=/home/lyle/scintilla/include \
        --with-scintilla-lib=/home/lyle/scintilla/bin

or, when compiling with Microsoft Visual C++, by typing:

    C:\FXRuby-1.0.3>ruby install.rb config --make-prog=nmake -- \
        --with-fox-include=C:\fox-1.0.3\include \
        --with-fox-lib=C:\fox-1.0.3\lib \
        --with-scintilla-include=C:\scintilla\include \
        --with-scintilla-lib=C:\scintilla\bin

Past this point, the build and installation process for either platform should be the same as for standard builds. To test your new FXScintilla-enabled build of FXRuby, try running the `scintilla-test.rb` example program in the FXRuby `examples` subdirectory.

Prev | Up | Next
Chapter 4. Using OpenGL with FXRuby | Home | Chapter 6. Differences between FOX and FXRuby