organizer_plat/calendar_common_utils_api/inc/calennavilabel.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 02 Feb 2010 10:12:19 +0200
changeset 0 f979ecb2b13e
permissions -rw-r--r--
Revision: 201003 Kit: 201005

/*
* Copyright (c) 2005 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:  Controller class for editing related UI behavior 
 *
*/

#ifndef __CALENNAVILABEL_H__
#define __CALENNAVILABEL_H__

// System includes
#include <aknnavilabel.h> 

/**
 * @class MCCalenNaviLabelObserver 
 * @brief Observer for navi label events
 * Clients have to implement this to listen for navi label events
 */
class MCCalenNaviLabelObserver
    {
    public:
		
		/**
		* @enum TCCalenNaviLabelEvents
		* @brief The different navi label events
		*/
	    enum TCCalenNaviLabelEvents
	        {
	        ECCalenNaviLabelEventRight,
	        ECCalenNaviLabelEventLeft,
	        ECCalenNaviLabelGo
	        };

    public:
	
		/**
		 * @brief Callback function to handle navi label events. 
		 * Observers need to implement this function to handle navi label events
		 *
		 * @param aEventID The event generated by the navi label
		 */
		virtual void HandleNaviLabelEventL( TInt aEventID ) = 0; 
    };

/**
 * @class CCalenNaviLabel 
 * @brief The navi label class
 */
NONSHARABLE_CLASS( CCalenNaviLabel ) : public CAknNaviLabel
    {
    public:
		
		/**
		 * @brief Defaulr C++ constructor
		 */
	    IMPORT_C CCalenNaviLabel();
		
		/**
		 * @brief Defaulr C++ destructor
		 */
	    IMPORT_C ~CCalenNaviLabel();
		
		/**
		 * @brief From CAknNaviLabel. Callback function to handle pointer events.
		 */
	    IMPORT_C void HandlePointerEventL( const TPointerEvent& aPointerEvent );
		
		/**
		 * @brief Sets the navi label event observer to aObserver
		 *
		 *@param aObserver The observer of navi label events, of type MCCalenNaviLabelObserver*
		 */
	    IMPORT_C void SetLabelObserver( MCCalenNaviLabelObserver* aObserver );
		
    private:		// Data
	
		/**
		 * @var iLabelObserver
		 *
		 *@brief The pointer to the label event observer
		 */
		MCCalenNaviLabelObserver*		iLabelObserver;
    };

#endif // __CALENNAVILABEL_H__

// End of File