epoc32/include/mw/aknnumedwin.h
branchSymbian2
changeset 2 2fe1408b6811
parent 1 666f914201fb
child 4 837f303aceeb
--- 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 <eikedwin.h>
+#include <aknnumed.h> // 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