Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <W32STD.H>

Class RWindowGroup

class RWindowGroup : public RWindowTreeNode;

Description

Client-side handle to a server-side window group.

Derivation

Members

Defined in RWindowGroup:

Inherited from MWsClientClass:

Inherited from RWindowTreeNode:


Construction and destruction


RWindowGroup()

IMPORT_C RWindowGroup();

Description

Creates a sessionless, uninitialised window group handle.

Handles to server-side objects must be created in a session in order to be operational; this constructor is merely a convenience to allow the handle to be stored as a data member. See RWindowTreeNode::RWindowTreeNode() for details of how the complete setup of a handle field may be deferred until the window server session is known.


RWindowGroup(RWsSession &)

IMPORT_C RWindowGroup(RWsSession &aWs);

Description

Creates an initialised window group handle within a server session.

Parameters

RWsSession &aWs

The window server session owning the window group.

[Top]


Member functions


Construct(TUint32)

IMPORT_C TInt Construct(TUint32 aClientHandle);

Description

Completes construction of a window group.

Construction must be complete before any other window group methods can be called.

This function always causes a flush of the window server buffer.

Parameters

TUint32 aClientHandle

The client's handle for the window. See RWindow::Construct(const RWindowTreeNode &,TUint32) for a description of the client handle.

Return value

TInt

KErrNone if successful, otherwise one of the system-wide error codes, the most likely of which is KErrNoMemory.

See also:


Construct(TUint32,TBool)

IMPORT_C TInt Construct(TUint32 aClientHandle, TBool aIsFocusable);

Description

Completes the construction of a window group, setting its initial focus state.

Construction must be complete before any other window group methods can be called.

aInitialFocusState can be specified in order to prevent a window group from automatically taking the keyboard focus when it is created. If specified, it sets the initial focus state of the window group. If a window group has a focus state of ETrue (the default), it can receive keyboard focus; if EFalse, it is prevented from receiving keyboard focus until this setting is changed. If a window group is constructed without specifying an initial focus state, keyboard focus will be enabled by default and the window group will receive keyboard focus automatically when it is created. To prevent this, set aInitialFocusState to EFalse.

This function always causes a flush of the window server buffer.

Parameters

TUint32 aClientHandle

The client's integer handle for the window. See RWindow::Construct(const RWindowTreeNode &,TUint32) for a description of the client handle.

TBool aIsFocusable

Whether the window is focusable. Set ETrue for it to be able to receive focus, EFalse otherwise.

Return value

TInt

KErrNone if successful, otherwise one of the system-wide error codes, the most likely of which is KErrNoMemory.

See also:


ConstructChildApp(TInt,TUint32)

IMPORT_C TInt ConstructChildApp(TInt aIdOfParentWindowGroup, TUint32 aClientHandle);

Description

Completes construction of a window group.

Construction must be complete before any other window group methods can be called.

The purpose of this Construct function for RWindowGroup is that it allows chains of window groups to be created. When one of the window groups in a chain is moved with SetOrdinalPosition then all window groups in that chain will be moved to be consecutative, with the parent being at the back in the Z-order. The purpose of this feature is to allow embedding of applications.

Note: The term parent should not be confused with the paremeter used in the function RWindow::Construct(const RWindowTreeNode &,TUint32). There it means that this window is a child of that window in the tree. Here is just means that the two window groups involved will have an extra association. Note: This window group will be given the same ordinal priority as it's parent window group.

This function always causes a flush of the window server buffer.

Parameters

TInt aIdOfParentWindowGroup

The Identifier of the parent window group.

TUint32 aClientHandle

The client's handle for the window. See RWindow::Construct(const RWindowTreeNode &,TUint32) for a description of the client handle.

Return value

TInt

KErrNone if successful, otherwise one of the system-wide error codes, the most likely of which is KErrNoMemory. It will return KErrPermissionDenied if the requested parent has not allowed this window group to be its child, and it will return KErrInUse if the parent already has a child.

See also:


ConstructChildApp(TInt,TUint32,TBool)

IMPORT_C TInt ConstructChildApp(TInt aIdOfParentWindowGroup, TUint32 aClientHandle, TBool aIsFocusable);

Description

Completes construction of a window group.

Construction must be complete before any other window group methods can be called.

This Construct function of RWindowGroup allows both the creation of the group window in a chain and for and for it not to recieve focus.

This function always causes a flush of the window server buffer.

Parameters

TInt aIdOfParentWindowGroup

The Identifier of the parent window group.

TUint32 aClientHandle

The client's handle for the window. See RWindow::Construct(const RWindowTreeNode &,TUint32) for a description of the client handle.

TBool aIsFocusable

Whether the window is focusable. Set ETrue for it to be able to receive focus, EFalse otherwise.

Return value

TInt

KErrNone if successful, otherwise one of the system-wide error codes, the most likely of which is KErrNoMemory. It will return KErrPermissionDenied if the requested parent has not allowed this window group to be its child, and it will return KErrInUse if the parent already has a child.

See also:


AllowProcessToCreateChildWindowGroups(TUid)

IMPORT_C void AllowProcessToCreateChildWindowGroups(TUid aProcessSID);

Description

Allows a Window Group in the specified process to be be a child of this one

This function will need to be called to allow another window group to become a child window group of this one.

This function always causes a flush of the window server buffer.

Parameters

TUid aProcessSID

This is the process security Id of the process that will be allowed to make child window groups


EnableReceiptOfFocus(TBool)

IMPORT_C void EnableReceiptOfFocus(TBool aState);

Description

Enables or disables receipt of keyboard focus.

The front most focusable window has keyboard focus. This function sets whether or not the window can receive keyboard focus.

Parameters

TBool aState

Whether this window group can accept keyboard focus.


AutoForeground(TBool)

IMPORT_C void AutoForeground(TBool aState);

Description

Sets or disables auto-foreground behaviour.

If this behaviour is set for a window, it will automatically be given ordinal position zero whenever a pointer event of type EButton1Down occurs in any of its child windows. This will cause it to be brought to the foreground, unless another window group exists with a higher priority.

A window group that is moved to the foreground will automatically get keyboard focus unless it has explicitly had receipt-of-focus disabled or there is a focusable window group of higher priority. See RWindowGroup::EnableReceiptOfFocus(TBool).

Parameters

TBool aState

Whether this group should be automatically brought to the foreground on an EButton1Down.


SetOrdinalPriorityAdjust(TInt)

IMPORT_C void SetOrdinalPriorityAdjust(TInt aAdjust);

Description

Sets the window group's priority adjust value.

This function is primarily designed for sessions that own multiple window groups. After this function has been called by a window group, that window group's priority will be adjusted by the amount given by aAdjust whenever another window group owned by the same session gains keyboard focus.

When the session loses focus, the priority returns to its original value.

Note: This is ignored for window groups in chains.

Parameters

TInt aAdjust

Value to be added to window group's existing priority.


SetOrdinalPositionErr(TInt,TInt)

IMPORT_C TInt SetOrdinalPositionErr(TInt aPos, TInt aOrdinalPriority);

Description

Sets the ordinal position and ordinal priority of a window.

Ordinal priority is a number assigned to a window that determines its position in the z-order. For a description of ordinal priority, see the RWindowTreeNode::SetOrdinalPosition(TInt) function. To set a priority of KPasswordWindowGroupPriority or greater, client will require SwEvent capability. If client does not have SwEvent capability then it will return error code.

Note: If this window is a window group in a chain, then all other window groups in the chain will be moved also. And further they will all have their ordinal priority set to the specified value. When this function is called on Window with aPos set to KOrdinalPositionSwitchToOwningWindow then the function doesn't change the ordinal position of the window, if instead it has focus then the window that would come to the forground if it died will be moved to the foreground.

This function always causes a flush of the window server buffer.

Parameters

TInt aPos

The window's new ordinal position. The lower the ordinal, the closer to the front of the z-order the window will be. Specifying any negative value however, sends the window to the back of the z-order.

TInt aOrdinalPriority

The window's new ordinal priority.

Return value

TInt

if not successful, one of the system-wide error codes.


CaptureKey(TUint,TUint,TUint)

Capability: SwEvent

IMPORT_C TInt32 CaptureKey(TUint aKeycode, TUint aModifierMask, TUint aModifier);

Description

Requests key capture.

This function instructs the window server to send key events (of type EEventKey) with the specified key code and modifier state to this window group, regardless of which window group currently has the keyboard focus.

Key events for the key given by aKeyCode are captured only when the modifier keys specified by aModifierMask are in the states specified by aModifier. For example, calling

wsGroup->CaptureKey(EKeyDevice2, EModifierAlt|EModifierCtrl, EModifierCtrl); 

will capture the EKeyDevice2 key only if Ctrl is pressed and Alt is not.

Normally, keyboard key presses result in three events being delivered to the client: EEventKeyDown, EEventKey and EEventKeyUp. However, RWindowGroup::CaptureKey(TUint,TUint,TUint) results in only the EEventKey being delivered to the window group that called it: the EEventKeyUp and EEventKeyDown events are sent to the window group that has focus. If a window group wishes to capture the EEventKeyUp and EEventKeyDown events as well as the EEventKey, it should call RWindowGroup::CaptureKeyUpAndDowns(TUint,TUint,TUint).

Note that a window group can call this function more than once (to request capture for more than one key), and more than one window group may have requested key capture. If multiple window groups have requested to capture the same key using this function, the key is sent to the window group that most recently requested the key capture.

This function always causes a flush of the window server buffer.

Parameters

TUint aKeycode

The key code for the key to be captured. Key codes for special keys are defined in TKeyCode.

TUint aModifierMask

Bitmask that identifies the modifier keys of interest. Possible values are defined in TEventModifier.

TUint aModifier

Bitmask that identifies which of the modifier keys in aModifierMask need to be set and which need to be unset. For example, see the description above.

Return value

TInt32

A handle identifying the capture key, or one of the system-wide error codes (if <0). KErrPermissionDenied indicates that the requested key cannot be captured by this window group, because it has been protected by another window group. For more information, see the PROTECTEDKEY parameter in wsini.ini. Handles should be kept in order to be passed to RWindowGroup::CancelCaptureKey(TInt32) later. KErrPermissionDenied, if


CaptureKey(TUint,TUint,TUint,TInt)

Capability: SwEvent

IMPORT_C TInt32 CaptureKey(TUint aKeycode, TUint aModifierMask, TUint aModifier, TInt aPriority);

Description

Requests key capture, with a priority.

This function instructs the window server to send key events (of type EEventKey) with the specified key code and modifier state to this window group, regardless of which window group currently has the keyboard focus.

Key events for the key given by aKeyCode are captured only when the modifier keys specified by aModifierMask are in the states specified by aModifier. For example, calling

wsGroup->CaptureKey(EKeyDevice2, EModifierAlt|EModifierCtrl, EModifierCtrl, priority); 

will capture the EKeyDevice2 key only if Ctrl is pressed and Alt is not.

Normally, keyboard key presses result in three events being delivered to the client: EEventKeyDown, EEventKey and EEventKeyUp. However, RWindowGroup::CaptureKey(TUint,TUint,TUint) results in only the EEventKey being delivered to the window group that called it: the EEventKeyUp and EEventKeyDown events are sent to the window group that has focus. If a window group wishes to capture the EEventKeyUp and EEventKeyDown events as well as the EEventKey, it should call RWindowGroup::CaptureKeyUpAndDowns(TUint,TUint,TUint).

Note that a window group can call this function more than once (to request capture for more than one key), and more than one window group may have requested key capture. If multiple window groups have requested to capture the same key at the same priority, the key is sent to the window group that most recently requested the key capture.

This function always causes a flush of the window server buffer.

Parameters

TUint aKeycode

The key code for the key to be captured. Key codes for special keys are defined in TKeyCode.

TUint aModifierMask

Bitmask that identifies the modifier keys of interest. Possible values are defined in TEventModifier.

TUint aModifier

Bitmask that identifies which of the modifier keys in aModifierMask need to be set and which need to be unset. For example, see the description above.

TInt aPriority

A priority value - if more than one window group has requested capture for the same key event, the one with the highest priority will capture it.

Return value

TInt32

A handle identifying the capture key, or one of the system-wide error codes (if <0). KErrPermissionDenied indicates that the requested key cannot be captured by this window group, because it has been protected by another window group. For more information, see the PROTECTEDKEY parameter in wsini.ini. Handles should be kept in order to be passed to RWindowGroup::CancelCaptureKey(TInt32) later.


CancelCaptureKey(TInt32)

IMPORT_C void CancelCaptureKey(TInt32 aCaptureKey);

Description

Cancels a request for key capture.

Use this function to cancel a request to capture a key previously made with RWindowGroup::CaptureKey(TUint,TUint,TUint). If the value passed in aHotKey is not a valid capture key handle, this function will cause a panic.

This function always causes a flush of the window server buffer.

Parameters

TInt32 aCaptureKey

The key for which the capture request is cancelled.


CaptureKeyUpAndDowns(TUint,TUint,TUint)

Capability: SwEvent

IMPORT_C TInt32 CaptureKeyUpAndDowns(TUint aScanCode, TUint aModifierMask, TUint aModifier);

Description

Requests the capture of key-up and key-down events on behalf of a window group.

This function requests the window server to send EEventKeyUp and EEventKeyDown key events from the specified key to this window group, regardless of which window group currently has the keyboard focus. This contrasts with RWindowGroup::CaptureKey(TUint,TUint,TUint), which causes the window server to send the EEventKey event.

Key events for the key given by aScanCode are captured only when the modifier keys specified by aModifierMask are in the states specified by aModifiers. See RWsSession::SetHotKey(THotKey,TUint,TUint,TUint) for examples of how to set aModifierMask and aModifiers.

Note: in general, keyboard key presses result in three events being delivered to the client: EEventKeyDown, EEventKey and EEventKeyUp.

This function always causes a flush of the window server buffer.

Parameters

TUint aScanCode

Scan code for the key to be captured. Scan codes are defined in TStdScanCode.

TUint aModifierMask

Bitmask that identifies the modifier keys of interest. Possible values are defined in TEventModifier.

TUint aModifier

Bitmask that identifies which of the modifier keys in aModifierMask need to be set and which need to be unset.

Return value

TInt32

A handle identifying the capture key, or one of the system-wide error codes (if < 0). KErrPermissionDenied indicates that the requested key cannot be captured by this window group, because it has been protected by another window group. For more information, see the PROTECTEDKEY parameter in wsini.ini. Handles should be kept in order to be passed to RWindowGroup::CancelCaptureKeyUpAndDowns(TInt32) later.


CaptureKeyUpAndDowns(TUint,TUint,TUint,TInt)

Capability: SwEvent

IMPORT_C TInt32 CaptureKeyUpAndDowns(TUint aScanCode, TUint aModifierMask, TUint aModifier, TInt aPriority);

Description

Requests the capture of key-up and key-down events on behalf of a window group. This function is identical to the other overload, except that it allows a priority to be specified. This function always causes a flush of the window server buffer.

Parameters

TUint aScanCode

Scan code for the key to be captured. Scan codes are defined in TStdScanCode.

TUint aModifierMask

Bitmask that identifies the modifier keys of interest. Possible values are defined in TEventModifier.

TUint aModifier

Bitmask that identifies which of the modifier keys in aModifierMask need to be set and which need to be unset.

TInt aPriority

A priority value - if more than one window group has requested capture for the same key event, the one with the highest priority will capture it.

Return value

TInt32

A handle identifying the capture key, or one of the system-wide error codes (if < 0). KErrPermissionDenied indicates that the requested key cannot be captured by this window group, because it has been protected by another window group. For more information, see the PROTECTEDKEY parameter in wsini.ini. Handles should be kept in order to be passed to RWindowGroup::CancelCaptureKeyUpAndDowns(TInt32) later.


CancelCaptureKeyUpAndDowns(TInt32)

IMPORT_C void CancelCaptureKeyUpAndDowns(TInt32 aCaptureKey);

Description

Cancels a capture request for a key up or key down event.

Use this function to cancel a request to capture a key, previously made with RWindowGroup::CaptureKeyUpAndDowns(TUint,TUint,TUint). If the value passed in aHotKey is not a valid capture key handle, this function will cause a panic.

This function always causes a flush of the window server buffer.

Parameters

TInt32 aCaptureKey

Cancels the request to capture this key.


CaptureLongKey(TUint,TUint,TUint,TUint,TInt,TUint)

Capability: SwEvent

IMPORT_C TInt32 CaptureLongKey(TUint aInputKeyCode, TUint aOutputKeyCode, TUint aModifierMask, TUint aModifier,TInt aPriority, TUint aFlags);

Description

Requests capture of long key presses.

This function causes the window server to send a long key event (which is generated when the key has been held down for the initial keyboard repeat time), to this window group, regardless of whether it currently has keyboard focus. The key that is output can have a different key code to the key that was captured.

Key events for the key given by aInputKeyCode are captured only when the modifier keys specified by aModifierMask are in the states specified by aModifiers.

A priority can be specified to resolve any conflicts that arise when multiple window groups attempt to capture the same long key event.

Normal key press behaviour (where no long key press capture requests have been made) is as follows. When a key is pressed, a key down event occurs, followed by one or more standard (short) key events, followed by a key up event. All of these key events are sent to the application in the foreground.

Key press behaviour when an application has made a long key press capture request is as follows. When the key is pressed and held down, a long key event is generated in addition to the events described above (although if a long key event occurs, then there will never be more than one standard key event) and this is sent to the application that made the request, even if it is not in the foreground.

If that application also wants to capture the up and down key events then it needs to call RWindowGroup::CaptureKeyUpAndDowns(TUint,TUint,TUint). If it wants to capture the standard key event, then it needs to call RWindowGroup::CaptureKey(TUint,TUint,TUint). Depending on flags (enumerated in TLongCaptureFlags) specified when making the long key capture request, the standard key event can either be generated when the key is pressed, as it would be if no long key capture request had been made, or it can be generated when the key is released. In the latter case, the standard key event is only generated if the key was not held down long enough to generate a long key event.

This function always causes a flush of the window server buffer.

Parameters

TUint aInputKeyCode

The key code for the key to be captured. Key codes for special keys are defined in TKeyCode.

TUint aOutputKeyCode

The key code that will be output.

TUint aModifierMask

Only the modifier keys in this mask are tested against the states specified in aModifier.

TUint aModifier

The key is captured only when the modifier keys specified in aModifierMask match these states, where 1 = modifier set, and 0 = modifier not set. Modifier key states are defined in TEventModifier.

TInt aPriority

If more than one window group has requested capture for the same long key event, the one with the highest priority will capture the event.

TUint aFlags

Configures the long key capture behaviour. See the TLongCaptureFlags enum.

Return value

TInt32

Identifying value for the long key capture. For use with the RWindowGroup::CancelCaptureLongKey(TInt32) function.

See also:


CaptureLongKey(TTimeIntervalMicroSeconds32,TUint,TUint,TUint,TUint,TInt,TUint)

Capability: SwEvent

IMPORT_C TInt32 CaptureLongKey(TTimeIntervalMicroSeconds32 aRepeatTime, TUint aInputKeyCode, TUint aOutputKeyCode,TUint aModifierMask, TUint aModifier, TInt aPriority, TUint aFlags);

Description

Requests capture of long key presses.

This function causes the window server to send a long key event (which is generated when the key has been held down for the specified time), to this window group, regardless of whether it currently has keyboard focus.

For more information on this function, see the other RWindowGroup::CaptureLongKey(TUint,TUint,TUint,TUint,TInt,TUint) overload.

This function always causes a flush of the window server buffer.

Parameters

TTimeIntervalMicroSeconds32 aRepeatTime

The time interval in microseconds between the initial key event and the first auto repeat.

TUint aInputKeyCode

The key code for the key to be captured. Key codes for special keys are defined in TKeyCode.

TUint aOutputKeyCode

The key code that will be output.

TUint aModifierMask

Only the modifier keys in this mask are tested against the states specified in aModifier.

TUint aModifier

The key is captured only when the modifier keys specified in aModifierMask match these states, where 1 = modifier set, and 0 = modifier not set. Modifier key states are defined in TEventModifier.

TInt aPriority

If more than one window group has requested capture for the same long key event, the one with the highest priority will capture the event.

TUint aFlags

Configures the long key capture behaviour. See the TLongCaptureFlags enum.

Return value

TInt32

Identifying value for the long key capture. For use with the RWindowGroup::CancelCaptureLongKey(TInt32) function.

See also:


CancelCaptureLongKey(TInt32)

IMPORT_C void CancelCaptureLongKey(TInt32 aCaptureKey);

Description

Cancels a previous long key capture request.

This function always causes a flush of the window server buffer.

Parameters

TInt32 aCaptureKey

The value returned by the previous call to RWindowGroup::CaptureLongKey(TUint,TUint,TUint,TUint,TInt,TUint). Identifies which long key capture request to cancel.


AddPriorityKey(TUint,TUint,TUint)

IMPORT_C TInt AddPriorityKey(TUint aKeycode, TUint aModifierMask, TUint aModifier);

Description

Adds a priority key.

Priority key events are typically used for providing "Abort" or "Escape" keys for an application. For priority key events to occur they must first be configured using this function. Functions provided by RWsSession can then be used to get priority key events. Note that unlike other events, the Control Framework does not get priority key events for you.

Priority key events for the key given by aKeyCode are only delivered when the modifier keys specified by aModifierMask are in the states specified by aModifiers. See RWsSession::SetHotKey(THotKey,TUint,TUint,TUint) for examples of how to use aModifierMask and aModifiers.

More than one priority key can be added for each keycode, each having a different set of modifier requirements.

Note: if you press a priority key while another is waiting to be sent to the client then the first key is lost.

This function always causes a flush of the window server buffer.

Parameters

TUint aKeycode

The priority key to be added.

TUint aModifierMask

Only the modifier keys in this mask are tested against the states specified in aModifiers.

TUint aModifier

Key is captured only when modifier keys specified in aModifierMask match these states, where 1 = modifier key on, and 0 = modifier key off. Modifier key states are defined in TEventModifier.

Return value

TInt

KErrNone if successful, otherwise one of the system-wide error codes.


RemovePriorityKey(TUint,TUint,TUint)

IMPORT_C void RemovePriorityKey(TUint aKeycode, TUint aModifierMask, TUint aModifier);

Description

Removes a priority key.

Use this function to remove a priority key that was added using RWindowGroup::AddPriorityKey(TUint,TUint,TUint). If the specified priority key does not exist, this function does nothing.

Note: all 3 parameters must match exactly for a successful removal.

Parameters

TUint aKeycode

Key code for the priority key to be removed

TUint aModifierMask

Modifier mask for the priority key to be removed

TUint aModifier

Modifier states for the priority key to be removed


SetTextCursor(RWindowBase &,const TPoint &,const TTextCursor &)

IMPORT_C void SetTextCursor(RWindowBase &aWin, const TPoint &aPos, const TTextCursor &aCursor);

Description

Sets the text cursor.

Use this function to set a text cursor for this window group, or to change the existing text cursor's position or appearance.

Parameters

RWindowBase &aWin

The text cursor is in this window, and is hence clipped to it and positioned relative to it.

const TPoint &aPos

Position of the text cursor's origin, relative to the origin of aWin.

const TTextCursor &aCursor

The cursor to set. This may be a standard rectangular cursor, of type TTextCursor::ETypeRectangle or TTextCursor::ETypeHollowRectangle, or it may be a custom cursor, in which case it should have previously been added to the window server using RWsSession::SetCustomTextCursor(TInt,const TArray< TSpriteMember > &,TUint,TCustomTextCursorAlignment).


SetTextCursor(RWindowBase &,const TPoint &,const TTextCursor &,const TRect &)

IMPORT_C void SetTextCursor(RWindowBase &aWin, const TPoint &aPos, const TTextCursor &aCursor, const TRect &aClipRect);

Description

Sets the text cursor and its clipping rectangle.

Use this function to set a text cursor for this window group, or to change the existing text cursor's position or appearance.

The cursor is clipped to aClipRect. This allows, for example, the window to have a border region in which the cursor is not displayed.

Parameters

RWindowBase &aWin

The text cursor is in this window, and is hence clipped to it and positioned relative to it.

const TPoint &aPos

Position of the text cursor's origin, relative to the origin of aWin.

const TTextCursor &aCursor

The cursor to set. This may be a standard rectangular cursor, of type TTextCursor::ETypeRectangle or TTextCursor::ETypeHollowRectangle, or it may be a custom cursor, in which case it should have previously been added to the window server using RWsSession::SetCustomTextCursor(TInt,const TArray< TSpriteMember > &,TUint,TCustomTextCursorAlignment).

const TRect &aClipRect

The cursor is clipped to this rectangle. Rectangle co-ordinates are relative to the origin of aWin.


CancelTextCursor()

IMPORT_C void CancelTextCursor();

Description

Removes the text cursor.

Use this function to remove the current text cursor from this window group. This function does nothing if the cursor is currently in another window group.


SetOwningWindowGroup(TInt)

IMPORT_C void SetOwningWindowGroup(TInt aIdentifier);

Description

Sets the owning window group for this window group.

The owning window group is the group that is brought to the foreground when the window group which has keyboard focus (the foreground application) dies.

If the owning window group is not set, then the window group brought to the foreground when the application dies will be the default owning window group.

Parameters

TInt aIdentifier

The window group's identifier.


SetName(const TDesC &)

IMPORT_C TInt SetName(const TDesC &aName);

Description

Sets the window group's name.

Use this function to set the name of a window group. Window group names are arbitrary and can contain any data that can be stored in a descriptor of type TDesC.

Note: if this function is successful, a window group change event is sent to everything that is set up to receive these events.

This function always causes a flush of the window server buffer.

Parameters

const TDesC16 &aName

The name for the window group.

Return value

TInt

KErrNone if successful, otherwise one of the system-wide error codes.


Name(TDes &)const

IMPORT_C TInt Name(TDes &aWindowName) const;

Description

Gets the window group's name, as set by RWindowGroup::SetName(const TDesC &).

This function always causes a flush of the window server buffer.

Parameters

TDes16 &aWindowName

On return, contains the name of this window group.

Return value

TInt

KErrNone if successful, otherwise one of the system-wide error codes.


Identifier()const

IMPORT_C TInt Identifier() const;

Description

Gets the identifier of the window group.

This function always causes a flush of the window server buffer.

Return value

TInt

The window group identifier.


DisableKeyClick(TBool)

IMPORT_C void DisableKeyClick(TBool aState);

Description

Disables key clicks.

If a window group calls this function with aState=ETrue, key clicks (i.e. the sound generated when keys are pressed) will be disabled whenever this window group has the keyboard focus. Key clicks for this window group can be re-enabled by calling this function with aState=EFalse.

Note that this function doesn't do anything in v6.0 and v6.1.

Parameters

TBool aState

If ETrue, no key clicks occur when this window group has keyboard focus. If EFalse, key clicks are enabled when this window group has keyboard focus.


EnableScreenChangeEvents()

IMPORT_C TInt EnableScreenChangeEvents();

Description

Enables screen change event sending.

This function ensures that window groups are sent screen change events, which are sent, for example, when the cover on a phone that supports screen flipping is opened or closed.

Note that not getting screen change events is the default behaviour.

This function always causes a flush of the window server buffer.

Return value

TInt

KErrNone if successful, otherwise another of the system-wide error codes.

See also:


DisableScreenChangeEvents()

IMPORT_C void DisableScreenChangeEvents();

Description

Disables screen change event sending.

This function prevents window groups from getting screen change events, which are sent, for example, when the cover on a phone that supports screen flipping is opened or closed.

Note that not getting screen change events is the default behaviour.

See RWindowGroup::EnableScreenChangeEvents().


SimulatePointerEvent(TRawEvent)

IMPORT_C void SimulatePointerEvent(TRawEvent aEvent);

Description

Simulates a pointer event.

This function sends a pointer event to the window as if it had come from the kernel, except that it will be sent to a window which is a child of the window group it is called on.

Notes:

The function can be used to send a pointer event to an application when it is in the background.

The function is supported for testing purposes only.

Parameters

TRawEvent aEvent

The simulated raw event.


ClearChildGroup()

IMPORT_C TInt ClearChildGroup();

Description

Clears all children of the current window group.

The window group chain is broken directly after the current window group. In the general case (consider clearing the child group of a window group in the middle of a long chain), this results in two distinct chains. In the special cases where either the parent window group or the child window group ends up as the only member of a resultant chain, it is removed from that chain.

Return value

TInt

KErrArgument if trying to clear the child window group of a window group that has no children; KErrNoMemory if, when splitting into 2 chains, there is insufficient memory to create the second chain (in this case the child window groups are all cleared from the current chain, then the error is returned). Otherwise KErrNone or one of the system-wide error codes.

See also:


SetChildGroup(TInt)

IMPORT_C TInt SetChildGroup(TInt aId);

Description

Sets a window group chain onto the current window group.

Appends all the window groups chained to the child window group onto the chain containing the current window group.

Parameters

TInt aId

Return value

TInt

KErrArgument if any of these are true:

See also: