diff -r 8173571d354e -r 1fc85118c3ae landmarksui/app/src/CLmkByLmContainer.cpp --- a/landmarksui/app/src/CLmkByLmContainer.cpp Thu Aug 19 09:48:36 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,372 +0,0 @@ -/* - * Copyright (c) 2002-2010 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: Provides LM compass view's container class methods. - * - */ - -// INCLUDE FILES -#include -#include -#include -#include -#include // To Check TOUCH Support -// For RD_AVKON_UNBRANCH -#include -#include -#include -#include "CLmkAppUi.h" -#include "CLmkUiUtils.h" -#include "CLmkSender.h" -#include -#include "CLmkByLmView.h" -#include "CLmkByLmContainer.h" -#include "CLmkAppLmSelectorImpl.h" -#include "landmarks.hrh" -#include -#include "Debug.h" - -// ----------- Touch feedback additions start -#ifdef RD_TACTILE_FEEDBACK -#include -#endif //RD_TACTILE_FEEDBACK -// ----------- Touch feedback additions end - -// ================= MEMBER FUNCTIONS ======================= -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::NewL -// ---------------------------------------------------------------------------- -// -CLmkByLmContainer* CLmkByLmContainer::NewL(MLmkKeyProcessor& aKeyProcessor, - MObjectProvider* aParent, const TRect& aRect, CAknView& aView) - { - CLmkByLmContainer* self = new (ELeave) CLmkByLmContainer(aKeyProcessor, - aView); - CleanupStack::PushL(self); - self->SetMopParent(aParent); - self->ConstructL(aRect); - CleanupStack::Pop(); // self - return self; - } - -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::ConstructL -// ---------------------------------------------------------------------------- -// -void CLmkByLmContainer::ConstructL(const TRect& aRect) - { - CLmkLbWithFilterContainer::ConstructL(aRect); - iFindBox->SetObserver(this); - } - -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::CLmkByLmContainer -// ---------------------------------------------------------------------------- -// -CLmkByLmContainer::CLmkByLmContainer(MLmkKeyProcessor& aKeyProcessor, - CAknView& aView) : - CLmkLbWithFilterContainer(aKeyProcessor, KLM_HLP_LM_BY_NAME), - iView(aView) - { - iIsEditorOpened = EFalse; - iHandlePointerEvent = ETrue; - } -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::~CLmkByLmContainer -// ---------------------------------------------------------------------------- -// -CLmkByLmContainer::~CLmkByLmContainer() - { - } - -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::SetupTitlePaneL -// ---------------------------------------------------------------------------- -// -void CLmkByLmContainer::SetupTitlePaneL() - { - CLmkUiUtils::ChangeTitlePaneL( R_LMK_BYLM_VIEW_TITLE); - } - -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::SetupSelectorAndListL -// ---------------------------------------------------------------------------- -// -void CLmkByLmContainer::SetupSelectorAndListL(CPosLandmarkDatabase& aDb, - CLmkSender& aSender) - { - iSelector = CLmkAppLmSelectorImpl::NewL(aDb, aSender, ETrue); - iSelector->SetMskObserver(this); - iListBox = &(iSelector->CreateListBoxL(this, EAknCtSingleGraphicListBox, -#ifdef RD_SCALABLE_UI_V2 - EAknListBoxStylusMarkableList, -#else - EAknListBoxMarkableList, -#endif //RD_SCALABLE_UI_V2 - R_LMK_EMPTY_NO_LANDMARKS, R_LMK_GUIDE_NEW_LANDMARK)); - } - -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::SetupNaviPaneL -// ---------------------------------------------------------------------------- -// -void CLmkByLmContainer::SetupNaviPaneL() - { - iNaviDeco = CreateNaviPaneL(R_LMK_TAB_GROUP); - ActivateTabL(*iNaviDeco, ELmkByLmView); - } - -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::OfferKeyEventL -// ---------------------------------------------------------------------------- -// -TKeyResponse CLmkByLmContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent, - TEventCode aType) - { - DEBUG( CLmkByLmContainer::OfferKeyEventL entered ); - DEBUG2( aKeyEvent.iCode=%d aKeyEvent.iScanCode=%d, - aKeyEvent.iCode, - aKeyEvent.iScanCode - ); - DEBUG3( aKeyEvent.iModifiers=%d aKeyEvent.iRepeats=%d aType=%d, - aKeyEvent.iModifiers, - aKeyEvent.iRepeats, - aType - ); - - TBool shiftKeyPressed = (aKeyEvent.iModifiers & EModifierShift) - || (aKeyEvent.iModifiers & EModifierLeftShift) - || (aKeyEvent.iModifiers & EModifierRightShift); - - if (aKeyEvent.iScanCode == EStdKeyUpArrow || aKeyEvent.iScanCode - == EStdKeyDownArrow) - { - if (aType == EEventKey) - { - if (iListBox->OfferKeyEventL(aKeyEvent, aType) == EKeyWasConsumed) - { - if (shiftKeyPressed) - UpdateMskContainerL(); - return EKeyWasConsumed; - } - } - return EKeyWasNotConsumed; - } - - CLmkAppSelectorImplBase& selector = SelectorImpl(); - TInt markedCount(selector.ListMarkedItemCountL()); - TInt visibleCount(selector.ListVisibleItemCount()); - DEBUG1( CLmkByLmContainer::OfferKeyEventL markedCount=%d,markedCount ); - DEBUG1( CLmkByLmContainer::OfferKeyEventL visibleCount=%d,visibleCount ); - - if (aKeyEvent.iCode == EKeyOK && !shiftKeyPressed && aType == EEventKey) - { - DEBUG( CLmkByLmContainer::OfferKeyEventL EKeyOK ); - if (visibleCount > 0 && markedCount < 1) - { - DEBUG( CLmkByLmContainer::OfferKeyEventL EKeyOK ELmkCmdOpenLm ); - // Launch landmark viewer here - selector.ProcessCommandL(ELmkCmdOpenLm); - iIsEditorOpened = ETrue; - return EKeyWasConsumed; - } - else - { - DEBUG( CLmkByLmContainer::OfferKeyEventL EKeyOK show menubar ); - CEikMenuBar* menubar = - static_cast (iAvkonAppUi)->View( - TUid::Uid(ELmkByLmView))->MenuBar(); - if (menubar) - { - menubar->SetMenuTitleResourceId(R_LMK_OK_MENUBAR); - - menubar->StopDisplayingMenuBar(); - TRAPD(err, menubar->TryDisplayMenuBarL()); - DEBUG1( CLmkByLmContainer::OfferKeyEventL menubar->TryDisplayMenuBarL() = %d,err ); - // set ordinary menubar back even in case of error - menubar->SetMenuTitleResourceId(R_LMK_BYLM_MENUBAR); - User::LeaveIfError( err); - } - - return EKeyWasConsumed; - } - } - else if (shiftKeyPressed && aType == EEventKeyUp) - { - UpdateMskContainerL(); - } - else - { - DEBUG( CLmkByLmContainer::OfferKeyEventL send event key & other keys handling ); - // 'send' eveny key processing - if (visibleCount > 0 && markedCount < 1) - { - // Check TOUCH Support - if (aKeyEvent.iCode == EKeyPhoneSend - && (!Layout_Meta_Data::IsPenEnabled())) - { - selector.ProcessCommandL(ELmkCmdCall); - } - } - if (iIsEditorOpened) - { - DEBUG( CLmkByLmContainer::OfferKeyEventL iIsEditorOpened entered ); - SelectorImpl().HandleListProviderEvent(ELmkEventListReady); - } - } - iIsEditorOpened = EFalse; - DEBUG( CLmkByLmContainer::OfferKeyEventL end ); - return CLmkLbWithFilterContainer::OfferKeyEventL(aKeyEvent, aType); - } - -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::HandleControlEventL() -// Called by framework when the view size is changed -// ---------------------------------------------------------------------------- -// - -void CLmkByLmContainer::HandleControlEventL(CCoeControl* aControl, - TCoeEvent aEventType) - { - if (aEventType == EEventStateChanged && aControl == iFindBox) - { - SelectorImpl().ProcessCommandL(ELmkCmdFindBoxSearchAfresh); - } - } - -// ----------------------------------------------------------------------------- -//CLmkByLmContainer::HandleResourceChange -// ----------------------------------------------------------------------------- -// -void CLmkByLmContainer::HandleResourceChange(TInt aType) - { - CCoeControl::HandleResourceChange(aType); - if (aType == KEikDynamicLayoutVariantSwitch) - { - (static_cast (&iView))->Update(); - } - - if (iListBox) - { - iListBox->DrawNow(); - } - if (iFindBox && iFindBox->IsVisible()) - { - iFindBox->DrawNow(); - } - } - -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::GetSelectedLandmarksL -// ---------------------------------------------------------------------------- -// -TInt CLmkByLmContainer::GetSelectedLandmarksL( - RPointerArray &aArray) - { - return (static_cast (iSelector))->GetSelectedLandmarksL( - aArray); - } - -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::IsLandmarkEmptyL -// ---------------------------------------------------------------------------- -// -TBool CLmkByLmContainer::IsLandmarkDataEmptyL(CPosLandmark* aLandmark) - { - return (static_cast (iSelector))->IsLandmarkDataEmptyL( - aLandmark); - } - -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::FocusChanged() -// ---------------------------------------------------------------------------- -// -void CLmkByLmContainer::FocusChanged(TDrawNow aDrawNow) - { - if (iListBox) - { - iListBox->SetFocus(IsFocused(), aDrawNow); - } - if (iFindBox && iFindBox->IsVisible()) - { - iFindBox->SetFocus(IsFocused(), aDrawNow); - } - } - -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::IsEditorOpened() -// ---------------------------------------------------------------------------- -// -TBool CLmkByLmContainer::IsEditorOpened() - { - return iIsEditorOpened; - } - -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::SetEditorOpenedBool() -// ---------------------------------------------------------------------------- -// -void CLmkByLmContainer::SetEditorOpenedBool(TBool aBoolvalue) - { - iIsEditorOpened = aBoolvalue; - } - -// ---------------------------------------------------------------------------- -// CLmkByLmContainer::UpdateMskContainerL() -// ---------------------------------------------------------------------------- -// -void CLmkByLmContainer::UpdateMskContainerL() - { - CLmkBaseView* view = reinterpret_cast (&iView); - view->UpdateMskViewL(ResolveMskDisplayItem()); - } - -// --------------------------------------------------------- -// CLmkByLmContainer::MenuBar -// --------------------------------------------------------- -// -CEikMenuBar* CLmkByLmContainer::MenuBar() - { - return ViewAppUi()->View(TUid::Uid(ELmkByLmView))->MenuBar(); - } - -// --------------------------------------------------------- -// CLmkByLmContainer::ContextSpecificMenuBar -// --------------------------------------------------------- -// -TInt CLmkByLmContainer::ContextSpecificMenuBar() - { - return R_LMK_OK_MENUBAR; - } - -// --------------------------------------------------------- -// CLmkByLmContainer::SetHandlePointerEventBool -// --------------------------------------------------------- -// -void CLmkByLmContainer::SetHandlePointerEventBool(TBool aBoolValue) - { - iHandlePointerEvent = aBoolValue; - } - -#ifdef RD_SCALABLE_UI_V2 -// --------------------------------------------------------- -// CLmkByLmContainer::HandlePoineteventL -// --------------------------------------------------------- -// -void CLmkByLmContainer::HandlePointerEventL( const TPointerEvent& aPointerEvent ) - { - CCoeControl::HandlePointerEventL(aPointerEvent); - } - -#endif//RD_SCALABLE_UI_V2 -// End of File