cmmanager/cmmgr/Framework/Inc/destdlg.h
branchRCL_3
changeset 58 83ca720e2b9a
parent 0 5a93021fdf25
child 14 7958d42f9d1a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cmmanager/cmmgr/Framework/Inc/destdlg.h	Wed Sep 01 12:23:51 2010 +0100
@@ -0,0 +1,249 @@
+/*
+* Copyright (c) 2006 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:  Dialog for displaying and editing destinations.
+*
+*/
+
+#ifndef DESTDIALOG_H
+#define DESTDIALOG_H
+
+//  INCLUDES
+#include <AknForm.h>
+#include <cmsettingsui.h>
+#include "destlistboxmodel.h"
+#include "destlistbox.h"
+#include "cmmanagerimpl.h"
+#include "cmconnsettingsuiimpl.h"
+#include <mcmdexec.h>
+#include "cmcommsdatnotifier.h"
+
+// CLASS DECLARATION
+class CEikStatusPane;
+class CAknTitlePane;
+class CAknNavigationControlContainer;
+class CAknNavigationDecorator;
+class CCmWizard;
+class CCmdExec;
+
+/**
+*  Dialog for setting the gateway's IP address
+*/
+NONSHARABLE_CLASS( CDestDlg ) : public CAknDialog
+                              , MEikListBoxObserver
+                              , public MCmdExec
+                              , public MCmCommsDatWatcher
+    {
+    public :    // construction
+    
+        /**
+        * Default constructor.
+        */
+        CDestDlg();
+
+        /**
+        * Destructor.
+        */
+        ~CDestDlg();
+        
+         /**
+        * Create and launch dialog.
+        * @return           The code returned by the dialogs' ExecuteLD
+        */
+        TInt ConstructAndRunLD( CCmManagerImpl* aCmManager, TUint32 aHighLight, 
+                                TUint32& aSelected, TBool& aExiting );
+
+        // From MEikMenuObserver
+        virtual void DynInitMenuPaneL( TInt aResourceId, 
+                                       CEikMenuPane* aMenuPane );
+
+        // From MEikCommandObserver
+        virtual void ProcessCommandL( TInt aCommandId ) ; 
+
+        /**
+        * Updates listbox data
+        */
+        void HandleListboxDataChangeL();
+
+        /**
+        * Handle key event.
+        * @param aKeyEvent The key event.
+        * @param aType Key event type.
+        * @return Response (was the key event consumed?).
+        */
+        TKeyResponse OfferKeyEventL
+            ( const TKeyEvent& aKeyEvent, TEventCode aType );        
+        
+     
+	public:
+        /**
+         * From base class MCmdExec
+         */
+        void Execute();
+
+        /**
+         * From base class MCmdExec
+         */
+        void CDestDlg::HandleLeaveError( TInt aError );
+
+    public: // From CCoeControl
+    
+        /**
+        * Returns the help context
+        * From CCoeControl
+        * 
+        * @since S60 3.2
+        * @param aContext the returned help context
+        */
+        void GetHelpContext( TCoeHelpContext& aContext ) const;
+        
+        /**
+        * Handles the resource change
+        * From CCoeControl
+        * 
+        * @since S60 5.0
+        * @param aType Type of the resource change
+        */
+		void HandleResourceChange( TInt aType );
+        
+        /**
+        * Show default connection note
+        * 
+        * @since S60 5.0
+        * @param aOldConn Old default connection
+        */
+        void ShowDefaultConnectionNoteL(TCmDefConnValue aOldDefConn);
+        
+    public: // From MCmCommsDatWatcher
+        
+        /**
+         * Watch changes in CommsDat
+         */
+        void CommsDatChangesL();
+        
+    protected :    // from CEikDialog
+    
+        /**
+        * Set the gateway's IP address, if the user pressed OK.
+        * @param aButtonId The ID of the pressed button.
+        * @return May the dialog exit?
+        */
+        TBool OkToExitL( TInt aButtonId ) ;
+        
+        void PreLayoutDynInitL();
+        
+        SEikControlInfo CreateCustomControlL ( TInt aControlType );
+
+        // From MEikListBoxObserver
+        void HandleListBoxEventL( CEikListBox* aListBox, 
+                                  TListBoxEvent aEventType );
+                                  
+        /**
+        * Sets the number of connections text on navi pane
+        */                                  
+        void SetNoOfDestsL(TInt aCount);                                  
+
+    private:
+    
+        /**
+        * Initialises listbox texts
+        */    
+        void InitTextsL();
+
+        /**
+        * Creates a new destination and adds it to Destination view.
+        */
+        void AddDestinationL();
+        
+        /**
+        * Called when user selected edit on a destination.
+        */
+        void OnCommandDestinationEditL();
+        
+        /**
+        * Called when user selected delete on a destination.
+        */
+        void OnCommandDestinationDeleteL();
+        
+        /**
+        * Called when user selected rename on a destination.
+        */
+        void OnCommandDestinationRenameL();
+        
+        /**
+        * Called when destination is about to be deleted.
+        */
+        TBool IsThereProtectedMethodL( CCmDestinationImpl* aDest );
+        
+        /**
+        * Sets the text of the middle soft key by the text resource. 
+        */
+        void CDestDlg::SetMskL( TInt aResourceId );
+        
+        /**
+        * Shows the 'Default set to:' note.
+        */
+        void ShowDefaultSetNoteL(TCmDefConnValue aSelection);
+        
+        /**
+        * Shows the 'Default:' in navi pane.
+        */
+        void SetDefaultNaviL( TCmDefConnValue aSelection );
+        
+        /**
+        * Counts how many CMs can be displayed.(Shouldn't display
+        * CMs for which the plugin is not loaded.)
+        */
+        TUint32 NumberOfCMsL( RArray<TUint32> cmArray );
+
+        /**
+        * Enforced to release allocated memory and reset protection
+        * when some exceptions occur
+        */
+        void EnforcedResetCDestDlg();
+     
+    protected:
+    
+        CDestListboxModel*      iModel;
+        CDestListbox*           iListbox;
+        TUint32                 iHighlight;
+        TUint32*                iSelected;           
+        TBool                   iModelPassed;
+        CEikStatusPane*         iStatusPane;    // NOT owned
+        CAknTitlePane*          iTitlePane;     // NOT owned
+        CAknNavigationControlContainer* iNaviPane;      // NOT owned
+        CAknNavigationDecorator*        iNaviDecorator; // owned
+        HBufC*                  iOldTitleText;
+        CCmManagerImpl*         iCmManagerImpl; // NOT owned
+        TInt                    iExitReason;    // Exit reason, can be 
+                                                // KUserExit or KUserBack
+                                                // used to pass user exit event   
+        CCmConnSettingsUiImpl* iConnSettingsImpl;
+        CCmdExec*             iCmdExec;        
+        
+     private:     
+
+        CCmWizard*          iCmWizard; // wizard for connection method creation
+        // Indicated that Escape has arrived and it should be forwarded when CmWizard
+        // finished its work
+        TBool               iEscapeArrived;
+        
+        // Indicates whether the Exit button was pressed. Not owned.
+        TBool*              iExiting;
+        
+        // This dialog shouldn't exit while processing in a plugin
+        // Indicates whether processing or not
+        TBool               iProcessing;
+    };
+
+#endif