diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/mw/aknnumedwin.h --- a/epoc32/include/mw/aknnumedwin.h Tue Nov 24 13:55:44 2009 +0000 +++ b/epoc32/include/mw/aknnumedwin.h Tue Mar 16 16:12:26 2010 +0000 @@ -1,1 +1,172 @@ -aknnumedwin.h +/* +* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* 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 +* which accompanies this distribution, and is available +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Numeric Editor derived from Uikon's CEikEdwin +* These specializations of CEikEdwin maintain a numeric content, +* access methods and validation. +* +*/ + + + +#if !defined(__AKNNUMEDWIN_H__) +#define __AKNNUMEDWIN_H__ + +// INCLUDES +#include +#include // CAknNumericEdwin + +// CONSTANTS +_LIT( KAknIntegerFormat, "%d" ); + +// CLASS DECLARATION + +/** +* The CAknIntegerEdwin class implements an editor for an integer values. +* +* The editor has an associated resource struct @c AVKON_INTEGER_EDWIN and +* control factory identifier @c EAknCtIntegerEdwin. +* +* @since Series 60 0.9 +*/ +class CAknIntegerEdwin : public CAknNumericEdwin + { +public: + /** + * Two-phased constructor. + * @param aMin The minimum allowable value. + * @param aMax The maximum allowable value. + * @param aMaxChars The maximum allowable number of the digits. + * @return Pointer to a fully constructed editor object. + */ + IMPORT_C static CAknIntegerEdwin* NewL(TInt aMin, + TInt aMax, + TInt aMaxChars); + + /** + * Constructs controls from a resource file. + * Function reads needed values from a @c AVKON_INTEGER_EDWIN resource. + * Essential for Dialog/Form construction. + * @param aReader The resource reader with which to access the control's + * resource values. + */ + IMPORT_C virtual void ConstructFromResourceL(TResourceReader& aReader); + + /** + * 2nd phase constructor. + * @param aMin The minimum allowable value. + * @param aMax The maximum allowable value. + * @param aMaxChars The maximum allowable number of the digits. + */ + IMPORT_C void ConstructL( TInt aMin, TInt aMax, TInt aMaxChars ); + + // New methods + + /** + * Sets the current value of the editor. + * The control is not redrawn. + * @param aValue Current value of the editor. + */ + IMPORT_C void SetValueL(TInt aValue); + + /** + * Sets the value that is returned when the editor field is left empty or + * is not valid. + * @param aUnsetValue The default value to be returned. + */ + IMPORT_C void SetUnsetValue( TInt aUnsetValue); + + /** + * Gets the current value of the editor. + * Validity of the value is checked, if the editor is empty, the unset value + * is used. The value is put into aValue parameter even if it is not valid. + * @param aValue Reference to the integer used to store the value got from + * the editor field. + * @return Indicates the validation status. + */ + IMPORT_C TValidationStatus GetTextAsInteger( TInt& aValue ); + + /** + * Sets the minimum allowable value of the editor. + * @param aMinimumValue The minimum value. + */ + IMPORT_C void SetMinimumIntegerValue( TInt aMinimumValue ); + + /** + * Sets the maximum allowable value of the editor. + * @param aMaximumValue The maximum value. + */ + IMPORT_C void SetMaximumIntegerValue( TInt aMaximumValue ); + + + /** + * From @c CCoeControl. Prepares for focus loss. + * Called by the framework just before focus is removed from the control. + */ + IMPORT_C void PrepareForFocusLossL(); + + /** + * From @c CCoeControl. Handles a change to the control's resources. + * @since Series 60 2.0 + * @param aType a message UID value. + */ + IMPORT_C void HandleResourceChange(TInt aType); + + /** + * From @c CCoeControl. Handles key events. + * Called by framework when a key event occurs. + * @since Series 60 2.0 + * @param aKeyEvent The key event that occured. + * @param aType The type of key event that occured. + * @return @c EKeyWasConsumed if the event was processed, + * @c EKeyWasNotConsumed if the event was not processed. + */ + IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, + TEventCode aType); + + IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); + + /** + * Checks if the number of the editor is within the min and max boundaries. + * If not, the method set the number to closest legal value and highlights the + * number text in the editor. + */ + IMPORT_C TBool CheckNumber(); + +private: + void CommonConstructL(TInt aMin, + TInt aMax, + TInt aMaxChars, + TInt aFlags, + TInt aUnset); + + void RefreshFromLocale(); +private: + /** + * From CAknControl + */ + IMPORT_C void* ExtensionInterface( TUid aInterface ); + +private: // from CEikEdwin + IMPORT_C void Reserved_3(); + +private: + TInt iMinimumValue; + TInt iMaximumValue; + TInt iUnsetValue; + TAny* iUnsetText; + TDigitType iDigitType; + TInt iSpare_Integer_2; + }; + +#endif