1 /* |
|
2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0"" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: Implementation for phrase creation layout data managment |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 // INCLUDE FILES |
|
20 #include <gulfont.h> |
|
21 #include <eiklabel.h> |
|
22 #include <AknLayout.lag> |
|
23 #include <AknsDrawUtils.h> |
|
24 #include <skinlayout.cdl.h> |
|
25 #include <aknlayoutscalable_avkon.cdl.h> |
|
26 |
|
27 #include "aknfepuilayoutdatamgr.h" |
|
28 |
|
29 // ----------------------------------------------------------------------------- |
|
30 // CAknFepUiLayoutDataMgr::GetPinyinPhraseCreationContainerHeight() |
|
31 // Get the pinyin phrase creation container Height data |
|
32 // ----------------------------------------------------------------------------- |
|
33 // |
|
34 CAknFepUiLayoutDataMgr* CAknFepUiLayoutDataMgr::NewL() |
|
35 { |
|
36 CAknFepUiLayoutDataMgr* self = new(ELeave)CAknFepUiLayoutDataMgr(); |
|
37 CleanupStack::PushL( self ); |
|
38 self->ConstructL( ); |
|
39 CleanupStack::Pop( ); // self |
|
40 return self; |
|
41 } |
|
42 |
|
43 CAknFepUiLayoutDataMgr::CAknFepUiLayoutDataMgr() |
|
44 { |
|
45 } |
|
46 |
|
47 void CAknFepUiLayoutDataMgr::ConstructL() |
|
48 { |
|
49 ReadLafInfo(); |
|
50 } |
|
51 |
|
52 void CAknFepUiLayoutDataMgr::ReadLafInfo() |
|
53 { |
|
54 // Screen |
|
55 TRect rect; |
|
56 AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, rect); |
|
57 iScreenSize = rect.Size(); |
|
58 |
|
59 iLandScape = iScreenSize.iWidth < iScreenSize.iHeight ? EFalse : ETrue; |
|
60 |
|
61 TAknWindowLineLayout layoutLineEntry, layoutLineCandidate, layoutLineEEP; |
|
62 TAknLayoutRect layoutRectEntry, layoutRectCandidate, layoutRectEEP; |
|
63 |
|
64 layoutLineEntry = AKN_LAYOUT_WINDOW_popup_fep_china_uni_window(0,0); |
|
65 layoutRectEntry.LayoutRect(iScreenSize,layoutLineEntry); |
|
66 iPopupRectEntry = layoutLineEntry.Rect(); |
|
67 iPopupHeightEntry = layoutLineEntry.iH; |
|
68 |
|
69 //PinyinPopupWindowRect |
|
70 iEntryPaneWindowLine = AKN_LAYOUT_WINDOW_fep_china_uni_entry_pane; |
|
71 iLayoutEntryItem = AKN_LAYOUT_WINDOW_fep_entry_item_pane; |
|
72 |
|
73 iLayoutLineRectEntryPane.LayoutRect(iPopupRectEntry, iEntryPaneWindowLine); |
|
74 |
|
75 layoutLineCandidate = AKN_LAYOUT_WINDOW_popup_fep_china_uni_window(0,1); |
|
76 layoutRectCandidate.LayoutRect(iScreenSize,layoutLineCandidate); |
|
77 iPopupRectCandidate = layoutLineCandidate.Rect(); |
|
78 |
|
79 layoutLineEEP = AKN_LAYOUT_WINDOW_popup_fep_china_uni_window(0,2);//need updated |
|
80 layoutRectEEP.LayoutRect(iScreenSize,layoutLineEEP); |
|
81 iPopupRectEEP = layoutLineEEP.Rect(); |
|
82 iPopupHeightEEP = layoutLineEEP.iH; |
|
83 |
|
84 |
|
85 iCandidatePaneWindowLine = AKN_LAYOUT_WINDOW_fep_china_uni_candidate_pane( 0 ); |
|
86 |
|
87 //Candidate |
|
88 |
|
89 iCandidatePaneTextLine = AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_1; |
|
90 iOrdinalCandidateTextLayout = AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_3; |
|
91 iCandidateWindowLine1 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_1; |
|
92 iCandidateWindowLine2 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_2; |
|
93 iCandidateWindowLine3 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_3; |
|
94 iCandidateWindowLine4 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_4; |
|
95 |
|
96 iLayoutCandidateItem = AKN_LAYOUT_WINDOW_fep_candidate_item_pane; |
|
97 |
|
98 //EEP |
|
99 TAknWindowComponentLayout EEPWindowComponentLayout = AknLayoutScalable_Avkon::fep_china_uni_eep_pane(); |
|
100 iEEPWindowLayout = EEPWindowComponentLayout.LayoutLine(); |
|
101 TAknLayoutRect EEPLayout; |
|
102 EEPLayout.LayoutRect( iPopupRectEEP, iEEPWindowLayout ); |
|
103 iEEPWindowRect = EEPLayout.Rect(); |
|
104 // |
|
105 iRectCoverMainPaneInputEntry.LayoutRect(iPopupRectEntry, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1(iPopupRectEntry)); |
|
106 iRectFirstShadowInputEntry.LayoutRect(iPopupRectEntry, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_2(iPopupRectEntry)); |
|
107 iRectOutlineFrameInputEntry.LayoutRect(iPopupRectEntry, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3(iPopupRectEntry)); |
|
108 iRectInsideAreaInputEntry.LayoutRect(iPopupRectEntry, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(iPopupRectEntry)); |
|
109 |
|
110 iRectCoverMainPaneInputCandidate.LayoutRect(iPopupRectCandidate, |
|
111 AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1(iPopupRectCandidate)); |
|
112 iRectFirstShadowInputCandidate.LayoutRect(iPopupRectCandidate, |
|
113 AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_2(iPopupRectCandidate)); |
|
114 iRectOutlineFrameInputCandidate.LayoutRect(iPopupRectCandidate, |
|
115 AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3(iPopupRectCandidate)); |
|
116 iRectInsideAreaInputCandidate.LayoutRect(iPopupRectCandidate, |
|
117 AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(iPopupRectCandidate)); |
|
118 |
|
119 iRectCoverMainPaneInputEEP.LayoutRect(iPopupRectEEP, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1(iPopupRectEEP)); |
|
120 iRectFirstShadowInputEEP.LayoutRect(iPopupRectEEP, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_2(iPopupRectEEP)); |
|
121 iRectOutlineFrameInputEEP.LayoutRect(iPopupRectEEP, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3(iPopupRectEEP)); |
|
122 iRectInsideAreaInputEEP.LayoutRect(iPopupRectEEP, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(iPopupRectEEP)); |
|
123 |
|
124 //HorizLine |
|
125 |
|
126 iEntryHorizLineWindow = AknLayoutScalable_Avkon::popup_fep_china_uni_window_g(0,0).LayoutLine(); |
|
127 iEEPSecondHorizLineWindow = AknLayoutScalable_Avkon::popup_fep_china_uni_window_g(0,1).LayoutLine(); |
|
128 iEEPFirstHorizLineWindow = AknLayoutScalable_Avkon::popup_fep_china_uni_window_g(1,0).LayoutLine(); |
|
129 iHorizLine.LayoutRect(iPopupRectEntry, iEntryHorizLineWindow); |
|
130 iEEPFirstHorizLine.LayoutRect(iPopupRectEEP, iEEPFirstHorizLineWindow); |
|
131 iEEPSecondHorizLine.LayoutRect(iPopupRectEEP, iEEPSecondHorizLineWindow); |
|
132 |
|
133 iEntryPaneRect = iLayoutLineRectEntryPane.Rect( ); |
|
134 iEntryTextLayout |
|
135 = AKN_LAYOUT_TEXT_Chinese_universal_FEP_entry_pane_texts_Line_1(0); |
|
136 TAknLayoutRect labelRect; |
|
137 labelRect.LayoutRect( iEntryPaneRect, |
|
138 AKN_LAYOUT_WINDOW_fep_entry_item_pane ); |
|
139 iLayoutInputPaneText.LayoutText( labelRect.Rect( ), iEntryTextLayout ); |
|
140 |
|
141 TRect windowRect = layoutRectEntry.Rect(); |
|
142 TInt height = windowRect.Height(); |
|
143 TInt width = windowRect.Width(); |
|
144 windowRect.iTl.iY = 0; |
|
145 windowRect.iTl.iX = 0; |
|
146 windowRect.SetHeight(height); |
|
147 windowRect.SetWidth(width); |
|
148 |
|
149 TAknLayoutRect layoutLineRectEntryPane; |
|
150 layoutLineRectEntryPane.LayoutRect(windowRect, iEntryPaneWindowLine); |
|
151 TRect entryPane = layoutLineRectEntryPane.Rect(); |
|
152 // left and right arrow |
|
153 TAknWindowLineLayout leftArrowLayoutLine, rithgArrowLayoutLine; |
|
154 leftArrowLayoutLine = AKN_LAYOUT_WINDOW_Chinese_universal_FEP_entry_pane_elements_Line_1; |
|
155 iIndiFepArrowLeft.LayoutRect(entryPane,leftArrowLayoutLine); |
|
156 rithgArrowLayoutLine = AKN_LAYOUT_WINDOW_Chinese_universal_FEP_entry_pane_elements_Line_2; |
|
157 iIndiFepArrowRight.LayoutRect(entryPane,rithgArrowLayoutLine); |
|
158 |
|
159 iRectCoverMainPaneInput.LayoutRect(windowRect, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1(windowRect)); |
|
160 iRectFirstShadowInput.LayoutRect(windowRect, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_2(windowRect)); |
|
161 iRectOutlineFrameInput.LayoutRect(windowRect, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3(windowRect)); |
|
162 iRectInsideAreaInput.LayoutRect(windowRect, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(windowRect)); |
|
163 |
|
164 //eep text |
|
165 TAknTextComponentLayout textLayout = AknLayoutScalable_Avkon::fep_china_uni_eep_pane_t1(); |
|
166 iEEPTextLine = textLayout.LayoutLine(); |
|
167 TAknLayoutText eepTextLayout; |
|
168 eepTextLayout.LayoutText( iEEPWindowRect, iEEPTextLine ); |
|
169 iEEPTextColor = eepTextLayout.Color(); |
|
170 const CFont* font = AknLayoutUtils::FontFromId(iEEPTextLine.FontId()); |
|
171 iEEPCursorHeight = font->HeightInPixels(); |
|
172 } |
|
173 |
|
174 TAny* CAknFepUiLayoutDataMgr::RequestData(TInt aDataType) |
|
175 { |
|
176 switch ( aDataType ) |
|
177 { |
|
178 case EPopupRectEntry: |
|
179 return &iPopupRectEntry; |
|
180 case EPopupRectCandatate: |
|
181 return &iPopupRectCandidate; |
|
182 case EPopupRectEEP: |
|
183 return &iPopupRectEEP; |
|
184 case EPopupHeightEntry: |
|
185 return &iPopupHeightEntry; |
|
186 case EPopupHeightEEP: |
|
187 return &iPopupHeightEEP; |
|
188 case EEntryPaneWindowLine: |
|
189 return &iEntryPaneWindowLine; |
|
190 case ECandidatePaneWindowLine: |
|
191 return &iCandidatePaneWindowLine; |
|
192 case ECandidatePaneTextLine: |
|
193 return &iCandidatePaneTextLine; |
|
194 case ECandidateWindowLine1: |
|
195 return &iCandidateWindowLine1; |
|
196 case ECandidateWindowLine2: |
|
197 return &iCandidateWindowLine2; |
|
198 case ECandidateWindowLine3: |
|
199 return &iCandidateWindowLine3; |
|
200 case ECandidateWindowLine4: |
|
201 return &iCandidateWindowLine4; |
|
202 case ELayoutCandidateItem: |
|
203 return &iLayoutCandidateItem; |
|
204 case ELayoutEntryItem: |
|
205 return &iLayoutEntryItem; |
|
206 case EOrdinalCandidateTextLayout: |
|
207 return &iOrdinalCandidateTextLayout; |
|
208 case EEEPWindowRect: |
|
209 return &iEEPWindowRect; |
|
210 case EEEPWindowLayout: |
|
211 return &iEEPWindowLayout; |
|
212 case ERectCoverMainPaneInputEntry: |
|
213 return &iRectCoverMainPaneInputEntry; |
|
214 case ERectFirstShadowInputEntry: |
|
215 return &iRectFirstShadowInputEntry; |
|
216 case ERectOutlineFrameInputEntry: |
|
217 return &iRectOutlineFrameInputEntry; |
|
218 case ERectInsideAreaInputEntry: |
|
219 return &iRectInsideAreaInputEntry; |
|
220 case ERectCoverMainPaneInputCandidate: |
|
221 return &iRectCoverMainPaneInputCandidate; |
|
222 case ERectFirstShadowInputCandidate: |
|
223 return &iRectFirstShadowInputCandidate; |
|
224 case ERectOutlineFrameInputCandidate: |
|
225 return &iRectOutlineFrameInputCandidate; |
|
226 case ERectInsideAreaInputCandidate: |
|
227 return &iRectInsideAreaInputCandidate; |
|
228 case ERectCoverMainPaneInputEEP: |
|
229 return &iRectCoverMainPaneInputEEP; |
|
230 case ERectFirstShadowInputEEP: |
|
231 return &iRectFirstShadowInputEEP; |
|
232 case ERectOutlineFrameInputEEP: |
|
233 return &iRectOutlineFrameInputEEP; |
|
234 case ERectInsideAreaInputEEP: |
|
235 return &iRectInsideAreaInputEEP; |
|
236 case ELayoutInputPaneText: |
|
237 return &iLayoutInputPaneText; |
|
238 case ELayoutLineRectEntryPane: |
|
239 return &iLayoutLineRectEntryPane; |
|
240 case EEntryTextLayout: |
|
241 return &iEntryTextLayout; |
|
242 case EEntryPaneRect: |
|
243 return &iEntryPaneRect; |
|
244 case EIndiFepArrowLeft: |
|
245 return &iIndiFepArrowLeft; |
|
246 case EIndiFepArrowRight: |
|
247 return &iIndiFepArrowRight; |
|
248 case ERectCoverMainPaneInput: |
|
249 return &iRectCoverMainPaneInput; |
|
250 case ERectFirstShadowInput: |
|
251 return &iRectFirstShadowInput; |
|
252 case ERectOutlineFrameInput: |
|
253 return &iRectOutlineFrameInput; |
|
254 case ERectInsideAreaInput: |
|
255 return &iRectInsideAreaInput; |
|
256 case EEEPTextLine: |
|
257 return &iEEPTextLine; |
|
258 case EEEPCursorHeight: |
|
259 return &iEEPCursorHeight; |
|
260 case EHorizLine: |
|
261 return &iHorizLine; |
|
262 case EEEPFirstHorizLine: |
|
263 return &iEEPFirstHorizLine; |
|
264 case EEEPSecondHorizLine: |
|
265 return &iEEPSecondHorizLine; |
|
266 case EEntryHorizLineWindow: |
|
267 return &iEntryHorizLineWindow; |
|
268 case EEEPSecondHorizLineWindow: |
|
269 return &iEEPSecondHorizLineWindow; |
|
270 case EEEPFirstHorizLineWindow: |
|
271 return &iEEPFirstHorizLineWindow; |
|
272 case EEEPTextColor: |
|
273 return &iEEPTextColor; |
|
274 default: |
|
275 break; |
|
276 } |
|
277 return NULL; |
|
278 } |
|
279 |
|
280 // End of File |
|