ReAction GUI
From Wikipedia, the free encyclopedia
ReAction GUI it is the name of the Widget toolkit engine that is used in AmigaOS 4.0.
It is an evolution of ClassACT, which is an object oriented system of classes that enhanced the aspect of the Workbench 2.0 GUI of AmigaOS.
Contents |
[edit] History
The first Amiga GUI called Workbench 1.0 and up to version 1.3 lacked a standardized unified look and feel, and often application developers had to write their own widgets (both buttons and menus) if they wanted to enhance standard basic widgets, with Intuition providing little support. With the release of AmigaOS 2.0 the Workbench was enhanced with gadtools.library, which provided standard widget sets, and the Amiga User Interface Style Guide, which explained how applications should be laid out for consistency. Intuition was improved with BOOPSI (Basic Object Oriented Programming system for Intuition) which enhanced the system with an object oriented interface with a system of classes in which every class individuate[clarify] a single widget or describes an interface event, and ASL (Amiga Standard Requester Library) which dealt with system dialog windows and all kind of requesters.
This enhancement led an evolution in which third-party developers realized each own his personal tools to improve the AmigaOS standard GUI; so were born new systems to handle icons (Newicons, MagicWB), MCP (Master Control Program) an omnicomprensive tool to contol various embedded functions of the Workbench, NoDraw and NoFill patches to avoid Amiga icon borders, ScalOS an entire replacement GUI for the Amiga Workbench, and ClassAct system of classes, etcetera.
MagicWb evolved into MUI (Magic User Interface) and ClassAct then evolved into ReAction. This evolution was introduced into Amiga in 1998 with the launch of AmigaOS 3.9 by Haage & Partners. In 2000 MUI became the standard GUI engine for AROS and MorphOS and ReAction it is now the GUI engine of AmigaOS 4.0. Even if old ReAction system of AmigaOS 3.9 could be used into MorphOS also, the actual ReAction still remains nearby closed with AmigaOS 4.0.
There are also modern interfaces based on XML, like Feelin.
[edit] Features
[edit] ClassACT
ClassAct is an object oriented system of classes and gadgets developed to replace and enhance the Amiga GadTools.library born with AmigaOS 3.1. Its main features are expandability and modularity. New classes and gadgets could be added to the system and improve it with new capabilities.
[edit] Classes of ClassACT
Main classes are:
- window.class
- requester.class
- arexx.class
Main gadgets are:
- button.gadget
- checkbox.gadget
- speedbar.gadget
- space.gadget
- slider.gadget
- scroller.gadget
- radiobutton.gadget
- palette.gadget
- listbrowser.gadget
- layout.gadget.020 (optimized for CPU Motorola 68020 and superior models)
- layout.gadget
- integer.gadget
- getscreenmode.gadget
- getfont.gadget
- getfile.gadget
- fuelgauge.gadget
- clicktab.gadget
- chooser.gadget
- string.gadget
- textfield.gadget
Gadgets of ClassACT are made to entirely support gadtools.library and enhance it. Various styles can be applied to ClassAct gadgets, such as 3D aspect. Gadgets could have Bevel borders, the font have Fallback option in case the default font is too large to fit the window on the screen, Pen number to use for labels and labels fonts could be set by the user, and many, many options like these.
[edit] ReAction
ReAction is the official AmigaOS GUI builder since OS 3.5 days. Nowadays it is being built on top of Intuition, updated and has a better and more consistent look through the apps that use it.
ReAction system of classes and gadgets is almost the same as ClassACT. It is expandable and modular as the same as ClassAct. New classes and gadgets can be added to the system with ease to enhance its features.
A little example of this modularity could be new ReAction gadget class available that is piechart.gadget. The main purpose of this gadget is displaying the data distribution among various sources, like shares, disk capacity and free space, etc. on a graphical pie chart. Optional interaction from the user is also possible.
[edit] Examples of minimal code
Button and String gadgets
Button gadget #include <gadgets/layout.h> #include <proto/layout.h> #include <proto/button.h> Sample layout: LAYOUT_AddChild,OBJ(OBJ_QUIT)=ButtonObject, GA_ID,OBJ_QUIT, GA_Text,"Quit", GA_RelVerify,TRUE, End,//Quit button gadget
String gadget #include <gadgets/layout.h> #include <gadgets/string.h> #include <proto/layout.h> #include <proto/string.h> #include <intuition/gadgetclass.h> Sample layout: LAYOUT_AddChild,OBJ(OBJ_STRING)=StringObject, GA_ID,OBJ_STRING, GA_RelVerify,TRUE, STRINGA_MaxChars,32, STRINGA_WorkBuffer,buffername, End,//String gadget
[edit] Other Toolkits in Amiga
Actually there are two main widget toolkits into Amiga world and are in competition each other. ReAction which is the default GUI toolkit chosen for AmigaOS 4.0 and for developing AmigaOS software, and MUI (Magic User Interface). MUI it is actually the most widely used into world of Amiga software (adopted also into AROS and MorphOS operating systems, and adopted also by programmers of most Amiga software), due to the fact that ReAction it is closed source for AmigaOS only and could be used with AmigaOS software SDK (Software Development Kit) only.
In Amiga there are also actually widely used Cygnix that is a reduced version of X11 engine replacement Cygwin and it has been used to port into Amiga programs like Amaya, AbiWord, Gimp and the actual development of Firefox for Amiga, and into AROS and MorphOS it is in development a GTK MUI wrapper and it will allow the porting of various GTK based software.
Various multi-platforms graphics libraries and Toolkits such as Cairo are also available on Amiga, and are the basics for creating new and enhanced Toolkits, new GUIs, new systems of widgets, etc.
ScalOS GUI which it is an alternative to Workbench, has its own system of widgets. A very limited number of Amiga users, but also very trained to this alternative GUI are still loyal to this interface.
[edit] External links
- Beginner's Guide to Programming ReAction at AmigaOS 4.0 official repository "os4depot.net".
- ReAction examples to programming at Amiga site "utilitybase.com".
|