Symbian3/PDK/Source/GUID-1AA32C40-CDE0-4627-A634-7C07BB1ED67B.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 11 Mar 2010 18:02:22 +0000
changeset 3 46218c8b8afa
parent 1 25a17d01db0c
child 5 f345bda72bc4
permissions -rw-r--r--
week 10 bug fix submission (SF PDK version): Bug 1892, Bug 1897, Bug 1319. Also 3 or 4 documents were found to contain code blocks with SFL, which has been fixed. Partial fix for broken links, links to Forum Nokia, and the 'Symbian platform' terminology issues.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 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". -->
<!-- Initial Contributors:
	Nokia Corporation - initial contribution.
Contributors: 
-->  <!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"><concept id="GUID-1AA32C40-CDE0-4627-A634-7C07BB1ED67B" xml:lang="en"><title>Forms</title><prolog><metadata><keywords></keywords></metadata></prolog><conbody>
<p>A form is a specific kind of selection list, where all items (fields) have
some editable content.</p>
<p>A form can be in the View state or in the Edit state. The item layouts
and functionality are different in these states:</p>
<ul>
<li><p>In the View state, the items are not editable. The form functions and
looks exactly like a similar selection list. Items can be selected to perform
an application-specific function. </p></li>
<li><p>In the Edit state, the user can edit all the fields. Forms can contain
text fields (alphanumeric or numeric content), pop-up fields and sliders.</p><p></p></li>
</ul>
<p>The user can switch from the View state to the Edit state using the Edit
command in the Options menu.In the Edit state, the contents of the form can
be accepted using the right softkey labeled as Done. The form then returns
to the View state.</p>
<section><title>Using forms in C++ applications</title><p>The
API to use for creating forms is the Form
API. For implementation information, see Using
the Form API.</p><p>Typically, a form will be derived from the class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknForm.html" format="application/java-archive"><codeph>CAknForm</codeph></xref> and
the methods <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknForm.html#b90bd30d42503d5f0464e9ff1ce3b830" format="application/java-archive"><codeph>SaveFormDataL()</codeph></xref> and <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknForm.html#6ff9f54d5d8a08da0c6f6574389b787a" format="application/java-archive"><codeph>DoNotSaveFormData()</codeph></xref> will be implemented by the developer. These are called when users
switch from edit mode to view mode and are prompted by the form as to whether
they wish to save their modifications.</p><p>For customization, the class <codeph>CAknForm</codeph> provides
a single-line or double-line layout and it is possible to use icons on forms. </p><p>In
the following example, the form is pushed on the cleanup stack before <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknForm.html#a7108b30a367ecb940f57e0dd35973bd" format="application/java-archive"><codeph>ConstructL()</codeph></xref> (a
potentially leaving method) is called, and popped off before <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknDialog.html#2bb826c038d23806445872d768e7d151" format="application/java-archive"><codeph>ExecuteLD()</codeph></xref>. </p><codeblock xml:space="preserve">CAknExFormAdd* form = new(ELeave) CAknExFormAdd;
CleanupStack::PushL(form);
form-&gt;ConstructL();
CleanupStack::Pop();
form-&gt;ExecuteLD(R_AKNEXFORM_TEXT_FIELD_DIALOG);
</codeblock></section>
</conbody></concept>