--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingappbase/msgavkon/muiu_internal/settingsarray/inc/MuiuSettingsArray.h Wed Nov 03 09:52:46 2010 +0530
@@ -0,0 +1,151 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Text, number, pasword, sc number and listbox settings
+*
+*/
+
+
+
+#ifndef MUIUSETTINGSARRAY_H
+#define MUIUSETTINGSARRAY_H
+
+// INCLUDES
+#include <MsgArrays.h> // CUidNameArray
+#include <ConeResLoader.h>
+#include <muiusettingsarray.hrh>
+
+// CONSTANTS
+const TInt KMuiuMaxSettingsTextLength = 100;
+
+// DATA TYPES
+typedef TBuf <KMuiuMaxSettingsTextLength> TMuiuSettingsText;
+
+// FORWARD DECLARATIONS
+class CEikTextListBox;
+class CUidNameArray;
+class MMceAccountManager;
+class CMuiuMtmSettingsArray;
+class CAknSettingPage;
+
+// CLASS DECLARATION
+struct TMuiuSettingsItem
+ {
+ TMuiuSettingsText iLabelText;
+ TMuiuSettingsType iType;
+ TBool iCompulsory; //Default value EFalse
+ TMuiuSettingsText iUserText;
+ TInt iUserTextMaxLength;
+ TInt iCurrentNumber;
+ CDesCArrayFlat* iMuiuSettingsItemArray;
+ TBool iLangSpecificNumConv; //Default value ETrue
+ };
+
+
+
+/**
+* Text, number, pasword, sc number and listbox settings.
+*/
+class CMuiuSettingsArray :
+ public CArrayFixFlat<TMuiuSettingsItem>,
+ public MDesCArray
+ {
+ public:
+ /*
+ * Two phase Symbian OS constructor
+ * @param aResourceId: resource id. Resource structure defined by MUIU_SETTINGS_ARRAY.
+ */
+ IMPORT_C static CMuiuSettingsArray* NewL( TInt aResourceId );
+
+ /*
+ * destructor
+ */
+ IMPORT_C virtual ~CMuiuSettingsArray();
+
+ /*
+ * Lauches avkon setting page for item aIndex (list setting page or text setting page)
+ * @param aIndex: item to be edited
+ * @param aEnterPressed: ETrue if enter pressed. Used only in list setting page if two
+ * items then toggle between two items.
+ * @return ETrue if edited, EFalse if no changes.
+ */
+ IMPORT_C TBool EditItemL( TInt aIndex, TBool aEnterPressed = EFalse );
+
+ public:
+ /*
+ * from MDesCArray
+ */
+ IMPORT_C virtual TInt MdcaCount() const;
+
+ /*
+ * from MDesCArray
+ */
+ IMPORT_C virtual TPtrC MdcaPoint(TInt aIndex) const;
+
+ private:
+
+ /*
+ * Opens list box setting page
+ */
+ TBool HandleEditListBoxSettingsL( TInt aIndex, TBool aEnterPressed = EFalse );
+
+ /*
+ * Opens text setting page
+ */
+ TBool HandleEditTextSettingsL( TInt aIndex );
+
+ /*
+ * Opens text setting page
+ */
+ TBool HandleEditNumberL( TInt aIndex );
+
+ /*
+ * Opens text setting page
+ */
+ TBool HandleEditPasswordL( TInt aIndex );
+
+ /*
+ * Opens Sc number edit setting page
+ */
+ TBool HandleEditScNumberL( TInt aIndex );
+
+ /*
+ * Check if the read string is "Message sent as"
+ */
+ TBool IsMessageSentStringL( HBufC* aString );
+
+ protected:
+ /*
+ * C++ default constructor
+ */
+ IMPORT_C CMuiuSettingsArray();
+
+ /*
+ * Symbian OS constructor
+ */
+ IMPORT_C void ConstructL( TInt aResourceId );
+
+ protected:
+ HBufC* iTempText; // use this if you override MdcaPoint
+ private:
+ HBufC* iCompulsoryText;
+ CAknSettingPage* iSettingPage;
+ TUint16 iPasswordFill;
+ RConeResourceLoader iResources;
+ };
+
+
+#endif // MUIUSETTINGSARRAY_H
+
+// End of file