taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappui.h
branchRCL_3
changeset 18 d05a55b217df
parent 17 b8fae6b8a148
child 23 7be2816dbabd
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappui.h	Wed Mar 31 21:17:19 2010 +0300
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappui.h	Wed Apr 14 15:47:59 2010 +0300
@@ -51,7 +51,8 @@
     ENoneTransition = 0,
     EForegroundTransition = 3,
     EBackgroundTransition = 4,
-    EActivationTransition = 5
+    EActivationTransition = 5,
+    EActivationAppShowTransition = 1507,
     
     };
     /**
@@ -80,7 +81,9 @@
     /**
      * Function start transition  
      */
-    void StartTransion( TUint aTransitionType );
+    void StartTransion( TUint aTransitionType,
+            TUid aNextAppUid = TUid::Null(),
+            TInt aWgId = 0 );
     
     /**
      * from MGfxTransEffectObserver
@@ -88,7 +91,9 @@
     void TransitionFinished(const CCoeControl* aControl, TUint aAction);
     
     void MoveAppToForeground( TUint aTransitionType );
-    void MoveAppToBackground( TUint aTransitionType );
+    void MoveAppToBackground( TUint aTransitionType,
+            TUid aAppUid = TUid::Null(),
+            TInt aWgId = 0 );
     
     /**
      * Functions for showing/hiding popups.
@@ -117,11 +122,15 @@
     void HandleResourceChangeL( TInt aType );
     void HandleForegroundEventL( TBool aForeground );
     void HandleCommandL( TInt aCommand );
+    void HandleWsEventL(const TWsEvent& aEvent,
+            CCoeControl* aDestination);
     
     void StartTransition( TUint aTranstionId,
                           TBool aVisibility,
                           TBool aLayers, 
                           TUint aSubCom );
+    
+    void StartAppActivateTransition( TUid aNextAppUid, TInt aWgId );
 
 private: // New functions
     
@@ -149,8 +158,33 @@
      * task switcher app
      */
     void FreeMemoryRequest();
+    
+    /**
+     * Returns id of window group lying beneath task
+     * switcher window group. 
+     * In case of embeded app it returns top paren window group.
+     * 
+     * @param  aIgnoreParentChild  if set to ETrue, parent/child relationship
+     *                             will be ignored when deteriminig window
+     *                             group id
+     */
+    TInt WgIdOfUnderlyingApp( TBool aIgnoreParentChild );
 
     static TInt GoToBackgroundTimerCallback( TAny* aParam );
+    
+    /*
+     * Returns id of top parent window group for embeded window group.
+     * @param aChildWg embeded window group id
+     * @return top parent window group id or 0 in case od standlalone 
+     */
+    TInt GetTopParentWg( TInt aChildWg);
+
+    /*
+     * Returns id of parent window group for embeded window group.
+     * @param aChildWg embeded window group id
+     * @return parent window group id or 0 in case od standlalone 
+     */
+    TInt GetParentWg( TInt aChildWg );
 
 private:
 
@@ -191,6 +225,8 @@
     TBool iUiStarted;
     TBool iDisableAppKeyHandling;
     
+    TInt iUnderAppWgId;
+    
     };
 
 #endif // TSAPPUI_H