idlehomescreen/xmluirendering/uiengine/src/xnwidgetextensionadapter.cpp
branchRCL_3
changeset 35 3321d3e205b6
parent 34 5456b4e8b3a8
equal deleted inserted replaced
34:5456b4e8b3a8 35:3321d3e205b6
    96 // 
    96 // 
    97 // -----------------------------------------------------------------------------
    97 // -----------------------------------------------------------------------------
    98 // 
    98 // 
    99 void CXnWidgetExtensionAdapter::HandleScreenDeviceChangedL()
    99 void CXnWidgetExtensionAdapter::HandleScreenDeviceChangedL()
   100 	{
   100 	{
   101     if( IsVisible() )
   101     if( iPopup )
   102 		{
   102 		{
   103 	    CCoeControl::MakeVisible( EFalse );
   103         HidePopupL();	    
   104 		}
   104 		}
   105 	CXnControlAdapter::HandleScreenDeviceChangedL();
   105     
   106 	
   106 	CXnControlAdapter::HandleScreenDeviceChangedL();	
   107 	}
   107 	}
   108 
   108 
   109 // -----------------------------------------------------------------------------
   109 // -----------------------------------------------------------------------------
   110 // CXnWidgetExtensionAdapter::CXnWidgetExtensionAdapter
   110 // CXnWidgetExtensionAdapter::CXnWidgetExtensionAdapter
   111 // C++ default constructor. Must not leave.
   111 // C++ default constructor. Must not leave.
   176         {
   176         {
   177         return;
   177         return;
   178         }
   178         }
   179     
   179     
   180     CXnPluginData* plugin( 
   180     CXnPluginData* plugin( 
   181             iAppUiAdapter->ViewManager().ActiveViewData().Plugin( &iNode.Node() ) );
   181         iAppUiAdapter->ViewManager().ActiveViewData().Plugin( &iNode.Node() ) );
   182 
   182 
   183     if ( !plugin )
   183     if ( !plugin )
   184         {
   184         {
   185         return;
   185         return;
   186         }
   186         }
   187 
   187 
   188     SetPointerCapture( aVisible );
   188     SetPointerCapture( aVisible );
       
   189     Window().SetPointerGrab( aVisible );
   189 
   190 
   190     plugin->SetIsDisplayingPopup( aVisible, &iNode.Node() );
   191     plugin->SetIsDisplayingPopup( aVisible, &iNode.Node() );
   191     
   192     
   192     if ( !iPopup )
   193     if ( !iPopup )
   193         {
   194         {
   229             GfxTransEffect::Begin( this, KGfxControlDisappearAction );
   230             GfxTransEffect::Begin( this, KGfxControlDisappearAction );
   230             }
   231             }
   231         effectStarted = ETrue;
   232         effectStarted = ETrue;
   232         }
   233         }
   233 
   234 
       
   235     if ( aVisible && OwnsWindow() )
       
   236         {
       
   237         Window().SetOrdinalPosition( 0 );
       
   238         }
       
   239 
   234     CCoeControl::MakeVisible( aVisible );
   240     CCoeControl::MakeVisible( aVisible );
   235 
   241 
   236     if ( effectStarted )
   242     if ( effectStarted )
   237         {
   243         {
   238         GfxTransEffect::SetDemarcation( this, iPosition );
   244         GfxTransEffect::SetDemarcation( this, iPosition );
   245 // 
   251 // 
   246 // -----------------------------------------------------------------------------
   252 // -----------------------------------------------------------------------------
   247 //    
   253 //    
   248 void CXnWidgetExtensionAdapter::HandlePointerEventL( 
   254 void CXnWidgetExtensionAdapter::HandlePointerEventL( 
   249     const TPointerEvent& aPointerEvent )
   255     const TPointerEvent& aPointerEvent )
   250     {
   256     {    
   251     
       
   252     // in case of popup, we have to make sure that 
   257     // in case of popup, we have to make sure that 
   253     // it will be closed after tapping outside of the
   258     // it will be closed after tapping outside of the
   254     // area of itself and its parent
   259     // area of itself and its parent
   255     if ( iPopup )
   260     if ( iPopup )
   256         {        
   261         {