The following image illustrates the components of the traditional architecture approach.
Figure: Traditional Symbian OS UI application architecture classes
S60 platform applications that follow the traditional Symbian OS UI application architecture require:
a UI
controller derived from CAknAppUi
a view or
views derived from CCoeControl
The traditional Symbian OS UI application architecture provides the most flexible approach to application UI construction. Traditional architecture is easier to port across different platforms than S60 view architecture. Traditional architecture is also the best choice for single-view applications, if launching the view from external applications is not required.
Typical responsibilities in this architecture are:
CAknAppUi
-derived
class acts as a UI controller:
It creates one
or more CCoeControl
-derived views.
It handles events, including enabling views to handle key events.
To switch between views, it creates and destroys or shows and hides views.
It handles menu commands.
It receives events such as layout and foreground notifications from the run-time environment.
CCoeControl
-derived
view:
Shows application data and state on the screen.
Receives user input.
Notifies the CAknAppUi
-derived
class of relevant events.
Often observes model changes (directly or via the UI controller) and updates the screen accordingly.
For more information on the CAknApplication
and CAknDocument
-derived
classes, see Framework requirements for GUI applications.