--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookui/Phonebook/App/inc/CPbkAppUi.h Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,184 @@
+/*
+* 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:
+* Phonebook application UI class.
+*
+*/
+
+
+#ifndef __CPbkAppUi_H__
+#define __CPbkAppUi_H__
+
+
+// INCLUDES
+#include <CPbkAppUiBase.h>
+#include <coemain.h>
+#include "RPbkViewResourceFile.h"
+#include <MPbkAppUiExtension.h>
+
+
+// FORWARD DECLARATIONS
+class CAknNavigationControlContainer;
+class CPbkDocument;
+class CPbkApplication;
+class CPbkCompressUiImpl;
+class CEikImage;
+class MPbkCommandHandler;
+class CPbkFFSCheck;
+class CPbkAppGlobals;
+class CBCardEngine;
+class CPbkViewNavigator;
+class MPbkAppUiExtension;
+class MPbkCommand;
+
+
+// CLASS DECLARATION
+
+/**
+ * Phonebook application UI class.
+ * An object of this class is created by the Symbian OS
+ * framework by a call to CPbkDocument::CreateAppUiL().
+ * The application UI object creates and owns the application's
+ * views and handles system commands selected from the menu.
+ */
+class CPbkAppUi :
+ public CPbkAppUiBase,
+ public MCoeForegroundObserver
+ {
+ public: // Constants and types
+ static const TUid KPbkNamesListViewUid;
+ static const TUid KPbkGroupsListViewUid;
+ static const TUid KPbkGroupMembersListViewUid;
+ static const TUid KPbkContactInfoViewUid;
+ static const TUid KPbkBusinessCardViewUid;
+ static const TUid KPbkPhotoViewUid;
+ static const TUid KPbkPersonalInfoViewUid;
+
+ public: // Constructors and destructor
+ /**
+ * Constructor.
+ */
+ CPbkAppUi();
+
+ /**
+ * Destructor.
+ */
+ ~CPbkAppUi();
+
+ public: // New functions
+ /**
+ * Returns the Phonebook document object.
+ */
+ CPbkDocument* PbkDocument() const;
+
+ /**
+ * Returns the Phonebook application object.
+ */
+ CPbkApplication* PbkApplication() const;
+
+ /**
+ * Gets reference to this app's default navi pane control.
+ */
+ CAknNavigationControlContainer* NaviPane();
+
+ /**
+ * Call to exit Phonebook in correct way.
+ */
+ void ExitL();
+
+ /**
+ * Call to force exit in Phonebook.
+ */
+ void Exit();
+
+ /**
+ * Returns ETrue if this application is running on foreground, EFalse otherwise.
+ * Running on foreground means that the user has not pressed exit.
+ */
+ TBool IsRunningForeground() const;
+
+ /**
+ * Sends application to the background
+ */
+ void SendAppToBackgroundL();
+
+ public: // from CPbkAppUiBase
+ void ActivatePhonebookViewL
+ (TUid aViewId, const CPbkViewState* aViewState=NULL);
+ void ActivatePreviousViewL(const CPbkViewState* aViewState = NULL);
+ CViewActivationTransaction* HandleViewActivationLC
+ (const TUid& aViewId, const TVwsViewId& aPrevViewId,
+ const TDesC* aTitlePaneText,
+ const CEikImage* aContextPanePicture,
+ TUint aFlags=EUpdateAll);
+ CPbkAppGlobalsBase* AppGlobalsL();
+ void FFSClCheckL(const MPbkCommandHandler& aCommandHandler,
+ TInt aBytesToWrite = 0);
+
+ private: // from CAknViewAppUi
+ void HandleCommandL(TInt aCommand);
+ void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane);
+ void ConstructL();
+ TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+ void HandleForegroundEventL(TBool aForeground);
+ void HandleResourceChangeL(TInt aType);
+ void HandleWsEventL(const TWsEvent& aEvent, CCoeControl* aDestination);
+
+ private: // from MPbkKeyEventHandler
+ TBool PbkProcessKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType);
+
+ private: // from MCoeForegroundObserver
+ void HandleGainingForeground();
+ void HandleLosingForeground();
+
+ private: // Command handlers (use "Cmd" prefix)
+ void CmdExitL();
+
+ private: // Implementation
+ void CreateEngineL();
+ void ReadViewGraphL();
+ void CreateViewsL();
+ TBool IsPhonebookView(const TVwsViewId& aViewId) const;
+ class CViewActivationTransactionImpl;
+ friend class CViewActivationTransactionImpl;
+
+ private: // data
+ /// Ref: this app's default navi pane
+ CAknNavigationControlContainer* iNaviPane;
+ /// Own: Phonebook view dll resource file
+ RPbkViewResourceFile iViewResourceFile;
+ /// Own: View navigation graph
+ CDigViewGraph* iViewGraph;
+ /// Own: view navigator
+ CPbkViewNavigator* iViewNavigator;
+ /// Own: Phonebook compress UI
+ CPbkCompressUiImpl* iCompressUi;
+ /// Own: FFS space checker
+ CPbkFFSCheck* iFFSCheck;
+ /// Own: this is the only instance of this class
+ CPbkAppGlobals* iAppGlobals;
+ /// Own: appui extension
+ MPbkAppUiExtension* iAppUiExtension;
+ /// Own: Application running on foreground indicator
+ TBool iIsRunningForeground;
+ /// Own: End key exit flag
+ TBool iEndKeyExit;
+
+ };
+
+
+#endif // __CPbkAppUi_H__
+
+
+// End of File