Xaw

Xaw (англ. X Window System Athena widget set) — набор виджетов для реализации простых интерфейсов пользователя, основанный на X Toolkit Intrinsics. Распространяется с X Window System.

Пример программы

Следующая программа создает кнопку в окне, с помощью Athena Widget:

/*
 * Компилируется строкой cc -o simple simple.c -lXaw -lXt -lX11
 */
#include <X11/Intrinsic.h>
#include <X11/StringDefs.h>
#include <X11/Shell.h>
#include <X11/Xaw/Form.h>
#include <X11/Xaw/Command.h>
#include <stdlib.h>

XtAppContext app_context;

void quit_proc(Widget w, XtPointer client_data, XtPointer call_data)
{
    XtDestroyApplicationContext(app_context);
    exit(0);
}

int main(int argc, char **argv)
{
    Widget toplevel, form, w;

    toplevel = XtOpenApplication(&app_context, "XFirst", NULL, 0, &argc,
				 argv, NULL, applicationShellWidgetClass,
				 NULL, 0);
    form =
	XtVaCreateManagedWidget("form", formWidgetClass, toplevel, NULL);
    w = XtVaCreateManagedWidget("quit_button", commandWidgetClass, form,
				XtNlabel, "Quit", NULL);
    XtAddCallback(w, XtNcallback, quit_proc, NULL);
    XtRealizeWidget(toplevel);
    XtAppMainLoop(app_context);
}
Xt и производные от него библиотеки: Xaw и Motif

Ссылки

  • https://web.archive.org/web/20080817020459/http://www.cactii.net/~bb/XawXpm/
  • XawPlus, a continuation in development of the Athena Widget Set (Xaw).
  • Survey of Widget Sets — сравнение различных версий Xaw.
  • Book — X Toolkit Intrinsics Ref Man R5, Third Edition.
  • TestXt2, Пример программы на языке C, которая создаёт менюбар используя только Xt/Xaw
Перейти к шаблону «Инструментарии виджетов»
Инструментарии (наборы) элементов графического интерфейса
Низко-
уровневые
  • Xlib
  • Macintosh Toolbox/Carbon
  • Windows API
  • Intrinsics
  • Intuition
Высоко-
уровневые
Amiga OS
  • BOOPSI
  • Magic User Interface
  • Zune
  • ReAction GUI
Mac OS и
macOS
  • Cocoa
  • MacApp
  • MacZoop
  • PowerPlant
Windows
  • Microsoft Foundation Classes
  • Windows Template Library
  • SmartWin++
  • Object Windows Library
  • Visual Component Library
  • Windows Forms
  • Windows Presentation Foundation
UNIX, под X
Кросс-
платфор-
менные
На основе Flash
На основе XML,
AJAX или SVG
На основе Java
На основе
C или C++
На основе Common Lisp
На основе Pascal
На основе Python
На основе Objective C