next up previous contents index
Search Next: Ruby und Borlands VCL Up: GUI-Programmierung Previous: Beispiele   Contents   Index

FXRuby

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.

Figure 29.8: FXRuby Klassen-Browser
\includegraphics[width=\linewidth]{images/rubyfx_browser.eps}

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.


next up previous contents index
Search Next: Ruby und Borlands VCL Up: GUI-Programmierung Previous: Beispiele   Contents   Index
(C) 2002 by dpunkt.de, Armin Roehrl, Stefan Schmiedl, Clemens Wyss 2002-01-20