0
|
1 |
<?xml version="1.0" encoding="UTF-8"?>
|
|
2 |
<!-- Copyright (c) 2006 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 the License "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 |
<componentDefinition xmlns="http://www.nokia.com/sdt/emf/component"
|
|
10 |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
11 |
|
|
12 |
<enumPropertyDeclaration qualifiedName="com.nokia.sdt.slider.formLayout">
|
|
13 |
<enumElement value="EAknFormSliderLayout1"/>
|
|
14 |
<enumElement value="EAknFormSliderLayout2"/>
|
|
15 |
<enumElement value="EAknFormSliderLayout3"/>
|
|
16 |
</enumPropertyDeclaration>
|
|
17 |
|
|
18 |
<enumPropertyDeclaration qualifiedName="com.nokia.sdt.slider.settingsLayout">
|
|
19 |
<enumElement value="EAknSettingsItemSliderLayout"/>
|
|
20 |
<enumElement value="EAknSettingsItemSliderLayoutWithGraphics"/>
|
|
21 |
</enumPropertyDeclaration>
|
|
22 |
|
|
23 |
<enumPropertyDeclaration qualifiedName="com.nokia.sdt.slider.layout">
|
|
24 |
<enumElement value="EAknFormSliderLayout1"/>
|
|
25 |
<enumElement value="EAknFormSliderLayout2"/>
|
|
26 |
<enumElement value="EAknFormSliderLayout3"/>
|
|
27 |
<enumElement value="EAknSettingsItemSliderLayout"/>
|
|
28 |
<enumElement value="EAknSettingsItemSliderLayoutWithGraphics"/>
|
|
29 |
</enumPropertyDeclaration>
|
|
30 |
|
|
31 |
<enumPropertyDeclaration qualifiedName="com.nokia.sdt.slide.valueType"
|
|
32 |
defaultValue="EAknSliderValueBareFigure">
|
|
33 |
<enumElement value="EAknSliderValueNone"/>
|
|
34 |
<enumElement value="EAknSliderValueBareFigure"/>
|
|
35 |
<enumElement value="EAknSliderValuePercentage"/>
|
|
36 |
<enumElement value="EAknSliderValueFraction"/>
|
|
37 |
<enumElement value="EAknSliderValueDecimal"/>
|
|
38 |
</enumPropertyDeclaration>
|
|
39 |
|
|
40 |
<component friendlyName="%friendlyName"
|
|
41 |
qualifiedName="com.nokia.sdt.series60.CAknSlider"
|
|
42 |
baseComponent="com.nokia.sdt.series60.CCoeControlBase"
|
|
43 |
category="Controls"
|
|
44 |
instanceNameRoot="slider" version="1.0">
|
|
45 |
<documentation>
|
|
46 |
<information>%information</information>
|
|
47 |
<helpTopic></helpTopic>
|
|
48 |
<wizardDescription></wizardDescription>
|
|
49 |
</documentation>
|
|
50 |
<symbian minSDKVersion="2.0" sdkName="com.nokia.series60"
|
|
51 |
resourceType="SLIDER" className="CAknSlider" />
|
|
52 |
<designerImages
|
|
53 |
smallIconFile="CAknSlider_sm.png"
|
|
54 |
largeIconFile="CAknSlider.png"/>
|
|
55 |
|
|
56 |
<attributes>
|
|
57 |
<attribute key="cpp-class-name">CAknSlider</attribute>
|
|
58 |
<attribute key="is-dialog-content">true</attribute>
|
|
59 |
<attribute key="is-setting-item-list-content">true</attribute>
|
|
60 |
<attribute key="data-model-cpp-type">TInt</attribute>
|
|
61 |
<attribute key="setting-item-class-name">CAknSliderSettingItem</attribute>
|
|
62 |
<attribute key="setting-item-class-name">CAknSliderSettingItem</attribute>
|
|
63 |
<attribute key="rss-control-type-enum">EAknCtSlider</attribute>
|
|
64 |
<attribute key="is-non-resizable-layout-object">true</attribute>
|
|
65 |
</attributes>
|
|
66 |
|
|
67 |
<properties>
|
|
68 |
<property name="minValue" type="integer" category="Data" default="0"
|
|
69 |
descriptionKey="minValueDescription" />
|
|
70 |
<property name="maxValue" type="integer" category="Data" default="100"
|
|
71 |
descriptionKey="maxValueDescription" />
|
|
72 |
<property name="value" type="integer" category="Data"
|
|
73 |
descriptionKey="valueDescription" />
|
|
74 |
<property name="step" type="integer" category="Data" default="1" minValue="1"
|
|
75 |
descriptionKey="stepDescription" />
|
|
76 |
<enumProperty name="valueType" type="com.nokia.sdt.slide.valueType" category="Appearance"
|
|
77 |
descriptionKey="valueTypeDescription" />
|
|
78 |
<property name="decimalPlaces" type="integer" category="Data" minValue="0"
|
|
79 |
descriptionKey="decimalPlacesDescription" />
|
|
80 |
<property name="singularValueLabel" type="localizedString" category="Appearance"
|
|
81 |
descriptionKey="singularValueLabelDescription"
|
|
82 |
editorClass="com.nokia.sdt.symbian.ui.editors.ScalableTextEditorFactory" />
|
|
83 |
<property name="minLabel" type="localizedString" category="Appearance" default="min"
|
|
84 |
descriptionKey="minLabelDescription"
|
|
85 |
editorClass="com.nokia.sdt.symbian.ui.editors.ScalableTextEditorFactory" />
|
|
86 |
<property name="maxLabel" type="localizedString" category="Appearance" default="max"
|
|
87 |
descriptionKey="maxLabelDescription"
|
|
88 |
editorClass="com.nokia.sdt.symbian.ui.editors.ScalableTextEditorFactory" />
|
|
89 |
</properties>
|
|
90 |
|
|
91 |
<extensionProperties name="form">
|
|
92 |
<enumProperty name="layout" type="com.nokia.sdt.slider.formLayout" category="Appearance"
|
|
93 |
descriptionKey="layoutDescription" />
|
|
94 |
</extensionProperties>
|
|
95 |
|
|
96 |
<extensionProperties name="settings">
|
|
97 |
<enumProperty name="layout" type="com.nokia.sdt.slider.settingsLayout" category="Appearance"
|
|
98 |
descriptionKey="layoutDescription" />
|
|
99 |
<compoundProperty category="Appearance" name="graphicalImage"
|
|
100 |
type="com.nokia.sdt.symbian.imageProperty"
|
|
101 |
descriptionKey="graphicalImageDescription" />
|
|
102 |
</extensionProperties>
|
|
103 |
|
|
104 |
<extensionProperties name="default">
|
|
105 |
<enumProperty name="layout" type="com.nokia.sdt.slider.formLayout" category="Appearance"
|
|
106 |
descriptionKey="layoutDescription" />
|
|
107 |
</extensionProperties>
|
|
108 |
|
|
109 |
<implementations>
|
|
110 |
<implementation>
|
|
111 |
<interface id="com.nokia.sdt.datamodel.adapter.IVisualAppearance"/>
|
|
112 |
<interface id="com.nokia.sdt.datamodel.adapter.IDirectLabelEdit"/>
|
|
113 |
<!-- for form -->
|
|
114 |
<interface id="com.nokia.sdt.datamodel.adapter.IDirectImageEdit"/>
|
|
115 |
<interface id="com.nokia.sdt.datamodel.adapter.IImagePropertyRenderingInfo"/>
|
|
116 |
<interface id="com.nokia.sdt.datamodel.adapter.IComponentInstancePropertyListener"/>
|
|
117 |
<interface id="com.nokia.sdt.datamodel.adapter.IComponentValidator"/>
|
|
118 |
<script file="CAknSlider_visual.js" prototype="CAknSliderVisual"/>
|
|
119 |
</implementation>
|
|
120 |
<implementation>
|
|
121 |
<interface id="com.nokia.sdt.datamodel.adapter.IPropertyExtenders"/>
|
|
122 |
<script file="CAknSlider_propertyExtenders.js" prototype="CAknSliderPropertyExtenders"/>
|
|
123 |
</implementation>
|
|
124 |
</implementations>
|
|
125 |
|
|
126 |
<sourceMapping>
|
|
127 |
<mapResource struct="SLIDER" headers="avkon.rh">
|
|
128 |
<!-- TODO: value label -->
|
|
129 |
<mapEnumMember property="layout" member="layout"/>
|
|
130 |
<mapSimpleMember property="minValue" member="minvalue"/>
|
|
131 |
<mapSimpleMember property="maxValue" member="maxvalue"/>
|
|
132 |
<mapSimpleMember property="step" member="step" />
|
|
133 |
<mapEnumMember property="valueType" member="valuetype"/>
|
|
134 |
<mapSimpleMember property="decimalPlaces" member="decimalplaces" />
|
|
135 |
<mapSimpleMember property="singularValueLabel" member="singular_valuelabel"/>
|
|
136 |
<mapSimpleMember property="minLabel" member="minlabel"/>
|
|
137 |
<mapSimpleMember property="maxLabel" member = "maxlabel"/>
|
|
138 |
|
|
139 |
<select property="graphicalImage.bmpfile">
|
|
140 |
<choice value="" />
|
|
141 |
<choice>
|
|
142 |
<mapResourceMember property="graphicalImage" member="graphical_image"
|
|
143 |
struct="IMAGE" headers="uikon.rh eikon.rh">
|
|
144 |
<mapSimpleMember property="bmpfile" member="bmpfile"/>
|
|
145 |
<mapIdentifierMember property="bmpid" member="bmpid"/>
|
|
146 |
<!-- TODO: until we get "isSvg" subprop, this may fail
|
|
147 |
<mapIdentifierMember property="bmpmask" member="bmpmask"/>
|
|
148 |
-->
|
|
149 |
</mapResourceMember>
|
|
150 |
</choice>
|
|
151 |
</select>
|
|
152 |
</mapResource>
|
|
153 |
</sourceMapping>
|
|
154 |
|
|
155 |
<sourceGen forms="Dialog Container">
|
|
156 |
|
|
157 |
<inline>
|
|
158 |
include("../srcgenLibrary.js")
|
|
159 |
</inline>
|
|
160 |
|
|
161 |
<template phase="MainSystemIncludes"><![CDATA[
|
|
162 |
#ifdef __SERIES60_3X__
|
|
163 |
#include <akndef.h>
|
|
164 |
#endif
|
|
165 |
]]> </template>
|
|
166 |
|
|
167 |
<useTemplateGroup ids="CLASS_CONTRIBS" />
|
|
168 |
<useTemplate ids="INIT_FROM_DIALOG" />
|
|
169 |
|
|
170 |
<template id="INIT_FROM_CONTAINER_CAKNSLIDER" form="Container" phase="Initialize"><![CDATA[
|
|
171 |
${instanceMemberName} = new ( ELeave ) ${this.getCppClassName(instance)};
|
|
172 |
${instanceMemberName}->SetContainerWindowL( *this );
|
|
173 |
{
|
|
174 |
TResourceReader reader;
|
|
175 |
iEikonEnv->CreateResourceReaderLC( reader, ${resourceName$upper} );
|
|
176 |
${instanceMemberName}->HandleResourceChange(
|
|
177 |
KEikMessageCaptionedControlEditableStateChange );
|
|
178 |
${instanceMemberName}->ConstructFromResourceL( reader );
|
|
179 |
CleanupStack::PopAndDestroy(); // reader internal state
|
|
180 |
}
|
|
181 |
]]> </template>
|
|
182 |
|
|
183 |
<useTemplate ids="INIT_FROM_SETTINGS_LIST" />
|
|
184 |
|
|
185 |
<template form="Container" phase="LayoutControls" id="LAYOUT_SLIDER"><![CDATA[
|
|
186 |
<% var isSettingsLayout = instance.properties.layout.toString().indexOf("SettingsItem") > 0;
|
|
187 |
if (isSettingsLayout) { %>
|
|
188 |
${instanceMemberName}->SetExtent( TPoint( ${properties.location.x}, ${properties.location.y} ), TSize( ${properties.size.width}, ${properties.size.height} ) );
|
|
189 |
<% } else { %>
|
|
190 |
${instanceMemberName}->SetExtent( TPoint( ${properties.location.x}, ${properties.location.y} ), ${instanceMemberName}->MinimumSize() );
|
|
191 |
<% } %>
|
|
192 |
]]> </template>
|
|
193 |
|
|
194 |
|
|
195 |
<inline>
|
|
196 |
this.getCppSystemIncludes(contribs, [ "barsread.h", "stringloader.h",
|
|
197 |
"aknslider.h", "eikenv.h" ]);
|
|
198 |
</inline>
|
|
199 |
|
|
200 |
<template form="SettingsList" phase="Initialize"><![CDATA[
|
|
201 |
<% this.setupSettingItem(contribs, 0, instance, ""+properties.value);
|
|
202 |
%>]]> </template>
|
|
203 |
|
|
204 |
<inline scope="prototype">
|
|
205 |
include("../srcgenLibrary.js")
|
|
206 |
</inline>
|
|
207 |
|
|
208 |
<inline><![CDATA[
|
|
209 |
if (Engine.formMatches(form, ["", "Dialog", "Container", "SettingsList"])) {
|
|
210 |
if (properties.maxValue < properties.minValue)
|
|
211 |
error(formatString(lookupString("invalidRange"), instanceName, properties.minValue, properties.maxValue));
|
|
212 |
else if (properties.value < properties.minValue || properties.value > properties.maxValue)
|
|
213 |
error(formatString(lookupString("valueExceedsRange"), instanceName, properties.minValue, properties.value, properties.maxValue));
|
|
214 |
if (properties.step == 0 || ((properties.maxValue - properties.minValue) % properties.step) != 0)
|
|
215 |
error(formatString(lookupString("stepNotValid"), instanceName, properties.maxValue, properties.minValue, properties.step));
|
|
216 |
if (properties.step == 0 || ((properties.value - properties.minValue) % properties.step) != 0)
|
|
217 |
error(formatString(lookupString("valueNotValid"), instanceName, properties.value, properties.minValue, properties.step));
|
|
218 |
|
|
219 |
if (!Engine.formMatches(form, ["SettingsList"])) {
|
|
220 |
setPropertiesForPhase(contribs, "Initialize", 0, instanceMemberName, false,
|
|
221 |
properties.value, 0, "{0}->SetValueL( {1} );\n");
|
|
222 |
}
|
|
223 |
} ]]> </inline>
|
|
224 |
|
|
225 |
|
|
226 |
<useTemplateGroup ids="GenerateCommonControlEvents GenerateStateChangedEvent"/>
|
|
227 |
<useTemplateGroup ids="GenerateRequestingFocusEvent GenerateRequestingExitEvent"/>
|
|
228 |
<useTemplateGroup ids="GenerateRequestingCancelEvent GenerateInteractionRefusedEvent"/>
|
|
229 |
<useTemplateGroup ids="GeneratePrepareFocusTransitionEvent"/>
|
|
230 |
|
|
231 |
<useTemplateGroup ids="GenerateEditingStartedEvent GenerateEditingStoppedEvent" />
|
|
232 |
|
|
233 |
</sourceGen>
|
|
234 |
|
|
235 |
</component>
|
|
236 |
</componentDefinition>
|