- FOX-Toolkit
-
FOX-Toolkit Entwickler Entwicklergemeinschaft Aktuelle Version 1.6.43
(29. Januar 2011)Betriebssystem X11 (Unix-Derivate), Windows Kategorie Klassenbibliothek Lizenz modifizierte LGPL (Freie Software) Deutschsprachig nein fox-toolkit.org FOX ist eine Klassenbibliothek für die plattformübergreifende Programmierung graphischer Benutzeroberflächen (GUIs) in C++. Enthalten sind die für GUI-Bibliotheken üblichen Gestaltungs- und Bedienelemente. Als Besonderheit enthält FOX eine gute Anpassung an die 3D-Bibliothek OpenGL.
Inhaltsverzeichnis
Programmiersprachen
Obgleich das FOX-Toolkit in C++ geschrieben wurde, existieren Sprachanpassungen für
Aussehen
Wo entsprechende Designentscheidungen nötig wurden, ist das Look and Feel von FOX an Windows angelehnt. FOX kann gegenwärtig anders als manch andere Widget-Sets nicht mit Themen versehen werden.
Beispielprogramm
Das folgende Beispielprogramm implementiert ein einfaches Fenster mit zwei Knöpfen und einem Text-Label in ihm.
#include "fx.h" class FoxTest : public FXMainWindow { FXDECLARE (FoxTest) public: FoxTest (FXApp* a); long onCmdCommand (FXObject*, FXSelector, void*); enum { ID_COMMAND = FXMainWindow::ID_LAST, ID_LAST }; virtual void create (); private: FXLabel *label; protected: FoxTest () {} }; FXDEFMAP (FoxTest) FoxTestMap[] = { FXMAPFUNC(SEL_COMMAND, FoxTest::ID_COMMAND, FoxTest::onCmdCommand), }; FXIMPLEMENT (FoxTest, FXMainWindow, FoxTestMap, ARRAYNUMBER (FoxTestMap)) FoxTest::FoxTest (FXApp *a) : FXMainWindow (a, "FoxTest", NULL, NULL, DECOR_ALL, 50, 50, 200, 60) { FXVerticalFrame *vertFrame = new FXVerticalFrame (this, LAYOUT_FILL_X|LAYOUT_FILL_Y|PACK_UNIFORM_WIDTH); FXHorizontalFrame *horiFrame = new FXHorizontalFrame (vertFrame, LAYOUT_CENTER_X|PACK_UNIFORM_WIDTH|FRAME_RAISED); new FXButton (horiFrame, "Drück mich", NULL, this, FoxTest::ID_COMMAND); new FXButton (horiFrame, "Exit", NULL, getApp (), FXApp::ID_QUIT); label = new FXLabel (vertFrame, "Hallo", NULL, LAYOUT_CENTER_X|LAYOUT_CENTER_Y); } void FoxTest::create () { FXMainWindow::create (); show (); } long FoxTest::onCmdCommand (FXObject*, FXSelector, void*) { label->setText ("Danke!"); return 1; } int main (int argc, char *argv[]) { FXApp* application = new FXApp("FoxyTesting","Test"); application->init (argc, argv); new FoxTest (application); application->create(); application->run(); }
Siehe auch
Weblinks
Kategorien:- GUI-Framework
- Freie Systemsoftware
- Programmiersprache C++
Wikimedia Foundation.