Symbian3/SDK/Source/GUID-BBC374AD-88E6-5C58-88BB-B939C2948DDA.dita
changeset 8 ae94777fff8f
child 13 48780e181b38
equal deleted inserted replaced
7:51a74ef9ed63 8:ae94777fff8f
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-BBC374AD-88E6-5C58-88BB-B939C2948DDA" xml:lang="en"><title>Application
       
    13 user interface (AppUi)</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <p>Cone provides the <xref href="GUID-3AC2CDAC-0291-309F-A020-049BC9F2CF90.dita"><apiname>CCoeAppUi</apiname></xref> class as a generic base
       
    15 for application user interface development. Uikon provides a specialization, <xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref>,
       
    16 from which concrete application UIs can be derived. UI variant libraries typically
       
    17 derive their own AppUi base class from <xref href="GUID-1185F595-0488-3E93-8D60-6B3A1A3AC32E.dita"><apiname>CEikAppUi</apiname></xref> to standardize
       
    18 common UI paradigms. <xref href="GUID-3AC2CDAC-0291-309F-A020-049BC9F2CF90.dita"><apiname>CCoeAppUi</apiname></xref> is, therefore, normally
       
    19 a 'long way' from the surface of the finished application and knows little
       
    20 of the concrete controls or functionality that it contains. </p>
       
    21 <p> <xref href="GUID-3AC2CDAC-0291-309F-A020-049BC9F2CF90.dita"><apiname>CCoeAppUi</apiname></xref> provides the following key functionality: </p>
       
    22 <ul>
       
    23 <li id="GUID-96F849A2-4022-5564-8A28-A8D3615304CF"><p>An event-handling framework </p> <p> <xref href="GUID-3AC2CDAC-0291-309F-A020-049BC9F2CF90.dita"><apiname>CCoeAppUi</apiname></xref> is
       
    24 the at the top of the run-time control hierarchy. It is the point at which
       
    25 key-press events are received from the Window Server. Many of the event-handling
       
    26 functions are virtual and implemented in the derived AppUi classes. </p> </li>
       
    27 </ul>
       
    28 <fig id="GUID-9FC56BFC-6DF5-5BF8-BDCD-65579655C558">
       
    29 <image href="GUID-59A9871D-B0F3-54E2-A5BA-38790C109797_d0e47131_href.png" placement="inline"/>
       
    30 </fig>
       
    31 <ul>
       
    32 <li id="GUID-380D267D-F442-5AE3-A361-CACEA4E97A88"><p>View Management </p> <p>The
       
    33 View Manager (<xref href="GUID-1444A0B4-8828-3EEB-8DC7-C331648A5201.dita"><apiname>CCoeViewManager</apiname></xref>) is encapsulated by <xref href="GUID-3AC2CDAC-0291-309F-A020-049BC9F2CF90.dita"><apiname>CCoeAppUi</apiname></xref> which
       
    34 provides a view management API. </p> <p>Views are concrete classes that implement
       
    35 the <xref href="GUID-2C5E3F6C-6679-3914-9736-62296E7715A7.dita"><apiname>MCoeView</apiname></xref> interface. Typically they are top-level window-owning
       
    36 controls. </p> <p>The significance of views is that they are known of outside
       
    37 the application to which they belong. This allows one application to switch,
       
    38 or link, directly to a view in another. If the target application is running
       
    39 it will be brought to the foreground with the linked view activated. If it
       
    40 isn't running it will be started up first. </p> <p>All of the API required
       
    41 for implementing, registering, activating, deactivating, linking and observing
       
    42 is provided by <xref href="GUID-2C5E3F6C-6679-3914-9736-62296E7715A7.dita"><apiname>MCoeView</apiname></xref> and <xref href="GUID-3AC2CDAC-0291-309F-A020-049BC9F2CF90.dita"><apiname>CCoeAppUi</apiname></xref>. </p> <p>To
       
    43 participate fully in the view architecture an application must register at
       
    44 least one view. An application with no views may still be linked to using
       
    45 the view architecture. It registers itself with a <codeph>TVwsViewId</codeph> containing
       
    46 its application UID. Obviously it will not receive activation and deactivation
       
    47 events but will trigger view switch events in other applications' views. </p> <p>An
       
    48 application may opt out of the view architecture (see <xref href="GUID-42003A58-F3FE-3FEB-8019-A819B860C64B.dita#GUID-42003A58-F3FE-3FEB-8019-A819B860C64B/GUID-DC2562EE-67C1-3FD3-8A43-FA9F1B02DE07"><apiname>TApaCommand::EApaCommandRunWithoutViews</apiname></xref> and <xref href="GUID-42003A58-F3FE-3FEB-8019-A819B860C64B.dita#GUID-42003A58-F3FE-3FEB-8019-A819B860C64B/GUID-84C2A808-B397-3656-A422-E1E10FE04330"><apiname>TApaCommand::EApaCommandBackgroundAndWithoutViews</apiname></xref>) </p> </li>
       
    49 </ul>
       
    50 </conbody></concept>