photosgallery/viewframework/views/cloudview/inc/glxcloudviewcontrol.h
branchRCL_3
changeset 9 6b87b143d312
parent 4 57d388cc48c1
child 14 ce1c7ad1f18b
child 21 4780393bfbba
--- a/photosgallery/viewframework/views/cloudview/inc/glxcloudviewcontrol.h	Tue Feb 02 10:12:14 2010 +0200
+++ b/photosgallery/viewframework/views/cloudview/inc/glxcloudviewcontrol.h	Fri Feb 19 22:51:01 2010 +0200
@@ -31,6 +31,7 @@
 //use includes
 #include <mglxmedialistobserver.h> 
 #include "glxcontainerinfobubble.h"
+#include "glxbubbletimer.h" //for timer functionality
 #include "glxcloudinfo.h"
 #include <alf/alfeventhandler.h>
 
@@ -54,6 +55,8 @@
 class MGlxEnterKeyEventObserver;
 class MGlxCloudViewLayoutObserver;
 class CAknPhysics;
+class CGlxTagsContextMenuControl ;
+class MGlxItemMenuObserver;
 
 enum TTagEventType
     {
@@ -69,6 +72,7 @@
 class CGlxCloudViewControl : public CAlfControl,public IAlfWidgetEventHandler
                             ,public MGlxMediaListObserver
                             ,public MAknPhysicsObserver
+                            ,public MGlxTimerNotifier
 	{
 public:
 
@@ -83,7 +87,9 @@
 			MGlxMediaList& aMediaList, const TDesC& aEmptyText
 			,MGlxCloudViewMskObserver& aObserver
 			,MGlxEnterKeyEventObserver& aObserverEnterKeyEvent,
-			CAlfAnchorLayout *aAnchorLayout,MGlxCloudViewLayoutObserver& aLayoutObserver);
+			CAlfAnchorLayout *aAnchorLayout,
+			MGlxCloudViewLayoutObserver& aLayoutObserver
+			,MGlxItemMenuObserver& aItemMenuObserver);
 
 	/** 	
 	 *  Perform the two phase construction
@@ -96,7 +102,8 @@
 			MGlxMediaList& aMediaList, const TDesC& aEmptyText
 			,MGlxCloudViewMskObserver& aObserver
 			,MGlxEnterKeyEventObserver& aObserverEnterKeyEvent,
-			CAlfAnchorLayout *aAnchorLayout,MGlxCloudViewLayoutObserver& aLayoutObserver);
+			CAlfAnchorLayout *aAnchorLayout,MGlxCloudViewLayoutObserver& aLayoutObserver
+			,MGlxItemMenuObserver& aItemMenuObserver);
 
 	/**
 	 * Destroy the object and release all memory objects
@@ -181,6 +188,18 @@
     */
     void InitializeScrollBar(IAlfScrollBarWidget* aScrollBarWidget);
     
+    /**
+     * Hides/shows the grid layout
+     * @param aShow - Show value
+     */
+    void ShowContextItemMenu(TBool aShow);
+    
+public://MGlxTimernotifier
+    /**
+     * Virtual Function from MGlxTimernotifier
+     */
+    void TimerComplete();
+    
 private:
 	/** 	
 	 *  Perform the two phase construction
@@ -267,7 +286,8 @@
  	 *  Perform the second phase of two phase construction
 	 *  @param aEmptyText - Specifies the text for the empty list
 	 */
-	void ConstructL(const TDesC& aEmptyText,CAlfDisplay& aDisplay,CAlfAnchorLayout *aAnchorLayout);
+	void ConstructL(const TDesC& aEmptyText,CAlfDisplay& aDisplay,
+	        CAlfAnchorLayout *aAnchorLayout,MGlxItemMenuObserver& aItemMenuObserver);
 	
 	/** 
 	 * Updates Row Structure 
@@ -549,7 +569,6 @@
 	//  initiates bubble container 
 	CGlxContainerInfoBubble *iBubbleContainer;
 	
-
 	// Fetch context for list item attributes 
 	CGlxDefaultAttributeContext* iAttributeContext;
 	
@@ -625,6 +644,15 @@
 	
 	//boolean to check if dragging really happened
 	TBool iViewDragged;
+	
+    /**variable used for providing delay */
+    CGlxBubbleTimer* iTimer;    
+
+    //Alfcontrol to draw grid layout for handling floating bar menu items
+    CGlxTagsContextMenuControl* iTagsContextMenuControl;
+    
+    /**flag for Timer completion */
+    TBool iTimerComplete;
 	};
 
 #endif // C_GLXCLOUDVIEWCONTROL_H