2 * Copyright (c) 1999 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.
19 #ifndef __EIKDPOBS_H__
20 #define __EIKDPOBS_H__
26 * The MEikDialogPageObserver class specifies an interface through which the behaviour of the pages of
27 * a dialog may be observed.
31 class MEikDialogPageObserver
34 * It is necessary to know from which base class a control has been derived from
35 * in order to use the correct layout method.
36 * These are all the known form control base types.
39 enum TFormControlTypes
47 EColourSelectionGridDerived
51 enum TDialogPageObserverEvents
58 * Prepares for focus transition from the current line e.g. to validate the
59 * contents of the current control.
61 virtual void PrepareForFocusTransitionL()=0;
64 * Takes any action required when the active dialog page is changed to aPageId.
66 virtual void PageChangedL(TInt aPageId)=0;
69 * Takes any action required when the current line is changed to aControlId.
71 virtual void LineChangedL(TInt aControlId)=0;
74 * Creates a custom control of type aControlType and returns the control information for the custom control
75 * which is created. Called when creating a line on the dialog page if the Eikon control factory does not
76 * recognise the type aControlType.
78 virtual SEikControlInfo CreateCustomControlL(TInt aControlType)=0;
81 * ConvertCustomControlTypeToKnownControlType
82 * Used for custom control, to provide a mapping for forms between custom controls
83 * and the base types that the layout knows how to deal with.
84 * For example an edwin derived custom control could return EEikCtEdwin
86 virtual TFormControlTypes ConvertCustomControlTypeToBaseControlType(TInt aControlType)const =0 ;
89 * Gets the custom auto value for the custom control aControl of type aControlType with return value
90 * aReturnValue. This method is included in the interface to support deprecated legacy code only.
92 virtual void GetCustomAutoValue(TAny* aReturnValue,TInt aControlType,const CCoeControl* aControl)=0;
95 * Takes any action required when the dialog page event happens.
97 virtual void HandleDialogPageEventL(TInt aEventID) = 0;