uidesigner/com.nokia.sdt.series60.componentlibrary/components/cba/CBA_3.2.component
changeset 0 fb279309251b
equal deleted inserted replaced
-1:000000000000 0:fb279309251b
       
     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>