- ReAction GUI
-
ReAction GUI it is the name of the widget toolkit engine that is used in AmigaOS 3.5-4.1.
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
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 system was shipped 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[clarification needed] a single widget or describes an interface event, and ASL (Amiga Standard Requester Library) which dealt with system dialog windows.
The introduction of BOOPSI led an evolution in which third-party developers realized their personal tools to improve the AmigaOS standard GUI; so were born new GUI systems such as MUI and ClassAct which then evolved into ReAction.
Features
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.
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
- integer.gadget
- getscreenmode.gadget
- getfont.gadget
- getfile.gadget
- fuelgauge.gadget
- clicktab.gadget
- chooser.gadget
- string.gadget
- textfield.gadget
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.
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.
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
Other toolkits on Amiga
There are two main widget toolkits competing in the Amiga world. ReAction which is the default GUI toolkit chosen for AmigaOS 3.5-4.1 and for developing AmigaOS software, and MUI which is the default GUI toolkit chosen for MorphOS. AROS uses Zune toolkit which is an open source MUI clone.
Cygnix is a lightweight UNIX simulation environment for AmigaOS that comes with an X11 server Cygwin, and this has been used to port programs such as AbiWord or GIMP to the Amiga. A slightly related project is a GTK MUI wrapper which eventually will simplyfy porting of GTK based software.
Various multi-platforms graphics libraries and toolkits such as Cairo and SDL are also available on Amiga, and are the basics for creating new and enhanced Toolkits, new GUIs, new systems of widgets, etc.
There is also XML based toolkit, Feelin.
See also
- Magic User Interface (MUI)
External links
Main companies Compatible hardware A1200(*) • A3000(*) • A3000T(*) • A3000UX(*) • A4000(*) • A4000T(*) • AmigaOne SE • AmigaOne XE • Micro-A1 • Pegasos II • Sam440ep • Sam440ep-flex • Sam460ex • Sam460ex Lite • AmigaOne X1000
(*) PowerPC accelerator board requiredOS4 software OS4 games Abuse • Aquaria • The Battle for Wesnoth • Cave Story • Gorky 17 • Lincity • Lugaru • Monkey Island 3 • Quake II • Stratagus • Warcraft II • more...Technologies AmigaDOS • Amigaguide • ARexx • "The Grim Reaper" • Petunia (JIT) • RAM disk • ReAction GUI • Exec/WarpOS • WorkbenchRelated and historical Amiga • AmigaOS • Amiga history • The AmigaOS 4 dispute • Amiga Forever • Intuition • Models and variants • Kickstart • more...List of widget toolkits Low-level High-level On WindowsOn Unix,
under X11Cross-platform,
by languageXMLAmple SDK · CougarXML · GladeXML · Lively Kernel · Pyjamas · Rialto Toolkit · XAML · XML User Interface · XUL · WtdesktopwebC or C++CEGUI · Component Library for Cross Platform · FLTK · FOX toolkit · OpenGL User Interface Library · GTK+ · Juce · JX Application Framework · Qt · Wt · Tk · TnFOX · Visual Component Framework · wxWidgets · YAAF · XForms · XVT · Ultimate++Common LispObject PascalQtRubyCategories:- Amiga APIs
- AmigaOS 4
- Widget toolkits
Wikimedia Foundation. 2010.