uidesigner/com.nokia.sdt.series60.componentlibrary/components/controls/CAknPopupFieldText.component
author timkelly
Tue, 03 Aug 2010 16:29:13 -0500
branchC3_BUILDER_WORK
changeset 1757 ec3c1e4702be
parent 0 fb279309251b
permissions -rw-r--r--
Remove makefile dependency checks on SBSv2 builder since they don't apply. Remove SBSv2BuilderInfo.java and functionality. That has been used for loading the SBSv2 tab, which no longer exists. Now the SBSv2 data in the .cproject is loaded directly by the build configuration loading mechanism.

<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). -->
<!-- All rights reserved. -->
<!-- This component and the accompanying materials are made available -->
<!-- under the terms of the License "Eclipse Public License v1.0" -->
<!-- which accompanies this distribution, and is available -->
<!-- at the URL "http://www.eclipse.org/legal/epl-v10.html". -->

<componentDefinition xmlns="http://www.nokia.com/sdt/emf/component" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

	<component friendlyName="%friendlyName"
		qualifiedName="com.nokia.sdt.series60.CAknPopupFieldText"
		baseComponent="com.nokia.sdt.series60.CCoeControlBase" 
		category="Controls"
		instanceNameRoot="popupFieldText" version="1.0">
		<documentation>
			<information>%information</information>
			<helpTopic></helpTopic>
			<wizardDescription></wizardDescription>
		</documentation>
		<symbian minSDKVersion="2.0" sdkName="com.nokia.series60"
			resourceType="POPUP_FIELD_TEXT" className="CAknPopupFieldText" />
		<designerImages 
			smallIconFile="CAknPopupFieldText_sm.png" 
			largeIconFile="CAknPopupFieldText.png"/>
				
		<attributes>
			<attribute key="cpp-class-name">CAknPopupFieldText</attribute>
			<attribute key="is-dialog-content">true</attribute>
			<attribute key="is-form-content">true</attribute>
			<attribute key="rss-control-type-enum">EAknCtPopupFieldText</attribute>
			<attribute key="editable-array-property">items</attribute>
		</attributes>
	
		<properties>
			<property name="maxLength" category="Data" type="integer" 
				default="8"
				descriptionKey="maxLengthDescription" 
				/>
			<property name="otherText" category="Data" type="localizedString"
				descriptionKey="otherTextDescription" 
			/>
			<!-- S60 panics if a popup field text list is empty, so this will never be activated...
			<property name="emptyText" category="Data" type="localizedString"/>
			<componentReferenceProperty category="Data" scope="model" constraint="com.nokia.sdt.series60.StandardNote" name="emptyNote"/>
			-->
			<property name="invalidText" category="Data" type="localizedString"
				descriptionKey="invalidTextDescription" 
			/>
			<enumProperty name="font" category="Appearance" 
				type="com.nokia.sdt.series60.CEikonEnv.SystemFont"
				descriptionKey="fontDescription" 
			/>
			<!--	breaks if turned off
			<property name="showIndicators" category="Appearance" 
				type="boolean" default="true"
				descriptionKey="showIndicatorsDescription" 
				/>
			-->
			<arrayProperty name="items" category="Data" 
				type="localizedString" 
				editorClass="com.nokia.sdt.symbian.ui.editors.StringListEditorFactory"
				descriptionKey="itemsDescription" 
				/>
			<property name="active" category="Data" type="integer"
				descriptionKey="activeDescription" 
			/>
		</properties>
		
		<implementations>
			<implementation>
				<interface id="com.nokia.sdt.datamodel.adapter.IVisualAppearance"/>
				<interface id="com.nokia.sdt.datamodel.adapter.IDirectLabelEdit"/>
				<interface id="com.nokia.sdt.datamodel.adapter.IComponentValidator"/>
				<interface id="com.nokia.sdt.datamodel.adapter.IInitializer"/>
				<!-- for form -->
				<interface id="com.nokia.sdt.datamodel.adapter.IDirectImageEdit"/>
				<interface id="com.nokia.sdt.datamodel.adapter.IImagePropertyRenderingInfo"/>
				<script file="CAknPopupFieldText.js" prototype="CAknPopupFieldText"/>
			</implementation>
		</implementations>

	<sourceMapping>
		<mapResource struct="POPUP_FIELD_TEXT" headers="avkon.rh avkon.hrh">
			<mapResourceMember struct="POPUP_FIELD" property="." member="popupfield">
				<mapSimpleMember property="maxLength" member="width"/>
				<mapSimpleMember property="otherText" member="other"/>
				<!-- S60 panics if a popup field text list is empty, so this will never be activated...
				<mapReferenceMember property="emptyNote" member="emptynote"/>
				<mapSimpleMember property="emptyText" member="empty"/>
				-->
				<mapSimpleMember property="invalidText" member="invalid"/>
			</mapResourceMember>
			<select property="items">
				<choice value="0">
				<!-- don't emit for 0 items: this causes a panic -->
				</choice>
				<choice>
					<mapResourceMember struct="ARRAY" property="." member="textarray" headers="badef.rh">
						<mapArrayMember property="items" member="items">
							<mapResourceElement struct="LBUF">
								<mapSimpleMember property="." member="txt"/>
							</mapResourceElement>
						</mapArrayMember>
					</mapResourceMember>
				</choice>
			</select>
			<mapSimpleMember property="active" member="active"/>
		</mapResource>
	</sourceMapping>

		<sourceGen forms="Dialog Container">
	
			<useTemplate ids="INIT_FROM_CONTAINER" />
			<useTemplate ids="INIT_FROM_DIALOG" />
			<useTemplateGroup ids="CLASS_CONTRIBS" />
			<useTemplate ids="LAYOUT_CONTROLS" />

			<inline>
this.getCppSystemIncludes(contribs, [ "barsread.h", "stringloader.h",
									"aknpopupfieldtext.h", "eikenv.h" ]);
			</inline>

			<template phase="Initialize"><![CDATA[
${instanceMemberName}->SetFont( iEikonEnv->${properties.font}() );
]]>			</template>

			<template phase="Initialize" form="Container">
${instanceMemberName}->SetFormFieldRect( TRect( ${properties.location.x}, ${properties.location.y}, ${properties.size.width}, ${properties.size.height} ) );
			</template>

		<useTemplateGroup ids="GenerateCommonControlEvents GenerateStateChangedEvent"/>
		<useTemplateGroup ids="GenerateRequestingFocusEvent GenerateRequestingExitEvent"/>
		<useTemplateGroup ids="GenerateRequestingCancelEvent GenerateInteractionRefusedEvent"/>
		<useTemplateGroup ids="GeneratePrepareFocusTransitionEvent"/>

	</sourceGen>

	</component>
</componentDefinition>