Symbian3/SDK/Source/GUID-FD2CDEB8-0784-4BE5-A775-170F57D71BBC.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
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-FD2CDEB8-0784-4BE5-A775-170F57D71BBC" xml:lang="en"><title>UI controller</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>The term <i>UI controller</i> refers to an object derived from either <parmname>CAknAppUi</parmname> or <parmname>CAknViewAppUi</parmname>,
depending on your UI architecture. The UI controller is a required part of
GUI-based applications.</p>
<p>Examples of services and responsibilities provided by the UI controller
are as follows:</p>
<ul>
<li><p>control stack for <xref href="GUID-A9330FEF-C559-4E2B-B064-0151FDADEA8C.dita">event
handling</xref></p></li>
<li><p>construction of <xref href="GUID-DAC32BB9-C0EB-42FF-A596-C2F1A90A4BD7.dita">views</xref> for
applications</p></li>
<li><p>the top-level window owning <xref href="GUID-5944FFF1-79C6-4F5E-95C8-F4833AFC64AB.dita">control</xref> of
the application</p></li>
</ul>
<p>For more information on the UI controller, see:</p>
<ul>
<li><p><xref href="GUID-BBC374AD-88E6-5C58-88BB-B939C2948DDA.dita">The
Application User Interface</xref></p></li>
<li><p><xref href="GUID-E244744F-4837-5B46-8E37-4666A28BF0B7.dita">The
run-time control hierarchy</xref></p></li>
</ul>
<p>The UI controller is part of the controller structure in the Model -
View - Controller <xref href="GUID-BDDDF68F-F7C3-43AF-8B6C-C77C701FD2A9.dita">(MVC)
design pattern</xref> used to design the architecture of many GUI-based mobile
applications.</p>
<p>The <xref href="GUID-07D2ED79-90B2-4ABC-A61F-108DAEE21955.dita"><parmname>CAknDocument</parmname></xref> -derived
class of your application contains the <xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/guide/Base-subsystem-guide/e32/MemoryManagement/CleanupSupport/CleanupSupportGuide3/index.html#CleanupSupportGuide3%2etoc" format="application/java-archive">first
phase</xref> constructor of the UI controller.</p>
<note>
<p>The second-phase constructor is called by the application framework.</p>
</note>
<p>The UI controller is implemented in one of the following classes:</p>
<ul>
<li><p>In a <xref href="GUID-B5DE1C86-2B16-4B22-887F-7079E54A8ED6.dita">traditional
architecture</xref> application architecture, the UI controller must be derived
from <xref href="GUID-77329067-34D9-3698-B764-294535E660EB.dita"><apiname>CAknAppUi</apiname></xref>.</p></li>
<li><p>In <xref href="GUID-68B999C2-0993-4804-9624-42C3D88BE5C7.dita">Symbian
view architecture</xref>, the UI controller must be derived from <xref href="GUID-2DBA2DA9-3DA7-381C-842C-9F6FEEDF973E.dita"><apiname>CAknViewAppUi</apiname></xref>.</p>
</li>
<li><p>In <xref href="GUID-DD88DD7B-E246-4BF2-B537-5C677728CC49.dita">dialog
architecture</xref>, the UI controller is typically derived from <xref href="GUID-77329067-34D9-3698-B764-294535E660EB.dita"><apiname>CAknAppUi</apiname></xref>.</p>
</li>
</ul>
</conbody></concept>