--- a/textinput/peninputgenericvkb/src/peninputgenericlafdatamgr.cpp Fri Feb 19 23:09:27 2010 +0200
+++ b/textinput/peninputgenericvkb/src/peninputgenericlafdatamgr.cpp Fri Mar 12 15:44:07 2010 +0200
@@ -444,6 +444,35 @@
aMiddleIconRect = iLafData->QwtLayoutData().iSpaceButtonEx.iMiddleIconRect;
}
+TRect& CPeninputGenericVkbLafMgr::IndiPaneRectWithText()
+ {
+ ASSERT(iLafData);
+ return iLafData->IndiPaneRectWithText();
+ }
+
+TRect& CPeninputGenericVkbLafMgr::IndiPaneRectWithoutText()
+ {
+ ASSERT(iLafData);
+ return iLafData->IndiPaneRectWithoutText();
+ }
+
+TRect& CPeninputGenericVkbLafMgr::IndiIconRectWithText()
+ {
+ ASSERT(iLafData);
+ return iLafData->IndiIconRectWithText();
+ }
+
+TRect& CPeninputGenericVkbLafMgr::IndiIconRectWithoutText()
+ {
+ ASSERT(iLafData);
+ return iLafData->IndiIconRectWithoutText();
+ }
+
+TAknTextLineLayout& CPeninputGenericVkbLafMgr::IndiText()
+ {
+ ASSERT(iLafData);
+ return iLafData->IndiText();
+ }
// ---------------------------------------------------------------------------
// Return layout data for candidate list
// ---------------------------------------------------------------------------
@@ -554,6 +583,11 @@
pData = &(iLayoutDataInfo[iLayoutType]->iRightButton);
}
break;
+ case EPeninutWindowCtrlIdMultiRangeBtn:
+ {
+ pData = &(iLayoutDataInfo[iLayoutType]->iMultiRangeButton);
+ }
+ break;
default:
ASSERT(EFalse);
break;
@@ -605,6 +639,35 @@
return *iLayoutDataInfo[iLayoutType];
}
+TRect& MPeninputLafDataCommon::IndiPaneRectWithText()
+ {
+ ASSERT( IsValid());
+ return iLayoutDataInfo[iLayoutType]->iIndiPaneRectWithTextForFSQ;
+ }
+
+TRect& MPeninputLafDataCommon::IndiPaneRectWithoutText()
+ {
+ ASSERT( IsValid());
+ return iLayoutDataInfo[iLayoutType]->iIndiPaneRectWithoutTextForFSQ;
+ }
+
+TRect& MPeninputLafDataCommon::IndiIconRectWithText()
+ {
+ ASSERT( IsValid());
+ return iLayoutDataInfo[iLayoutType]->iIndiIconRectWithTextForFSQ;
+ }
+
+TRect& MPeninputLafDataCommon::IndiIconRectWithoutText()
+ {
+ ASSERT( IsValid());
+ return iLayoutDataInfo[iLayoutType]->iIndiIconRectWithoutTextForFSQ;
+ }
+
+TAknTextLineLayout& MPeninputLafDataCommon::IndiText()
+ {
+ ASSERT( IsValid());
+ return iLayoutDataInfo[iLayoutType]->iIndiTextForFSQ;
+ }
// ---------------------------------------------------------------------------
// CPeninputLafDataCommon::ConstructL()
// (other items were commented in a header)
@@ -627,11 +690,11 @@
// ---------------------------------------------------------------------------
-// CPeninputLafDataCommon::GetTopAndBottomPaneInfo
+// CPeninputLafDataVKB::GetTopAndBottomPaneInfo
// (other items were commented in a header)
// ---------------------------------------------------------------------------
//
-void MPeninputLafDataCommon::GetTopAndBottomPaneInfo( const TRect& aParentWndRect,
+void CPeninputLafDataVKB::GetTopAndBottomPaneInfo( const TRect& aParentWndRect,
TInt aLayoutType,
TInt aLayoutParam,
CPeninputQwtLayoutDataInfo& aDataInfo )
@@ -922,6 +985,244 @@
}
// ---------------------------------------------------------------------------
+// CPeninputLafDataFSQ::RelativeRect
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+//
+TRect CPeninputLafDataFSQ::RelativeRect( const TRect& aRect, const TPoint& aPoint )
+ {
+ TRect rect = aRect;
+ rect.Move( - aPoint.iX, - aPoint.iY );
+ return rect;
+ }
+
+// ---------------------------------------------------------------------------
+// CPeninputLafDataFSQ::OffsetRect
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+//
+TRect CPeninputLafDataFSQ::OffsetRect( const TRect& aRect, TInt aDx, TInt aDy )
+ {
+ TRect rect = aRect;
+ rect.Move( aDx, aDy );
+ return rect;
+ }
+
+// ---------------------------------------------------------------------------
+// CPeninputLafDataFSQ::GetTopAndBottomPaneInfo
+// (other items were commented in a header)
+// ---------------------------------------------------------------------------
+//
+void CPeninputLafDataFSQ::GetTopAndBottomPaneInfo( const TRect& aParentWndRect,
+ TInt aLayoutType,
+ TInt aLayoutParam,
+ CPeninputQwtLayoutDataInfo& aDataInfo )
+ {
+ TAknWindowLineLayout linelayout;
+ TAknLayoutRect layoutrect;
+
+ TAknLayoutRect keypadRect, keypaneRect, keycellRect, keylabelRect;
+ TAknLayoutRect pic3paneRect;
+
+ TPoint base;
+ TRect rectBottomWin, rectICFBg, rectICF, rectICFpane;
+ TAknTextLineLayout cellText;
+ TAknLayoutText txt;
+ TInt pic3pLeftWidth, pic3pRightWidth;
+
+ base = aParentWndRect.iTl;
+ TRect rect = aParentWndRect;
+ rect.Move( - base.iX, - base.iY );
+ aDataInfo.iClientRect = rect;
+ aDataInfo.iQwtRect = aParentWndRect;
+
+ TInt v1, v2;
+ switch ( aLayoutType )
+ {
+ case ELayout10x3:
+ {
+ v1 = 0;
+ v2 = 0;
+ break;
+ }
+ case ELayout11x3:
+ {
+ v1 = 1;
+ v2 = 2;
+ break;
+ }
+ case ELayout11x4:
+ {
+ v1 = 1;
+ v2 = 3;
+ break;
+ }
+ default:
+ {
+ v1 = 0;
+ v2 = 0;
+ }
+ }
+
+ // Bottom pane rect
+ linelayout = AknLayoutScalable_Avkon::popup_fep_vkbss_window(0).LayoutLine();
+ layoutrect.LayoutRect( aParentWndRect, linelayout );
+ rectBottomWin = layoutrect.Rect();
+
+ // ICF pane rect
+ linelayout = AknLayoutScalable_Avkon::popup_fep_vkb_icf_pane(0).LayoutLine();
+ layoutrect.LayoutRect( aParentWndRect, linelayout );
+ rectICFpane = layoutrect.Rect();
+
+ // ICF bg pane rect
+ linelayout = AknLayoutScalable_Avkon::bg_icf_pane(0).LayoutLine();
+ layoutrect.LayoutRect( rectICFpane, linelayout );
+ rectICFBg = layoutrect.Rect();
+
+ // ICF area rect
+ linelayout = AknLayoutScalable_Avkon::list_vkb_icf_pane(0).LayoutLine();
+ layoutrect.LayoutRect( rectICFBg, linelayout );
+ rectICF = layoutrect.Rect();
+
+ aDataInfo.iICF.iRect = rectICF;
+ cellText = AknLayoutScalable_Avkon::list_vkb_icf_pane_t1(0, 0, 0).LayoutLine();
+ aDataInfo.iICF.iPromptTextFont = AknLayoutUtils::FontFromId(cellText.iFont, NULL);
+ txt.LayoutText( rectICF, cellText );
+ aDataInfo.iICF.iPromptTextRect = txt.TextRect();
+ cellText = AknLayoutScalable_Avkon::list_vkb_icf_pane_t1(0, 0, 1).LayoutLine();
+ aDataInfo.iICF.iTextFont = AknLayoutUtils::FontFromId(cellText.iFont, NULL);
+ txt.LayoutText( rectICF, cellText );
+ aDataInfo.iICF.iTextRect = txt.TextRect();
+
+ // icf indicator
+ TAknWindowLineLayout icfIndiPaneWithText, icfIndiPaneWithoutText,
+ indiIconWithText, indiIconWithoutText, indiText;
+ TAknLayoutRect icfIndiPaneRectWithText, icfIndiPaneRectWithoutText,
+ indiIconRectWithText, indiIconRectWithoutText, indiTextRect;
+ TAknTextLineLayout indiTextLayout;
+
+ icfIndiPaneWithText = AknLayoutScalable_Avkon::icf_edit_indi_pane(1).LayoutLine();
+ icfIndiPaneRectWithText.LayoutRect( rectICF, icfIndiPaneWithText );
+ aDataInfo.iIndiPaneRectWithTextForFSQ = icfIndiPaneRectWithText.Rect();
+
+ icfIndiPaneWithoutText = AknLayoutScalable_Avkon::icf_edit_indi_pane(0).LayoutLine();
+ icfIndiPaneRectWithoutText.LayoutRect( rectICF, icfIndiPaneWithoutText );
+ aDataInfo.iIndiPaneRectWithoutTextForFSQ = icfIndiPaneRectWithoutText.Rect();
+
+ aDataInfo.iIndiIconRectWithTextForFSQ = TRect( 0, 0, 60, 20 );
+ aDataInfo.iIndiIconRectWithoutTextForFSQ = TRect( 0, 0, 60, 20 );
+
+ indiTextLayout = AknLayoutScalable_Avkon::icf_edit_indi_pane_t1(0).LayoutLine();
+ aDataInfo.iIndiTextForFSQ = indiTextLayout;
+
+ // keypad pane rect
+ linelayout = AknLayoutScalable_Avkon::grid_vkbss_keypad_pane(v1).LayoutLine();
+ keypadRect.LayoutRect( rectBottomWin, linelayout );
+
+ // key pane rect
+ linelayout = AknLayoutScalable_Avkon::cell_vkbss_key_pane(v2).LayoutLine();
+ keypaneRect.LayoutRect( keypadRect.Rect(), linelayout );
+
+ // key cell rect
+ linelayout = AknLayoutScalable_Avkon::bg_cell_vkbss_key_g1(v2).LayoutLine();
+ keycellRect.LayoutRect( keypaneRect.Rect(), linelayout );
+
+ // key label rect
+ linelayout = AknLayoutScalable_Avkon::cell_vkbss_key_g1(v2).LayoutLine();
+ keylabelRect.LayoutRect( keypaneRect.Rect(), linelayout );
+
+ // pic3pane rect
+ linelayout = AknLayoutScalable_Avkon::cell_vkbss_key_3p_pane(v2).LayoutLine();
+ pic3paneRect.LayoutRect( keypaneRect.Rect(), linelayout );
+
+ linelayout = AknLayoutScalable_Avkon::cell_vkbss_key_3p_pane_g1(0).LayoutLine();
+ layoutrect.LayoutRect( pic3paneRect.Rect(), linelayout );
+ pic3pLeftWidth = layoutrect.Rect().Width();
+
+ linelayout = AknLayoutScalable_Avkon::cell_vkbss_key_3p_pane_g3(0).LayoutLine();
+ layoutrect.LayoutRect( pic3paneRect.Rect(), linelayout );
+ pic3pRightWidth = layoutrect.Rect().Width();
+
+ TRect rectXPane = keypaneRect.Rect();
+ rect = keycellRect.Rect();
+ rect.Move( - rectXPane.iTl.iX, - rectXPane.iTl.iY );
+ TRect rectXBorder = rect;
+ rect = keylabelRect.Rect();
+ rect.Move( - rectXPane.iTl.iX, - rectXPane.iTl.iY );
+ TRect rectXInner = rect;
+ rect = pic3paneRect.Rect();
+ rect.Move( - rectXPane.iTl.iX, - rectXPane.iTl.iY );
+ TRect rect3PicPane = rect;
+ rectXPane.Move( - rectXPane.iTl );
+
+ rect = keypadRect.Rect();
+ rect.Move( - base.iX, - base.iY );
+ TRect rectOfKeypad = rect;
+ TRect rectOfButtons = rectOfKeypad;
+ rectOfKeypad.iBr.iY -= keypaneRect.Rect().Height();
+ rectOfButtons.iTl.iY += rectOfKeypad.Height();
+
+ TInt spaceBtnWidth = rectOfButtons.Width() - rectXPane.Width() * 8;
+ TInt dx = rectOfButtons.iTl.iX;
+ TInt dy = rectOfButtons.iTl.iY;
+
+ aDataInfo.iCloseButton.iRect = OffsetRect( rectXBorder, dx, dy );
+ aDataInfo.iCloseButton.iInnerRect = OffsetRect( rectXInner, dx, dy );
+ dx += rectXPane.Width();
+
+ aDataInfo.iShiftButton.iRect = OffsetRect( rectXBorder, dx, dy );
+ aDataInfo.iShiftButton.iInnerRect = OffsetRect( rectXInner, dx, dy );
+ dx += rectXPane.Width();
+
+ aDataInfo.iMultiRangeButton.iRect = OffsetRect( rectXBorder, dx, dy );
+ aDataInfo.iMultiRangeButton.iInnerRect = OffsetRect( rectXInner, dx, dy );
+ dx += rectXPane.Width();
+
+ aDataInfo.iLeftButton.iRect = OffsetRect( rectXBorder, dx, dy );
+ aDataInfo.iLeftButton.iInnerRect = OffsetRect( rectXInner, dx, dy );
+ dx += rectXPane.Width();
+
+ TInt expand = spaceBtnWidth - rectXPane.Width();
+ aDataInfo.iSpaceButton.iRect = OffsetRect( rectXBorder, dx, dy );
+ aDataInfo.iSpaceButton.iRect.Resize( expand, 0 );
+ aDataInfo.iSpaceButton.iInnerRect = OffsetRect( rectXInner, dx, dy );
+ aDataInfo.iSpaceButton.iInnerRect.Resize( expand, 0 );
+ aDataInfo.iSpaceButtonEx.iIconsFrameRect = OffsetRect( rect3PicPane, dx, dy );
+ aDataInfo.iSpaceButtonEx.iIconsFrameRect.Resize( expand, 0 );
+ aDataInfo.iSpaceButtonEx.iMiddleIconRect =
+ aDataInfo.iSpaceButtonEx.iIconsFrameRect;
+ aDataInfo.iSpaceButtonEx.iMiddleIconRect.iTl.iX += pic3pLeftWidth;
+ aDataInfo.iSpaceButtonEx.iMiddleIconRect.iBr.iX -= pic3pRightWidth;
+ dx += spaceBtnWidth;
+
+ aDataInfo.iRightButton.iRect = OffsetRect( rectXBorder, dx, dy );
+ aDataInfo.iRightButton.iInnerRect = OffsetRect( rectXInner, dx, dy );
+ dx += rectXPane.Width();
+
+ aDataInfo.iOptionButton.iRect = OffsetRect( rectXBorder, dx, dy );
+ aDataInfo.iOptionButton.iInnerRect = OffsetRect( rectXInner, dx, dy );
+ dx += rectXPane.Width();
+
+ aDataInfo.iEnterButton.iRect = OffsetRect( rectXBorder, dx, dy );
+ aDataInfo.iEnterButton.iInnerRect = OffsetRect( rectXInner, dx, dy );
+ dx += rectXPane.Width();
+
+ aDataInfo.iClearButton.iRect = OffsetRect( rectXBorder, dx, dy );
+ aDataInfo.iClearButton.iInnerRect = OffsetRect( rectXInner, dx, dy );
+
+ // preview popup window
+ TAknWindowLineLayout previewWnd, previewWndInner;
+ TAknLayoutRect previewWndRect, previewWndInnerRect;
+ previewWnd = AknLayoutScalable_Avkon::popup_fep_char_preview_window(aLayoutParam).LayoutLine();
+ previewWndRect.LayoutRect( aParentWndRect, previewWnd );
+ previewWndInner = AknLayoutScalable_Avkon::bg_popup_fep_char_preview_window_g9().LayoutLine();
+ previewWndInnerRect.LayoutRect( previewWndRect.Rect(), previewWndInner );
+ aDataInfo.iPreviewWndRect = previewWndRect.Rect();
+ aDataInfo.iPreviewWndInnerRect = previewWndInnerRect.Rect();
+ aDataInfo.iPreviewWndText = AknLayoutScalable_Avkon::popup_fep_char_preview_window_t1(
+ aLayoutParam).LayoutLine();
+ }
+// ---------------------------------------------------------------------------
// CPeninputLafDataVKB::NewL( TInt aLayoutType )
// (other items were commented in a header)
// ---------------------------------------------------------------------------
@@ -1147,6 +1448,10 @@
CPeninputQwtLayoutDataInfo* dataInfo = new( ELeave ) CPeninputQwtLayoutDataInfo;
TAknWindowLineLayout appWnd;
TAknWindowLineLayout wndLayout;
+ TAknWindowLineLayout linelayout;
+ TAknLayoutRect layoutrect, keypaneRect, keycellRect, keylabelRect;
+ TRect rectBottomWin, rectVkbCtrl;
+ TPoint base;
TAknWindowLineLayout keypad, cellpane;
TAknWindowLineLayout cellPaneBK;
@@ -1159,40 +1464,80 @@
TRect keyRect;
// -----------------------Landscape Mode--------------------------
appWnd = AknLayoutScalable_Avkon::application_window(0).LayoutLine();
- wndLayout = AknLayoutScalable_Avkon::popup_fep_vkb2_window(0).LayoutLine();
+ wndLayout = AknLayoutScalable_Avkon::main_fep_vtchi_ss_pane(0).LayoutLine();
wndRect.LayoutRect(appWnd.Rect(), wndLayout);
+ // Bottom pane rect
+ linelayout = AknLayoutScalable_Avkon::popup_fep_vkbss_window(0).LayoutLine();
+ layoutrect.LayoutRect( wndRect.Rect(), linelayout );
+ rectBottomWin = layoutrect.Rect();
+ base = wndRect.Rect().iTl;
// ==================10x3====================
// top pane and bottom pane
GetTopAndBottomPaneInfo( wndRect.Rect(), ELayout10x3, 0, *dataInfo );
// keypad
- keyText = AknLayoutScalable_Avkon::vkb2_cell_keypad_pane_t1(0).LayoutLine();
+ // Modify begin
+ keyText = AknLayoutScalable_Avkon::cell_vkbss_key_t1(0).LayoutLine();
+ keyText.iB += 3;
dataInfo->iKeypad.iTextLayout = keyText;
- dataInfo->iKeypad.iFont = AknLayoutUtils::FontFromId(keyText.iFont, NULL);
- //dataInfo->iKeypad.iTxtRect = keyText.TextRect();
+ dataInfo->iKeypad.iFont = AknLayoutUtils::FontFromId( keyText.iFont, NULL );
+
+ keypad = AknLayoutScalable_Avkon::grid_vkbss_keypad_pane(0).LayoutLine();
+ keypadRect.LayoutRect( rectBottomWin, keypad );
+
+ linelayout = AknLayoutScalable_Avkon::cell_vkbss_key_pane(0).LayoutLine();
+ keypaneRect.LayoutRect( keypadRect.Rect(), linelayout );
+
+ rectVkbCtrl = keypadRect.Rect();
+ rectVkbCtrl.iBr.iY -= keypaneRect.Rect().Height();
+ dataInfo->iKeypad.iKaypadRect = rectVkbCtrl;
- keypad = AknLayoutScalable_Avkon::vkb2_area_keypad_pane(0).LayoutLine();
- keypadRect.LayoutRect(wndRect.Rect(), keypad);
- dataInfo->iKeypad.iKaypadRect = keypadRect.Rect();
- //iKeypadRect10x3 = keypadRect.Rect();
- cellPaneBK = AknLayoutScalable_Avkon::vkb2_cell_keypad_pane_g1(0, 0, 0).LayoutLine();
+ linelayout = AknLayoutScalable_Avkon::bg_cell_vkbss_key_g1(0).LayoutLine();
+ keycellRect.LayoutRect( keypaneRect.Rect(), linelayout );
+
+ linelayout = AknLayoutScalable_Avkon::cell_vkbss_key_g1(0).LayoutLine();
+ keylabelRect.LayoutRect( keypaneRect.Rect(), linelayout );
+
+ linelayout = AknLayoutScalable_Avkon::aid_vkbss_key_offset(0).LayoutLine();
+ layoutrect.LayoutRect( keypadRect.Rect(), linelayout );
+ TInt rowIndentWidth = layoutrect.Rect().Width();
+
+ TRect rectOfKeypad = RelativeRect( keypadRect.Rect(), base );
+ rectOfKeypad.iBr.iY -= keypaneRect.Rect().Height();
+
+ TRect rectXPane = RelativeRect( keypaneRect.Rect(), base );
+ TRect rectXBorder = RelativeRect( keycellRect.Rect(), base );
+ TRect rectXInner = RelativeRect( keylabelRect.Rect(), base );
+
+ rectXPane.Move( - rectOfKeypad.iTl ); //translate to keypad coord-sys
+ rectXBorder.Move( - rectOfKeypad.iTl );
+ rectXInner.Move( - rectOfKeypad.iTl );
+
for( TInt i = 0; i < KKeypadLayout[0][1]; i++)
{
+ TInt indent = ( i % 2 == 1 ) ? rowIndentWidth : 0;
for( TInt j = 0; j < KKeypadLayout[0][0]; j++)
- {
- cellpane = AknLayoutScalable_Avkon::vkb2_cell_keypad_pane(0, j, i).LayoutLine();
- cellpaneRect.LayoutRect(keypadRect.Rect(), cellpane);
- keyRect = cellpaneRect.Rect();
- keyRect.Move( -keypadRect.Rect().iTl.iX, -keypadRect.Rect().iTl.iY );
- cellPaneBKRect.LayoutRect( keyRect, cellPaneBK );
- keyBKRect = cellPaneBKRect.Rect();
- dataInfo->iKeypad.iRects.AppendL(keyBKRect);
- keyTextLayout.LayoutText(keyRect, keyText);
- dataInfo->iKeypad.iCharRects.AppendL(keyTextLayout.TextRect());
- }
+ {
+ TRect bound = rectXBorder;
+ bound.Move( j * rectXPane.Width(), i * rectXPane.Height() );
+ bound.Move( indent, 0 );
+
+ dataInfo->iKeypad.iRects.AppendL( bound );
+
+ TRect inner = rectXPane;
+ inner.Move( j * rectXPane.Width(), i * rectXPane.Height() );
+ inner.Move( indent, 0 );
+
+ TAknLayoutText keyTextLayout;
+ keyTextLayout.LayoutText( inner, keyText );
+ dataInfo->iKeypad.iCharRects.AppendL( keyTextLayout.TextRect() );
+ }
}
- keyText = AknLayoutScalable_Avkon::vkb2_cell_keypad_pane_t1(0).LayoutLine();
- dataInfo->iKeypad.iFont = AknLayoutUtils::FontFromId(keyText.iFont, NULL);
- //dataInfo->iKeypad.iTxtRect = keyText.TextRect();
+ // Modify end
+
+ // Modify begin
+ //keyText = AknLayoutScalable_Avkon::vkb2_cell_keypad_pane_t1(0).LayoutLine();
+ //dataInfo->iKeypad.iFont = AknLayoutUtils::FontFromId(keyText.iFont, NULL);
+ // Modify end
// Add candate list laf data for ITI features
// Candidate list's parent Layout window is ITUT window
@@ -1217,11 +1562,15 @@
// ==================11x3====================
dataInfo = new( ELeave ) CPeninputQwtLayoutDataInfo;
- wndLayout = AknLayoutScalable_Avkon::popup_fep_vkb2_window(0).LayoutLine();
- wndRect.LayoutRect(appWnd.Rect(), wndLayout);
+ // Modify begin
+ //wndLayout = AknLayoutScalable_Avkon::popup_fep_vkb2_window(0).LayoutLine();
+ //wndRect.LayoutRect(appWnd.Rect(), wndLayout);
+ // Modify end
// top pane and bottom pane
GetTopAndBottomPaneInfo( wndRect.Rect(), ELayout11x3, 1, *dataInfo );
// keypad
+ // Modify begin
+ /*
keypad = AknLayoutScalable_Avkon::vkb2_area_keypad_pane(1).LayoutLine();
keypadRect.LayoutRect(wndRect.Rect(), keypad);
dataInfo->iKeypad.iKaypadRect = keypadRect.Rect();
@@ -1245,7 +1594,65 @@
keyText = AknLayoutScalable_Avkon::vkb2_cell_keypad_pane_t1(1).LayoutLine();
dataInfo->iKeypad.iTextLayout = keyText;
dataInfo->iKeypad.iFont = AknLayoutUtils::FontFromId(keyText.iFont, NULL);
- //dataInfo->iKeypad.iTxtRect = keyText.TextRect();
+ */
+
+ keyText = AknLayoutScalable_Avkon::cell_vkbss_key_t1(2).LayoutLine();
+ keyText.iB += 3;
+ dataInfo->iKeypad.iTextLayout = keyText;
+ dataInfo->iKeypad.iFont = AknLayoutUtils::FontFromId( keyText.iFont, NULL );
+
+ keypad = AknLayoutScalable_Avkon::grid_vkbss_keypad_pane(1).LayoutLine();
+ keypadRect.LayoutRect( rectBottomWin, keypad );
+
+ linelayout = AknLayoutScalable_Avkon::cell_vkbss_key_pane(2).LayoutLine();
+ keypaneRect.LayoutRect( keypadRect.Rect(), linelayout );
+
+ rectVkbCtrl = keypadRect.Rect();
+ rectVkbCtrl.iBr.iY -= keypaneRect.Rect().Height();
+ dataInfo->iKeypad.iKaypadRect = rectVkbCtrl;
+
+ linelayout = AknLayoutScalable_Avkon::bg_cell_vkbss_key_g1(2).LayoutLine();
+ keycellRect.LayoutRect( keypaneRect.Rect(), linelayout );
+
+ linelayout = AknLayoutScalable_Avkon::cell_vkbss_key_g1(2).LayoutLine();
+ keylabelRect.LayoutRect( keypaneRect.Rect(), linelayout );
+
+ linelayout = AknLayoutScalable_Avkon::aid_vkbss_key_offset(1).LayoutLine();
+ layoutrect.LayoutRect( keypadRect.Rect(), linelayout );
+ rowIndentWidth = layoutrect.Rect().Width();
+
+ rectOfKeypad = RelativeRect( keypadRect.Rect(), base );
+ rectOfKeypad.iBr.iY -= keypaneRect.Rect().Height();
+
+ rectXPane = RelativeRect( keypaneRect.Rect(), base );
+ rectXBorder = RelativeRect( keycellRect.Rect(), base );
+ rectXInner = RelativeRect( keylabelRect.Rect(), base );
+
+ rectXPane.Move( - rectOfKeypad.iTl ); //translate to keypad coord-sys
+ rectXBorder.Move( - rectOfKeypad.iTl );
+ rectXInner.Move( - rectOfKeypad.iTl );
+
+ for( TInt i = 0; i < KKeypadLayout[1][1]; i++)
+ {
+ TInt indent = ( i % 2 == 1 ) ? rowIndentWidth : 0;
+ for( TInt j = 0; j < KKeypadLayout[1][0]; j++)
+ {
+ TRect bound = rectXBorder;
+ bound.Move( j * rectXPane.Width(), i * rectXPane.Height() );
+ bound.Move( indent, 0 );
+
+ dataInfo->iKeypad.iRects.AppendL( bound );
+
+ TRect inner = rectXPane;
+ inner.Move( j * rectXPane.Width(), i * rectXPane.Height() );
+ inner.Move( indent, 0 );
+
+ TAknLayoutText keyTextLayout;
+ keyTextLayout.LayoutText( inner, keyText );
+ dataInfo->iKeypad.iCharRects.AppendL( keyTextLayout.TextRect() );
+ }
+ }
+ // Modify end
if ( isLandscape )
{
@@ -1260,11 +1667,15 @@
// ==================11x4====================
dataInfo = new( ELeave ) CPeninputQwtLayoutDataInfo;
- wndLayout = AknLayoutScalable_Avkon::popup_fep_vkb2_window(0).LayoutLine();
- wndRect.LayoutRect(appWnd.Rect(), wndLayout);
+ // Modify begin
+ //wndLayout = AknLayoutScalable_Avkon::popup_fep_vkb2_window(0).LayoutLine();
+ //wndRect.LayoutRect(appWnd.Rect(), wndLayout);
+ // Modify end
// top pane and bottom pane
GetTopAndBottomPaneInfo( wndRect.Rect(), ELayout11x4, 2, *dataInfo );
+ // Modify begin
// keypad
+ /*
keypad = AknLayoutScalable_Avkon::vkb2_area_keypad_pane(2).LayoutLine();
keypadRect.LayoutRect(wndRect.Rect(), keypad);
dataInfo->iKeypad.iKaypadRect = keypadRect.Rect();
@@ -1287,7 +1698,65 @@
keyText = AknLayoutScalable_Avkon::vkb2_cell_keypad_pane_t1(2).LayoutLine();
dataInfo->iKeypad.iTextLayout = keyText;
dataInfo->iKeypad.iFont = AknLayoutUtils::FontFromId(keyText.iFont, NULL);
- //dataInfo->iKeypad.iTxtRect = keyText.TextRect();
+ */
+
+ keyText = AknLayoutScalable_Avkon::cell_vkbss_key_t1(3).LayoutLine();
+ keyText.iB += 3;
+ dataInfo->iKeypad.iTextLayout = keyText;
+ dataInfo->iKeypad.iFont = AknLayoutUtils::FontFromId( keyText.iFont, NULL );
+
+ keypad = AknLayoutScalable_Avkon::grid_vkbss_keypad_pane(1).LayoutLine();
+ keypadRect.LayoutRect( rectBottomWin, keypad );
+
+ linelayout = AknLayoutScalable_Avkon::cell_vkbss_key_pane(3).LayoutLine();
+ keypaneRect.LayoutRect( keypadRect.Rect(), linelayout );
+
+ rectVkbCtrl = keypadRect.Rect();
+ rectVkbCtrl.iBr.iY -= keypaneRect.Rect().Height();
+ dataInfo->iKeypad.iKaypadRect = rectVkbCtrl;
+
+ linelayout = AknLayoutScalable_Avkon::bg_cell_vkbss_key_g1(3).LayoutLine();
+ keycellRect.LayoutRect( keypaneRect.Rect(), linelayout );
+
+ linelayout = AknLayoutScalable_Avkon::cell_vkbss_key_g1(3).LayoutLine();
+ keylabelRect.LayoutRect( keypaneRect.Rect(), linelayout );
+
+ linelayout = AknLayoutScalable_Avkon::aid_vkbss_key_offset(1).LayoutLine();
+ layoutrect.LayoutRect( keypadRect.Rect(), linelayout );
+ rowIndentWidth = layoutrect.Rect().Width();
+
+ rectOfKeypad = RelativeRect( keypadRect.Rect(), base );
+ rectOfKeypad.iBr.iY -= keypaneRect.Rect().Height();
+
+ rectXPane = RelativeRect( keypaneRect.Rect(), base );
+ rectXBorder = RelativeRect( keycellRect.Rect(), base );
+ rectXInner = RelativeRect( keylabelRect.Rect(), base );
+
+ rectXPane.Move( - rectOfKeypad.iTl ); //translate to keypad coord-sys
+ rectXBorder.Move( - rectOfKeypad.iTl );
+ rectXInner.Move( - rectOfKeypad.iTl );
+
+ for( TInt i = 0; i < KKeypadLayout[2][1]; i++)
+ {
+ TInt indent = ( i % 2 == 1 ) ? rowIndentWidth : 0;
+ for( TInt j = 0; j < KKeypadLayout[2][0]; j++)
+ {
+ TRect bound = rectXBorder;
+ bound.Move( j * rectXPane.Width(), i * rectXPane.Height() );
+ bound.Move( indent, 0 );
+
+ dataInfo->iKeypad.iRects.AppendL( bound );
+
+ TRect inner = rectXPane;
+ inner.Move( j * rectXPane.Width(), i * rectXPane.Height() );
+ inner.Move( indent, 0 );
+
+ TAknLayoutText keyTextLayout;
+ keyTextLayout.LayoutText( inner, keyText );
+ dataInfo->iKeypad.iCharRects.AppendL( keyTextLayout.TextRect() );
+ }
+ }
+ // Modify end
if ( isLandscape )
{