Symbian3/SDK/Source/GUID-FD2CDEB8-0784-4BE5-A775-170F57D71BBC.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 21 Jan 2010 18:18:20 +0000
changeset 0 89d6a7a84779
permissions -rw-r--r--
Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385

<?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 <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknAppUi.html" format="application/java-archive"><parmname>CAknAppUi</parmname></xref> or <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknViewAppUi.html" format="application/java-archive"><parmname>CAknViewAppUi</parmname></xref>,
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="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/guide/Application-Framework-subsystem-guide/UIControlFrameworkGuide/UIControlFrameworkGuide4/index.html#ApplicationFrameworkOverview%2eUIControlFrameworkGuide4%2eappui" format="application/java-archive">The Application User Interface</xref></p>
</li>
<li><p><xref href="jar:GUID-35228542-8C95-4849-A73F-2B4F082F0C44.jar!/sdk/doc_source/guide/Application-Framework-subsystem-guide/UIControlFrameworkGuide/UIControlFrameworkGuide2/RunTimeControlHierarchy.guide.html" format="application/java-archive">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><xref href="GUID-07D2ED79-90B2-4ABC-A61F-108DAEE21955.dita">The <parmname>CAknDocument</parmname>-derived
class</xref> 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="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknAppUi.html" format="application/java-archive"><parmname>CAknAppUi</parmname></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="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknViewAppUi.html" format="application/java-archive"><parmname>CAknViewAppUi</parmname></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="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknAppUi.html" format="application/java-archive"><parmname>CAknAppUi</parmname></xref></p>
</li>
</ul>
</conbody></concept>