|
1 <?xml version="1.0" encoding="UTF-8"?> |
|
2 <!DOCTYPE componentDefinition [ |
|
3 <!ENTITY common_implementations SYSTEM "CBA_commonImpl.inc"> |
|
4 <!ENTITY common_source SYSTEM "CBA_commonSrc.inc"> |
|
5 ]> |
|
6 <!-- Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). --> |
|
7 <!-- All rights reserved. --> |
|
8 <!-- This component and the accompanying materials are made available --> |
|
9 <!-- under the terms of the License "Eclipse Public License v1.0" --> |
|
10 <!-- which accompanies this distribution, and is available --> |
|
11 <!-- at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
12 |
|
13 <componentDefinition xmlns="http://www.nokia.com/sdt/emf/component" |
|
14 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
|
15 |
|
16 <enumPropertyDeclaration qualifiedName="com.nokia.sdt.series60.CBA.Type_MSK"> |
|
17 <enumElement value="R_AVKON_SOFTKEYS_EMPTY"/> |
|
18 <enumElement value="R_AVKON_SOFTKEYS_EMPTY_WITH_IDS"/> |
|
19 <enumElement value="R_AVKON_SOFTKEYS_OK_EMPTY"/> |
|
20 <enumElement value="R_AVKON_SOFTKEYS_SELECT_CANCEL"/> |
|
21 <enumElement value="R_AVKON_SOFTKEYS_OK_CANCEL"/> |
|
22 <enumElement value="R_AVKON_SOFTKEYS_OK_DETAILS"/> |
|
23 <enumElement value="R_AVKON_SOFTKEYS_CALL_CANCEL"/> |
|
24 <enumElement value="R_AVKON_SOFTKEYS_OPTIONS_BACK"/> |
|
25 <enumElement value="R_AVKON_SOFTKEYS_OPTIONS_DONE"/> |
|
26 <enumElement value="R_AVKON_SOFTKEYS_OPTIONS_CANCEL"/> |
|
27 <enumElement value="R_AVKON_SOFTKEYS_OPTIONS_EXIT"/> |
|
28 <enumElement value="R_AVKON_SOFTKEYS_OK_BACK"/> |
|
29 <enumElement value="R_AVKON_SOFTKEYS_CANCEL"/> |
|
30 <enumElement value="R_AVKON_SOFTKEYS_BACK"/> |
|
31 <enumElement value="R_AVKON_SOFTKEYS_CLOSE"/> |
|
32 <enumElement value="R_AVKON_SOFTKEYS_DONE_BACK"/> |
|
33 <enumElement value="R_AVKON_SOFTKEYS_DONE_CANCEL"/> |
|
34 <enumElement value="R_AVKON_SOFTKEYS_MARK_BACK"/> |
|
35 <enumElement value="R_AVKON_SOFTKEYS_UNMARK_BACK"/> |
|
36 <enumElement value="R_AVKON_SOFTKEYS_YES_NO"/> |
|
37 <enumElement value="R_AVKON_SOFTKEYS_UNLOCK_EMPTY"/> |
|
38 <enumElement value="R_AVKON_SOFTKEYS_SAVE_BACK"/> |
|
39 <enumElement value="R_AVKON_SOFTKEYS_SHOW_CANCEL"/> |
|
40 <enumElement value="R_AVKON_SOFTKEYS_SHOW_EXIT"/> |
|
41 <enumElement value="R_AVKON_SOFTKEYS_EXIT"/> |
|
42 <enumElement value="R_AVKON_SOFTKEYS_READ_EXIT"/> |
|
43 <enumElement value="R_AVKON_SOFTKEYS_LISTEN_EXIT"/> |
|
44 <enumElement value="R_AVKON_SOFTKEYS_SEARCH_BACK"/> |
|
45 <enumElement value="R_AVKON_SOFTKEYS_AGAIN_QUIT"/> |
|
46 <enumElement value="R_AVKON_SOFTKEYS_QUIT"/> |
|
47 <enumElement value="R_AVKON_SOFTKEYS_INSERT_BACK"/> |
|
48 |
|
49 <enumElement value="R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT"/> |
|
50 <enumElement value="R_AVKON_SOFTKEYS_SELECT_BACK__SELECT"/> |
|
51 <enumElement value="R_AVKON_SOFTKEYS_OK_CANCEL__MARK"/> |
|
52 <enumElement value="R_AVKON_SOFTKEYS_OK_CANCEL__OK"/> |
|
53 <enumElement value="R_AVKON_SOFTKEYS_OK_EMPTY__OK"/> |
|
54 <enumElement value="R_AVKON_SOFTKEYS_OK_CANCEL__UNMARK"/> |
|
55 <enumElement value="R_AVKON_SOFTKEYS_SEND_CANCEL__SEND"/> |
|
56 <enumElement value="R_AVKON_SOFTKEYS_YES_NO__YES"/> |
|
57 <enumElement value="R_AVKON_SOFTKEYS_SHOW_EXIT__SHOW"/> |
|
58 <enumElement value="R_AVKON_SOFTKEYS_CALL_CANCEL__CALL"/> |
|
59 <enumElement value="R_AVKON_SOFTKEYS_READ_EXIT__READ"/> |
|
60 <enumElement value="R_AVKON_SOFTKEYS_LISTEN_EXIT__LISTEN"/> |
|
61 <enumElement value="R_AVKON_SOFTKEYS_OPTIONS_BACK__SELECT"/> |
|
62 <enumElement value="R_AVKON_SOFTKEYS_OPTIONS_DONE__SELECT"/> |
|
63 <enumElement value="R_AVKON_SOFTKEYS_OPTIONS_CANCEL__SELECT"/> |
|
64 <enumElement value="R_AVKON_SOFTKEYS_OPTIONS_EXIT__SELECT"/> |
|
65 <enumElement value="R_AVKON_SOFTKEYS_OK_CANCEL__SELECT"/> |
|
66 <enumElement value="R_AVKON_SOFTKEYS_OK_BACK__OK"/> |
|
67 <enumElement value="R_AVKON_SOFTKEYS_SELECT_CLOSE__SELECT"/> |
|
68 <enumElement value="R_AVKON_SOFTKEYS_NEXT_EXIT__NEXT"/> |
|
69 <enumElement value="R_AVKON_SOFTKEYS_USSD_ANSWER_EXIT__ANSWER"/> |
|
70 <enumElement value="R_AVKON_SOFTKEYS_HIDE_CANCEL__HIDE"/> |
|
71 <enumElement value="R_AVKON_SOFTKEYS_OPTIONS_BACK__SELECT"/> |
|
72 |
|
73 </enumPropertyDeclaration> |
|
74 |
|
75 <enumPropertyDeclaration qualifiedName="com.nokia.sdt.series60.CBA.MSK.Id"> |
|
76 <enumElement value="" displayValue="None"/> |
|
77 <enumElement value="UNIQUE"/> |
|
78 <enumElement value="EAknSoftkeyOk"/> |
|
79 <enumElement value="EAknSoftkeyCancel"/> |
|
80 <enumElement value="EAknSoftkeySelect"/> |
|
81 <enumElement value="EAknSoftkeyOptions"/> |
|
82 <enumElement value="EAknSoftkeyContextOptions"/> |
|
83 <enumElement value="EAknSoftkeyBack"/> |
|
84 <enumElement value="EAknSoftkeyMark"/> |
|
85 <enumElement value="EAknSoftkeyUnmark"/> |
|
86 <enumElement value="EAknSoftkeyInsert"/> |
|
87 <enumElement value="EAknSoftkeyYes"/> |
|
88 <enumElement value="EAknSoftkeyNo"/> |
|
89 <enumElement value="EAknSoftkeyDone"/> |
|
90 <enumElement value="EAknSoftkeyClose"/> |
|
91 <enumElement value="EAknSoftkeyExit"/> |
|
92 <enumElement value="EAknSoftkeyClear"/> |
|
93 <enumElement value="EAknSoftkeyUnlock"/> |
|
94 <enumElement value="EAknSoftkeySave"/> |
|
95 <enumElement value="EAknSoftkeyShow"/> |
|
96 <enumElement value="EAknSoftkeyListen"/> |
|
97 <enumElement value="EAknSoftkeyRead"/> |
|
98 <enumElement value="EAknSoftkeySearch"/> |
|
99 <enumElement value="EAknSoftkeyEmpty"/> |
|
100 <enumElement value="EAknSoftkeyLock"/> |
|
101 <enumElement value="EAknSoftkeyCall"/> |
|
102 <enumElement value="EAknSoftkeyAgain"/> |
|
103 <enumElement value="EAknSoftkeyQuit"/> |
|
104 <enumElement value="EAknSoftkeyDetails"/> |
|
105 <enumElement value="EAknSoftkeyNext"/> |
|
106 <enumElement value="EAknSoftkeySend"/> |
|
107 <enumElement value="EAknSoftkeyAnswer"/> |
|
108 <enumElement value="EAknSoftkeyHide"/> |
|
109 </enumPropertyDeclaration> |
|
110 |
|
111 <enumPropertyDeclaration qualifiedName="com.nokia.sdt.series60.CBA.LeftRight.Id"> |
|
112 <enumElement value="" displayValue="None"/> |
|
113 <enumElement value="UNIQUE"/> |
|
114 <enumElement value="EAknSoftkeyOk"/> |
|
115 <enumElement value="EAknSoftkeyCancel"/> |
|
116 <enumElement value="EAknSoftkeySelect"/> |
|
117 <enumElement value="EAknSoftkeyOptions"/> |
|
118 <enumElement value="EAknSoftkeyBack"/> |
|
119 <enumElement value="EAknSoftkeyMark"/> |
|
120 <enumElement value="EAknSoftkeyUnmark"/> |
|
121 <enumElement value="EAknSoftkeyInsert"/> |
|
122 <enumElement value="EAknSoftkeyYes"/> |
|
123 <enumElement value="EAknSoftkeyNo"/> |
|
124 <enumElement value="EAknSoftkeyDone"/> |
|
125 <enumElement value="EAknSoftkeyClose"/> |
|
126 <enumElement value="EAknSoftkeyExit"/> |
|
127 <enumElement value="EAknSoftkeyClear"/> |
|
128 <enumElement value="EAknSoftkeyUnlock"/> |
|
129 <enumElement value="EAknSoftkeySave"/> |
|
130 <enumElement value="EAknSoftkeyShow"/> |
|
131 <enumElement value="EAknSoftkeyListen"/> |
|
132 <enumElement value="EAknSoftkeyRead"/> |
|
133 <enumElement value="EAknSoftkeySearch"/> |
|
134 <enumElement value="EAknSoftkeyEmpty"/> |
|
135 <enumElement value="EAknSoftkeyLock"/> |
|
136 <enumElement value="EAknSoftkeyCall"/> |
|
137 <enumElement value="EAknSoftkeyAgain"/> |
|
138 <enumElement value="EAknSoftkeyQuit"/> |
|
139 <enumElement value="EAknSoftkeyDetails"/> |
|
140 <enumElement value="EAknSoftkeyNext"/> |
|
141 <enumElement value="EAknSoftkeySend"/> |
|
142 <enumElement value="EAknSoftkeyAnswer"/> |
|
143 <enumElement value="EAknSoftkeyHide"/> |
|
144 </enumPropertyDeclaration> |
|
145 |
|
146 <compoundPropertyDeclaration editableType="com.nokia.sdt.series60.CBA.Type_MSK" |
|
147 qualifiedName="com.nokia.sdt.series60.CBAProperty_3_2"> |
|
148 <property name="leftText" type="localizedString" default="" |
|
149 descriptionKey="leftTextDescription" |
|
150 editorClass="com.nokia.sdt.symbian.ui.editors.ScalableTextEditorFactory" /> |
|
151 <enumProperty name="leftId" type="com.nokia.sdt.series60.CBA.LeftRight.Id" default="EAknSoftkeyOptions" |
|
152 descriptionKey="leftIdDescription" /> |
|
153 <property name="rightText" type="localizedString" default="" |
|
154 descriptionKey="rightTextDescription" |
|
155 editorClass="com.nokia.sdt.symbian.ui.editors.ScalableTextEditorFactory" /> |
|
156 <enumProperty name="rightId" type="com.nokia.sdt.series60.CBA.LeftRight.Id" default="EAknSoftkeyExit" |
|
157 descriptionKey="rightIdDescription" /> |
|
158 |
|
159 <property name="middleText" type="localizedString" default="" |
|
160 descriptionKey="middleTextDescription" /> |
|
161 <enumProperty name="middleId" type="com.nokia.sdt.series60.CBA.MSK.Id" default="EAknSoftkeyEmpty" |
|
162 descriptionKey="middleIdDescription" /> |
|
163 |
|
164 <enumProperty name="type" type="string" category="Hidden" /> |
|
165 </compoundPropertyDeclaration> |
|
166 |
|
167 <component friendlyName="%friendlyName" |
|
168 qualifiedName="com.nokia.sdt.series60.CBA" |
|
169 baseComponent="com.nokia.sdt.series60.CBABase" |
|
170 category="System" |
|
171 instanceNameRoot="controlPane" |
|
172 version="1.0"> |
|
173 |
|
174 <symbian sdkName="com.nokia.series60" minSDKVersion="3.2.0" |
|
175 className="CEikButtonGroupContainer" classHelpTopic="" |
|
176 resourceType="CBA" resourceHelpTopic="" /> |
|
177 |
|
178 <documentation> |
|
179 <information>%information</information> |
|
180 </documentation> |
|
181 |
|
182 <designerImages smallIconFile="CBA_sm.png" |
|
183 largeIconFile="CBA.png"/> |
|
184 |
|
185 <attributes> |
|
186 <attribute key="options-menu-property-name">mskReference</attribute> |
|
187 </attributes> |
|
188 |
|
189 <extensionProperties name="default"> |
|
190 <componentReferenceProperty category="Middle Soft Key Menu" scope="model" constraint="com.nokia.sdt.series60.MenuBar" |
|
191 name="mskReference" descriptionKey="mskReferenceDescription" /> |
|
192 </extensionProperties> |
|
193 |
|
194 <properties> |
|
195 <compoundProperty category="Behavior" name="info" type="com.nokia.sdt.series60.CBAProperty_3_2" |
|
196 descriptionKey="infoKey" /> |
|
197 </properties> |
|
198 |
|
199 <implementations> |
|
200 &common_implementations; |
|
201 <implementation> |
|
202 <interface id="com.nokia.sdt.datamodel.adapter.IPropertyExtenders"/> |
|
203 <script file="CBA_PropertyExtender_3.2.js" prototype="CBAPropertyExtender"/> |
|
204 </implementation> |
|
205 </implementations> |
|
206 |
|
207 |
|
208 |
|
209 <events> |
|
210 <event name="leftSoftKeyPressed" category="ControlPane" |
|
211 handlerNameTemplate="Handle{title(name)}LeftSoftKeyPressedL" |
|
212 descriptionKey="leftSoftKeyPressedDescription" |
|
213 /> |
|
214 <event name="rightSoftKeyPressed" category="ControlPane" |
|
215 handlerNameTemplate="Handle{title(name)}RightSoftKeyPressedL" |
|
216 descriptionKey="rightSoftKeyPressedDescription" |
|
217 /> |
|
218 <event name="middleSoftKeyPressed" category="ControlPane" |
|
219 handlerNameTemplate="Handle{title(name)}MiddleSoftKeyPressedL" |
|
220 descriptionKey="middleSoftKeyPressedDescription" |
|
221 /> |
|
222 </events> |
|
223 <sourceMapping> |
|
224 <select property="info"> |
|
225 <!-- only emit something for custom CBAs --> |
|
226 <choice value="com.nokia.sdt.series60.CBA.Type.CUSTOM"> |
|
227 <!-- this struct MOVES between uikon.rh and eikon.rh with each release! --> |
|
228 <mapResource struct="CBA" headers="uikon.rh eikon.rh"> |
|
229 <mapResourceMember property="info" member="buttons[0]" struct="CBA_BUTTON" headers="uikon.rh eikon.rh"> |
|
230 <mapEnumMember property="leftId" member="id" |
|
231 headers="avkon.rsg" |
|
232 uniqueValue="UNIQUE" |
|
233 nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS" |
|
234 /> |
|
235 <mapSimpleMember property="leftText" member="txt"/> |
|
236 </mapResourceMember> |
|
237 <mapResourceMember property="info" member="buttons[1]" struct="CBA_BUTTON" headers="uikon.rh eikon.rh"> |
|
238 <mapEnumMember property="rightId" member="id" |
|
239 headers="avkon.rsg" |
|
240 uniqueValue="UNIQUE" |
|
241 nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS" |
|
242 /> |
|
243 <mapSimpleMember property="rightText" member="txt"/> |
|
244 </mapResourceMember> |
|
245 |
|
246 <mapResourceMember property="info" member="buttons[2]" struct="CBA_BUTTON" headers="uikon.rh eikon.rh"> |
|
247 <mapEnumMember property="middleId" member="id" |
|
248 headers="avkon.rsg" |
|
249 uniqueValue="UNIQUE" |
|
250 nameAlgorithm="com.nokia.sdt.component.symbian.NAME_ALG_COMMANDS" |
|
251 /> |
|
252 <mapSimpleMember property="middleText" member="txt"/> |
|
253 </mapResourceMember> |
|
254 |
|
255 </mapResource> |
|
256 </choice> |
|
257 <choice/> |
|
258 |
|
259 </select> |
|
260 </sourceMapping> |
|
261 |
|
262 <sourceGen forms="AppUi AknView HandleCommandSwitchDispatch"> |
|
263 <inline scope="prototype"> |
|
264 include("cbaLibrary.js") |
|
265 </inline> |
|
266 |
|
267 <template form="AknView" phase="MainSystemIncludes"><![CDATA[ |
|
268 #include <eikbtgpc.h> |
|
269 ]]> </template> |
|
270 |
|
271 <templateGroup ifEvents="middleSoftKeyPressed"> |
|
272 |
|
273 <template phase="UserHandlers"> |
|
274 TBool ${event.handlerName}( TInt aCommand ); |
|
275 </template> |
|
276 |
|
277 <defineLocation id="MiddleSoftKeyPressedMethod" baseLocation="MAIN_FILE" |
|
278 owned="false" |
|
279 isEventHandler="true" |
|
280 location="function(${handlerClassName}::${event.handlerName}(TInt))"> |
|
281 <template><![CDATA[ |
|
282 /** |
|
283 * Handle the ${event.eventName} event. |
|
284 * @return ETrue if the command was handled, EFalse if not |
|
285 */ |
|
286 TBool ${handlerClassName}::${event.handlerName}( TInt aCommand ) |
|
287 { |
|
288 // TODO: implement ${event.eventName} event handler |
|
289 return EFalse; |
|
290 } |
|
291 ]]> |
|
292 </template> |
|
293 </defineLocation> |
|
294 |
|
295 <template location="MiddleSoftKeyPressedMethod" /> |
|
296 |
|
297 <template form="HandleCommandSwitchDispatch" phase="SwitchContents" |
|
298 ifEvents="middleSoftKeyPressed"><![CDATA[<% |
|
299 var middleId = getCbaMiddleId(instance); |
|
300 if (middleId == "EAknSoftkeyOptions") { |
|
301 // S60 explicitly stops further processing when Options is caught by the |
|
302 // AknView::HandleCommandL() or AknAppUi::ProcessCommandL() routines |
|
303 warning(formatString(lookupString("maskedMiddleSoftKeyEventHandler"), |
|
304 instance.name)); |
|
305 } |
|
306 if (middleId != null && middleId != "") { %> |
|
307 case ${middleId}: |
|
308 commandHandled = ${event.handlerName}( aCommand ); |
|
309 break; |
|
310 <% } %>]]> </template> |
|
311 </templateGroup> |
|
312 |
|
313 <template form="AknView" phase="DoActivateL"><![CDATA[ |
|
314 <% var contextMenuId = Engine.getGeneratedResource(lookupInstanceByName(properties.mskReference)) |
|
315 if (contextMenuId != null) contextMenuId = contextMenuId.toUpperCase() %> |
|
316 <% if (properties.mskReference != "") { %>MenuBar()->SetContextMenuTitleResourceId( ${contextMenuId} );<% } %> |
|
317 ]]> </template> |
|
318 |
|
319 &common_source; |
|
320 |
|
321 </sourceGen> |
|
322 |
|
323 </component> |
|
324 </componentDefinition> |