messagingappbase/msgavkon/muiu_internal/settingsarray/inc/MuiuSettingsArray.h
changeset 79 2981cb3aa489
--- /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