Symbian Developer Library

SYMBIAN OS V6.1 EDITION FOR C++

[Index] [Glossary] [Previous] [Next]



Window group priority

In addition to having an ordinal position, all windows have a priority, which is 0 by default. A window's priority can be changed in order to allow it to override the normal z-order determined by ordinal position. Although this can be done for any type of window, in practice it is generally only window groups which have their priorities changed, and this is normally carried out by special applications such as the shell.

The ordinal position of a window only applies within the set of windows that have the same priority as that window. If a window group is given a priority higher than other window groups, it will be positioned in front of all windows of lower priority, regardless of their ordinal position. If a window group is given a priority of 1, for example, and all other window groups have a priority of 0, it will be moved to the foreground and all other window will be prevented from overlapping it or from getting the keyboard focus (unless it has disabled receipt of keyboard focus).

Similarly, if a window group is given a priority of – 1, and all other window groups have a priority of 0, it will not get keyboard focus or move to the front of any other window group, whatever its ordinal position is set to. Such a setting might, for example, be used for a background "wallpaper" application.


Full ordinal position

The full ordinal position of a window group is its ordinal position, taking into account window groups of other priorities. For example, if window group A has priority 0 and ordinal position 0, but window group B has a priority of 1, then window group A’s full ordinal position will be 1, not 0.

Full ordinal position is usually only meaningful for window groups, although it also exists for other windows. Other windows are not typically given different priorities: consequently their ordinal position and their full ordinal position are usually the same.