ReAction GUI
Encyclopedia
ReAction GUI it is the name of the widget toolkit
Widget toolkit
In computing, a widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces...

 engine that is used in AmigaOS
AmigaOS
AmigaOS is the default native operating system of the Amiga personal computer. It was developed first by Commodore International, and initially introduced in 1985 with the Amiga 1000...

 3.5-4.1.

It is an evolution of ClassACT, which is an object oriented system of classes
Class (computer science)
In object-oriented programming, a class is a construct that is used as a blueprint to create instances of itself – referred to as class instances, class objects, instance objects or simply objects. A class defines constituent members which enable these class instances to have state and behavior...

 that enhanced the aspect of the Workbench 2.0 GUI of AmigaOS.

History

The first Amiga GUI called Workbench 1.0 and up to version 1.3 lacked a standardized unified look and feel
Look and feel
In software design, look and feel is a term used in respect of a graphical user interface and comprises aspects of its design, including elements such as colors, shapes, layout, and typefaces , as well as the behavior of dynamic elements such as buttons, boxes, and menus...

, 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
BOOPSI
BOOPSI is an object-oriented programming system for AmigaOS...

 (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 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
Magic User Interface
The Magic User Interface is an object-oriented system by Stefan Stuntz to generate and maintain graphical user interfaces. With the aid of a preferences program, the user of an application has the ability to customize the outfit according to personal taste....

 and ClassAct which then evolved into ReAction.

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
Bevel
A beveled edge refers to an edge of a structure that is not perpendicular to the faces of the piece. The words bevel and chamfer overlap in usage; in general usage they are often interchanged, while in technical usage they may sometimes be differentiated as shown in the image at right.-Cutting...

 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
Pie chart
A pie chart is a circular chart divided into sectors, illustrating proportion. In a pie chart, the arc length of each sector , is proportional to the quantity it represents. When angles are measured with 1 turn as unit then a number of percent is identified with the same number of centiturns...

. Optional interaction from the user is also possible.

Examples of minimal code

Button and String gadgets


// Button gadget
  1. include
  2. include
  3. include


// Sample layout:
LAYOUT_AddChild,OBJ(OBJ_QUIT)=ButtonObject,
GA_ID,OBJ_QUIT,
GA_Text,"Quit",
GA_RelVerify,TRUE,
End,//Quit button gadget



// String gadget
  1. include
  2. include
  3. include
  4. include
  5. include


// 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
Magic User Interface
The Magic User Interface is an object-oriented system by Stefan Stuntz to generate and maintain graphical user interfaces. With the aid of a preferences program, the user of an application has the ability to customize the outfit according to personal taste....

 which is the default GUI toolkit chosen for MorphOS
MorphOS
MorphOS is an Amiga-compatible computer operating system. It is a mixed proprietary and open source OS produced for the Pegasos PowerPC processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale development boards that use the Genesi firmware, including the...

. AROS
Aros
Aros may refer to:*Aros , a river in J. R. R. Tolkien's Middle-earth legendarium*AROS Research Operating System, a free software implementation of AmigaOS* Aros, the original Viking name of Aarhus, the second largest city in Denmark...

 uses Zune toolkit which is an open source MUI clone.

Cygnix is a lightweight UNIX
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

 simulation environment for AmigaOS that comes with an X11 server Cygwin
Cygwin
Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin provides native integration of Windows-based applications, data, and other system resources with applications, software tools, and data of the Unix-like environment...

, and this has been used to port programs such as AbiWord
AbiWord
AbiWord is a free and open source software word processor. It was originally started by SourceGear Corporation as the first part of a proposed AbiSuite. Development stopped when SourceGear changed their focus to Internet appliances. AbiWord was adopted by some open source developers and AbiWord...

 or GIMP
GIMP
GIMP is a free software raster graphics editor. It is primarily employed as an image retouching and editing tool and is freely available in versions tailored for most popular operating systems including Microsoft Windows, Apple Mac OS X, and Linux.In addition to detailed image retouching and...

 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
Cairo (graphics)
cairo is a software library used to provide a vector graphics-based, device-independent API for software developers. It is designed to provide primitives for 2-dimensional drawing across a number of different backends...

 and SDL
Simple DirectMedia Layer
Simple DirectMedia Layer is a cross-platform, free and open source multimedia library written in C that presents a simple interface to various platforms' graphics, sound, and input devices....

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.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK