textinput/peninputgenericvkb/src/peninputgenericvkbwindow.cpp
branchRCL_3
changeset 3 f5a1e66df979
parent 0 eb1f2e154e89
child 5 a47de9135b21
--- a/textinput/peninputgenericvkb/src/peninputgenericvkbwindow.cpp	Tue Feb 02 01:02:04 2010 +0200
+++ b/textinput/peninputgenericvkb/src/peninputgenericvkbwindow.cpp	Fri Feb 19 23:09:27 2010 +0200
@@ -65,6 +65,11 @@
 const TInt KInvalidImg = -1 ;
 const TInt KKeyCodeSize = 1;
 
+const TInt KTooltipLeftMargin = 10;
+const TInt KTooltipTopMargin = 0;
+const TInt KTooltipRightMargin = 10;
+const TInt KTooltipBottomMargin = 0;
+
 _LIT( KVkbWindowResourceFile, 
       "z:\\resource\\plugins\\peninputvkbwindow.RSC" );
 _LIT( KConfigurationResourceFile, 
@@ -804,9 +809,12 @@
 									  KAknsIIDQsnFrInputPreviewSideL,
 									  KAknsIIDQsnFrInputPreviewMiddle,
 									  KAknsIIDQsnFrInputPreviewSideR);
-        
+        icf->TooltipBubbleCtrl()->SetFrameDiff( KTooltipLeftMargin, 
+        		                                KTooltipTopMargin,
+        		                                KTooltipRightMargin,
+        		                                KTooltipBottomMargin );
         // read color from skin for autocompletion part
-        icf->SetAutoCompleteTextColor( AutoCompletionPartColor() );        
+        icf->SetAutoCompleteTextColor( AutoCompletionPartColor() );               
         }       
     }
 
@@ -1919,7 +1927,24 @@
         {
         return;
         }    
-    icf->ShowTooltipL( aText );
+    
+    // Calculate tooltip width
+    const TPeninputTooltipBoxLayoutData& tooltipBoxLAF 
+                                      = iLafMgr->TooltipBoxLayoutData();
+    TRect tooltipRect = tooltipBoxLAF.iRect;
+    // Calculate inner rect
+    TRect innerRect = tooltipRect;
+    innerRect.iTl += TPoint( KTooltipLeftMargin, KTooltipTopMargin );
+    innerRect.iBr -= TPoint( KTooltipRightMargin, KTooltipBottomMargin );          
+    const CFont* font = tooltipBoxLAF.iFont;
+    // Set inner width in terms of text width
+    innerRect.SetWidth( font->TextWidthInPixels( aText ) );    
+    tooltipRect.iTl 
+           = innerRect.iTl - TPoint( KTooltipLeftMargin, KTooltipTopMargin );
+    tooltipRect.iBr 
+           = innerRect.iBr + TPoint( KTooltipRightMargin, KTooltipBottomMargin );
+    // Set tooltip rect in terms of inner rect
+    icf->ShowTooltipL( aText, tooltipRect );
     }
 	
 // --------------------------------------------------------------------------