fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/aknfepuilayoutdatamgr.cpp
changeset 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fep/aknfep/UiPlugins/AknFepUiInterface/AvkonImpl/src/aknfepuilayoutdatamgr.cpp	Tue Feb 02 01:02:04 2010 +0200
@@ -0,0 +1,280 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation for phrase creation layout data managment
+ *
+*/
+
+
+// INCLUDE FILES
+#include <gulfont.h> 
+#include <eiklabel.h>
+#include <AknLayout.lag>
+#include <AknsDrawUtils.h>
+#include <skinlayout.cdl.h>
+#include <aknlayoutscalable_avkon.cdl.h>
+
+#include "aknfepuilayoutdatamgr.h"
+
+// -----------------------------------------------------------------------------
+// CAknFepUiLayoutDataMgr::GetPinyinPhraseCreationContainerHeight()
+// Get the pinyin phrase creation container Height data 
+// -----------------------------------------------------------------------------
+//
+CAknFepUiLayoutDataMgr* CAknFepUiLayoutDataMgr::NewL()
+    {
+    CAknFepUiLayoutDataMgr* self = new(ELeave)CAknFepUiLayoutDataMgr();
+    CleanupStack::PushL( self );
+    self->ConstructL( );
+    CleanupStack::Pop( ); // self
+    return self;
+    }
+
+CAknFepUiLayoutDataMgr::CAknFepUiLayoutDataMgr()
+    {
+    }
+
+void CAknFepUiLayoutDataMgr::ConstructL()
+    {
+    ReadLafInfo();
+    }
+
+void CAknFepUiLayoutDataMgr::ReadLafInfo()
+    {
+    // Screen
+    TRect rect;
+    AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, rect);
+    iScreenSize = rect.Size();
+
+    iLandScape = iScreenSize.iWidth < iScreenSize.iHeight ? EFalse : ETrue;
+    
+    TAknWindowLineLayout layoutLineEntry, layoutLineCandidate, layoutLineEEP;
+    TAknLayoutRect layoutRectEntry, layoutRectCandidate, layoutRectEEP;
+    
+    layoutLineEntry = AKN_LAYOUT_WINDOW_popup_fep_china_uni_window(0,0);
+    layoutRectEntry.LayoutRect(iScreenSize,layoutLineEntry);
+    iPopupRectEntry = layoutLineEntry.Rect();
+    iPopupHeightEntry = layoutLineEntry.iH;
+    
+    //PinyinPopupWindowRect
+    iEntryPaneWindowLine = AKN_LAYOUT_WINDOW_fep_china_uni_entry_pane;
+    iLayoutEntryItem = AKN_LAYOUT_WINDOW_fep_entry_item_pane;
+    
+    iLayoutLineRectEntryPane.LayoutRect(iPopupRectEntry, iEntryPaneWindowLine);
+    
+    layoutLineCandidate = AKN_LAYOUT_WINDOW_popup_fep_china_uni_window(0,1);
+    layoutRectCandidate.LayoutRect(iScreenSize,layoutLineCandidate);
+    iPopupRectCandidate = layoutLineCandidate.Rect();
+    
+    layoutLineEEP = AKN_LAYOUT_WINDOW_popup_fep_china_uni_window(0,2);//need updated
+    layoutRectEEP.LayoutRect(iScreenSize,layoutLineEEP);
+    iPopupRectEEP = layoutLineEEP.Rect();
+    iPopupHeightEEP = layoutLineEEP.iH;
+    
+    
+    iCandidatePaneWindowLine = AKN_LAYOUT_WINDOW_fep_china_uni_candidate_pane( 0 );
+    
+    //Candidate
+    
+    iCandidatePaneTextLine = AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_1;
+    iOrdinalCandidateTextLayout = AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_3;
+    iCandidateWindowLine1 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_1;
+    iCandidateWindowLine2 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_2;
+    iCandidateWindowLine3 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_3;
+    iCandidateWindowLine4 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_4;
+    
+    iLayoutCandidateItem = AKN_LAYOUT_WINDOW_fep_candidate_item_pane;
+    
+    //EEP   
+    TAknWindowComponentLayout EEPWindowComponentLayout = AknLayoutScalable_Avkon::fep_china_uni_eep_pane();     
+    iEEPWindowLayout = EEPWindowComponentLayout.LayoutLine();
+    TAknLayoutRect EEPLayout;
+    EEPLayout.LayoutRect( iPopupRectEEP, iEEPWindowLayout );
+    iEEPWindowRect = EEPLayout.Rect();
+    //
+    iRectCoverMainPaneInputEntry.LayoutRect(iPopupRectEntry, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1(iPopupRectEntry));
+    iRectFirstShadowInputEntry.LayoutRect(iPopupRectEntry, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_2(iPopupRectEntry));
+    iRectOutlineFrameInputEntry.LayoutRect(iPopupRectEntry, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3(iPopupRectEntry));
+    iRectInsideAreaInputEntry.LayoutRect(iPopupRectEntry, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(iPopupRectEntry));
+    
+    iRectCoverMainPaneInputCandidate.LayoutRect(iPopupRectCandidate, 
+                                                AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1(iPopupRectCandidate));
+    iRectFirstShadowInputCandidate.LayoutRect(iPopupRectCandidate, 
+                                              AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_2(iPopupRectCandidate));
+    iRectOutlineFrameInputCandidate.LayoutRect(iPopupRectCandidate,
+                                               AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3(iPopupRectCandidate));
+    iRectInsideAreaInputCandidate.LayoutRect(iPopupRectCandidate, 
+                                             AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(iPopupRectCandidate));
+    
+    iRectCoverMainPaneInputEEP.LayoutRect(iPopupRectEEP, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1(iPopupRectEEP));
+    iRectFirstShadowInputEEP.LayoutRect(iPopupRectEEP, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_2(iPopupRectEEP));
+    iRectOutlineFrameInputEEP.LayoutRect(iPopupRectEEP, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3(iPopupRectEEP));
+    iRectInsideAreaInputEEP.LayoutRect(iPopupRectEEP, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(iPopupRectEEP));    
+       
+    //HorizLine
+
+    iEntryHorizLineWindow = AknLayoutScalable_Avkon::popup_fep_china_uni_window_g(0,0).LayoutLine();
+    iEEPSecondHorizLineWindow = AknLayoutScalable_Avkon::popup_fep_china_uni_window_g(0,1).LayoutLine();
+    iEEPFirstHorizLineWindow = AknLayoutScalable_Avkon::popup_fep_china_uni_window_g(1,0).LayoutLine();
+    iHorizLine.LayoutRect(iPopupRectEntry, iEntryHorizLineWindow);
+    iEEPFirstHorizLine.LayoutRect(iPopupRectEEP, iEEPFirstHorizLineWindow);
+    iEEPSecondHorizLine.LayoutRect(iPopupRectEEP, iEEPSecondHorizLineWindow);
+
+    iEntryPaneRect = iLayoutLineRectEntryPane.Rect( );
+    iEntryTextLayout
+        = AKN_LAYOUT_TEXT_Chinese_universal_FEP_entry_pane_texts_Line_1(0);
+    TAknLayoutRect labelRect;
+    labelRect.LayoutRect( iEntryPaneRect,
+        AKN_LAYOUT_WINDOW_fep_entry_item_pane );
+    iLayoutInputPaneText.LayoutText( labelRect.Rect( ), iEntryTextLayout );
+
+    TRect windowRect = layoutRectEntry.Rect();    
+    TInt height = windowRect.Height();
+    TInt width = windowRect.Width();
+    windowRect.iTl.iY = 0;
+    windowRect.iTl.iX = 0;
+    windowRect.SetHeight(height);
+    windowRect.SetWidth(width);
+    
+    TAknLayoutRect layoutLineRectEntryPane;
+    layoutLineRectEntryPane.LayoutRect(windowRect, iEntryPaneWindowLine);
+    TRect entryPane = layoutLineRectEntryPane.Rect();
+    // left and right arrow
+    TAknWindowLineLayout leftArrowLayoutLine, rithgArrowLayoutLine;	
+    leftArrowLayoutLine = AKN_LAYOUT_WINDOW_Chinese_universal_FEP_entry_pane_elements_Line_1;
+    iIndiFepArrowLeft.LayoutRect(entryPane,leftArrowLayoutLine);
+    rithgArrowLayoutLine = AKN_LAYOUT_WINDOW_Chinese_universal_FEP_entry_pane_elements_Line_2;
+    iIndiFepArrowRight.LayoutRect(entryPane,rithgArrowLayoutLine);   	
+    
+    iRectCoverMainPaneInput.LayoutRect(windowRect, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1(windowRect));
+    iRectFirstShadowInput.LayoutRect(windowRect, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_2(windowRect));
+    iRectOutlineFrameInput.LayoutRect(windowRect, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3(windowRect));
+    iRectInsideAreaInput.LayoutRect(windowRect, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(windowRect));
+    
+    //eep text
+    TAknTextComponentLayout textLayout = AknLayoutScalable_Avkon::fep_china_uni_eep_pane_t1();
+    iEEPTextLine = textLayout.LayoutLine();
+    TAknLayoutText eepTextLayout;
+    eepTextLayout.LayoutText( iEEPWindowRect, iEEPTextLine );
+    iEEPTextColor = eepTextLayout.Color();
+    const CFont* font = AknLayoutUtils::FontFromId(iEEPTextLine.FontId());
+    iEEPCursorHeight = font->HeightInPixels();    
+    }
+
+TAny* CAknFepUiLayoutDataMgr::RequestData(TInt aDataType)
+    {
+    switch ( aDataType )
+        {
+        case EPopupRectEntry:
+            return &iPopupRectEntry;
+        case EPopupRectCandatate:
+            return &iPopupRectCandidate;
+        case EPopupRectEEP:
+            return &iPopupRectEEP;
+        case EPopupHeightEntry:
+            return &iPopupHeightEntry;
+        case EPopupHeightEEP:
+            return &iPopupHeightEEP;
+        case EEntryPaneWindowLine:
+            return &iEntryPaneWindowLine;
+        case ECandidatePaneWindowLine:
+            return &iCandidatePaneWindowLine;
+        case ECandidatePaneTextLine:
+            return &iCandidatePaneTextLine;
+        case ECandidateWindowLine1:
+            return &iCandidateWindowLine1;
+        case ECandidateWindowLine2:
+            return &iCandidateWindowLine2;
+        case ECandidateWindowLine3:
+            return &iCandidateWindowLine3;
+        case ECandidateWindowLine4:
+            return &iCandidateWindowLine4;
+        case ELayoutCandidateItem:
+            return &iLayoutCandidateItem;
+        case ELayoutEntryItem:
+            return &iLayoutEntryItem;
+        case EOrdinalCandidateTextLayout:
+            return &iOrdinalCandidateTextLayout;
+        case EEEPWindowRect:
+            return &iEEPWindowRect;
+        case EEEPWindowLayout:
+            return &iEEPWindowLayout;
+        case ERectCoverMainPaneInputEntry:
+            return &iRectCoverMainPaneInputEntry;
+        case ERectFirstShadowInputEntry:
+            return &iRectFirstShadowInputEntry;
+        case ERectOutlineFrameInputEntry:
+            return &iRectOutlineFrameInputEntry;
+        case ERectInsideAreaInputEntry:
+            return &iRectInsideAreaInputEntry;
+        case ERectCoverMainPaneInputCandidate:
+            return &iRectCoverMainPaneInputCandidate;
+        case ERectFirstShadowInputCandidate:
+            return &iRectFirstShadowInputCandidate;
+        case ERectOutlineFrameInputCandidate:
+            return &iRectOutlineFrameInputCandidate;
+        case ERectInsideAreaInputCandidate:
+            return &iRectInsideAreaInputCandidate;
+        case ERectCoverMainPaneInputEEP:
+            return &iRectCoverMainPaneInputEEP;
+        case ERectFirstShadowInputEEP:
+            return &iRectFirstShadowInputEEP;
+        case ERectOutlineFrameInputEEP:
+            return &iRectOutlineFrameInputEEP;
+        case ERectInsideAreaInputEEP:
+            return &iRectInsideAreaInputEEP;
+        case ELayoutInputPaneText:
+            return &iLayoutInputPaneText;
+        case ELayoutLineRectEntryPane:
+            return &iLayoutLineRectEntryPane;
+        case EEntryTextLayout:
+            return &iEntryTextLayout;
+        case EEntryPaneRect:
+            return &iEntryPaneRect;
+        case EIndiFepArrowLeft:
+            return &iIndiFepArrowLeft;
+        case EIndiFepArrowRight:
+            return &iIndiFepArrowRight;
+        case ERectCoverMainPaneInput:
+            return &iRectCoverMainPaneInput;
+        case ERectFirstShadowInput:
+            return &iRectFirstShadowInput;
+        case ERectOutlineFrameInput:
+            return &iRectOutlineFrameInput;
+        case ERectInsideAreaInput:
+            return &iRectInsideAreaInput;
+        case EEEPTextLine:
+            return &iEEPTextLine;
+        case EEEPCursorHeight:
+            return &iEEPCursorHeight;
+        case EHorizLine:
+            return &iHorizLine;
+        case EEEPFirstHorizLine:
+            return &iEEPFirstHorizLine;
+        case EEEPSecondHorizLine:
+            return &iEEPSecondHorizLine;
+        case EEntryHorizLineWindow:
+            return &iEntryHorizLineWindow;
+        case EEEPSecondHorizLineWindow:
+            return &iEEPSecondHorizLineWindow;
+        case EEEPFirstHorizLineWindow:
+            return &iEEPFirstHorizLineWindow;
+        case EEEPTextColor:
+            return &iEEPTextColor;
+        default:
+            break;
+        }
+    return NULL;
+    }
+
+// End of File