48 { |
48 { |
49 ReadLafInfo(); |
49 ReadLafInfo(); |
50 } |
50 } |
51 |
51 |
52 void CAknFepUiLayoutDataMgr::ReadLafInfo() |
52 void CAknFepUiLayoutDataMgr::ReadLafInfo() |
53 { |
53 { |
54 // Screen |
54 // Screen |
55 TRect rect; |
55 TRect rect; |
56 AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, rect); |
56 AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EScreen, rect ); |
57 iScreenSize = rect.Size(); |
57 iScreenSize = rect.Size(); |
58 |
58 |
59 iLandScape = iScreenSize.iWidth < iScreenSize.iHeight ? EFalse : ETrue; |
59 iLandScape = iScreenSize.iWidth < iScreenSize.iHeight ? EFalse : ETrue; |
60 |
60 |
61 TAknWindowLineLayout layoutLineEntry, layoutLineCandidate, layoutLineEEP; |
61 // 1. Container With Candidate list |
62 TAknLayoutRect layoutRectEntry, layoutRectCandidate, layoutRectEEP; |
62 TAknWindowLineLayout layoutLineEntry; |
63 |
63 TAknLayoutRect layoutRectEntry; |
64 layoutLineEntry = AKN_LAYOUT_WINDOW_popup_fep_china_uni_window(0,0); |
64 |
65 layoutRectEntry.LayoutRect(iScreenSize,layoutLineEntry); |
65 // Get container Rect & height |
66 iPopupRectEntry = layoutLineEntry.Rect(); |
66 layoutLineEntry = AknLayoutScalable_Avkon::popup_hyb_candi_window(0); |
|
67 layoutRectEntry.LayoutRect( rect, layoutLineEntry ); |
|
68 iPopupRectEntry = layoutRectEntry.Rect(); |
67 iPopupHeightEntry = layoutLineEntry.iH; |
69 iPopupHeightEntry = layoutLineEntry.iH; |
68 |
70 |
69 //PinyinPopupWindowRect |
71 // Candidate layout |
70 iEntryPaneWindowLine = AKN_LAYOUT_WINDOW_fep_china_uni_entry_pane; |
72 iCandidate = AknLayoutScalable_Avkon::grid_hyb_candi_pane(0); |
71 iLayoutEntryItem = AKN_LAYOUT_WINDOW_fep_entry_item_pane; |
73 |
72 |
74 // Scroll layout |
73 iLayoutLineRectEntryPane.LayoutRect(iPopupRectEntry, iEntryPaneWindowLine); |
75 iScrollLayout = AknLayoutScalable_Avkon::cell_hyb_candi_scroll_pane(0); |
74 |
76 |
75 layoutLineCandidate = AKN_LAYOUT_WINDOW_popup_fep_china_uni_window(0,1); |
77 // Up arrow & down arrow & close in scroll pane |
76 layoutRectCandidate.LayoutRect(iScreenSize,layoutLineCandidate); |
78 iUpArrowLayout = AknLayoutScalable_Avkon::cell_hyb_candi_scroll_pane_g1_aid(0); |
77 iPopupRectCandidate = layoutLineCandidate.Rect(); |
79 iDownArrowLayout = AknLayoutScalable_Avkon::cell_hyb_candi_scroll_pane_g2_aid(0); |
78 |
80 iCloseLayout = AknLayoutScalable_Avkon::cell_hyb_candi_scroll_pane_g3(0); |
79 layoutLineEEP = AKN_LAYOUT_WINDOW_popup_fep_china_uni_window(0,2);//need updated |
81 |
80 layoutRectEEP.LayoutRect(iScreenSize,layoutLineEEP); |
82 // Character in candidate pane |
81 iPopupRectEEP = layoutLineEEP.Rect(); |
83 iCharacterLineLayout = AknLayoutScalable_Avkon::cell_hyb_candi_pane(0); |
|
84 iCharacterTextLayout = AknLayoutScalable_Avkon::cell_hyb_candi_pane_t1(0); |
|
85 iEntryPaneWindowLine = AknLayoutScalable_Avkon::input_focus_pane_cp06( 0 ); |
|
86 iEntryPaneWindowLine.il = 3; |
|
87 iEntryPaneWindowLine.it = 3; |
|
88 iEntryPaneWindowLine.ir = 5; |
|
89 iEntryPaneWindowLine.iH = 30; |
|
90 iLayoutEntryItem = AKN_LAYOUT_WINDOW_fep_entry_item_pane; |
|
91 iLayoutLineRectEntryPane.LayoutRect( iPopupRectEntry, iEntryPaneWindowLine ); |
|
92 |
|
93 // 2. EC( With Candidate list & Entry ) |
|
94 TAknWindowLineLayout layoutLineCandidate; |
|
95 TAknLayoutRect layoutRectCandidate, layoutEC; |
|
96 |
|
97 // Container Rect & height |
|
98 layoutLineCandidate = AknLayoutScalable_Avkon::popup_hyb_candi_window(1); |
|
99 layoutRectCandidate.LayoutRect( rect,layoutLineCandidate ); |
|
100 iPopupRectCandidate = layoutRectCandidate.Rect(); |
|
101 iPopupRectCandidateHeight = layoutLineCandidate.iH; |
|
102 |
|
103 // Candidate layout |
|
104 iECandidate = AknLayoutScalable_Avkon::grid_hyb_candi_pane(1); |
|
105 iEntryCLayout = AknLayoutScalable_Avkon::entry_hyb_candi_pane(0); |
|
106 |
|
107 // Phrase pane layout |
|
108 iECWindowLayout = AknLayoutScalable_Avkon::grid_hyb_phrase_pane(0); |
|
109 |
|
110 // 3. ECP( With Candidate list & Entry & PopUp ) |
|
111 TAknWindowLineLayout layoutLineEEP; |
|
112 TAknLayoutRect layoutEEP, layoutRectEEP; |
|
113 |
|
114 // Container Rect & height |
|
115 layoutLineEEP = AknLayoutScalable_Avkon::popup_hyb_candi_window(2); |
|
116 layoutRectEEP.LayoutRect(rect,layoutLineEEP); |
|
117 iPopupRectEEP = layoutRectEEP.Rect(); |
82 iPopupHeightEEP = layoutLineEEP.iH; |
118 iPopupHeightEEP = layoutLineEEP.iH; |
83 |
119 |
84 |
120 //Entry |
85 iCandidatePaneWindowLine = AKN_LAYOUT_WINDOW_fep_china_uni_candidate_pane( 0 ); |
121 iEntryCPLayout = AknLayoutScalable_Avkon::entry_hyb_candi_pane(1); |
86 |
122 iEntryWithCandidateAndPopUp = AknLayoutScalable_Avkon::grid_hyb_phrase_pane(1); |
87 //Candidate |
123 |
88 |
124 // Candidate layout |
89 iCandidatePaneTextLine = AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_1; |
125 iEPCandidate = AknLayoutScalable_Avkon::grid_hyb_candi_pane(2); |
90 iOrdinalCandidateTextLayout = AKN_LAYOUT_TEXT_Chinese_universal_FEP_candidate_pane_texts_Line_3; |
126 |
91 iCandidateWindowLine1 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_1; |
127 //EEP |
92 iCandidateWindowLine2 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_2; |
128 iEEPWindowLayout = AknLayoutScalable_Avkon::grid_hyb_phrase_pane(1); |
93 iCandidateWindowLine3 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_3; |
129 layoutEEP.LayoutRect( iPopupRectEEP, iEEPWindowLayout ); |
94 iCandidateWindowLine4 = AKN_LAYOUT_WINDOW_Chinese_universal_FEPcandidate_pane_elements_Line_4; |
130 iEEPWindowRect = layoutEEP.Rect(); |
95 |
131 |
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)); |
132 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)); |
133 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)); |
134 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)); |
135 iRectInsideAreaInputEntry.LayoutRect(iPopupRectEntry, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(iPopupRectEntry)); |
109 |
136 |
114 iRectOutlineFrameInputCandidate.LayoutRect(iPopupRectCandidate, |
141 iRectOutlineFrameInputCandidate.LayoutRect(iPopupRectCandidate, |
115 AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3(iPopupRectCandidate)); |
142 AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_3(iPopupRectCandidate)); |
116 iRectInsideAreaInputCandidate.LayoutRect(iPopupRectCandidate, |
143 iRectInsideAreaInputCandidate.LayoutRect(iPopupRectCandidate, |
117 AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(iPopupRectCandidate)); |
144 AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(iPopupRectCandidate)); |
118 |
145 |
|
146 |
119 iRectCoverMainPaneInputEEP.LayoutRect(iPopupRectEEP, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_1(iPopupRectEEP)); |
147 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)); |
148 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)); |
149 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)); |
150 iRectInsideAreaInputEEP.LayoutRect(iPopupRectEEP, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(iPopupRectEEP)); |
123 |
151 |
124 //HorizLine |
|
125 |
|
126 iEntryHorizLineWindow = AknLayoutScalable_Avkon::popup_fep_china_uni_window_g(0,0).LayoutLine(); |
152 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(); |
153 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(); |
154 iEEPFirstHorizLineWindow = AknLayoutScalable_Avkon::popup_fep_china_uni_window_g(1,0).LayoutLine(); |
129 iHorizLine.LayoutRect(iPopupRectEntry, iEntryHorizLineWindow); |
155 iHorizLine.LayoutRect(iPopupRectEntry, iEntryHorizLineWindow); |
130 iEEPFirstHorizLine.LayoutRect(iPopupRectEEP, iEEPFirstHorizLineWindow); |
156 iEEPFirstHorizLine.LayoutRect(iPopupRectEEP, iEEPFirstHorizLineWindow); |
131 iEEPSecondHorizLine.LayoutRect(iPopupRectEEP, iEEPSecondHorizLineWindow); |
157 iEEPSecondHorizLine.LayoutRect(iPopupRectEEP, iEEPSecondHorizLineWindow); |
132 |
|
133 iEntryPaneRect = iLayoutLineRectEntryPane.Rect( ); |
158 iEntryPaneRect = iLayoutLineRectEntryPane.Rect( ); |
134 iEntryTextLayout |
159 |
135 = AKN_LAYOUT_TEXT_Chinese_universal_FEP_entry_pane_texts_Line_1(0); |
|
136 TAknLayoutRect labelRect; |
160 TAknLayoutRect labelRect; |
137 labelRect.LayoutRect( iEntryPaneRect, |
161 labelRect.LayoutRect( iEntryPaneRect, AknLayoutScalable_Avkon::entry_hyb_candi_pane(0)); |
138 AKN_LAYOUT_WINDOW_fep_entry_item_pane ); |
162 iEntryTextLayout = AknLayoutScalable_Avkon::entry_hyb_candi_pane_t1( 0 ); |
139 iLayoutInputPaneText.LayoutText( labelRect.Rect( ), iEntryTextLayout ); |
163 iLayoutInputPaneText.LayoutText( labelRect.Rect( ), iEntryTextLayout ); |
140 |
164 |
141 TRect windowRect = layoutRectEntry.Rect(); |
165 TRect windowRect = layoutRectEntry.Rect(); |
142 TInt height = windowRect.Height(); |
166 TInt height = windowRect.Height(); |
143 TInt width = windowRect.Width(); |
167 TInt width = windowRect.Width(); |
|
168 |
144 windowRect.iTl.iY = 0; |
169 windowRect.iTl.iY = 0; |
145 windowRect.iTl.iX = 0; |
170 windowRect.iTl.iX = 0; |
146 windowRect.SetHeight(height); |
171 windowRect.SetHeight(height); |
147 windowRect.SetWidth(width); |
172 windowRect.SetWidth(width); |
148 |
173 |
149 TAknLayoutRect layoutLineRectEntryPane; |
174 TAknLayoutRect layoutLineRectEntryPane; |
150 layoutLineRectEntryPane.LayoutRect(windowRect, iEntryPaneWindowLine); |
175 layoutLineRectEntryPane.LayoutRect(windowRect, iEntryPaneWindowLine); |
151 TRect entryPane = layoutLineRectEntryPane.Rect(); |
176 TRect entryPane = layoutLineRectEntryPane.Rect(); |
152 // left and right arrow |
177 |
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)); |
178 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)); |
179 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)); |
180 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)); |
181 iRectInsideAreaInput.LayoutRect(windowRect, AKN_LAYOUT_WINDOW_Chinese_universal_FEP_pop_up_window_graphics_Line_4(windowRect)); |
163 |
182 |
164 //eep text |
183 //eep text |
165 TAknTextComponentLayout textLayout = AknLayoutScalable_Avkon::fep_china_uni_eep_pane_t1(); |
184 TAknTextComponentLayout textLayout = AknLayoutScalable_Avkon::entry_hyb_candi_pane_t1(0); |
166 iEEPTextLine = textLayout.LayoutLine(); |
185 iEEPTextLine = textLayout.LayoutLine(); |
167 TAknLayoutText eepTextLayout; |
186 TAknLayoutText eepTextLayout; |
168 eepTextLayout.LayoutText( iEEPWindowRect, iEEPTextLine ); |
187 eepTextLayout.LayoutText( iEEPWindowRect, iEEPTextLine ); |
169 iEEPTextColor = eepTextLayout.Color(); |
188 iEEPTextColor = eepTextLayout.Color(); |
170 const CFont* font = AknLayoutUtils::FontFromId(iEEPTextLine.FontId()); |
189 const CFont* font = AknLayoutUtils::FontFromId(iEEPTextLine.FontId()); |
171 iEEPCursorHeight = font->HeightInPixels(); |
190 iEEPCursorHeight = font->HeightInPixels(); |
|
191 iInputLayout = AknLayoutScalable_Avkon::cell_hyb_phrase_pane(0); |
|
192 iInputTextLayout = AknLayoutScalable_Avkon::cell_hyb_phrase_pane_t1(0); |
172 } |
193 } |
173 |
194 |
174 TAny* CAknFepUiLayoutDataMgr::RequestData(TInt aDataType) |
195 TAny* CAknFepUiLayoutDataMgr::RequestData(TInt aDataType) |
175 { |
196 { |
176 switch ( aDataType ) |
197 switch ( aDataType ) |
187 return &iPopupHeightEEP; |
208 return &iPopupHeightEEP; |
188 case EEntryPaneWindowLine: |
209 case EEntryPaneWindowLine: |
189 return &iEntryPaneWindowLine; |
210 return &iEntryPaneWindowLine; |
190 case ECandidatePaneWindowLine: |
211 case ECandidatePaneWindowLine: |
191 return &iCandidatePaneWindowLine; |
212 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: |
213 case ELayoutEntryItem: |
205 return &iLayoutEntryItem; |
214 return &iLayoutEntryItem; |
206 case EOrdinalCandidateTextLayout: |
|
207 return &iOrdinalCandidateTextLayout; |
|
208 case EEEPWindowRect: |
215 case EEEPWindowRect: |
209 return &iEEPWindowRect; |
216 return &iEEPWindowRect; |
210 case EEEPWindowLayout: |
217 case EEEPWindowLayout: |
211 return &iEEPWindowLayout; |
218 return &iEEPWindowLayout; |
212 case ERectCoverMainPaneInputEntry: |
219 case ERectCoverMainPaneInputEntry: |
269 return &iEEPSecondHorizLineWindow; |
272 return &iEEPSecondHorizLineWindow; |
270 case EEEPFirstHorizLineWindow: |
273 case EEEPFirstHorizLineWindow: |
271 return &iEEPFirstHorizLineWindow; |
274 return &iEEPFirstHorizLineWindow; |
272 case EEEPTextColor: |
275 case EEEPTextColor: |
273 return &iEEPTextColor; |
276 return &iEEPTextColor; |
|
277 case EECPLayout: |
|
278 return &iEntryWithCandidateAndPopUp;//Rect; |
|
279 case ECandidateLayout: |
|
280 return &iCandidate; |
|
281 case EECandidateLayout: |
|
282 return &iECandidate; |
|
283 case EEPCandidateLayout: |
|
284 return &iEPCandidate; |
|
285 case ECharacterLayout: |
|
286 return &iCharacterLineLayout; |
|
287 case ECharacterTextLayout: |
|
288 return &iCharacterTextLayout; |
|
289 case EPopupHeightEP: |
|
290 return &iPopupRectCandidateHeight; |
|
291 case EUpArrowLayout: |
|
292 return &iUpArrowLayout; |
|
293 case EDownArrowLayout: |
|
294 return &iDownArrowLayout; |
|
295 case EScrollLayout: |
|
296 return &iScrollLayout; |
|
297 case EEntryCLayout: |
|
298 return &iEntryCLayout; |
|
299 case EEntryCPLayout: |
|
300 return &iEntryCPLayout; |
|
301 case EECWindowLayout: |
|
302 return &iECWindowLayout; |
|
303 case ECloseLayout: |
|
304 return &iCloseLayout; |
|
305 case EInputLayout: |
|
306 return &iInputLayout; |
|
307 case EInputTextLayout: |
|
308 return &iInputTextLayout; |
274 default: |
309 default: |
275 break; |
310 break; |
276 } |
311 } |
277 return NULL; |
312 return NULL; |
278 } |
313 } |