photosgallery/viewframework/views/cloudview/inc/glxcloudviewcontrol.h
branchRCL_3
changeset 9 6b87b143d312
parent 4 57d388cc48c1
child 14 ce1c7ad1f18b
child 21 4780393bfbba
equal deleted inserted replaced
5:f7f0874bfe7d 9:6b87b143d312
    29 #include <alf/ialfscrollbarwidget.h>
    29 #include <alf/ialfscrollbarwidget.h>
    30 
    30 
    31 //use includes
    31 //use includes
    32 #include <mglxmedialistobserver.h> 
    32 #include <mglxmedialistobserver.h> 
    33 #include "glxcontainerinfobubble.h"
    33 #include "glxcontainerinfobubble.h"
       
    34 #include "glxbubbletimer.h" //for timer functionality
    34 #include "glxcloudinfo.h"
    35 #include "glxcloudinfo.h"
    35 #include <alf/alfeventhandler.h>
    36 #include <alf/alfeventhandler.h>
    36 
    37 
    37 #include <AknLayout2Def.h>
    38 #include <AknLayout2Def.h>
    38 #include <aknphysicsobserveriface.h> //Physics - Kinetic scrolling listener
    39 #include <aknphysicsobserveriface.h> //Physics - Kinetic scrolling listener
    52 class MTouchFeedback;
    53 class MTouchFeedback;
    53 class MGlxCloudViewMskObserver;
    54 class MGlxCloudViewMskObserver;
    54 class MGlxEnterKeyEventObserver;
    55 class MGlxEnterKeyEventObserver;
    55 class MGlxCloudViewLayoutObserver;
    56 class MGlxCloudViewLayoutObserver;
    56 class CAknPhysics;
    57 class CAknPhysics;
       
    58 class CGlxTagsContextMenuControl ;
       
    59 class MGlxItemMenuObserver;
    57 
    60 
    58 enum TTagEventType
    61 enum TTagEventType
    59     {
    62     {
    60     ECustomEventFocusDragScroll
    63     ECustomEventFocusDragScroll
    61     };
    64     };
    67  */
    70  */
    68 
    71 
    69 class CGlxCloudViewControl : public CAlfControl,public IAlfWidgetEventHandler
    72 class CGlxCloudViewControl : public CAlfControl,public IAlfWidgetEventHandler
    70                             ,public MGlxMediaListObserver
    73                             ,public MGlxMediaListObserver
    71                             ,public MAknPhysicsObserver
    74                             ,public MAknPhysicsObserver
       
    75                             ,public MGlxTimerNotifier
    72 	{
    76 	{
    73 public:
    77 public:
    74 
    78 
    75 	/** 	
    79 	/** 	
    76 	 *  Perform the two phase construction
    80 	 *  Perform the two phase construction
    81 	 */
    85 	 */
    82 	static CGlxCloudViewControl *NewL(CAlfDisplay& aDisplay, CAlfEnv &aEnv,
    86 	static CGlxCloudViewControl *NewL(CAlfDisplay& aDisplay, CAlfEnv &aEnv,
    83 			MGlxMediaList& aMediaList, const TDesC& aEmptyText
    87 			MGlxMediaList& aMediaList, const TDesC& aEmptyText
    84 			,MGlxCloudViewMskObserver& aObserver
    88 			,MGlxCloudViewMskObserver& aObserver
    85 			,MGlxEnterKeyEventObserver& aObserverEnterKeyEvent,
    89 			,MGlxEnterKeyEventObserver& aObserverEnterKeyEvent,
    86 			CAlfAnchorLayout *aAnchorLayout,MGlxCloudViewLayoutObserver& aLayoutObserver);
    90 			CAlfAnchorLayout *aAnchorLayout,
       
    91 			MGlxCloudViewLayoutObserver& aLayoutObserver
       
    92 			,MGlxItemMenuObserver& aItemMenuObserver);
    87 
    93 
    88 	/** 	
    94 	/** 	
    89 	 *  Perform the two phase construction
    95 	 *  Perform the two phase construction
    90 	 *  @param aEnv - Env Variable of Alf
    96 	 *  @param aEnv - Env Variable of Alf
    91 	 *  @param aEmptyText - Specifies the text for the empty list
    97 	 *  @param aEmptyText - Specifies the text for the empty list
    94 	 */
   100 	 */
    95 	static CGlxCloudViewControl *NewLC(CAlfDisplay& aDisplay, CAlfEnv &aEnv,
   101 	static CGlxCloudViewControl *NewLC(CAlfDisplay& aDisplay, CAlfEnv &aEnv,
    96 			MGlxMediaList& aMediaList, const TDesC& aEmptyText
   102 			MGlxMediaList& aMediaList, const TDesC& aEmptyText
    97 			,MGlxCloudViewMskObserver& aObserver
   103 			,MGlxCloudViewMskObserver& aObserver
    98 			,MGlxEnterKeyEventObserver& aObserverEnterKeyEvent,
   104 			,MGlxEnterKeyEventObserver& aObserverEnterKeyEvent,
    99 			CAlfAnchorLayout *aAnchorLayout,MGlxCloudViewLayoutObserver& aLayoutObserver);
   105 			CAlfAnchorLayout *aAnchorLayout,MGlxCloudViewLayoutObserver& aLayoutObserver
       
   106 			,MGlxItemMenuObserver& aItemMenuObserver);
   100 
   107 
   101 	/**
   108 	/**
   102 	 * Destroy the object and release all memory objects
   109 	 * Destroy the object and release all memory objects
   103 	 */
   110 	 */
   104 	~CGlxCloudViewControl();
   111 	~CGlxCloudViewControl();
   179     * initialises data for scrollbar model
   186     * initialises data for scrollbar model
   180     * @param scrollbar widget
   187     * @param scrollbar widget
   181     */
   188     */
   182     void InitializeScrollBar(IAlfScrollBarWidget* aScrollBarWidget);
   189     void InitializeScrollBar(IAlfScrollBarWidget* aScrollBarWidget);
   183     
   190     
       
   191     /**
       
   192      * Hides/shows the grid layout
       
   193      * @param aShow - Show value
       
   194      */
       
   195     void ShowContextItemMenu(TBool aShow);
       
   196     
       
   197 public://MGlxTimernotifier
       
   198     /**
       
   199      * Virtual Function from MGlxTimernotifier
       
   200      */
       
   201     void TimerComplete();
       
   202     
   184 private:
   203 private:
   185 	/** 	
   204 	/** 	
   186 	 *  Perform the two phase construction
   205 	 *  Perform the two phase construction
   187 	 *  @param  aEvent - key Event to handle
   206 	 *  @param  aEvent - key Event to handle
   188 	 *  @return EKeyWasConsumed if key event is processed,
   207 	 *  @return EKeyWasConsumed if key event is processed,
   265 
   284 
   266 	/** 
   285 	/** 
   267  	 *  Perform the second phase of two phase construction
   286  	 *  Perform the second phase of two phase construction
   268 	 *  @param aEmptyText - Specifies the text for the empty list
   287 	 *  @param aEmptyText - Specifies the text for the empty list
   269 	 */
   288 	 */
   270 	void ConstructL(const TDesC& aEmptyText,CAlfDisplay& aDisplay,CAlfAnchorLayout *aAnchorLayout);
   289 	void ConstructL(const TDesC& aEmptyText,CAlfDisplay& aDisplay,
       
   290 	        CAlfAnchorLayout *aAnchorLayout,MGlxItemMenuObserver& aItemMenuObserver);
   271 	
   291 	
   272 	/** 
   292 	/** 
   273 	 * Updates Row Structure 
   293 	 * Updates Row Structure 
   274 	 * 
   294 	 * 
   275 	 */
   295 	 */
   547 	TInt iLayoutIndex;
   567 	TInt iLayoutIndex;
   548 
   568 
   549 	//  initiates bubble container 
   569 	//  initiates bubble container 
   550 	CGlxContainerInfoBubble *iBubbleContainer;
   570 	CGlxContainerInfoBubble *iBubbleContainer;
   551 	
   571 	
   552 
       
   553 	// Fetch context for list item attributes 
   572 	// Fetch context for list item attributes 
   554 	CGlxDefaultAttributeContext* iAttributeContext;
   573 	CGlxDefaultAttributeContext* iAttributeContext;
   555 	
   574 	
   556 	// for storing screen height 
   575 	// for storing screen height 
   557 	TInt iScreenHeight;
   576 	TInt iScreenHeight;
   623 	//boolean to check whether physics emulation is going on or not
   642 	//boolean to check whether physics emulation is going on or not
   624 	TBool iPhysicsStarted;
   643 	TBool iPhysicsStarted;
   625 	
   644 	
   626 	//boolean to check if dragging really happened
   645 	//boolean to check if dragging really happened
   627 	TBool iViewDragged;
   646 	TBool iViewDragged;
       
   647 	
       
   648     /**variable used for providing delay */
       
   649     CGlxBubbleTimer* iTimer;    
       
   650 
       
   651     //Alfcontrol to draw grid layout for handling floating bar menu items
       
   652     CGlxTagsContextMenuControl* iTagsContextMenuControl;
       
   653     
       
   654     /**flag for Timer completion */
       
   655     TBool iTimerComplete;
   628 	};
   656 	};
   629 
   657 
   630 #endif // C_GLXCLOUDVIEWCONTROL_H
   658 #endif // C_GLXCLOUDVIEWCONTROL_H
   631 
   659