idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp
branchRCL_3
changeset 47 7be2816dbabd
parent 38 79311d856354
child 54 1b758917cafc
equal deleted inserted replaced
38:79311d856354 47:7be2816dbabd
  8357             {
  8357             {
  8358             if( !redrawRegion.IsEmpty() )                                        
  8358             if( !redrawRegion.IsEmpty() )                                        
  8359                 {
  8359                 {
  8360                 // Mark tree rendered
  8360                 // Mark tree rendered
  8361                 iCurrentView->SetRenderedL();
  8361                 iCurrentView->SetRenderedL();
       
  8362                                 
       
  8363                 if ( iAppUiAdapter.EffectManager()->ControlEffectActive( control ) )
       
  8364                     {
       
  8365                     // control effect is ongoing, no need to draw control yet
       
  8366                     redrawRegion.Clear();
       
  8367                     continue;
       
  8368                     }
       
  8369                 
  8362                 TInt count( redrawRegion.Count() );
  8370                 TInt count( redrawRegion.Count() );
  8363                 
  8371                 
  8364                 if( count > 2 )
  8372                 if( count > 2 )
  8365                     {
  8373                     {
  8366                     // Make bounding rect over the dirty areas
  8374                     // Make bounding rect over the dirty areas
  8670     iCurrentViewControlAdapter = iCurrentView->Control();
  8678     iCurrentViewControlAdapter = iCurrentView->Control();
  8671     
  8679     
  8672     iDirtyList.Reset();
  8680     iDirtyList.Reset();
  8673 
  8681 
  8674     iRedrawRegions.ResetAndDestroy();
  8682     iRedrawRegions.ResetAndDestroy();
  8675 
  8683        
  8676     // Remove previous menubar and stylus popup node
  8684     // Remove previous menubar and stylus popup node
  8677     iMenuNode = NULL;
  8685     iMenuNode = NULL;
  8678     iStylusPopupNode = NULL;
  8686     iStylusPopupNode = NULL;
  8679 
  8687 
  8680     if ( iKeyEventDispatcher )
  8688     if ( iKeyEventDispatcher )
  8709             static_cast< CXnPopupControlAdapter* > 
  8717             static_cast< CXnPopupControlAdapter* > 
  8710 				( node->Control() )->SetObserver( *this );
  8718 				( node->Control() )->SetObserver( *this );
  8711             }
  8719             }
  8712         }
  8720         }
  8713 
  8721 
  8714     // Set menu node even if its NULL, to allow keyevent dispatcher
       
  8715     // to handle no softkeys
       
  8716     if ( iKeyEventDispatcher )
       
  8717         {
       
  8718         iKeyEventDispatcher->SetMenuNodeL( iMenuNode );    
       
  8719         }
       
  8720     
       
  8721     ReportScreenDeviceChangeL();
  8722     ReportScreenDeviceChangeL();
  8722             
  8723             
  8723     SetClientRectL( iAppUiAdapter.ClientRect(), EFalse );
  8724     SetClientRectL( iAppUiAdapter.ClientRect(), EFalse );
  8724     
  8725     
  8725     RootNode()->SetDirtyL();
  8726     RootNode()->SetDirtyL();
       
  8727            
  8726     ForceRenderUIL();
  8728     ForceRenderUIL();
       
  8729            
       
  8730     iLayoutControl &= ~XnLayoutControl::ERefreshMenu;
  8727     }
  8731     }
  8728 
  8732 
  8729 // -----------------------------------------------------------------------------
  8733 // -----------------------------------------------------------------------------
  8730 // CXnUiEngineImpl::NotifyWidgetAdditionL()
  8734 // CXnUiEngineImpl::NotifyWidgetAdditionL()
  8731 // -----------------------------------------------------------------------------
  8735 // -----------------------------------------------------------------------------
  8919 // Refresh current menu
  8923 // Refresh current menu
  8920 // -----------------------------------------------------------------------------
  8924 // -----------------------------------------------------------------------------
  8921 //
  8925 //
  8922 void CXnUiEngineImpl::RefreshMenuL()
  8926 void CXnUiEngineImpl::RefreshMenuL()
  8923     {
  8927     {
  8924     if ( iLayoutControl & XnLayoutControl::ERefreshMenu )
  8928     if ( IsLayoutDisabled() )
       
  8929         {
       
  8930         return;
       
  8931         }
       
  8932     
       
  8933     if ( iLayoutControl & XnLayoutControl::ERefreshMenu )         
  8925         {
  8934         {
  8926         if ( iKeyEventDispatcher )
  8935         if ( iKeyEventDispatcher )
  8927             {
  8936             {
       
  8937             iLayoutControl &= ~XnLayoutControl::ERefreshMenu;
  8928             iKeyEventDispatcher->RefreshMenuL();        
  8938             iKeyEventDispatcher->RefreshMenuL();        
  8929             }
  8939             }               
  8930         
       
  8931         iLayoutControl &= ~XnLayoutControl::ERefreshMenu;
       
  8932         }
  8940         }
  8933     }
  8941     }
  8934 
  8942 
  8935 // -----------------------------------------------------------------------------
  8943 // -----------------------------------------------------------------------------
  8936 // CXnUiEngineImpl::AddDirtyNodeL
  8944 // CXnUiEngineImpl::AddDirtyNodeL
  9116     
  9124     
  9117     RootNode()->SetDirtyL();
  9125     RootNode()->SetDirtyL();
  9118 
  9126 
  9119     ReportScreenDeviceChangeL();
  9127     ReportScreenDeviceChangeL();
  9120     
  9128     
  9121     iViewManager.OrientationChanged();
  9129     iAppUiAdapter.EffectManager()->OrientationChanged();
  9122             
  9130             
  9123     if ( !iControlAdapterList )
  9131     if ( !iControlAdapterList )
  9124         {
  9132         {
  9125         iControlAdapterList = &iViewManager.Controls();
  9133         iControlAdapterList = &iViewManager.Controls();
  9126         }
  9134         }