diff -r 90fe62538f66 -r 5f281e37a2f5 defaultapplicationsettings/server/inc/das_srvmime_dlg.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defaultapplicationsettings/server/inc/das_srvmime_dlg.h Wed Sep 01 12:33:30 2010 +0100 @@ -0,0 +1,197 @@ +/* +* Copyright (c) 2005-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: The Service & MIME list dlg +* +*/ + + +#ifndef C_DEFAULTAPPSRVMIMEDLG_H +#define C_DEFAULTAPPSRVMIMEDLG_H + + +#include // CDesCArray +#include // CCoeControl +#include // MEikListBoxObserver + + +#include +#include + +// FORWARD DECLARATIONS +class CAknDoubleStyleListBox; +class CDefaultAppAppUi; +//class CDefaultAppServMimeApps; + +/** + * This is the Dialog class of the application + * + * This dialog displays a double list box and it can also display a pop-up list on top of it. + * The elements of the lists are created by the engine (CDefaultAppServMimeApps class) + * + * @since S60 v5.0 + */ +class CDefaultAppSrvMimeDlg : public CAknSelectionListDialog, + public MListBoxItemChangeObserver + { +public: + + /** + * Symbian OS two-phased constructor + * @return + */ + static CDefaultAppSrvMimeDlg* NewL(CDefaultAppAppUi* aAppUi); + + /** + * Destructor. + */ + virtual ~CDefaultAppSrvMimeDlg(); + +public: //from CAknSelectionListDialog + + /** + * From CAknSelectionListDialog. + * This function is called when buttons/softkeys are pressed, to check if the dlg should exit. + * We always return EFalse, since this is a modeless & nonwaiting dialog. + * + * @since S60 v5.0 + * @param aButtonId the list box for which the event happened + */ + virtual TBool OkToExitL(TInt aButtonId); + + /** + * From CAknSelectionListDialog. + * This function is called when a command is issued by the user. + * + * @since S60 v5.0 + * @param aCommandId the list box for which the event happened + */ + virtual void ProcessCommandL(TInt aCommand); + + /** + * From CAknSelectionListDialog. + * This function is called during the construction of the dialog. + * We build the list of elements here. + * + * @since S60 v5.0 + */ + virtual void PreLayoutDynInitL(); + + +public: //from CAknDialog + + /** + * From CAknDialog. + * This function is called to complete the menu construction. + * + * @since S60 v5.0 + * @param aResourceId the resource id + * @param aMenuPane the menu class instance + */ + virtual void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); + +public: //from CCoeControl + + /** + * From CCoeControl. + * This function is called to get the help context + * + * @since S60 v5.0 + * @param aContext recipient for the help context + */ + virtual void GetHelpContext(TCoeHelpContext& aContext) const; + + /** + * From CCoeControl. + * Called by the framework when the view size is changed + * + * @since S60 v5.0 + */ + virtual void SizeChanged(); + + /** + * From CCoeControl. + * Called by the framework to process the key event + * + * @since S60 v5.0 + */ + virtual TKeyResponse OfferKeyEventL(const TKeyEvent &aKeyEvent, TEventCode aType); + + +public: //own functions + + /** + * Enables marquee for the list elements. + * + * @since S60 v5.0 + */ + void EnableMarqueeL(); + + + /** + * Part of the popup menu construction process: + * gets 2 icons, the selected (ticked) and empty icon + * + * @since S60 v5.0 + * @return an array with the 2 icons + */ + CArrayPtr* GetPopupListIconsL() const; + + /** + * Creates a pop-up list for a selected item of the list-box. + * + * @since S60 v5.0 + * @param aSelectedIndex the selected element (used to get the content of the pop-up list) + */ + void OpenMenuForSelectedServiceAndMimeL(TInt aSelectedIndex); +public: + //from MListBoxItemChangeObserver + void ListBoxItemsChanged(CEikListBox* aListBox); + +private: //construction + + /** + * C++ default constructor. + */ + CDefaultAppSrvMimeDlg(CDefaultAppAppUi* aAppUi, TInt *aSelected); + +private: //data + /** + * Pointer to the AppUi + * Not Owned. + */ + CDefaultAppAppUi* iDefaultAppUi; + + /** + * The index of the selected element in the list. This is pointer to AppUI's index + * Not owned. + */ + TInt *iSelected; + + /** + * Flag allowing to exit the dialog + */ + TBool iOkToExit; + + /** + * Pointer refer to CAknPopupList + */ + CAknPopupList* iPopupList; + }; + + +#endif // C_DEFAULTAPPSRVMIMEDLG_H + +// end of file + + \ No newline at end of file