Fox ist ein modernes C++-Toolkit unter GNU Lesser General Public License, das auf vielen verschiedenen Plattformen sehr schnell läuft. Es stehen Kontrollelemente mit Drag-und-Drop-Fähigkeiten sowie OpenGL-Widgets für 3D-Grafikmanipulationen zur Verfügung.
Die Installation auf Unix-Systemen beginnt mit dem Herunterladen der aktuellen
FXRuby-Version von [RubyFX], zu der die entsprechend nummerierte Version
der Fox-Bibliothek von [Fox] benötigt wird. Für Windows-Systeme ist die
FX-Bibliothek im Installationspaket der Pragmatic Programmers [WinRuby]
enthalten. Unter Linux lassen sich die Quellen problemlos
kompilieren. Im Download-Bereich für die Fox-Bibliothen [Fox] gibt es auch
eine Datei fox-api.tar.gz, die eine kompakte Referenz der verfügbaren
Funktionen enthält.
tar xzf FXRuby-0.99.174.tar.gz cd FXRuby-0.99.174 ruby setup.rb config with=fox ruby setup.rb setup ruby setup.rb install # als root
Eines der Beispiele ist ein Klassen-Browser, mit dem man sich von der Reichhaltigkeit und Aktualität der Funktionen überzeugen kann.
Am Beispiel hello.rb kann man erkennen, wie eine
FXRuby-Applikation aufgebaut ist.
require "fox"
include Fox # spart Fox::-Präfix ein
application = FXApp.new("Hello", "FoxTest")
application.init(ARGV)
main = FXMainWindow.new(application,
"Hello", nil, nil, DECOR_ALL)
FXButton.new(main, "&Hello, World!", nil,
application, FXApp::ID_QUIT)
application.create
main.show(PLACEMENT_SCREEN)
application.run
Eine FXRuby-Applikation erstellt zuerst ein FXApp-Objekt, das den Namen der Anwendung und eine Herstellerkennung erhält. Diese werden für die Zuordnung in einer der Windows-Registry ähnlichen Ordnerstruktur verwendet und sollten eindeutige Kombinationen sein.
Im FXMainWindow wird ein FXButton erzeugt, der beim Anklicken
die Botschaft FXApp::ID_QUIT an das application-Objekt
verschickt.
Nachdem mit application.create die Applikationsfenster erzeugt worden sind,
wird das main-Fenster mit show (in der Mitte des
Bildschirms) angezeigt, bevor schließlich der Eventloop einsetzt.