XForms (Toolkit)


XForms (Toolkit)
Der XForms Form-Designer

XForms ist ein GUI-Toolkit, das auf der Xlib-Bibliothek des X Window Systems aufbaut. Es beinhaltet viele in C implementierte Widget-Objekte, wie beispielsweise Schaltflächen (Buttons), Bildlaufleisten (Scrollbars), Programmenüs und weitere Bedienelemente. Programmiert wurde XForms von T. C. Zhao und Mark Overmars, die es zunächst in einer Version, die für nicht-kommerzielle Anwender kostenlos war, veröffentlichten. Im April 2002 wurde mit dem Erscheinen der Version 0.9999 das komplette Toolkit unter die GNU Lesser General Public License gestellt.

Das XForms-Toolkit ist ursprünglich auf Silicon Graphics Workstations entstanden, unter Verwendung der IRIS Graphics Library (IRIS GL), der proprietären Vorgängerversion von OpenGL unter IRIX, wurde aber später unter Verwendung der Xlib-Bibliothek auf beliebige X11-Systeme portiert. Dabei verzichtet das Toolkit, im Gegensatz zu den Athena Widgets (Xaw), Motif (Xm) oder OpenLook (XView), auf die Benutzung des X-Toolkits (Xt) und implementiert sämtliche Widgets über direkten Zugriff auf die Xlib-Bibliothek. Für das Toolkit existieren mehrere Bezeichnungen wie „Forms Library for X“, „Forms Library“ oder einfach „XForms“, welche sich aber alle auf das gleiche Toolkit beziehen. Mit dem Ziel, XForms abzulösen, wurde später das C++-basierte Fast Light Toolkit (FLTK) auf Basis der XForms-Bibliothek entwickelt. Das XForms-Toolkit ist somit entfernt verwandt mit dem FLTK.

Jedes Programm, das XForms als Oberfläche verwendet, benutzt eine oder mehrere Forms, wobei eine Form ein einfaches Fenster unter X darstellt. Eine "Form" ist eine Box, in der man Widget-Objekte wie zum Beispiel Schaltflächen, Auswahlfelder und Eingabefelder platzieren kann. Eines der Besonderheiten des Toolkits ist der XForms Form-Designer, ein mitgelieferter interaktiver Oberflächen-Editor zum Erstellen grafischer Oberflächen. Er ermöglicht dem Programmierer seine Programme per Rapid Application Development (RAD) zu entwickeln. Der Form-Designer erlaubt es neue Forms und deren Objekte zu erzeugen, diese zu gruppieren und ihre Eigenschaften zu editieren.

Das Programmiermodell von XForms realisiert die Reaktion auf Ereignisse, wie beispielsweise das Anklicken einer Checkbox, mit Callbacks. Hat eine Form zum Beispiel mehrere Schaltflächen, so kann jeder eine eigene Callback-Funktion zugewiesen werden. In der Hauptschleife des Programms wird auf Ereignisse gewartet und, falls dieses Ereignis ein bestimmtes Objekt betrifft, die entsprechenden Callback-Funktion ausgeführt. Darüber hinaus existieren Anbindungen an die Programmiersprachen Perl, Ada95, Fortran, Pascal, SCM/Guile und Python. Das XForms-Toolkit kann unter den Betriebssystemen IRIX, SunOS/Solaris, HP-UX, AIX, Tru64 UNIX, Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, UnixWare, OpenVMS, OS/2 und Windows NT 4.0 genutzt werden, wobei die letzten drei nicht mehr aktiv im Quellcode gepflegt werden.

Einsatzgebiete

Das Toolkit wurde ursprünglich vom Xfce-Projekt für die Gestaltung der grafischen Benutzeroberfläche benutzt, bevor es zum GIMP-Toolkit wechselte. Auch LyX, das grafische WYSIWYG-Frontend für LaTeX, setzte lange Zeit XForms als Basis ein; seit Version 1.5 wird wegen der fehlenden Unicode-Unterstützung im XForms-Toolkit ausschließlich nur noch die Qt-Bibliothek benutzt. Weitere bekannte Programme die das XForms-Toolkit nutzen, sind der E-Mail-Client XFMail, der Fax-Betrachter xfax, das Bearbeitungsprogramm für Audiodateien Digital Audio Processor (DAP) und das kommerzielle CAD-Programm für den Architekturbereich Arcad.

Beispielcode

Hier ein kleines Beispielprogramm für ein Fenster mit „Okay“-Schaltfläche:

#include <forms.h>
 
int main( int argc, char *argv[] )
{
    FL_FORM *form;
    fl_initialize( &argc, argv, 0, 0, 0 );
    form = fl_bgn_form( FL_UP_BOX, 230, 160 );
    fl_add_button( FL_NORMAL_BUTTON, 40, 50, 150, 60, "OK" );
    fl_end_form();
 
    fl_show_form( form, FL_PLACE_MOUSE, FL_NOBORDER, "Hello, world!" );
    fl_do_forms();  /* main event loop */
    fl_hide_form(form);
    fl_finish();
    return 0;
}

Weblinks


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • XForms (toolkit) — XForms is a GUI toolkit based on Xlib for the X Window System. It features a rich set of objects, such as buttons, scrollbars, and menus etc. In addition, the library is extensible and new objects can easily be created and added to the… …   Wikipedia

  • XForms — is an XML format for the specification of a data processing model for XML data and user interface(s) for the XML data, such as web forms. XForms was designed to be the next generation of HTML / XHTML forms, but is generic enough that it can also… …   Wikipedia

  • XForms (disambiguation) — XForms may refer to one of the following: * XForms, an XML form definition language defined by the W3C. * XForms (toolkit), an X Window System GUI package, licensed as LGPL …   Wikipedia

  • XForms — XForms  технология веб форм, которая основана на архитектуре Model View Controller [1], где данные представляются в виде XML. XForms была разработана консорциумом W3C, и совмещает в себе всю гибкость языка XML и смежных с ним технологий. В… …   Википедия

  • Dojo Toolkit — Developer(s) Dojo Foundation Stable release 1.6.1 / May 20, 2011; 5 months ago ( …   Wikipedia

  • Widget toolkit — A widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces (GUIs). The toolkit itself is a piece of software that is generally provided with an operating system, windowing …   Wikipedia

  • Google Web Toolkit — Тип Ajax framework Разработчик Google Написана на Java Операционная система Windows NT, Mac OS X …   Википедия

  • FOX toolkit — У этого термина существуют и другие значения, см. Fox (значения). FOX Toolkit Тип библ …   Википедия

  • Motif (widget toolkit) — Motif Stable release 2.3.3 / March 19, 2010; 19 months ago (2010 03 19) Type Widget toolkit Website www.openmotif.org …   Wikipedia

  • Abstract Window Toolkit — Для улучшения этой статьи желательно?: Исправить статью согласно стилистическим правилам Википедии …   Википедия