phonebookui/Phonebook2/ccapplication/ccapp/inc/ccaappappui.h
changeset 0 e686773b3f54
child 39 a6539d1e8e43
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookui/Phonebook2/ccapplication/ccapp/inc/ccaappappui.h	Tue Feb 02 10:12:17 2010 +0200
@@ -0,0 +1,212 @@
+/*
+* 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:  Defines CCCAAppAppUi, class that prepares the 
+*                application View(s) and handles the UI commands 
+*
+*/
+
+
+#ifndef __CCAAPP_APPUI_H__
+#define __CCAAPP_APPUI_H__
+
+#ifdef __CCAPPUNITTESTMODE
+    #include "ccappheaders.h"
+#else
+    #include <aknViewAppUi.h>    
+#endif// __CCAPPUNITTESTMODE 
+    
+// FORWARD DECLARATIONS
+class CCCAppView;
+class CCCAParameter;
+class CRepository;
+
+/**
+ *  Defines CCCAAppAppUi, class that prepares the application 
+ *  view and handles the UI commands 
+ *
+ *  @lib ccaapp.exe
+ *  @since S60 v5.0
+ */  
+class CCCAAppAppUi : public CAknViewAppUi
+    {
+#ifdef __CCAPPUNITTESTMODE
+    friend class ut_CCCAAppAppUi;
+#endif// __CCAPPUNITTESTMODE    
+
+public:
+
+    CCCAAppAppUi();
+    
+   /**
+    * Destructor.
+    */
+    ~CCCAAppAppUi();
+
+public:
+
+    /**
+     * Initializes view plugin for usage. Calls 1st 
+     * PreparePluginViewL and then ActivatePluginViewL.
+     *
+     * @since S60 v5.0
+     * @param aParameter contains contact information. 
+     *        Ownership is transferred.
+     */
+    void InitializePlugin( CCCAParameter& aParameter );
+
+    /**
+     * Returns a reference to CCApp parameter
+     *
+     * @since S60 v5.0
+     * @return CCCAParameter reference
+     */        
+    CCCAParameter& Parameter();
+
+    /**
+     * Returns a reference to EikonEnv
+     *
+     * @since S60 v5.0
+     * @return CEikonEnv reference
+     */        
+    CEikonEnv& EikonEnv();
+
+    /**
+     * Returns an array of key ids reserved by the AppUi
+     *
+     * @since S60 v5.0
+     * @return key id array
+     */      
+    RArray<TInt>& ReservedKeys();
+
+    /**
+     * Handles cases when plugin leaves in critical point.
+     * See more details in CCCAppView-classes similar method.
+     * (Set as virtual because this is called from the CCCAppViewPluginAknView (ccapputil.dll))
+     *
+     * @since S60 v5.0
+     */      
+    virtual void RecoverFromBadPluginL();
+    
+// from base class CCoeAppUi
+
+    /**
+     * From CCoeAppUi
+     * (see details from header)
+     *
+     * @since S60 v5.0
+     */
+	TKeyResponse HandleKeyEventL(
+	    const TKeyEvent& aKeyEvent,
+	    TEventCode aType );
+	    
+	void HandleWsEventL( const TWsEvent &aEvent, CCoeControl *aDestination );
+
+private:
+
+// from base class CEikAppUi
+
+    /**
+     * From CEikAppUi
+     * (see details from header)
+     *
+     * @since S60 v5.0
+     */
+    void HandleCommandL( TInt aCommand );
+    
+    /**
+     * From CEikAppUi
+     * (see details from header)
+     *
+     * @since S60 v5.0
+     */
+    void PrepareToExit();
+
+
+// from base class CAknAppUi    
+    
+    /**
+     * From CAknAppUi
+     * (see details from header)
+     *
+     * @since S60 v5.0
+     */
+    TErrorHandlerResponse HandleError(
+        TInt aError, 
+        const SExtendedError& aExtErr,  
+        TDes& aErrorText, 
+        TDes& aContextText );
+    
+private:
+
+    /**
+     * Loads the settings from CenRep.
+     * In case of error some default values are used.
+     *
+     * @since S60 v5.0
+     */
+    void LoadSettingsL();
+
+private:
+
+    void ConstructL();
+	
+public:
+    /**
+     * Sets the title of the View Plugin
+     * @param aTitle - the title to be set for the Plugin View     
+     * @since S60 v5.0
+     * 
+     */
+    virtual void SetTitleL( const TDesC& aTitle );
+
+private: // data
+
+    /**
+     * Pointer to tab view.
+     * Own.
+     */
+    CCCAppView* iCCAppView;
+    
+    /**
+     * Pointer to CCA parameter.
+     * Own.
+     */    
+    CCCAParameter* iCCAParameter;
+    
+    /**
+     * Keys for view navigation
+     */
+     TInt       iNextViewKey;
+     TInt       iPrevViewKey;
+     
+    /**
+     * Flag for settings loading
+     */
+     TBool      iSettingsLoaded;
+
+     /**
+      * For loading the settings. 
+      * Own.
+      */     
+     CRepository* iRepository;
+
+     /**
+      * Ids of reserved keys
+      */     
+      RArray<TInt> iReservedKeys;
+    };
+
+#endif // __CCAAPP_APPUI_H__
+
+//End Of File