idlehomescreen/xmluirendering/uiengine/src/xnviewcontroladapter.cpp
branchRCL_3
changeset 88 3321d3e205b6
parent 83 5456b4e8b3a8
child 93 b01126ce0bec
--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewcontroladapter.cpp	Wed Sep 01 12:32:46 2010 +0100
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnviewcontroladapter.cpp	Tue Sep 14 20:58:58 2010 +0300
@@ -23,9 +23,9 @@
 #include "xnnodepluginif.h"
 #include "xnnode.h"
 
-#include "xndomdocument.h"
 #include "xndomnode.h"
 #include "xnproperty.h"
+#include "xnviewswitcher.h"
 
 #include "xnviewcontroladapter.h"
 
@@ -73,7 +73,7 @@
 //
 CXnViewControlAdapter* CXnViewControlAdapter::NewL( CXnNodePluginIf& aNode )
     {
-	CXnViewControlAdapter* self = new( ELeave ) CXnViewControlAdapter( aNode );
+	CXnViewControlAdapter* self = new( ELeave ) CXnViewControlAdapter();
 
     CleanupStack::PushL( self );
     self->ConstructL( aNode );
@@ -126,8 +126,8 @@
 // C++ default constructor
 // -----------------------------------------------------------------------------
 //
-CXnViewControlAdapter::CXnViewControlAdapter( CXnNodePluginIf& aNode ) 
-    : iNode( aNode ), iAppUi( static_cast< CXnAppUiAdapter& >( *iAvkonAppUi ) )    
+CXnViewControlAdapter::CXnViewControlAdapter() : 
+    iAppUi( static_cast< CXnAppUiAdapter& >( *iAvkonAppUi ) )    
     {    
     }
 
@@ -187,8 +187,12 @@
 //
 void CXnViewControlAdapter::HandlePointerEventL( 
     const TPointerEvent& aPointerEvent )
-    {    
-    if ( iForegroundStatus != EBackground )
+    {
+    if ( iForegroundStatus != EBackground && 
+        ( iAppUi.UiEngine().IsPartialInputActive() || // no swipe if partial input active 
+        IsWidgetGestureDest() ||  // no swipe if widget handles it 
+        iAppUi.ViewSwitcher() == NULL || // no swipe if VS not available
+        !iAppUi.ViewSwitcher()->ProcessPointerEventL( aPointerEvent ) ) ) // no swipe if event not handled by VS
         {
         iAppUi.UiEngine().DisableRenderUiLC();