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 "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.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,
59 /** editor is destroyed */
61 /** VKB/HW close request */
62 EAknClosePenInputRequest
66 * Handles an state event from a observed control.
67 * Pure virtual function that is called when a control, for which this
68 * control is the observer, calls @c ReportAknedstateEventL().
69 * It should be implemented by the observer control and should handle all
70 * state events sent by controls it observed.
71 * @param aAknEdwinState The control that sent the event.
72 * @param aEventType The event type defined in @c EAknEdwinStateEvent.
74 virtual void HandleAknEdwinStateEventL(CAknEdwinState* aAknEdwinState,
75 EAknEdwinStateEvent aEventType) = 0;