Status panes

Figure: Status pane with normal layout

The status pane is located in the region at the top of the screen in traditional (portrait) orientation.

The visible content of the status pane depends on its layout. In a normal layout (see the figure below), the status pane consists of the following subpanes:

  • Signal – signal strength of the wireless connection

  • Context – typically, the application icon

  • Title – typically, the application title (“Phonebook” in the figure below)

  • Battery/Universal indicator – new mail, messages, missed call, or other icons, and the battery strength indicator (there is a battery strength indicator but no icon in the figure below)

  • Navi – tabs and other navigation aids

Applications can define and modify the Context, Title, and Navi subpanes. By default, the application framework loads the resources for the application caption in the Title pane and the application icon in the Context pane. The Navi pane is left blank.

The signal level, battery strength/universal indicator cannot be controlled by an application.

The following options are available for modifying the default behavior of the status pane:

  • Since the status pane is a compound control, it can be made visible or invisible like an other control with CCoeControl::MakeVisible. CCoeControl::MakeVisible can be called before or after the control is activated. An example of a call to make the status pane invisible is as follows:

    CEikStatusPane* sp = StatusPane();// Gets a pointer to the status pane in the UI controller 
    StatusPane()->MakeVisible(EFalse); //make pane invisible somewhere in your code
  • Accessing and modifying controls inside the status pane.

    The Status Pane API provides methods for accessing the status pane control and modifying the status pane layout.

    If you wish to modify panes within the status pane, you need to get a pointer to the status pane and then use on the following methods:

  • Defining new resources for the status pane to override the default behavior.

    Once you have defined your resources, you may need to use some of the status pane APIs to achieve the desired effect in your application.

    For more information, see the Status Pane API and Navigation Pane API reference documentation.

  • You could also possibly derive your own classes from the available classes or their base classes to customize your own controls.

Scalability in the status pane

To support scalability, you need to override MEikStatusPaneObserver::HandleStatusPaneSizeChange() in the UI controller as follows:

void CAppAppUi::HandleStatusPaneSizeChange()
{
    iAppView->SetRect( ClientRect() );
}