Symbian3/SDK/Source/GUID-993A732B-13F8-48B6-B0C5-7246FA6828DF.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-993A732B-13F8-48B6-B0C5-7246FA6828DF" xml:lang="en"><title>Class
structure for the toolbar API</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>The Toolbar API consists of following classes: <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknToolbar.html" format="application/java-archive"><codeph>CAknToolbar</codeph></xref>, <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknToolbarExtension.html" format="application/java-archive"><codeph>CAknToolbarExtension</codeph></xref>,
and <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classMAknToolbarObserver.html" format="application/java-archive"><codeph>MAknToolbarObserver</codeph></xref>.
The Toolbar API class structure and its simplified environment is described
in the figure below.</p>
<fig id="GUID-3E08B03E-BE4C-481A-82BB-B7EB03BC806A">
<title>Toolbar API class structure</title>
<image href="GUID-E60F9268-35D5-4D3F-B219-22AECF13953B_d0e74415_href.png" placement="inline"/>
</fig>
<p><codeph>CAknToolbar</codeph> is the API main class that provides the most
of the API functionality. The UI framework classes <codeph>CEikAppUiFactory</codeph>, <codeph>CAknView</codeph>,
and <codeph>CAknAppUi</codeph> take care of creating and destructing the <codeph>CAknToolbar</codeph> object.
Moreover, you can access the toolbar in your application through these UI
framework classes.  </p>
<p><codeph>CAknToolbar</codeph> is a compound (window-owning) control that
contains simple (non-window-owning) controls that are the toolbar items. Toolbar
items can be for example <codeph>CAknButton</codeph> type controls. Each toolbar
can also have one extension that expands the toolbar. The extension contains
also for example <codeph>CAknButton</codeph> type controls.  </p>
<p><codeph>MAknToolbarObserver</codeph> is an interface that can be used to
observe toolbar events. The application class can implement this interface
and register itself as the toolbar observer. <codeph>CAknToolbar</codeph> then
informs the observer when toolbar events occur (when toolbar is about to be
shown and when some toolbar item state has changed e.g. a button is pressed).</p>
</conbody></concept>