Symbian3/SDK/Source/GUID-2F42DC8F-E489-5EA4-8413-784D34965497.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
diff changeset
     6
<!-- Initial Contributors:
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
diff changeset
     7
    Nokia Corporation - initial contribution.
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
diff changeset
     8
Contributors: 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
diff changeset
     9
-->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
diff changeset
    10
<!DOCTYPE concept
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
diff changeset
    12
<concept xml:lang="en" id="GUID-2F42DC8F-E489-5EA4-8413-784D34965497"><title>UI Control Framework concepts</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Framework is a series of related Object-Oriented base classes with clearly defined responsibilities. UI system and application developers use the framework classes, in particular those representing 'the environment', 'the user interface' and 'the generic control' as the basis for creating concrete classes with the same underlying relationships. Framework functions, virtual functions in the base classes, maintain the relationships and enable the concrete classes to receive messages (events). </p> <p>This page describes the key concepts behind the UI Control Framework. </p> <ul><li id="GUID-87ABE063-A4B2-51D1-8C91-9CAA79343143"><p>to simplify access to the Window Server </p> </li> <li id="GUID-EF3C1D12-284D-587B-BE22-690996B0CBE0"><p>to set a recommended framework for all UI libraries </p> </li> <li id="GUID-1C04861D-667F-561F-A59E-254B63C40980"><p>to do this without imposing a particular user interface look </p> </li> </ul> <section id="GUID-F1C07D3E-AE0A-50BF-9AB9-280C4260A1F2"><title>Simplified access to the Window Server</title> <p>The Window Server provides a low-level API to the system’s user interface devices — screens, keyboard and pointer. The API is extensive and complex. The UI Control Framework hides much of this complexity and provides a simplified API that meets the requirements of most applications. </p> <p>Any client of the Window Server must create a window server session and an active scheduler framework to handle asynchronous inter-process communication (IPC). Events received from the Window Server must be converted into functions calls and passed to the appropriate controls. These complex tasks, which are similar for most applications, are performed by the Control Environment. </p> </section> <section id="GUID-BB5F1E99-8216-5E21-B407-3312D1938FAD"><title>Recommended framework for UI libraries</title> <p>In simplifying the Window Server API, the control framework makes a number of design decisions that are optimised for most applications. </p> <p>One is the framework's concept of controls. By allowing controls to represent both whole windows (window owning) and parts of windows (non-window owning) the framework makes applications run much more efficiently. </p> <p>Another is the prioritising of events. User input events, for instance, are given a higher priority than redraw events. </p> <p>A third feature is the support provided for handling key-press events and pointer events. The Window Server passes key events to the foreground application and pointer events to the window containing the point of contact, which maps to a window-owning control. In each case the Framework provides a mechanism for distributing the event to the appropriate control (normally a simple, non-window-owning control) within the application. </p> </section> <section id="GUID-C9FF4460-2D19-5956-A796-53D3D4DFA183"><title>User Interface policy agnostic</title> <p>Though the Framework provides a substantial amount of any application it imposes very little in the way of user interface policy and no 'Look and Feel' (LAF). It does, however, provide mechanisms for supporting system-wide LAF and for propagating run-time LAF changes. </p> <p>UI policy is provided by the core user interface library, Uikon, and the user interface library provided for a particular UI variant. </p> </section> <section><title>See also</title> <p> <xref href="GUID-2C443E6F-BC3D-5252-8098-9F850AA88A35.dita">Window server</xref>  </p> <p><xref href="GUID-37E8A48E-09B8-5958-9263-B33EDAE3F7C6.dita">UI Control Framework overview</xref>  </p> </section> </conbody></concept>