Symbian3/SDK/Source/GUID-771AF721-E2D7-41C8-BF97-5BD30D1A28AD.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Wed, 31 Mar 2010 11:11:55 +0100
changeset 7 51a74ef9ed63
child 8 ae94777fff8f
permissions -rw-r--r--
Week 12 contribution of API Specs and fix SDK submission

<?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>Title pane</p></li>
<li><p>Navi pane</p></li>
<li><p>Signal pane</p></li>
<li><p>Battery 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_d0e72186_href.png" placement="inline"/>
</fig>
<section id="GUID-681C48E1-D94F-4960-8BC4-DEB5C8B677DF"><title>Using
the status pane in C++ 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>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 subpanes.</p><p><xref href="GUID-4B3EDBA0-8849-37DE-9693-4A2DB23A2101.dita"><apiname>CEikStatusPane</apiname></xref> is
the interface through which applications use the status pane. This class synchronizes
the status pane layout with the server side status pane object. To do this,
the method <xref href="GUID-4B3EDBA0-8849-37DE-9693-4A2DB23A2101.dita#GUID-4B3EDBA0-8849-37DE-9693-4A2DB23A2101/GUID-F5265585-3EE1-389F-ADF5-ADDDE96D0C28"><apiname>CEikStatusPane::ApplyCurrentSettingsL()</apiname></xref> must
be called whenever the owner application switches to the foreground. </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 <codeph>CCoeControl::MakeVisible()</codeph>. <codeph>CCoeControl::MakeVisible()</codeph> 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 wish 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="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknTitlePane.html" format="application/java-archive"><codeph>CAknTitlePane</codeph></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></section>
<example><p>For more information on the panes, refer the following:</p></example>
</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>