defaultapplicationsettings/server/inc/das_srvmime_dlg.h
branchRCL_3
changeset 35 5f281e37a2f5
parent 0 254040eb3b7d
--- /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 <badesca.h> // CDesCArray
+#include <coecntrl.h> // CCoeControl
+#include <eiklbo.h> // MEikListBoxObserver
+
+
+#include <aknselectionlist.h> 
+#include <aknsettingitemlist.h> 
+
+// 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<CGulIcon>* 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