|
1 /* |
|
2 * Copyright (c) 2002 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: |
|
15 * |
|
16 */ |
|
17 |
|
18 #include "AknLib.h" |
|
19 #include <e32std.h> |
|
20 #include "avkon.hrh" |
|
21 #include <aknlists.h> |
|
22 #include <aknjavalists.h> |
|
23 #include <eikimage.h> |
|
24 #include <akntitle.h> |
|
25 #include <akncontext.h> |
|
26 #include "akncontextidle.h" |
|
27 #include <aknnavi.h> |
|
28 #include <AknSignal.h> |
|
29 #include <AknBattery.h> |
|
30 #include <AknIndicatorContainer.h> |
|
31 #include <aknnotecontrol.h> |
|
32 #include <aknQueryControl.h> |
|
33 #include <AknQueryDialog.h> |
|
34 #include <AknPopupFieldText.h> |
|
35 #include <aknsettingpage.h> |
|
36 #include <aknpopupsettingpage.h> |
|
37 #include <aknslider.h> |
|
38 #include <aknCharMap.h> |
|
39 #include <eikfrlb.h> |
|
40 #include <aknPopupHeadingPane.h> |
|
41 #include <AknQueryDialog.h> |
|
42 #include <aknQueryControl.h> |
|
43 #include <aknmessagequerycontrol.h> |
|
44 #include <aknmultilinequerycontrol.h> |
|
45 #include <aknlistquerycontrol.h> |
|
46 #include <AknPhoneNumberEditor.h> |
|
47 #include <AknNumEdwin.h> |
|
48 #include <AknAppGrid.h> |
|
49 #include "aknlistquerysearchcontrol.h" |
|
50 #include "aknstatuspanedigitalclock.h" |
|
51 #include "aknemptycontrol.h" |
|
52 #include "aknuniversalindicatorcontainer.h" |
|
53 #include "aknsignalindicatorcontainer.h" |
|
54 #include "aknbatteryindicatorcontainer.h" |
|
55 |
|
56 #include <aknbutton.h> |
|
57 |
|
58 |
|
59 _LIT(KResFileName, "z:\\resource\\avkon.rsc"); |
|
60 _LIT(KAknPrivResourceFile, "z:\\resource\\aknpriv.rsc"); |
|
61 |
|
62 // Static DLL functions |
|
63 GLDEF_C void Panic(TAknPanic aPanic) |
|
64 { |
|
65 _LIT(KPanicCat,"AVKON"); |
|
66 User::Panic(KPanicCat,aPanic); |
|
67 } |
|
68 |
|
69 |
|
70 // |
|
71 // CAknLibrary |
|
72 // |
|
73 CAknLibrary::CAknLibrary() |
|
74 { |
|
75 } |
|
76 |
|
77 EXPORT_C TFileName CAknLibrary::ResourceFile() |
|
78 { |
|
79 return KResFileName(); |
|
80 } |
|
81 |
|
82 EXPORT_C TFileName CAknLibrary::PrivateResourceFile() |
|
83 { |
|
84 return KAknPrivResourceFile(); |
|
85 } |
|
86 |
|
87 EXPORT_C TCreateByTypeFunction CAknLibrary::ControlFactory() |
|
88 { |
|
89 return CreateByTypeL; |
|
90 } |
|
91 |
|
92 |
|
93 SEikControlInfo CAknLibrary::CreateByTypeL(TInt aControlType) |
|
94 { |
|
95 SEikControlInfo controlInfo; |
|
96 controlInfo.iControl = NULL; |
|
97 controlInfo.iTrailerTextId = 0; |
|
98 controlInfo.iFlags = 0; |
|
99 |
|
100 switch (aControlType) |
|
101 { |
|
102 case EAknCtTest: |
|
103 controlInfo.iControl = new(ELeave) CEikImage; |
|
104 break; |
|
105 |
|
106 // generic listboxes |
|
107 case EAknCtFormattedListBox: |
|
108 controlInfo.iControl = new(ELeave) CEikFormattedCellListBox; |
|
109 break; |
|
110 // SERIES60 listboxes |
|
111 |
|
112 case EAknCtSingleListBox: |
|
113 controlInfo.iControl = new(ELeave) CAknSingleStyleListBox; |
|
114 break; |
|
115 case EAknCtSingleNumberListBox: |
|
116 controlInfo.iControl = new(ELeave) CAknSingleNumberStyleListBox; |
|
117 break; |
|
118 case EAknCtSingleHeadingListBox: |
|
119 controlInfo.iControl = new(ELeave) CAknSingleHeadingStyleListBox; |
|
120 break; |
|
121 case EAknCtSingleGraphicListBox: |
|
122 controlInfo.iControl = new(ELeave) CAknSingleGraphicStyleListBox; |
|
123 break; |
|
124 case EAknCtSingleGraphicHeadingListBox: |
|
125 controlInfo.iControl = new(ELeave) CAknSingleGraphicHeadingStyleListBox; |
|
126 break; |
|
127 case EAknCtSingleNumberHeadingListBox: |
|
128 controlInfo.iControl = new(ELeave) CAknSingleNumberHeadingStyleListBox; |
|
129 break; |
|
130 case EAknCtSingleLargeListBox: |
|
131 controlInfo.iControl = new(ELeave) CAknSingleLargeStyleListBox; |
|
132 break; |
|
133 case EAknCtSingle2GraphicListBox: |
|
134 controlInfo.iControl = new(ELeave) CAknSingle2GraphicStyleListBox; |
|
135 break; |
|
136 case EAknCtDoubleListBox: |
|
137 controlInfo.iControl = new(ELeave) CAknDoubleStyleListBox; |
|
138 break; |
|
139 case EAknCtDoubleNumberListBox: |
|
140 controlInfo.iControl = new(ELeave) CAknDoubleNumberStyleListBox; |
|
141 break; |
|
142 case EAknCtDoubleTimeListBox: |
|
143 controlInfo.iControl = new(ELeave) CAknDoubleTimeStyleListBox; |
|
144 break; |
|
145 case EAknCtDoubleLargeListBox: |
|
146 controlInfo.iControl = new(ELeave) CAknDoubleLargeStyleListBox; |
|
147 break; |
|
148 case EAknCtDoubleGraphicListBox: |
|
149 controlInfo.iControl = new(ELeave) CAknDoubleGraphicStyleListBox; |
|
150 break; |
|
151 case EAknCtDouble2GraphicListBox: |
|
152 controlInfo.iControl = new(ELeave) CAknDouble2GraphicStyleListBox; |
|
153 break; |
|
154 case EAknCtDouble2LargeListBox: |
|
155 controlInfo.iControl = new(ELeave) CAknDouble2LargeStyleListBox; |
|
156 break; |
|
157 case EAknCtDouble2GraphicLargeListBox: |
|
158 controlInfo.iControl = new(ELeave) CAknDouble2GraphicLargeStyleListBox; |
|
159 break; |
|
160 case EAknCtSettingListBox: |
|
161 controlInfo.iControl = new(ELeave) CAknSettingStyleListBox; |
|
162 break; |
|
163 case EAknCtSettingNumberListBox: |
|
164 controlInfo.iControl = new(ELeave) CAknSettingNumberStyleListBox; |
|
165 break; |
|
166 case EAknCtSingleHeadingPopupMenuListBox: |
|
167 controlInfo.iControl = new(ELeave) CAknSingleHeadingPopupMenuStyleListBox; |
|
168 break; |
|
169 |
|
170 case EAknCtSinglePopupMenuListBox: |
|
171 controlInfo.iControl = new(ELeave) CAknSinglePopupMenuStyleListBox; |
|
172 break; |
|
173 case EAknCtSingleGraphicPopupMenuListBox: |
|
174 controlInfo.iControl = new(ELeave) CAknSingleGraphicPopupMenuStyleListBox; |
|
175 break; |
|
176 case EAknCtSingleGraphicHeadingPopupMenuListBox: |
|
177 controlInfo.iControl = new(ELeave) CAknSingleGraphicHeadingPopupMenuStyleListBox; |
|
178 break; |
|
179 case EAknCtMenuDoublePopupMenuListBox: |
|
180 controlInfo.iControl = new(ELeave) CAknDoublePopupMenuStyleListBox; |
|
181 break; |
|
182 case EAknCtSinglePopupSubmenuListBox: |
|
183 controlInfo.iControl = new(ELeave) CAknSinglePopupSubmenuStyleListBox; |
|
184 break; |
|
185 case EAknCtDoubleLargeGraphicPopupMenuListBox: |
|
186 controlInfo.iControl = new(ELeave) CAknDoubleLargeGraphicPopupMenuStyleListBox; |
|
187 break; |
|
188 case EAknCtDouble2PopupMenuListBox: |
|
189 controlInfo.iControl = new(ELeave) CAknDouble2PopupMenuStyleListBox; |
|
190 break; |
|
191 case EAknCtSingle2GraphicPopupMenuListBox: |
|
192 controlInfo.iControl = new(ELeave) CAknSingle2GraphicPopupMenuStyleListBox; |
|
193 break; |
|
194 case EAknCtDoubleGraphicPopupMenuListBox: |
|
195 controlInfo.iControl = new(ELeave) CAknDoubleGraphicPopupMenuStyleListBox; |
|
196 break; |
|
197 |
|
198 case EAknSetListBox: |
|
199 controlInfo.iControl = new(ELeave) CAknSetStyleListBox; |
|
200 break; |
|
201 case EAknFormGraphicListBox: |
|
202 controlInfo.iControl = new(ELeave) CAknFormGraphicStyleListBox; |
|
203 break; |
|
204 |
|
205 /* |
|
206 // SERIES60 popup listboxes |
|
207 case EAknCtPopupSingle1ListBox: |
|
208 controlInfo.iControl = new(ELeave) CAknPopupSingle1StyleListBox; |
|
209 break; |
|
210 case EAknCtPopupSingle2ListBox: |
|
211 controlInfo.iControl = new(ELeave) CAknPopupSingle2StyleListBox; |
|
212 break; |
|
213 |
|
214 case EAknCtPopupSingleGraphic2ListBox: |
|
215 controlInfo.iControl = new(ELeave) CAknPopupSingleGraphic2StyleListBox; |
|
216 break; |
|
217 case EAknCtPopupSingleGraphic3ListBox: |
|
218 controlInfo.iControl = new(ELeave) CAknPopupSingleGraphic3StyleListBox; |
|
219 break; |
|
220 case EAknCtPopupSingleGraphicHeading2ListBox: |
|
221 controlInfo.iControl = new(ELeave) CAknPopupSingleGraphicHeading2StyleListBox; |
|
222 break; |
|
223 case EAknCtPopupDoubleListBox: |
|
224 controlInfo.iControl = new(ELeave) CAknPopupDoubleStyleListBox; |
|
225 break; |
|
226 */ |
|
227 |
|
228 case EAknCtAppGrid: |
|
229 controlInfo.iControl = new(ELeave) CAknAppStyleGrid; |
|
230 break; |
|
231 case EAknCtPinbGrid: |
|
232 controlInfo.iControl = new(ELeave) CAknPinbStyleGrid; |
|
233 break; |
|
234 case EAknCtQdialGrid: |
|
235 controlInfo.iControl = new(ELeave) CAknQdialStyleGrid; |
|
236 break; |
|
237 case EAknCtCaleMonthGrid: |
|
238 controlInfo.iControl = new(ELeave) CAknCaleMonthStyleGrid; |
|
239 break; |
|
240 |
|
241 // status pane |
|
242 case EAknCtTitlePane: |
|
243 controlInfo.iControl = new(ELeave) CAknTitlePane; |
|
244 break; |
|
245 case EAknCtContextPane: |
|
246 controlInfo.iControl = new(ELeave) CAknContextPane; |
|
247 break; |
|
248 case EAknCtIdleContextPane: |
|
249 controlInfo.iControl = new(ELeave) CAknIdleContextPane; |
|
250 break; |
|
251 case EAknCtNaviPane: |
|
252 controlInfo.iControl = new(ELeave) CAknNavigationControlContainer; |
|
253 break; |
|
254 case EAknCtSignalPane: |
|
255 controlInfo.iControl = new(ELeave) CAknSignalPane; |
|
256 break; |
|
257 case EAknCtBatteryPane: |
|
258 controlInfo.iControl = new(ELeave) CAknBatteryPane; |
|
259 break; |
|
260 case EAknCtIndicatorPane: |
|
261 controlInfo.iControl = new(ELeave) CAknIndicatorContainer; |
|
262 break; |
|
263 case EAknCtUniversalIndicatorPane: |
|
264 controlInfo.iControl = new(ELeave) CAknUniversalIndicatorContainer; |
|
265 break; |
|
266 case EAknCtDigitalClockPane: |
|
267 controlInfo.iControl = new(ELeave) CAknStatuspaneDigitalClock; |
|
268 break; |
|
269 case EAknCtStatuspaneEmpty: |
|
270 controlInfo.iControl = new(ELeave) CAknEmptyControl; |
|
271 break; |
|
272 case EAknCtSignalIndicatorContainerPane: |
|
273 controlInfo.iControl = new(ELeave) CAknSignalIndicatorContainer; |
|
274 break; |
|
275 case EAknCtBatteryIndicatorContainerPane: |
|
276 controlInfo.iControl = new(ELeave) CAknBatteryIndicatorContainer; |
|
277 break; |
|
278 |
|
279 case EAknCtNote: |
|
280 controlInfo.iControl = new(ELeave) CAknNoteControl; |
|
281 break; |
|
282 case EAknCtQuery: |
|
283 controlInfo.iControl = new(ELeave) CAknQueryControl; |
|
284 break; |
|
285 |
|
286 case EAknExtCtQuery: |
|
287 controlInfo.iControl = new(ELeave) CAknExtQueryControl; |
|
288 break; |
|
289 |
|
290 case EAknCtPopupField: |
|
291 controlInfo.iControl = new(ELeave) CAknPopupField; |
|
292 break; |
|
293 case EAknCtPopupFieldText: |
|
294 controlInfo.iControl = new(ELeave) CAknPopupFieldText; |
|
295 break; |
|
296 case EAknCtSearchField: |
|
297 break; |
|
298 |
|
299 case EAknCtVolumeControl: |
|
300 controlInfo.iControl = new(ELeave) CAknVolumeControl; |
|
301 break; |
|
302 case EAknCtSlider: |
|
303 controlInfo.iControl = new(ELeave) CAknSlider; |
|
304 break; |
|
305 case EAknCtSpecialCharacterMap: |
|
306 controlInfo.iControl = new(ELeave) CAknCharMap; |
|
307 break; |
|
308 case EAknCtListQueryControl: |
|
309 controlInfo.iControl = new(ELeave) CAknListQueryControl; |
|
310 break; |
|
311 case EAknCtListQuerySearchControl: |
|
312 controlInfo.iControl = new(ELeave) CAknListQuerySearchControl; |
|
313 break; |
|
314 case EAknCtPopupHeadingPane: |
|
315 controlInfo.iControl = new(ELeave) CAknPopupHeadingPane; |
|
316 break; |
|
317 case EAknPhoneNumberEditor: |
|
318 controlInfo.iControl = new(ELeave) CAknPhoneNumberEditor; |
|
319 break; |
|
320 case EAknCtNumericSecretEditor: |
|
321 controlInfo.iControl = new(ELeave) CAknNumericSecretEditor; |
|
322 break; |
|
323 case EAknCtPopupSettingList: |
|
324 controlInfo.iControl = new(ELeave) CAknPopupSettingList; |
|
325 break; |
|
326 case EAknCtIntegerEdwin: |
|
327 controlInfo.iControl = new(ELeave) CAknIntegerEdwin; |
|
328 break; |
|
329 case EAknCtMessageQuery: |
|
330 controlInfo.iControl = new(ELeave) CAknMessageQueryControl; |
|
331 break; |
|
332 case EAknCtMultilineQuery: |
|
333 controlInfo.iControl = new(ELeave) CAknMultilineQueryControl; |
|
334 break; |
|
335 case EAknExtCtMultilineQuery: |
|
336 controlInfo.iControl = new(ELeave) CAknExtMultilineQueryControl; |
|
337 break; |
|
338 case EAknCtBitmapAnimation: |
|
339 controlInfo.iControl = CAknBitmapAnimation::NewL(); |
|
340 break; |
|
341 case EAknCtButton: |
|
342 controlInfo.iControl = CAknButton::NewL(); |
|
343 break; |
|
344 |
|
345 default: |
|
346 break; |
|
347 } |
|
348 |
|
349 return controlInfo; |
|
350 } |
|
351 |
|
352 |
|
353 |
|
354 |