browserutilities/browserdialogsprovider/Src/BrowserSelectElementModel.cpp
changeset 0 dd21522fd290
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/browserutilities/browserdialogsprovider/Src/BrowserSelectElementModel.cpp	Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,115 @@
+/*
+* 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 the License "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: 
+*
+*
+*/
+
+
+// INCLUDE FILES
+#include "BrowserSelectElementModel.h"
+#include "BrowserSelectElementListBox.h"
+
+// ================= MEMBER FUNCTIONS =========================================
+
+// ----------------------------------------------------------------------------
+// CBrowserSelectElementModel::CBrowserSelectElementModel
+// ----------------------------------------------------------------------------
+//
+CBrowserSelectElementModel::CBrowserSelectElementModel( 
+							const CArrayFix<TBrCtlSelectOptionData>& aOptions )
+                            :   iOptions ( aOptions )           
+	{
+	}
+
+// ----------------------------------------------------------------------------
+// CBrowserSelectElementModel::ConstructL
+// ----------------------------------------------------------------------------
+//
+void CBrowserSelectElementModel::ConstructL()
+	{
+    iFilterTexts = new ( ELeave ) TBrCtlSelectElementFilterTextArray(iOptions);
+    iItemTexts = new ( ELeave ) TBrCtlSelectElementItemTextArray( iOptions );
+    }
+
+// ----------------------------------------------------------------------------
+// CBrowserSelectElementModel::NewLC
+// ----------------------------------------------------------------------------
+//
+CBrowserSelectElementModel* CBrowserSelectElementModel::NewLC( 
+							const CArrayFix<TBrCtlSelectOptionData>& aOptions )
+	{
+	CBrowserSelectElementModel* result =
+					new ( ELeave ) CBrowserSelectElementModel( aOptions );
+	CleanupStack::PushL( result );
+	result->ConstructL();
+	return result;
+	}
+
+// ----------------------------------------------------------------------------
+// CBrowserSelectElementModel::NewL
+// ----------------------------------------------------------------------------
+//
+CBrowserSelectElementModel* CBrowserSelectElementModel::NewL(
+							const CArrayFix<TBrCtlSelectOptionData>& aOptions )
+	{
+	CBrowserSelectElementModel* result = NewLC( aOptions );
+	CleanupStack::Pop();
+	return result;
+	}
+
+// ----------------------------------------------------------------------------
+// CBrowserSelectElementModel::~CBrowserSelectElementModel
+// ----------------------------------------------------------------------------
+//
+CBrowserSelectElementModel::~CBrowserSelectElementModel()
+	{
+    delete iFilterTexts;
+    delete iItemTexts;
+	}
+
+
+// ----------------------------------------------------------------------------
+// CBrowserSelectElementModel::SetItemArray
+// ----------------------------------------------------------------------------
+//
+void CBrowserSelectElementModel::SetItemArray()
+    {
+    // Need to set them after the listbox has been constructed; otherwise
+    // listbox construction will reset the item text array to NULL.
+    SetItemTextArray( iItemTexts );
+    SetOwnershipType( ELbmDoesNotOwnItemArray ); 
+    }
+
+// ----------------------------------------------------------------------------
+// CBrowserSelectElementModel::MatchableTextArray() const
+// ----------------------------------------------------------------------------
+//
+const MDesCArray* CBrowserSelectElementModel::MatchableTextArray() const
+
+	{
+	return iFilterTexts;
+	}
+
+// ----------------------------------------------------------------------------
+// CBrowserSelectElementModel::MdcaCount
+// ----------------------------------------------------------------------------
+//
+TInt TBrCtlSelectElementItemTextArray::MdcaCount() const
+	{
+    return iOptions.Count();
+	}
+
+
+//  End of File