textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutbubblectrl.cpp
branchRCL_3
changeset 29 857bebeecec0
parent 28 6c2c2d3ab788
child 38 b1ea1642412e
equal deleted inserted replaced
28:6c2c2d3ab788 29:857bebeecec0
   103     iBgSkinId = aBgSkinId;    
   103     iBgSkinId = aBgSkinId;    
   104     }
   104     }
   105 
   105 
   106 EXPORT_C void CBubbleCtrl::Popup(const TRect& aRect)
   106 EXPORT_C void CBubbleCtrl::Popup(const TRect& aRect)
   107     {
   107     {
   108     SetRect(aRect);
   108     //SetRect(aRect);
   109 
   109 
   110     if(iFreeze)
   110     if(iFreeze)
   111         {
   111         {
   112         iShowing = ETrue;              
   112         iShowing = ETrue; 
       
   113         SetRect(aRect);
       
   114         
   113         SetHidenFlag(EFalse);   
   115         SetHidenFlag(EFalse);   
   114         /*
   116         /*
   115         if(UiLayout()->NotDrawToLayoutDevice())
   117         if(UiLayout()->NotDrawToLayoutDevice())
   116             {
   118             {
   117             struct SData
   119             struct SData
   129         */
   131         */
   130         return;
   132         return;
   131         }
   133         }
   132     if( !iShowing || iNeedRedraw )
   134     if( !iShowing || iNeedRedraw )
   133         {
   135         {
   134         iShowing = ETrue;  
   136         iShowing = ETrue;
       
   137         SetRect(aRect);
       
   138         
   135         TRect rect = Rect();
   139         TRect rect = Rect();
   136         //SetRect(aRect);
   140         //SetRect(aRect);
   137         SetHidenFlag(EFalse);        
   141         SetHidenFlag(EFalse);        
   138         BringToTop();
   142         BringToTop();
   139         
   143         
   586         CFepUiBaseCtrl::HandleResourceChange(aType);
   590         CFepUiBaseCtrl::HandleResourceChange(aType);
   587     }
   591     }
   588 
   592 
   589 EXPORT_C void CBubbleCtrl::SetRect(const TRect& aRect)
   593 EXPORT_C void CBubbleCtrl::SetRect(const TRect& aRect)
   590     {
   594     {
   591     if( aRect == Rect())
   595 	if( !( UiLayout()->NotDrawToLayoutDevice()))
   592         {
   596 		{
   593         return;
   597 		if( aRect != Rect())
   594         }
   598 			{
   595     else
   599 			CFepUiBaseCtrl::SetRect( aRect );
   596         {
   600 			}
   597         if( UiLayout()->NotDrawToLayoutDevice())
   601 		}
   598             {
   602 	else
   599             struct SData
   603 		{
   600                 {
   604 		if( iShowing )
   601                 TRect rr;
   605 			{
   602                 TBool flag;
   606 			struct SData
   603                 } data;
   607 				{
   604         
   608 				TRect rr;
   605             // Remove the original region from list
   609 				TBool flag;
   606             data.rr = Rect();
   610 				} data;
   607             data.flag = EFalse;
   611 
   608             TPtrC ptrForRemove;
   612 			 // Remove the original region from list
   609             ptrForRemove.Set( 
   613 			data.rr = Rect();
   610                     reinterpret_cast<const TUint16*>(&data),sizeof(data)/sizeof(TUint16));
   614 			data.flag = EFalse;
   611             UiLayout()->SignalOwner( ESignalPopupArea, ptrForRemove );
   615 			TPtrC ptrForRemove;
   612             
   616 			ptrForRemove.Set( 
   613             // Add the new region to list
   617 				reinterpret_cast<const TUint16*>(&data), sizeof(data)/sizeof(TUint16));
   614             data.rr = aRect;
   618 			UiLayout()->SignalOwner( ESignalPopupArea, ptrForRemove );
   615             data.flag = ETrue;
   619 
   616             TPtrC ptrForAdd;
   620 			// Add the new region to list
   617             ptrForAdd.Set( 
   621 			data.rr = aRect;
   618                     reinterpret_cast<const TUint16*>(&data),sizeof(data)/sizeof(TUint16));
   622 			data.flag = ETrue;
   619             UiLayout()->SignalOwner( ESignalPopupArea, ptrForAdd );
   623 			TPtrC ptrForAdd;
   620             }
   624 			ptrForAdd.Set( 
   621         }
   625 				reinterpret_cast<const TUint16*>(&data), sizeof(data)/sizeof(TUint16));
   622     CFepUiBaseCtrl::SetRect(aRect);
   626 			UiLayout()->SignalOwner( ESignalPopupArea, ptrForAdd );     
   623     ResizeDeviceL();
   627 			}
       
   628 			
       
   629 		if( aRect != Rect())
       
   630 			{
       
   631 			CFepUiBaseCtrl::SetRect( aRect );
       
   632 			ResizeDeviceL();
       
   633 			}                   
       
   634 		}
   624     }
   635     }
   625 
   636 
   626 // ---------------------------------------------------------------------------
   637 // ---------------------------------------------------------------------------
   627 // CTooltipBubbleCtrl::NewL
   638 // CTooltipBubbleCtrl::NewL
   628 // factory function
   639 // factory function