diff -r 51a74ef9ed63 -r ae94777fff8f Symbian3/SDK/Source/GUID-1AA32C40-CDE0-4627-A634-7C07BB1ED67B.dita --- a/Symbian3/SDK/Source/GUID-1AA32C40-CDE0-4627-A634-7C07BB1ED67B.dita Wed Mar 31 11:11:55 2010 +0100 +++ b/Symbian3/SDK/Source/GUID-1AA32C40-CDE0-4627-A634-7C07BB1ED67B.dita Fri Jun 11 12:39:03 2010 +0100 @@ -1,164 +1,154 @@ - - - - - -Forms -

A form is a specific kind of selection list, where all items (fields) have -some editable content.

-

A form can be in the View state or in the Edit state. The item layouts -and functionality are different in these states:

- -

Forms work with single click. The view state of the form follows list behavior. -Edit state works with single click but it has the highlight always visible -to indicate the active form item. Note that the entire form component item -should be touch sensitive in normal state. This means that even if the user -does not touch the edit field but instead the field header, the item is still -activated.

-

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.

- -An example form - - -

The following table lists the default touch events for forms:

-Default touch -events for forms - - - - - - -

User action

-

State change

-

Feedback

-
- - - - -

In Edit State

-
- -

Touch down on item

-

No change

-

Highlight is shown on the item and focus shifts to the item.

Tactile: -Basic list effect and audio feedback is provided with touch down event.

Only -form-specific feedback is provided. No sensitive edit feedback provided on -editor item in the form.
-
- -

Touch release on item

-

Item is activated.

When the user moves a cursor to a text -field, the cursor is placed at the end of the text in the field. If the field -is empty, the cursor is placed at the beginning of the field.

Touch -release on a radio button list item selects the item and closes the pop-up.

-

Highlight remains on the item.

In case of a radio button list, -highlight stays on the full list, and not on any single selection item.

Tactile: -Basic list effect provided with release event.

-
- -

Touch down and hold on item

-

Inactive

-

Tactile: No effect

-
- -

Touch down and move inside form

-

Refer to Dragging -and flicking events

-

Highlight remains on the item that is currently active, when the -user starts to move.

Tactile: Refer to Dragging -and flicking events.

-
- -

Touch down and move outside the form without releasing touch.

-

Refer to Dragging -and flicking events

-

Tactile: Refer to Dragging -and flicking events.

-
- -

Touch down and release outside the radio button list

-

Radio button list is closed.

-

Tactile: Pop-up effect is provided with touch down event.

-
- - - - -

In View State

-
- -

Touch down on item

-

No effect

-

Highlight is shown.

Tactile: Basic list effect and audio feedback -is provided with the touch down event.

-
- -

Touch release

-

One of the following occurs:

    -
  • Item is activated.

  • -
  • Item get editable.

  • -
  • Item opens context specific Options menu.

  • -

-

Highlight disappears.

Tactile: Basic list effect is provided -with touch release event.

If the touch release opens a pop-up, the pop-up -open effect is provided with the touch release. If theme effects are ON, then -increasing long touch effect with touch release is provided.

-
- -

Touch down and hold

-

Inactive

-

Tactile: No effect

-
- -

Touch down and move inside form

-

Refer to Dragging -and flicking events

-

Tactile: Refer to Dragging -and flicking events.

-
- -

Touch down and move outside the form without releasing touch.

-

Refer to Dragging -and flicking events

-

Tactile: Refer to Dragging -and flicking events.

-
- - -
-
Using -forms in C++ applications

The API to use for creating forms is the Form API. For implementation information, see Using the Form API.

Typically, a form will be derived -from the class CAknForm and -the methods SaveFormDataL() and DoNotSaveFormData() 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.

For customization, the class CAknForm provides -a single-line or double-line layout and it is possible to use icons on forms.

In -the following example, the form is pushed on the cleanup stack before ConstructL() (a -potentially leaving method) is called, and popped off before ExecuteLD().

CAknExFormAdd* form = new(ELeave) CAknExFormAdd; -CleanupStack::PushL(form); -form->ConstructL(); -CleanupStack::Pop(); -form->ExecuteLD(R_AKNEXFORM_TEXT_FIELD_DIALOG); -
-
-Related APIs -Dialogs API - + + + + + +Forms +

A form is a specific kind of selection list, where all items (fields) +have some editable content.

+

A form can be in the View state or in the Edit state. The item +layouts and functionality are different in these states:

+
    +
  • 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.

  • +
  • 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.

  • +
+

Forms work with single tap. The view state of the form follows +list behavior. Edit state works with single tap but it has the highlight +always visible to indicate the active form item. Note that the entire +form component item should be touch sensitive in normal state. This +means that even if the user does not touch the edit field but instead +the field header, the item is still activated.

+

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.

+ +An example form + + +

The following table lists the default touch events for forms:

+Default +touch events for forms + + + +

User action

+

State change

+

Feedback

+
+ + + +

In Edit State

+
+ +

Touch down on item

+

No change

+

Highlight is shown on the item and focus shifts to the item.

Tactile: Basic list effect and audio feedback is provided with +touch down event.

Only form-specific feedback is provided. +No sensitive edit feedback provided on editor item in the form.
+
+ +

Touch release on item

+

Item is activated.

When the user moves a cursor to +a text field, the cursor is placed at the end of the text in the field. +If the field is empty, the cursor is placed at the beginning of the +field.

Touch release on a radio button list item selects the +item and closes the pop-up.

+

Highlight remains on the item.

In case of a radio +button list, highlight stays on the full list, and not on any single +selection item.

Tactile: Basic list effect provided with release +event.

+
+ +

Touch down and hold on item

+

Inactive

+

Tactile: No effect

+
+ +

Touch down and move inside form

+

Refer to Dragging and flicking events

+

Highlight remains on the item that is currently active, +when the user starts to move.

Tactile: Refer to Dragging and flicking events.

+
+ +

Touch down and move outside the form without releasing touch.

+

Refer to Dragging and flicking events

+

Tactile: Refer to Dragging and flicking events.

+
+ +

Touch down and release outside the radio button list

+

Radio button list is closed.

+

Tactile: Pop-up effect is provided with touch down event.

+
+ + + + +

In View State

+
+ +

Touch down on item

+

No effect

+

Highlight is shown.

Tactile: Basic list effect and +audio feedback is provided with the touch down event.

+
+ +

Touch release

+

One of the following occurs:

    +
  • Item is activated.

  • +
  • Item get editable.

  • +
  • Item opens context specific Options menu.

  • +

+

Highlight disappears.

Tactile: Basic list effect is +provided with touch release event.

If the touch release opens +a pop-up, the pop-up open effect is provided with the touch release. +If theme effects are ON, then increasing long touch effect with touch +release is provided.

+
+ +

Touch down and hold

+

Inactive

+

Tactile: No effect

+
+ +

Touch down and move inside form

+

Refer to Dragging and flicking events

+

Tactile: Refer to Dragging and flicking events.

+
+ +

Touch down and move outside the form without releasing touch.

+

Refer to Dragging and flicking events

+

Tactile: Refer to Dragging and flicking events.

+
+ + +
+
Using forms in applications

The API to use for creating forms is the Form API. For implementation information, see Using the Form API.

Typically, a form will +be derived from the class CAknForm and the methods SaveFormDataL() and DoNotSaveFormData() 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.

For customization, the class CAknForm provides a single-line or double-line layout and +it is possible to use icons on forms.

In the following example, +the form is pushed on the cleanup stack before ConstructL() (a potentially leaving method) +is called, and popped off before ExecuteLD().

CAknExFormAdd* form = new(ELeave) CAknExFormAdd; +CleanupStack::PushL(form); +form->ConstructL(); +CleanupStack::Pop(); +form->ExecuteLD(R_AKNEXFORM_TEXT_FIELD_DIALOG); +
+
+Related APIs +Dialogs API +
\ No newline at end of file