uifw/EikStd/coctlsrc/eikspane.cpp
branchRCL_3
changeset 15 08e69e956a8c
parent 10 9f56a4e1b8ab
child 25 941195f2d488
equal deleted inserted replaced
10:9f56a4e1b8ab 15:08e69e956a8c
  1175      *                              @c NULL.
  1175      *                              @c NULL.
  1176      * @param  aRedrawStoreHandler  Pointer to the redraw store handler should
  1176      * @param  aRedrawStoreHandler  Pointer to the redraw store handler should
  1177      *                              be also passed if @c aParentWindowGroup
  1177      *                              be also passed if @c aParentWindowGroup
  1178      *                              is specified.
  1178      *                              is specified.
  1179      * @param  aTransparent         Whether or not the control is transparent.
  1179      * @param  aTransparent         Whether or not the control is transparent.
       
  1180      * @param  aIsFaded             Whether or not the control's window should
       
  1181      *                              be faded or not.
  1180      */
  1182      */
  1181     void SetParentWindowL( RWindowGroup* aParentWindowGroup,
  1183     void SetParentWindowL( RWindowGroup* aParentWindowGroup,
  1182                            CCoeControl* aParentControl,
  1184                            CCoeControl* aParentControl,
  1183                            CRedrawStoreHandler* aRedrawStoreHandler,
  1185                            CRedrawStoreHandler* aRedrawStoreHandler,
  1184                            TBool aTransparent );
  1186                            TBool aTransparent,
       
  1187                            TBool aIsFaded );
  1185     
  1188     
  1186     /**
  1189     /**
  1187      * Sets the container control transparency.
  1190      * Sets the container control transparency.
  1188      * The background drawer is used if transparency is not enabled.
  1191      * The background drawer is used if transparency is not enabled.
  1189      * 
  1192      * 
  2602 //
  2605 //
  2603 void CEikStatusPaneContainer::SetParentWindowL(
  2606 void CEikStatusPaneContainer::SetParentWindowL(
  2604     RWindowGroup* aParentWindowGroup,
  2607     RWindowGroup* aParentWindowGroup,
  2605     CCoeControl* aParentControl,
  2608     CCoeControl* aParentControl,
  2606     CRedrawStoreHandler* aRedrawStoreHandler,
  2609     CRedrawStoreHandler* aRedrawStoreHandler,
  2607     TBool aTransparent )
  2610     TBool aTransparent,
       
  2611     TBool aIsFaded )
  2608     {
  2612     {
  2609     if ( aParentWindowGroup )
  2613     if ( aParentWindowGroup )
  2610         {
  2614         {
  2611         MakeVisible( EFalse );
  2615         MakeVisible( EFalse );
  2612     
  2616     
  2613         SetMopParent( iEikonEnv->EikAppUi() );
  2617         SetMopParent( iEikonEnv->EikAppUi() );
  2614         SetParent( NULL );
  2618         SetParent( NULL );
       
  2619 
       
  2620         // Maintain the window's ordinal position.
       
  2621         TInt ordinalPos = Window().OrdinalPosition();
  2615 
  2622 
  2616         if ( OwnsWindow() )
  2623         if ( OwnsWindow() )
  2617             {
  2624             {
  2618             CloseWindow();
  2625             CloseWindow();
  2619             }
  2626             }
  2642         window.SetShadowDisabled( ETrue );
  2649         window.SetShadowDisabled( ETrue );
  2643         window.SetNonFading( !LafStatusPaneContainer::AllowFading() );
  2650         window.SetNonFading( !LafStatusPaneContainer::AllowFading() );
  2644         EnableDragEvents();
  2651         EnableDragEvents();
  2645 
  2652 
  2646         SetContainersL( *iControl, *this );
  2653         SetContainersL( *iControl, *this );
       
  2654 
       
  2655         window.SetFaded( aIsFaded, RWindowTreeNode::EFadeIncludeChildren );
       
  2656         window.SetOrdinalPosition( ordinalPos );
  2647         
  2657         
  2648         ActivateL();
  2658         ActivateL();
  2649         }
  2659         }
  2650     else if ( aParentControl )
  2660     else if ( aParentControl )
  2651         {
  2661         {
  3784         
  3794         
  3785         // The subpane container controls inside combined pane are it's
  3795         // The subpane container controls inside combined pane are it's
  3786         // component controls.
  3796         // component controls.
  3787         TInt count( combinedPaneControl->CountComponentControls() );
  3797         TInt count( combinedPaneControl->CountComponentControls() );
  3788 
  3798 
       
  3799         TBool isFaded( IsFaded() );
       
  3800 
  3789         for ( TInt i = 0; i < count; ++i )
  3801         for ( TInt i = 0; i < count; ++i )
  3790             {
  3802             {
  3791             CEikStatusPaneContainer* subPane =
  3803             CEikStatusPaneContainer* subPane =
  3792                 static_cast<CEikStatusPaneContainer*>(
  3804                 static_cast<CEikStatusPaneContainer*>(
  3793                     combinedPaneControl->ComponentControl( i ) );
  3805                     combinedPaneControl->ComponentControl( i ) );
  3796                 if ( aVisible )
  3808                 if ( aVisible )
  3797                     {
  3809                     {
  3798                     subPane->SetParentWindowL( NULL,
  3810                     subPane->SetParentWindowL( NULL,
  3799                                                combinedPaneControl,
  3811                                                combinedPaneControl,
  3800                                                NULL,
  3812                                                NULL,
  3801                                                transparencyEnabled );
  3813                                                transparencyEnabled,
       
  3814                                                isFaded );
       
  3815 
  3802                     // Background is drawn by the combined pane so remove
  3816                     // Background is drawn by the combined pane so remove
  3803                     // the subpane's own background drawer. 
  3817                     // the subpane's own background drawer. 
  3804                     subPane->SetBackground( NULL );
  3818                     subPane->SetBackground( NULL );
  3805                     }
  3819                     }
  3806                 else
  3820                 else
  3807                     {
  3821                     {
  3808                     subPane->SetParentWindowL(
  3822                     subPane->SetParentWindowL(
  3809                         iParentWindowGroup,
  3823                         iParentWindowGroup,
  3810                         NULL,
  3824                         NULL,
  3811                         iExtension ? iExtension->iRedrawStoreHandler : NULL,
  3825                         iExtension ? iExtension->iRedrawStoreHandler : NULL,
  3812                         transparencyEnabled );
  3826                         transparencyEnabled,
       
  3827                         isFaded );
  3813 
  3828 
  3814                     subPane->SetBackground( transparencyEnabled ? NULL :
  3829                     subPane->SetBackground( transparencyEnabled ? NULL :
  3815                                                                   iExtension );
  3830                                                                   iExtension );
  3816                     }
  3831                     }
  3817                 }
  3832                 }