2 * Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Interface for handling control's state change.
20 #if !defined(__AKNEDSTSOBS_H__)
21 #define __AKNEDSTSOBS_H__
23 // FORWARD DECLERATIONS
29 * Interface for handling control's state change.
31 * @since Series 60 0.9
33 class MAknEdStateObserver
37 * Observer event types.
39 enum EAknEdwinStateEvent
41 /** The state has been updated */
42 EAknEdwinStateEventStateUpdate,
43 /** The input mode has been updated */
44 EAknEdwinStateInputModeUpdate,
45 /** The case mode has been updated */
46 EAknEdwinStateCaseModeUpdate,
47 /** The local language has been updated */
48 EAknEdwinStateLocalLanguageUpdate,
49 /** The flags have been updated */
50 EAknEdwinStateFlagsUpdate,
51 /** The edwin state needs to be sync'ed */
53 /** Cursor position has changed in editor */
54 EAknCursorPositionChanged,
55 /** VKB/HW activation request */
56 EAknActivatePenInputRequest,
57 /** Prompt Text has changed */
58 EAknEdwinStatePromptUpdate
62 * Handles an state event from a observed control.
63 * Pure virtual function that is called when a control, for which this
64 * control is the observer, calls @c ReportAknedstateEventL().
65 * It should be implemented by the observer control and should handle all
66 * state events sent by controls it observed.
67 * @param aAknEdwinState The control that sent the event.
68 * @param aEventType The event type defined in @c EAknEdwinStateEvent.
70 virtual void HandleAknEdwinStateEventL(CAknEdwinState* aAknEdwinState,
71 EAknEdwinStateEvent aEventType) = 0;