diff -r 000000000000 -r dd21522fd290 browserutilities/browserdialogsprovider/Src/BrowserSelectElementModel.cpp --- /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& 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& aOptions ) + { + CBrowserSelectElementModel* result = + new ( ELeave ) CBrowserSelectElementModel( aOptions ); + CleanupStack::PushL( result ); + result->ConstructL(); + return result; + } + +// ---------------------------------------------------------------------------- +// CBrowserSelectElementModel::NewL +// ---------------------------------------------------------------------------- +// +CBrowserSelectElementModel* CBrowserSelectElementModel::NewL( + const CArrayFix& 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