mmuifw_plat/mul_widget_api/inc/mul/mulevent.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:23:18 +0100
branchRCL_3
changeset 26 0e9bb658ef58
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035

/*
* 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:  Event class.
*
*/


#ifndef T_MULEVENT_H
#define T_MULEVENT_H

namespace Alf
{
    enum TMulEventType
        {
        ETypeHighlight= 200, 		        /*!< A message regarding an item getting highlighted.
                                         *  Data for the event will be the highlighted index(int).*/
        ETypeSelect,			        /*!< a message regarding an item getting selected.
                                         *  Data for the event will be the selected index(int).*/
        ETypeDoubleTap,			        /*!< a message regarding an item getting double tapped.
                                         *  Data for the event will be the selected index(int).*/
        ETypeMark,		                /*!< a message regarding start/stop of marking.
                                         *  Data for the event will be marking state(TMulMarkState).*/
        ETypeFastScroll,	            /*!< a message regarding start/stop of fast scrolling
                                         *  Data for the event will be fast scrolling state(TMulFastScrollState).*/
        ETypePrimaryValueChange,		/*!< a message regarding slider primary value getting changed
                                         *  Data for the event will be previous & current value 
                                         *  encapsulated within TMulSliderPos.*/
        ETypeSecondaryValueChange,	    /*!< a message regarding slider secondary value getting changed
                                         *  Data for the event will be previous & current value 
                                         *  encapsulated within TMulSliderPos.*/
        ETypeAction,                     /*!< a message regarding an action item being selected
                                         *  Data for the action event will be encapsulated within TMulActionItem.*/
                                         
        ETypeRemove,                     /*!< a message regarding an item has to be removed.
                                         * Data for the event will be the highlighted index(int).*/
                                         
        ECustomEventMarqueeFinished,     /*!< A message regarding marquee Finished.
                                         *  no custom data required.*/
        
        ECustomEventMarqueeStart,        /*!< A message regarding marquee started.
                                         *  no custom data required.*/ 
                                         
        ECustomEventIconClick,            /*!< A message regarding clicking on icon.
                                         *  no custom data required.*/ 
                                         
        EMulEventReorder,                 /*!< Data for the event will be previous and current index
                                         *  encapsulated within MulReorderValues .*/               

        EMulEventSwap,                    /*!< Data for the event will be previous and current index
                                         *  encapsulated within MulReorderValues .*/

        EMulEditorUpdated,                /*!< A message regarding plain text editor of an item is changed.
                                         *  Data for the event will be the item index(int).*/
                                                                                         
        ECustomHighlightClearTransition,  /*!< A message regarding transition after clear focus and before set focus finished.
                                           *  no custom data required.*/
        
        ECustomHighlightFocusTransition,   /*!< A message regarding transition after set focus finished.
                                            *no custom data required.*/
                                           
        ETypeItemMarked,                    /*!< a message regarding an item getting marked.
                                             * Data for the event will be the marked index(int).*/
                                                 
        ETypeItemUnmarked,                  	 /*!< a message regarding an item getting unmarked.
                                            	 * Data for the event will be the unmarked index(int).*/
                                         
        ECustomEventTitleMarqueeFinished,     	 /*!< A message regarding title marquee Finished.
                                         	  	 * no custom data required.*/
                                         
        ECustomEventDetailMarqueeStart,    		/*!< A message regarding detail marquee started.
                                            	 *  no custom data required.*/ 
                                            	 
        ECustomEventContinuousScroll, 			/*!< A message regarding Continuous Scrolling.
                                         		*  Data for the event is the View Start Position.*/
       
        ESliderDrag, 				  			/*!< A message regarding Slider starting the drag
                                         		*/
			                                   
		EVideoIconSelect,          				/*!< A message regarding there was tap on the video icon of the Coverflow widget full screen template.
			                                   	*  no custom data required.*/  
			                                   	
		ECustomEventVisiblePageIndexChanged,	/*!< a message regarding change of visible page
                                               	* Data for the event will be the first index of the new visible page.*/ 
                                               	
		ETypeSwitchUiStateOnDrag,                /*!< a message to switch off the ui when drag starts.
                                               	* no custom data required. This event is specific to coverflow widget*/
		
		ECustomEventIconRelease,                /*!< A message regarding release on icon.
                                                * no custom data required. */   
		
		ETypePinch,                             /*!< A message regarding a multitouch pinch gesture identified in coverflow */  
		
		ETypeItemRemoved                        /*!< A message regarding a remove operation completed. Requested by photos for refreshing
                                                     the HDMI view when an item is deleted, No custom data  */ 
        };
                                                       
        
    /*! @enum TMulMarkState
     * Marking state of the widget.
     */
    enum TMulMarkState
        {
        EMarkStart,         /*!< A state which indicates that the marking has started.*/
        EMarkStop           /*!< A state which indicates that the marking has stopped.*/
        };
        
    /*! @enum TMulFastScrollState
     * Fast Scroll State of the widget.
     */
    enum TMulFastScrollState
        {
        EScrollStart,       /*!< A state which indicates that the fast scrolling has started.*/
        EScrollSmallIcon,   /*!< A state which indicates that the fast scrolling is using 
                             *   the smaller size of the thumbnails.*/
        EScrollLargeIcon,   /*!< A state which indicates that the fast scrolling is using 
                             *   the larger size of the thumbnails.*/
        EScrollStop         /*!< A state which indicates that the fast scrolling has stopped.*/
        };
        
    /*! @struct TMulSliderPos 
     * The structure holds the data change details of the slider. It stores both the previous
     * value and current value of the slider thumb.
     */
    struct MulSliderPos
        {
        /* @var Original value of the slider thumb.*/
        int mPreviousValue;     
        
        /* @var New value of the slider thumb.*/
        int mCurrentValue;      
        };
    
   struct MulReorderValues
        {
        /* @var old value of the item index.*/
        int mOldIndex;     
        
        /* @var New value of the item index */
        int mNewIndex;      
        };    
   
   struct MulDoubleTapData
       {
       TPoint mDoubleTapPoint;
       TInt mTapVisualIndex;
       MulDoubleTapData() {
       mDoubleTapPoint.SetXY(0,0);
       mTapVisualIndex = -1 ;
       }
       }; // end of structure
       
        
}//namespacealf
#endif // T_MULEVENT_H