diff -r 000000000000 -r f979ecb2b13e notepad/notepad1/AppSrc/NpdAppUi.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/notepad/notepad1/AppSrc/NpdAppUi.cpp Tue Feb 02 10:12:19 2010 +0200 @@ -0,0 +1,148 @@ +/* +* 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: Implementation of Notepad Application UI class. +* +*/ + + + +// INCLUDE FILES +#include +#include +#include +#include "NpdListDialog.h" +#include "NpdAppUi.h" + +//UID of PinbMdl +const TInt KUidApaMessagePinboardValue(0x1000590C); + +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CNotepadAppUi::ConstructL +// Initialize iApi and iDialog. +// non-waiting CNotepadListDialog starts. +// ----------------------------------------------------------------------------- +// +void CNotepadAppUi::ConstructL() + { + + BaseConstructL(EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible); + + iApi = CNotepadApi::NewL(); + + iDialog = CNotepadListDialog::NewL(R_NOTEPAD_LIST_DIALOG, + REINTERPRET_CAST( CEikDialog**, &iDialog ) ); + iDialog->SetMopParent(this); + iDialog->ExecuteLD(); // non waiting + } + +// ----------------------------------------------------------------------------- +// CNotepadAppUi::~CNotepadAppUi +// ----------------------------------------------------------------------------- +// +CNotepadAppUi::~CNotepadAppUi() + { + delete iDialog; + delete iApi; + } + +// ----------------------------------------------------------------------------- +// CNotepadAppUi::HandleCommandL +// ----------------------------------------------------------------------------- +// +void CNotepadAppUi::HandleCommandL(TInt aCommand) + { + if ( aCommand == EEikCmdExit ) + { + TRAPD( err, iDialog->SaveL(); ); + if ( err ) + { + iEikonEnv->HandleError(err); + } + Exit(); + } + else + { + CAknAppUi::HandleCommandL( aCommand ); + } + } + +// ----------------------------------------------------------------------------- +// CNotepadAppUi::ProcessCommandParametersL +// From CEikAppUi +// ----------------------------------------------------------------------------- +// +TBool CNotepadAppUi::ProcessCommandParametersL( + TApaCommand aCommand, + TFileName& aDocumentName, + const TDesC8& aTail ) + { + if ( aTail.Length() ) + { + TLex8 lex(aTail); + TInt key; + if ( iDialog && lex.Val(key) == KErrNone) + { + // force change to edit mode + iDialog->EditByKeyL(key); + } + } + return CEikAppUi::ProcessCommandParametersL(aCommand, aDocumentName, + aTail); + } + +// ----------------------------------------------------------------------------- +// CNotepadAppUi::HandleMessageL +// from MCoeMessageObserver +// ----------------------------------------------------------------------------- +// +MCoeMessageObserver::TMessageResponse CNotepadAppUi::HandleMessageL( + TUint32 aClientHandleOfTargetWindowGroup, + TUid aMessageUid, + const TDesC8& aMessageParameters ) + { + MCoeMessageObserver::TMessageResponse messageResponse(EMessageHandled); + if ( aMessageUid.iUid == KUidApaMessagePinboardValue ) + { + TLex8 lex(aMessageParameters); + TInt key; + if (lex.Val(key) == KErrNone) + { + iDialog->EditByKeyL(key); + } + } + else + { + messageResponse = CAknAppUi::HandleMessageL( + aClientHandleOfTargetWindowGroup, + aMessageUid, + aMessageParameters); + } + return messageResponse; + } + +// ----------------------------------------------------------------------------- +// CNotepadAppUi::PrepareToExit() +// from CCoeAppUiBase +// ----------------------------------------------------------------------------- +// +void CNotepadAppUi::PrepareToExit() + { + delete iDialog; + iDialog = NULL; + CAknAppUi::PrepareToExit(); + } + +// End of File