Symbian3/SDK/Source/GUID-771AF721-E2D7-41C8-BF97-5BD30D1A28AD.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
child 13 48780e181b38
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-771AF721-E2D7-41C8-BF97-5BD30D1A28AD" xml:lang="en"><title> Status pane</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>The Status pane displays status information of the current application
and state, as well as general information about the device status,
such as signal strength and battery charge. The Status pane may also
be totally left out in certain applications or situations. </p>
<p>There are three different variations of the Status pane:<ul>
<li><p>Normal status pane (includes both Title and Navi pane). </p></li>
<li><p>Flat status pane (includes only the Title pane).</p></li>
<li><p>Thin status pane (special status pane used, for example, in
the Browser application)</p></li>
</ul>Flat and thin Status panes can be used in cases where it is important
to maximize Main pane area (for example, Browser). </p>
<p>The Status pane contains the following sub-panes:</p>
<ul>
<li><p>Battery pane</p></li>
<li><p>Clock pane</p></li>
<li><p>Navi pane</p></li>
<li><p>Signal pane</p></li>
<li><p>Title pane</p></li>
<li><p>Universal indicator pane</p></li>
</ul>
<fig id="GUID-770A54B6-9F18-4BC3-92A7-AFB4D9E40199">
<title>Status pane areas</title>
<image href="GUID-F2F19F40-E87B-4FF2-ABE8-4E14AE728364_d0e66931_href.png" placement="inline"/>
</fig>
<p><b>Status pane items</b></p>
<p>A single tap on: </p>
<ul>
<li><p><xref href="GUID-76FD2A71-E8A3-4C82-9704-3F7F6AD4DFD8.dita">Navi
pane</xref>: common items (such as tabs) should perform a function
that is obvious and clear. Common AVKON interaction does not change.
However, it an application can assign an appropriate function to its
Navi pane items. It is also possible not to assign any function where
appropriate.</p></li>
<li><p><xref href="GUID-314B1556-5CB5-4BCC-93C0-B22DB849D2D5.dita">Universal
indicator pane</xref>: opens a pop-up with more information on <xref href="GUID-771AF721-E2D7-41C8-BF97-5BD30D1A28AD.dita">Status pane</xref> indicators. It always includes battery and signal indicators and
a small digital clock. The user can tap any of those for more information.
For each visible universal indicator, there is one row reserved in
the pop-up for displaying the icon and a description text. The description
text may also inform about the current status and/or it may be a link
to a view in corresponding application. For example, a tap on "3 new
messages" opens the relevant view from the messaging application,
and "Bluetooth active" switches view to the Bluetooth settings. Content
of the row is determined by the application originating the indicator. </p></li>
<li><p>Clock in the home screen opens the Clock application.</p></li>
</ul>
<section id="GUID-681C48E1-D94F-4960-8BC4-DEB5C8B677DF"><title>Using the status pane
in applications</title><p>The API to use for the status pane is the <xref format="html" href="specs/guides/Status_Pane_API_Specification/Status_Pane_API_Specification.html" scope="peer">Status pane API</xref>. For implementation information,
see <xref format="html" href="specs/guides/Status_Pane_API_Specification/Status_Pane_API_Specification.html#Status_Pane_API_Specification.topic3" scope="peer">Using the status pane API</xref>.</p><p>Use the Status
pane API for the following tasks:</p><ul>
<li><p><xref format="html" href="specs/guides/Status_Pane_API_Specification/Status_Pane_API_Specification.html#Status_Pane_API_Specification.topic3.1" scope="peer">Creating the status pane using a resource file</xref></p></li>
<li><p><xref format="html" href="specs/guides/Status_Pane_API_Specification/Status_Pane_API_Specification.html#Status_Pane_API_Specification.topic3.2" scope="peer">Accessing the status pane</xref></p></li>
<li><p><xref format="html" href="specs/guides/Status_Pane_API_Specification/Status_Pane_API_Specification.html#Status_Pane_API_Specification.topic3.3" scope="peer">Accessing controls in the status pane's subpanes</xref></p></li>
<li><p><xref format="html" href="specs/guides/Status_Pane_API_Specification/Status_Pane_API_Specification.html#Status_Pane_API_Specification.topic3.4" scope="peer">Showing and hiding the status pane</xref></p></li>
<li><p><xref format="html" href="specs/guides/Status_Pane_API_Specification/Status_Pane_API_Specification.html#Status_Pane_API_Specification.topic3.5" scope="peer">Dynamically changing status pane layout </xref></p></li>
<li><p><xref format="html" href="specs/guides/Status_Pane_API_Specification/Status_Pane_API_Specification.html#Status_Pane_API_Specification.topic3.6" scope="peer">Observing status pane events</xref></p></li>
</ul><p>Applications can define and modify the title and navi sub-panes.
For implementation information on the sub-panes in the status pane,
see the following APIs:</p><ul>
<li><p>Title pane API for the title pane</p></li>
<li><p><xref format="html" href="specs/guides/Navigation_Pane_API_Specification/Navigation_Pane_API_Specification.html" scope="peer">Navigation pane API</xref> for the Navi pane</p></li>
</ul><p><xref href="GUID-4B3EDBA0-8849-37DE-9693-4A2DB23A2101.dita"><apiname>CEikStatusPane</apiname></xref> is the interface through
which applications use the status pane. Use the method <xref href="GUID-DFA80461-F732-30E8-B76A-B04C58CC1DD5.dita#GUID-DFA80461-F732-30E8-B76A-B04C58CC1DD5/GUID-98441932-C5BD-3743-B98F-BC8B7C40D2DA"><apiname>CEikStatusPaneBase::IsAppOwned()</apiname></xref> in the class <xref href="GUID-DFA80461-F732-30E8-B76A-B04C58CC1DD5.dita#GUID-DFA80461-F732-30E8-B76A-B04C58CC1DD5/GUID-18905F65-84C6-3085-865C-489041B36886"><apiname>CEikStatusPaneBase::TPaneCapabilities()</apiname></xref> to test whether the pane is owned by the application or the server.
Applications can only interact directly with application owned sub-panes.</p><p><draft-comment time="2008-05-23T11:14" translate="no"> Relationship between events/similar
for entire status pane and sub-panes: should be clearer on what's
done where</draft-comment></p><p> The following options are available
for modifying the default behavior of the status pane:  </p><ul>
<li><p>Since the status pane is a compound control, it can be made
visible or invisible like an other control with <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-159A51CE-4AEF-367B-9182-F33489D08BE2"><apiname>CCoeControl::MakeVisible()</apiname></xref>. <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-159A51CE-4AEF-367B-9182-F33489D08BE2"><apiname>CCoeControl::MakeVisible()</apiname></xref> can be called before
or after the control is activated. An example of a call to make the
status pane invisible is as follows:  </p><codeblock xml:space="preserve">CEikStatusPane* sp = StatusPane();// Gets a pointer to the status pane in the UI controller 
StatusPane()-&gt;MakeVisible(EFalse); //make pane invisible somewhere in your code</codeblock></li>
<li><p>Accessing and modifying controls inside the status pane.</p><p> The Status Pane API provides methods for accessing the status
pane control and modifying the status pane layout.   </p><p>If you
want to modify panes within the status pane, you need to get a pointer
to the status pane and then use one of the following classes and methods: </p><ul>
<li><p><xref href="GUID-4368DC7C-366A-34D6-ADA2-E2931381BEEF.dita"><apiname>CAknTitlePane</apiname></xref> for the title sub-pane</p></li>
<li><p>Methods defined by the <xref format="html" href="specs/guides/Navigation_Pane_API_Specification/Navigation_Pane_API_Specification.html" scope="peer">Navigation pane API</xref> for accessing the navi sub-pane </p></li>
<li><p>The <xref format="html" href="specs/guides/Tabs_API_Specification/Tabs_API_Specification.html" scope="peer">Tabs API</xref> for accessing tabs in the navi sub-pane.</p></li>
</ul></li>
<li><p>Defining new resources for the status pane to override the
default behavior</p><p> 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.  </p><p>For more information, see the <xref format="html" href="specs/guides/Status_Pane_API_Specification/Status_Pane_API_Specification.html" scope="peer">Status pane API</xref> and <xref format="html" href="specs/guides/Navigation_Pane_API_Specification/Navigation_Pane_API_Specification.html" scope="peer">Navigation pane API</xref> reference documentation. 
 </p></li>
<li><p>You can also derive your own classes from the available classes
or their base classes to customize your own controls. </p></li>
</ul><p>For more information on the panes, refer the following:</p></section>
</conbody><related-links id="GUID-0FBC10E3-6A44-4AB4-BD42-A23539C4F148">
<linklist><title>Related APIs</title>
<link format="html" href="specs/guides/Skins_API_Specification/Skins_API_Specification.html" scope="peer"><linktext>Skins API</linktext>
<desc> for providing themes support for the status pane</desc>
</link>
</linklist>
</related-links></concept>