textinput/peninputsplititut/src/peninputsplititutdatamgr.cpp
branchRCL_3
changeset 50 5a1685599b76
parent 46 bd83ceabce89
child 56 8152b1f1763a
--- a/textinput/peninputsplititut/src/peninputsplititutdatamgr.cpp	Tue Sep 14 21:59:06 2010 +0300
+++ b/textinput/peninputsplititut/src/peninputsplititutdatamgr.cpp	Wed Sep 15 12:34:44 2010 +0300
@@ -165,9 +165,20 @@
     splitpanerect.LayoutRect(spliwndtrect.Rect(), splitpane);   
     
     iLayoutRect = spliwndtrect.Rect();
+
+    // split indi layout
+    TAknWindowLineLayout indiPane = AknLayoutScalable_Avkon::icf_edit_indi_pane(2).LayoutLine();
+    TAknWindowLineLayout indiIconPane = AknLayoutScalable_Avkon::icf_edit_indi_pane_g2(2).LayoutLine();    
+
+    TAknLayoutRect indiRect, indiIconRect;
+    indiRect.LayoutRect(spliwndtrect.Rect(), indiPane);
+    indiIconRect.LayoutRect(spliwndtrect.Rect(), indiIconPane);
+    
+    iLayoutRect.iTl.iY -= indiRect.Rect().Height();//include non ifc indi bubble
+    
     // spell layout rect
     iLayoutRectSpell = rect;
-    iLayoutOffset = spliwndtrect.Rect().iTl;
+    iLayoutOffset = spliwndtrect.Rect().iTl - TPoint(0,indiRect.Rect().Height());//include split indi bubble
     iBackgroundRect = iLayoutRect;
     iBackgroundRect.Move(-iLayoutOffset);
     
@@ -213,13 +224,19 @@
                 }
             
             // read star icon rect
-            if( i == 3 &&  j == 2 )
+            if( i == 3 &&  j == 0 )
                 {
                 TAknWindowLineLayout starIcon =  AknLayoutScalable_Avkon::
                                 cell_ituss_key_pane_g2( 0 ).LayoutLine();
                 TAknLayoutRect starIconRect;
                 starIconRect.LayoutRect( keyrect, starIcon );                
-                iStarIconRect = starIconRect.Rect();          
+                iStarIconRect = starIconRect.Rect();  
+                
+                // Get the star icon rect under number mode
+				starIcon = AknLayoutScalable_Avkon::
+						cell_ituss_key_pane_g2(4).LayoutLine();
+				starIconRect.LayoutRect( keyrect, starIcon );
+				iStarIconRectInNumMode = starIconRect.Rect();
                 }            
             
             }
@@ -262,7 +279,9 @@
     iCloseInnerRect = funcinnerrect.Rect();
     iCloseInnerRect.Move(0, iKeypadRect.iBr.iY );
     iCloseInnerRect.Move(-iLayoutOffset);
-    
+      
+    iCloseInnerRect.Move(-TPoint(0,indiRect.Rect().Height())); //include split indi bubble            
+        
     // arrow left button
     iArrowLeftRect = iCloseRect;     
     iArrowLeftRect.Move(btnWidth, 0);
@@ -394,16 +413,24 @@
 	
 	icfIndiPaneWithoutText = AknLayoutScalable_Avkon::icf_edit_indi_pane(0).LayoutLine();
 	icfIndiPaneRectWithoutText.LayoutRect( focuspaneRect.Rect(), icfIndiPaneWithoutText );
-	iIndiPaneRectWithoutTextForPrtWest = icfIndiPaneRectWithoutText.Rect();
+	iSpellIndiPaneRectWithoutTextForPrtWest = icfIndiPaneRectWithoutText.Rect();
 	
 	TAknWindowLineLayout spellIndiIcon;
 	TAknLayoutRect spellIndiIconRect;
 	spellIndiIcon = AknLayoutScalable_Avkon::icf_edit_indi_pane_g2(0).LayoutLine();
 	spellIndiIconRect.LayoutRect( icfIndiPaneRectWithoutText.Rect(), spellIndiIcon );
-	iIndiIconRectWithoutTextForPrtWest = spellIndiIconRect.Rect();
+	iSpellIconRectWithoutTextForPrtWest = spellIndiIconRect.Rect();
 	
 	indiTextLayout = AknLayoutScalable_Avkon::icf_edit_indi_pane_t1(0).LayoutLine();
-	iIndiTextForPrtWest = indiTextLayout;  
+    iSpellTextForPrtWest = indiTextLayout;
+	
+    // split indicator
+    iSplitIndiPaneRect = indiRect.Rect();
+    iSplitIndiIconRect = indiIconRect.Rect();
+    iSplitIndiIconRect.Move(0, -iSplitIndiPaneRect.iTl.iY + iKeypadRect.iTl.iY - iSplitIndiPaneRect.Height());
+    iSplitIndiPaneRect.Move(0, -iSplitIndiPaneRect.iTl.iY + iKeypadRect.iTl.iY - iSplitIndiPaneRect.Height());
+    indiTextLayout = AknLayoutScalable_Avkon::icf_edit_indi_pane_t1(1).LayoutLine();
+    iSplitIndiText = indiTextLayout;  
     
 	// ICF text line info
     TAknTextLineLayout icftextT1, icftextT2, icftextT3;    
@@ -610,6 +637,21 @@
         		{
 				return &iVkNumText;
         		}
+        case EStarIconRect:
+        	{
+        	if ( iInputMode == ENumber || iInputMode == ENativeNumber )
+				{
+				return &iStarIconRectInNumMode;
+				}
+        	else
+        		{
+				return &iStarIconRect;
+        		}
+        	}
+        case EShiftIconRect:
+        	{
+        	return &iShiftIconRect;
+        	}
         case EKeypadRightTextLine1:
 			if ( iInputMode == ENumber || iInputMode == ENativeNumber )
 				{
@@ -762,12 +804,18 @@
         	return &iSpellBackSpcace;
         case ESpellBackSpcaeInner:
         	return &iSpellBackSpcaceInner;
-        case EIndiPaneWithoutTextRect:
-            return &iIndiPaneRectWithoutTextForPrtWest;
-        case EIndiIconWithoutTextRect:
-            return &iIndiIconRectWithoutTextForPrtWest;
-        case EIndiTextLine:
-            return &iIndiTextForPrtWest;
+        case ESpellIndiPaneWithoutTextRect:
+            return &iSpellIndiPaneRectWithoutTextForPrtWest;
+        case ESpellIndiIconWithoutTextRect:
+            return &iSpellIconRectWithoutTextForPrtWest;
+        case ESpellIndiTextLine:
+            return &iSpellTextForPrtWest;
+        case ESplitIndiPaneRect:
+            return &iSplitIndiPaneRect;
+        case ESplitIndiIconRect:
+            return &iSplitIndiIconRect;            
+        case ESplitIndiTextLine:
+            return &iSplitIndiText;            
         default:
             break;
         }
@@ -1221,4 +1269,15 @@
     return EFalse;
     }
 
+// ---------------------------------------------------------------------------
+// Get the size of the screen
+// ---------------------------------------------------------------------------
+//
+TRect CSplitItutDataMgr::screenSize()
+	{
+	TRect rect;
+	AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, rect );
+	return rect;
+	}
+
 // End Of File