2
|
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>
|