The call on the first phase constructor method of the UI controller
occurs in the CAknDocument-derived
class of application. For more information, see "Implementing framework requirements".
The methods you need to implement for your CAknAppUI-derived
UI controller are as follows:
C++ default constructor, which cannot contain any code that might leave. A common implementation is:
CMyAppAppUi::CMyAppAppUi() { // No implementation required }
The class declaration for this constructor in the class header file needs to be public to support the construction method required.
Symbian 2nd phase constructor with code that might leave. A common implementation is:
void CMyAppAppUi::ConstructL() { // Initialise app UI with skins enabled. BaseConstructL(EAknEnableSkin); // Create view object iAppView = CMyAppView::NewL( ClientRect() ); }
CEikAppUI::ConstructL completes the construction
of the object. It is a public constructor in the header file.
CAknAppUi::BaseConstructL initializes the application with standard S60 platform UI application
values, including the color scheme look and feel for all UI controls, the status pane, and the menus . CAknAppUi::BaseConstructL can accept flags enumerated in CEikAppUi and CAknAppUi.
In particular, the CAknAppUi::EAknEnableSkin flag enables themes in
the application.
iAppView = CMyAppView::NewL( ClientRect() ) where NewL is
a two-phase constructor for the view. The view object is owned by the UI controller
and must be included in the class destructor to free the reserved resources.
The UI controller automatically supports scalability.
You must implement other methods to support key event handling, command handling, layout change support, and other possible events, as well as overriding default control pane and status pane behavior.