Week 23 contribution of PDK 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 xml:lang="en" id="GUID-E63D0A01-EF87-566F-9BFA-9E75AD6F3205"><title>Window Hierarchy</title><shortdesc>In a running application, all window instances are arranged in a hierarchy, in which each window has a parent. The Window Server has a window not owned by the client, called the "root" window which is the parent of all the group windows. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Variant</b>: Both (ScreenPlay and non-ScreenPlay). <b>Target audience</b>: Application developers. </p> <section><title>Parent windows</title> <p>The following diagram shows the relationship between parent and child windows and window groups at run-time. Arrows indicate "is a parent of". </p> <fig id="GUID-536B9B54-0BEB-5A9F-9084-F2F3B293B6E6"><title>
Window hierarchy
</title> <image href="GUID-79C82F78-471B-521F-A0CA-968C8BF33B48_d0e189034_href.png" placement="inline"/></fig> <p>The relationships between parent and child windows have the following properties: </p> <ul><li id="GUID-FAB0D905-CC6F-5D5A-BACE-7815919514D8"><p>A window's parent is specified when the window is created. </p> </li> <li id="GUID-A77DC123-B034-59A1-94E8-E0D181DD58FB"><p>The Window Server imposes no limit to the number of children a window can have. The number of children is limited only by the resources of the system. </p> </li> <li id="GUID-514DFF80-CF3D-59B8-A327-5246451759CD"><p>When a parent window is destroyed, all its children are removed from the screen. However, the objects associated with them are not destroyed until the window or the client that owns them is destroyed. </p> </li> <li id="GUID-F0A80D6C-6746-5384-AB13-659BC59BB702"><p>A window's parent defines the region in which the window can be displayed. A child cannot be displayed outside its parent, and is clipped to the parent’s visible region. If a child window is moved so that part of it extends beyond its parent, that part of the child window will not be visible. </p> </li> <li id="GUID-BA556D13-6A46-5AC8-8FE3-08C9F15061FF"><p>Note that if a window's parent is a window group, the window can be displayed anywhere on the screen, because window groups do not have a size. </p> </li> </ul> </section> <section><title>Sibling windows</title> <p>If a window has multiple children, these are known as <keyword>siblings</keyword>. Sibling windows are maintained in a list, and the parent window owns a link to the first window in the sibling list. The order of the windows in the sibling list represents the windows’ <keyword>ordinal position</keyword>. This determines which windows are displayed on top of which, if they overlap. </p> </section> </conbody><related-links><link href="GUID-99AE1D62-571A-5A63-B472-C0FBC0861F52.dita"><linktext>Window Types</linktext> </link> </related-links></concept>