ReAction GUI es el motor de herramientas de widgets que se utiliza en AmigaOS 3.2–4.1.
Se trata de una evolución de ClassAct, un sistema de clases orientado a objetos que mejoró el aspecto de la interfaz gráfica de usuario (GUI) de Workbench 2.0 de AmigaOS.
Historia
El sistema de ventanas nativo de Amiga se llama Intuition , que gestiona la representación de pantallas, ventanas y widgets básicos. Sin embargo, hasta AmigaOS 2.0 no existía una interfaz estandarizada , y a menudo los desarrolladores de aplicaciones tenían que escribir sus propios widgets no estándar (tanto botones como menús), ya que Intuition ofrecía escaso soporte.
Intuition se mejoró posteriormente con gadtools.library (AmigaOS 2.0 y versiones posteriores), que proporciona un conjunto de widgets estándar. AmigaOS 2.0 también introdujo un sistema de diálogo estándar llamado ASL (Amiga Standard requester Library) y la Guía de estilo de la interfaz de usuario de Amiga , que definía cómo debían diseñarse las aplicaciones para lograr coherencia. Intuition se perfeccionó con BOOPSI (Basic Object Oriented Programming System for Intuition), que proporciona una interfaz orientada a objetos sobre la que construir un conjunto extensible de widgets. La introducción de BOOPSI permitió a desarrolladores externos crear completos conjuntos de herramientas de widgets, como MUI y ClassAct, que posteriormente evolucionaron hasta convertirse en ReAction.
Características
CLASE ACCIÓN
ClassAct es un sistema orientado a objetos de clases y gadgets desarrollado sobre el sistema BOOPSI, introducido con AmigaOS 2.0. Sus principales características son la expansibilidad y la modularidad. Se pueden añadir nuevas clases y gadgets al sistema, mejorándolo con nuevas funcionalidades. ClassAct se inspiró en la visión de futuro que Commodore había presentado para el sistema operativo en la Conferencia de Desarrolladores de Orlando, antes de la quiebra de Commodore. Los programadores Christopher 'caldi' Aldi, Timothy Aston y Osma 'Tau' Ahvenlampi colaboraron, y ClassAct es la materialización de esa visión.
Clases de ClassACT
Las clases principales son:
- clase ventana
- solicitante.clase
- arexx.class
Los principales dispositivos son:
- botón.gadget
- casilla de verificación.gadget
- speedbar.gadget
- gadget espacial
- dispositivo deslizante
- dispositivo de desplazamiento
- botón de radio.gadget
- paleta.gadget
- lista.gadget
- gadget de diseño
- dispositivo entero
- obtener_modo_pantalla.gadget
- getfont.gadget
- obtenerarchivo.gadget
- dispositivo de control de combustible
- clicktab.gadget
- gadget selector
- dispositivo de cadena
- gadget de campo de texto
Se pueden aplicar diversos estilos a los gadgets de ClassAct, como el aspecto 3D. Los gadgets pueden tener bordes biselados , la fuente puede tener una opción de reserva en caso de que la fuente predeterminada sea demasiado grande para caber en la ventana de la pantalla, el usuario puede configurar el número de lápiz que se utilizará para las etiquetas y las fuentes de las etiquetas, y muchas otras opciones similares.
Reacción
ReAction es el constructor de GUI oficial de AmigaOS desde los tiempos del sistema operativo 3.5. [ 1 ] [ 2 ] Actualmente se basa en Intuition, se actualiza y tiene una apariencia mejor y más consistente en todas las aplicaciones que lo utilizan.
El sistema de clases y gadgets ReAction es prácticamente idéntico a ClassACT. Es ampliable y modular, al igual que ClassACT. Se pueden añadir fácilmente nuevas clases y gadgets al sistema para mejorar sus funcionalidades.
Un ejemplo sencillo de esta modularidad es la nueva clase de gadget de ReAction, conocida como piechart.gadget . El objetivo principal de este gadget es mostrar la distribución de datos entre diversas fuentes, como acciones compartidas, capacidad de disco y espacio libre, etc., mediante un gráfico circular . También es posible la interacción opcional del usuario.
Ejemplos de código mínimo
Dispositivos de botón y cuerda
// Gadget de botón #include <gadgets/layout.h> #include <proto/layout.h> #include <proto/button.h>// Diseño de ejemplo: LAYOUT_AddChild , OBJ ( OBJ_QUIT ) = ButtonObject , GA_ID , OBJ_QUIT , GA_Text , "Salir" , GA_RelVerify , TRUE , End , //Gadget del botón Salir// Gadget de cadena #include <gadgets/layout.h> #include <gadgets/string.h> #include <proto/layout.h> #include <proto/string.h> #include <intuition/gadgetclass.h>// Diseño de ejemplo: LAYOUT_AddChild , OBJ ( OBJ_STRING ) = StringObject , GA_ID , OBJ_STRING , GA_RelVerify , TRUE , STRINGA_MaxChars , 32 , STRINGA_WorkBuffer , buffername , End , // Gadget de cadenaOtros conjuntos de herramientas en Amiga
En el mundo Amiga, existen dos conjuntos de herramientas de widgets principales que compiten entre sí: ReAction, el conjunto de herramientas de interfaz gráfica de usuario (GUI) predeterminado para AmigaOS 3.2-4.1 y para el desarrollo de software para AmigaOS, y MUI, el conjunto de herramientas de GUI predeterminado para MorphOS . AROS utiliza el conjunto de herramientas Zune , un clon de MUI de código abierto.
Cygnix es un entorno de simulación UNIX ligero para AmigaOS que incluye el servidor X11 Cygwin , y que se ha utilizado para portar programas como AbiWord o GIMP a Amiga. Un proyecto ligeramente relacionado es un envoltorio GTK MUI que, con el tiempo, simplificará la adaptación de software basado en GTK .
En Amiga también están disponibles diversas bibliotecas y herramientas gráficas multiplataforma, como Cairo y SDL , que constituyen la base para crear nuevos y mejores kits de herramientas, nuevas interfaces gráficas de usuario, nuevos sistemas de widgets, etc.
También existe un conjunto de herramientas basado en XML, Feelin .
Véase también
Referencias
Lecturas adicionales
- Drummond, Richard (enero de 2000). "Program Perfection Capítulo 8: Construyendo la GUI parte 2". Amiga Format . N.° 132. Future Publishing. págs. 64–65 . ISSN 0957-4867 .
- Jedlička, Dan (enero de 2000). "CD para desarrolladores de Amiga v2.1". Revisión de Amiga (en checo). No. 52. Editorial Atlántida. pag. 16. ISSN 1211-1465 .
- Christoph, Michael (noviembre de 2005). "Programar en OS4 en Praxis Teil 3". Amiga Future (en alemán). Núm. 57. APC&TCP. págs. 42 a 46.
Enlaces externos
- Guía para principiantes sobre la programación de ReAction
- API de Amiga
- AmigaOS 4
- Kits de herramientas de widgets
