diff -r 05bc53fe583b -r 83ca720e2b9a cmmanager/cmmgr/Framework/Inc/destdlg.h --- /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 +#include +#include "destlistboxmodel.h" +#include "destlistbox.h" +#include "cmmanagerimpl.h" +#include "cmconnsettingsuiimpl.h" +#include +#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 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