diff -r f1bdd6b078d1 -r 2cb9bae34d17 textinput/peninputhwrtrui/src/truishortcutsview.cpp --- a/textinput/peninputhwrtrui/src/truishortcutsview.cpp Tue Jul 06 14:38:41 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,302 +0,0 @@ -/* -* Copyright (c) 2007 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: Implement of class CTruiShortcutsView -* -*/ - - -#include -#include -#include -#include -#include -#include - -#include "truishortcutsview.h" -#include "truishortcutscontainer.h" -#include "trui.hrh" -#include "truiappui.h" -#include "truishortcutedittextview.h" -#include "truimainview.h" - -// ======== MEMBER FUNCTIONS ======== - -CTruiShortcutsView::CTruiShortcutsView() - { - } - -void CTruiShortcutsView::ConstructL() - { - BaseConstructL( R_TRUI_SHORTCUTSVIEW ); - } - -CTruiShortcutsView* CTruiShortcutsView::NewL() - { - CTruiShortcutsView* self = CTruiShortcutsView::NewLC(); - CleanupStack::Pop( self ); - return self; - } - -CTruiShortcutsView* CTruiShortcutsView::NewLC() - { - CTruiShortcutsView* self = new( ELeave ) CTruiShortcutsView; - CleanupStack::PushL( self ); - self->ConstructL(); - return self; - } - -CTruiShortcutsView::~CTruiShortcutsView() - { - } - -// --------------------------------------------------------------------------- -// From class CAknView. -// Returns views id. -// --------------------------------------------------------------------------- -// -TUid CTruiShortcutsView::Id() const - { - return KTruiShortcutsViewId; - } - -// --------------------------------------------------------------------------- -// From class CAknView. -// Command handling function. -// --------------------------------------------------------------------------- -// -void CTruiShortcutsView::HandleCommandL( TInt aCommand ) - { - switch ( aCommand ) - { - case EShortcutViewCreate: - { - iContainer->AddShortcutL(); - } - break; - case EShortcutViewEditText: - { - iContainer->EditShortcutL( ETrue ); - break; - } - case EShortcutViewEditModel: - { - iContainer->EditShortcutL( EFalse ); - } - break; - case EShortcutViewLinkToHandwritting: - { - // Set main view tab active - CTruiAppUi* appui = static_cast( AppUi() ); - CAknNavigationDecorator* naviDecorator = appui->GetNaviDecorator(); - CAknTabGroup* tabGroup = static_cast - ( naviDecorator->DecoratedControl() ); - tabGroup->SetActiveTabById( ENavigationPaneMainViewTab ); - // Switch to local view. - appui->ActivateLocalViewL( KTruiMainViewId ); - } - break; - case EShortcutViewMark: - { - iContainer->MarkShortcutL(); - } - break; - case EShortcutViewUnmark: - { - iContainer->UnmarkShortcutL(); - } - break; - case EShortcutViewResetInfoMessage: - { - iContainer->ResetIntroductionL(); - } - break; - case EShortcutViewDelete: - { - iContainer->DeleteShortcutL(); - } - break; - default: - { - AppUi()->HandleCommandL( aCommand ); - } - } - } - -// --------------------------------------------------------------------------- -// From class CAknView. -// Carried out when View is activated -// --------------------------------------------------------------------------- -// -void CTruiShortcutsView::DoActivateL( const TVwsViewId& /*aPrevViewId*/, - TUid /*aCustomMessageId*/, - const TDesC8& /*aCustomMessage*/ ) - { - // Set title pane - CTruiAppUi* appui = static_cast( AppUi() ); - HBufC* titleText = iEikonEnv->AllocReadResourceLC - ( R_TRUI_SHORTCUTSVIEW_TITLEPANE_TEXT ); - appui->ShowTitlePaneL( *titleText ); - CleanupStack::PopAndDestroy( titleText ); - - // Show navi pane - appui->ShowNaviPaneL(); - - iContainer = CTruiShortcutsContainer::NewL( ClientRect() ); - iContainer->SetMopParent( this ); - AppUi()->AddToStackL( *this, iContainer ); - iContainer->SetView( this ); - - // Set toolbar - CAknToolbar* toolbar = Toolbar(); - if ( toolbar ) - { - toolbar->SetToolbarObserver( this ); - toolbar->SetToolbarVisibility( ETrue, EFalse ); - } - } - -// --------------------------------------------------------------------------- -// From class CAknView. -// Carried out when View is deactivated -// --------------------------------------------------------------------------- -// -void CTruiShortcutsView::DoDeactivate() - { - if ( iContainer ) - { - AppUi()->RemoveFromStack( iContainer ); - delete iContainer; - iContainer = NULL; - } - } - - -// --------------------------------------------------------------------------- -// From MEikMenuObserver -// Dynamically initialises a menu pane. -// --------------------------------------------------------------------------- -// -void CTruiShortcutsView::DynInitMenuPaneL( TInt aResourceId, - CEikMenuPane* aMenuPane ) - { - // Prepare to display popup window when focus return to container - iContainer->SetDisplayPopupWindow( ETrue ); - - if ( aResourceId == R_TRUI_SHORTCUTSVIEW_MENUPANE ) - { - // Check if "Edit" will be displayed when first item highlighted. - // Check if "Delete" will be displayed when first item highlighted. - // Check if "Mark" will be displayed when first item highlighted. - // Check if "Unmark" will be displayed when first item highlighted. - TInt currentIndex = iContainer->CurrentItemIndex(); - if ( currentIndex != 0 ) - { - if ( iContainer->MarkCount() > 0 ) - { - // At least one marked, "Edit" won't be displayed - aMenuPane->SetItemDimmed( EShortcutViewEditText, ETrue ); - aMenuPane->SetItemDimmed( EShortcutViewEditModel, ETrue ); - } - else - { - // All unmark, "Edit" will be displayed. - aMenuPane->SetItemDimmed( EShortcutViewEditText, EFalse ); - aMenuPane->SetItemDimmed( EShortcutViewEditModel, EFalse ); - } - aMenuPane->SetItemDimmed( EShortcutViewDelete, EFalse ); - aMenuPane->SetItemDimmed( EShortcutViewMark, EFalse ); - aMenuPane->SetItemDimmed( EShortcutViewUnmark, EFalse ); - if ( iContainer->IsMarked( currentIndex ) ) - { - // The currently selected item mark, display "Unmark" - aMenuPane->SetItemDimmed( EShortcutViewMark, ETrue ); - } - else - { - // The currently selected item unmark, display "Mark" - aMenuPane->SetItemDimmed( EShortcutViewUnmark, ETrue ); - } - - // Hide Reset introduction - aMenuPane->SetItemDimmed( EShortcutViewResetInfoMessage, ETrue ); - } - else - { - aMenuPane->SetItemDimmed( EShortcutViewEditText, ETrue ); - aMenuPane->SetItemDimmed( EShortcutViewEditModel, ETrue ); - aMenuPane->SetItemDimmed( EShortcutViewDelete, ETrue ); - aMenuPane->SetItemDimmed( EShortcutViewMark, ETrue ); - aMenuPane->SetItemDimmed( EShortcutViewUnmark, ETrue ); - - // Check value of setting of introduction - TBool isDimReset = iContainer->IsResetIntroduction() ? EFalse : ETrue; - aMenuPane->SetItemDimmed( EShortcutViewResetInfoMessage, isDimReset ); - } - } - } - -// --------------------------------------------------------------------------- -// From class MEikMenuObserver. -// Dynamically initialises a menu bar. -// --------------------------------------------------------------------------- -// -void CTruiShortcutsView::DynInitMenuBarL( TInt aResourceId, - CEikMenuBar* /*aMenuBar*/ ) - { - if ( aResourceId == R_TRUI_SHORTCUTSVIEW_CONTEXT_MENUBAR ) - { - iContainer->SetDisplayPopupWindow( ETrue ); - } - } - -// --------------------------------------------------------------------------- -// From class MAknToolbarObserver. -// Handles toolbar events for a certain toolbar item. -// --------------------------------------------------------------------------- -// -void CTruiShortcutsView::OfferToolbarEventL( TInt aCommand ) - { - switch ( aCommand ) - { - case EShortcutsViewButtonIdEditText: - { - // Open the text setting view - iContainer->EditShortcutL( ETrue ); - break; - } - case EShortcutsViewButtonIdEditModel: - { - // Open the shortcut edit view - iContainer->EditShortcutL( EFalse ); - break; - } - case EShortcutsViewButtonIdDelete: - { - iContainer->DeleteShortcutL(); - break; - } - } - } -// --------------------------------------------------------------------------- -// From CAknView. This function processes user commands. -// --------------------------------------------------------------------------- -// -void CTruiShortcutsView::ProcessCommandL( TInt aCommand ) - { - if ( !iContainer ) - { - return; - } - CAknView::ProcessCommandL( aCommand ); - }