uiservicetab/vimpstdetailsviewplugin/inc/cvimpstdetailsviewmenuhandler.h
changeset 0 5e5d6b214f4f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uiservicetab/vimpstdetailsviewplugin/inc/cvimpstdetailsviewmenuhandler.h	Tue Feb 02 10:12:18 2010 +0200
@@ -0,0 +1,160 @@
+/*
+* Copyright (c) 2008 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:  Implementation of detailsview plugin menu handler
+ *
+*/
+
+
+#ifndef CVIMPSTDETAILSVIEWMENUHANDLER_H
+#define CVIMPSTDETAILSVIEWMENUHANDLER_H
+
+#include <e32base.h>
+#include <AiwServiceHandler.h>
+#include "cvimpstdetailscontacthandler.h"
+
+class CVIMPSTDetailsViewPlugin;
+class CAiwServiceHandler;
+/**
+ *  Class implementing vimpstdetailsviewplugin menu functionality
+ *
+ *  @lib vimpstdetailsviewplugin.dll
+ *  @since S60 v3.2
+ */
+ 
+class CVIMPSTDetailsViewMenuHandler : public CBase, public MAiwNotifyCallback
+	{
+
+	public:
+
+	    /**
+	     * Two-phased constructor.
+	     * @param aPlugin, reference to CVIMPSTDetailsViewPlugin class
+	     * @param aStoreType, store type to indicate wether server contact store or local store
+	     * @return Pointer to this class
+	     * @since S60 v5.0
+	     */
+	    
+	    static CVIMPSTDetailsViewMenuHandler* NewL(CVIMPSTDetailsViewPlugin& aPlugin,
+	                                                TStoreType aStoreType );
+
+	    /**
+	     * Destructor.
+	     * @since S60 v5.0
+	     */
+	    ~CVIMPSTDetailsViewMenuHandler();
+
+	public: // from base class CCCAppViewPluginBase
+
+	     /**
+	     * From CCCAppViewPluginBase
+	     * (see details from header)
+	     * @param aResourceId, a resource id 
+	     * @param aMenuPane, reference to menu pane
+	     * @since S60 v5.0
+	     */
+	    void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
+
+	     /**
+	     * From CCCAppViewPluginBase
+	     * (see details from header)
+	     * @param aCommand, a command id to handle 
+	     * @since S60 v5.0
+	     */
+	    void HandleCommandL(TInt aCommand);
+
+	private:
+
+	      
+	    /**
+	     * edit the selected field 
+	     *
+	     * @since S60 v5.0
+	     */
+	    void DoEditCmdL();
+	        
+	    /**
+	     * delete the contact
+	     *
+	     * @since S60 v5.0
+	     */
+	     
+	    void DoDeleteCmdL();
+	    
+	     /**
+	     * copy the clip board of selected field
+	     *
+	     * @since S60 v5.0
+	     */
+	    void DoCopyCmdL();
+	
+	    /**
+	     * Prepares plugin for AIW-menu usage
+	     *
+	     * @since S60 v5.0
+	     */
+	    void PrepareAiwMenusL();	
+	   
+	private: // constructors
+
+		/**
+	     * default constructor
+	     * @param aPlugin, reference to CVIMPSTDetailsViewPlugin class
+	     * @param aStoreType, store type to indicate wether server contact store or local store
+	     * @since S60 v5.0
+	     */
+	    CVIMPSTDetailsViewMenuHandler(CVIMPSTDetailsViewPlugin& aPlugin, 
+	                                   TStoreType aStoreType);
+
+		/**
+	     * provide the two phase construction 
+	     *
+	     * @since S60 v5.0
+	     */
+	    void ConstructL();
+
+	public: // From MAiwNotifyCallback
+	    
+	    /**
+	     * call back method for aiwcommands. MAiwNotifyCallback
+	     * @param aCmdId, id of the aiwcommand
+	     * @param aEventId, event id of the aiw command
+	     * @param EventParamList, callback data is passed 
+	     * @param aInParamList, aiw command params
+	     * @since S60 v5.0
+	     */
+	    TInt HandleNotifyL(
+	            TInt aCmdId,
+	            TInt aEventId,
+	            CAiwGenericParamList& aEventParamList,
+	            const CAiwGenericParamList& aInParamList);
+	private: // data
+
+	    /**
+	     * Not Owns : reference to class handling the view
+	     */
+	    CVIMPSTDetailsViewPlugin& iPlugin;
+
+	    /**
+	     * Pointer to AIW service handler
+	     * Own.
+	     */
+	    CAiwServiceHandler* iAiwServiceHandler;
+	    
+	    // owns : store type
+	    TStoreType iStoreType;
+	  	};
+
+	#endif // CVIMPSTDETAILSVIEWMENUHANDLER_H
+
+	// End of File