diff -r 1fc85118c3ae -r 870918037e16 landmarksui/uicontrols/src/CLmkAppCategorySelectorImpl.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/landmarksui/uicontrols/src/CLmkAppCategorySelectorImpl.cpp Wed Sep 01 12:31:27 2010 +0100 @@ -0,0 +1,208 @@ +/* +* 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: LandmarksUi Content File - +* +*/ + + + + + + + + +// INCLUDE FILES +#include "CLmkDbUtils.h" +#include "CLmkUiUtils.h" +#include "LmkConsts.h" +#include "CLmkAppCategorySelectorImpl.h" +#include "CLmkLmItemListProvider.h" +#include "LmkListProviderFactory.h" +#include +#include + + +#if defined(_DEBUG)// CONSTANTS +/// Unnamed namespace for local definitions +namespace { + +_LIT( KPanicMsg, "CLmkAppCategorySelectorImpl" ); + +void Panic( TPanicCode aReason ) + { + User::Panic( KPanicMsg, aReason ); + } +} // namespace +#endif +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CLmkAppCategorySelectorImpl::CLmkAppCategorySelectorImpl +// C++ default constructor can NOT contain any code, that +// might leave. +// ----------------------------------------------------------------------------- +// +CLmkAppCategorySelectorImpl::CLmkAppCategorySelectorImpl( + CPosLandmarkDatabase& aDb, + CLmkSender& aSender, + TBool aFindBox ) + : CLmkAppLmItemSelectorImpl( aDb, aSender, aFindBox ) + { + } + +// ----------------------------------------------------------------------------- +// CLmkAppCategorySelectorImpl::ConstructL +// Symbian 2nd phase constructor can leave. +// ----------------------------------------------------------------------------- +// +void CLmkAppCategorySelectorImpl::ConstructL() + { + CLmkAppLmItemSelectorImpl::BaseConstructL(); + + } + +// ----------------------------------------------------------------------------- +// CLmkAppCategorySelectorImpl::NewL +// Two-phased constructor. +// ----------------------------------------------------------------------------- +// +EXPORT_C CLmkAppCategorySelectorImpl* CLmkAppCategorySelectorImpl::NewL( + CPosLandmarkDatabase& aDb, + CLmkSender& aSender, + TBool aFindBox ) + { + CLmkAppCategorySelectorImpl* self = + new( ELeave ) CLmkAppCategorySelectorImpl( aDb, aSender, aFindBox ); + + CleanupStack::PushL( self ); + self->ConstructL(); + CleanupStack::Pop(); + + return self; + } + +// ----------------------------------------------------------------------------- +// CLmkAppCategorySelectorImpl::~CLmkAppCategorySelectorImpl +// ----------------------------------------------------------------------------- +// +CLmkAppCategorySelectorImpl::~CLmkAppCategorySelectorImpl() + { + } + +// ----------------------------------------------------------------------------- +// CLmkAppCategorySelectorImpl::SetupListProviderL +// ----------------------------------------------------------------------------- +// +void CLmkAppCategorySelectorImpl::SetupListProviderL() + { + if ( !iListProvider ) + { + iListProvider = + LmkListProviderFactory::CreateProviderL( iDb, ECategorySelector ); + iListProvider->AddObserverL( *this ); + iListProvider->InitializeL(); + } + } + +// ----------------------------------------------------------------------------- +// CLmkAppCategorySelectorImpl::ListProvider +// ----------------------------------------------------------------------------- +// +const CLmkListProviderBase& CLmkAppCategorySelectorImpl::ListProvider() const + { + __ASSERT_DEBUG( iListProvider, Panic( KLmkPanicNullMember ) ); + return *iListProvider; + } +// ----------------------------------------------------------------------------- +// CLmkAppCategorySelectorImpl::CurrentCategoryId +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt CLmkAppCategorySelectorImpl::CurrentCategoryId() + { + return CLmkAppLmItemSelectorImpl::CurrentCategoryId(); + } + +// ----------------------------------------------------------------------------- +// CLmkAppCategorySelectorImpl::ProcessCommandL +// ----------------------------------------------------------------------------- +// +void CLmkAppCategorySelectorImpl::ProcessCommandL( TInt aCommandId ) + { + CLmkAppLmItemSelectorImpl::ProcessCommandL( aCommandId ); + } + +// ----------------------------------------------------------------------------- +// CLmkAppCategorySelectorImpl::HandleOperationL +// ----------------------------------------------------------------------------- +// +void CLmkAppCategorySelectorImpl::HandleOperationL( + TOperationTypes /*aType*/, + TReal32 /*aProgress*/, + TInt /*aStatus*/ ) + { + } + +// ----------------------------------------------------------------------------- +// CLmkAppCategorySelectorImpl::ChangeIconL +// ----------------------------------------------------------------------------- +// +void CLmkAppCategorySelectorImpl::ChangeIconL( + TPosLmItemId aId, + TInt aIconIndex, + TInt aMaskIndex) + { + TFileName* iconFile = CLmkUiUtils::LmkUiIconFileLC(); + iDbUtils->ChangeIconL( iDb, aId, ELmkItemTypeCategory, + *iconFile, aIconIndex, aMaskIndex ); + CleanupStack::PopAndDestroy();//iconFile + } + +// ----------------------------------------------------------------------------- +// CLmkAppCategorySelectorImpl::ChangeIconsL +// ----------------------------------------------------------------------------- +// +void CLmkAppCategorySelectorImpl::ChangeIconsL( + RArray& aIdArray, + TInt aIconIndex, TInt aMaskIndex) + { + TFileName* iconFile = CLmkUiUtils::LmkUiIconFileLC(); + iDbUtils->ChangeIconsL( aIdArray, ELmkItemTypeCategory, + *iconFile, aIconIndex, aMaskIndex ); + CleanupStack::PopAndDestroy();//iconFile + } +// ----------------------------------------------------------------------------- +// CLmkAppCategorySelectorImpl::HandleLmCreated +// ----------------------------------------------------------------------------- +// +void CLmkAppCategorySelectorImpl::HandleLmCreated(TPosLmItemId aNewLmkItemId) + { + iNewLmkItemId = aNewLmkItemId; + iNewListBoxItemAdded = ETrue; + } + +// ----------------------------------------------------------------------------- +// CLmkAppCategorySelectorImpl::HandleControlEventL +// ----------------------------------------------------------------------------- +// +//#ifdef RD_SCALABLE_UI_V2 +void CLmkAppCategorySelectorImpl::HandleControlEventL( CCoeControl* aControl,TCoeEvent aEventType ) + { + //Update the listbox a sper the search criteria + if (iFilter) + { + iFilter->HandleControlEventL(aControl, aEventType); + } + } + +// End of File