Click on the images for a full size screenshot.
With the advent of wizards Agia tool is even more easy to use than before. For a new Agia project, a unique, development range UID gets generated by default. Later on, the UID of the application can be easily changed in Project properties, without needing to manually edit any source files
The associations between views and view groups can be managed at the same time for the whole application.
A typical Series 60 application shows its different views with a tabgroups mechanism. Agia supports the mechanism intuitively by allowing the user to easily group view groups into tab groups.
The screenshots below are all "from" the Weight Index sample application that is part of Agia installation. The main features of the application:
- The user interface consists of two modes: the one where the
calculation of weight index and target weight takes place, and
- In terms of
Agia concepts the application consists of two
ViewGroup1and its delegate
ViewGroup2, for calculation and help, respectively. Both view groups have only one view and they belong to the same tabgroup (
- The functionality of the application is two-pronged. When a
user inputs his/her height and weight the progress bar shows the
calculated weight index. Alternatively, the progress bar can be
scrolled, thus changing the weigh index, and the (target) weight
is updated to reflect the new index.
- The actual "business logic" (aka calculating index and weight)
is implemented by free functions in an external source file
(poor man's engine). The functions are called by two event
ViewGroup1::CalculateIndex(handler for the corresponding Action) and
View1::CalculateWeight(handler for progress bar widget increment and decrement events). In addition, the default Close action is utilized.
The main user interface of Agia tool. With a graphical View Designer the developer can easily create different kinds of views, ranging from extremely simple to mind-bogglingly complex ones.
The above design as shown in the emulator.
The default set of supported widgets (GUI controls) can be extended by
a developer or a third party, since the access to Agia source code is
not required. The widgets are shown on the toolbar and more
information can be accessed with Widget Information dialog. In
addition to "core" widgets (
agiawidgets.jar), the agia
installation contains source code for a non-trivial sample bar widget
that is used in Weight Index example, as well.
Action definitions. Since
Close1 is a default action, the
event handler is not necessarily needed.
Overridable delegation in
action. As the two view groups have similar elements (title, Close
action) it makes sense for
ViewGroup2 to delegate those
parts. However, since the online help does not need left softkey, it
is overridden and set as empty (nill reference).
Widget event handling is very straightforward: each widget defines its events and the view provides event handlers.