Symbian3/SDK/Source/GUID-ED784025-4E65-4BE9-ADA8-A13427B6EA30.dita
changeset 7 51a74ef9ed63
child 8 ae94777fff8f
equal deleted inserted replaced
6:43e37759235e 7:51a74ef9ed63
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-ED784025-4E65-4BE9-ADA8-A13427B6EA30" xml:lang="en"><title>Markable
       
    13 list</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <p>A markable list is a selection list with the added marking feature. The
       
    15 user can mark any number of items on the list while browsing it, and then
       
    16 execute a single command, which is applied to all the marked items. This is
       
    17 analogous to the multiple-item highlight feature used in computer GUIs.</p>
       
    18 <p>The marking feature is typically applied to lists the user manages, containing
       
    19 a large number of items that may be for example sent, moved, or deleted. By
       
    20 marking items first and then selecting a command, the user can perform certain
       
    21 operations more quickly and with less key presses than by performing the command
       
    22 separately for each of the items.</p>
       
    23 <p>Marked items are indicated graphically.</p>
       
    24 <fig id="GUID-171B4713-C197-4D05-9FBC-E3296C26ABFF">
       
    25 <title>Markable list. Marked items are indicated graphically in the list.</title>
       
    26 <image href="GUID-8CCA308A-5302-4D95-8E60-DA75D8B6DC41_d0e61778_href.png" placement="inline"/>
       
    27 </fig>
       
    28 <p>The <b>Mark</b> and <b>Unmark</b> functions are available in the Options
       
    29 menu of the markable list. Alternatively, or as a shortcut, the user can keep
       
    30 the Hash (#) key pressed while using the Arrow keys and the Selection key
       
    31 in the following way:</p>
       
    32 <ul>
       
    33 <li><p>Pressing the Hash (#) key marks the current item. This is a toggling
       
    34 function, so pressing the Hash (#) key on a marked item unmarks the item. </p></li>
       
    35 <li><p>Pressing an Arrow key (up or down) while holding down the Hash (#)
       
    36 key marks both the current item and the one onto which the focus moves. If
       
    37 the user keeps holding the Hash (#) key and scrolls further in the same direction,
       
    38 all the scrolled items become marked; to unmark the items in reverse order
       
    39 the user can scroll into the opposite direction while holding the Hash (#)
       
    40 key down. </p></li>
       
    41 <li><p>Items can be unmarked by pressing the Hash (#) key together with scrolling:
       
    42 if the user starts holding the Hash (#) key down when on a marked item and
       
    43 then scrolls, all the scrolled items become unmarked. </p></li>
       
    44 <li><p>Several marking actions can be done subsequently. The user can mark
       
    45 an item, then release the Hash (#) key, browse and move the focus onto some
       
    46 other item on the list, and then mark that item. The first item remains marked,
       
    47 and the ones between the two do not become marked. </p></li>
       
    48 <li><p>All items become unmarked when the user exits the list, for example
       
    49 by back stepping. There may be exceptions to this rule in certain applications
       
    50 that require selecting items from several levels of folder hierarchy. An example
       
    51 of this is creating a play list in the Media Player application. Items remain
       
    52 marked if the user opens and cancels the <b>Options</b> menu, or swaps applications. </p></li>
       
    53 <li><p>Pressing the Selection key when there are marked items on the list
       
    54 opens the context sensitive <b>Options</b> menu containing only those functions
       
    55 that apply to multiple items.</p></li>
       
    56 </ul>
       
    57 <p>A markable list functions exactly like a normal selection list, except
       
    58 for the marking feature.</p>
       
    59 <p>Devices that have the optional Edit key perform these same functions by
       
    60 using the Edit key and arrow keys instead of the Hash (#) key.</p>
       
    61 <p>The user may access the <b>Options</b> menu to perform functions on all
       
    62 marked items at once. When user has one or more items marked, <b>Options</b> menu
       
    63 does not contain items that apply to one item only (such as <b>Open</b>).
       
    64 Exceptions are Help and Exit, which should appear in every <b>Options</b> menu.
       
    65 Appropriate error handling must be designed for functions that do not apply
       
    66 to some or all of the marked items.</p>
       
    67 <ul>
       
    68 <li><p>When executing a function, if any of the items are marked, all the
       
    69 marked items are affected by the function. If the focus is on an item that
       
    70 is not marked, the function does not affect that item. </p></li>
       
    71 <li><p>After the selected function is successfully done, all items are unmarked.
       
    72 In an error case, when the function cannot be applied, the marks should remain
       
    73 in place.</p></li>
       
    74 </ul>
       
    75 <p>The Options menu includes the marking and unmarking functions in a submenu
       
    76 so that any user can find the feature. The submenu has also the <b>Mark all</b> and <b>Unmark</b> all
       
    77 options.</p>
       
    78 <p>For other keypad actions, see <xref href="GUID-0822B030-E776-4BD5-B9C9-23D3821BCE1F.dita">Selection
       
    79 list</xref>.</p>
       
    80 <table id="GUID-385DFE50-AC9B-4C4E-BCE4-98A088443E77"><title>Default touch
       
    81 events for Markable lists</title>
       
    82 <tgroup cols="3"><colspec colname="col1" colwidth="0.80*"/><colspec colname="col2" colwidth="1.01*"/><colspec colname="col3" colwidth="1.19*"/>
       
    83 <thead>
       
    84 <row>
       
    85 <entry valign="top"><p>User action</p></entry>
       
    86 <entry valign="top"><p>State change</p></entry>
       
    87 <entry valign="top"><p>Feedback</p></entry>
       
    88 </row>
       
    89 </thead>
       
    90 <tbody>
       
    91 <row>
       
    92 <entry><p>Touch down</p></entry>
       
    93 <entry><p>The marked/unmarked status of all items remains unchanged.</p></entry>
       
    94 <entry><p>Highlight is shown. </p><p>Tactile: Basic list effect and audio
       
    95 feedback is provided with touch down.</p></entry>
       
    96 </row>
       
    97 <row>
       
    98 <entry><p>Touch release, while no item is marked</p></entry>
       
    99 <entry><p>Activates the item</p></entry>
       
   100 <entry><p>Highlight disappears. </p><p>Tactile: Basic list effect is provided
       
   101 with touch release event.</p></entry>
       
   102 </row>
       
   103 <row>
       
   104 <entry><p>Touch down and hold, while no item is marked</p></entry>
       
   105 <entry><p>Stylus pop-up menu is opened with an option Mark <i>§QTN_OPTIONS_LIST_MARK_ONE§</i>. </p><p>If
       
   106 user selects Mark, the pop-up is closed, highlight removed and the item becomes
       
   107 marked.</p></entry>
       
   108 <entry><p>Highlight is shown. Animation is shown to indicate the opening pop-up. </p><p>Tactile:
       
   109 If activates a long touch, then increasing long touch effect is provided with
       
   110 hold event and pop-up effect is provided when the pop-up is opened.</p></entry>
       
   111 </row>
       
   112 <row>
       
   113 <entry><p>Touch release, while at least one item is marked</p></entry>
       
   114 <entry><p>A context specific options menu opens. The marked/unmarked status
       
   115 of all items remains unchanged. </p><p>Context specific options menu should
       
   116 contain items for Mark/Unmark and any needed items that apply to all marked
       
   117 items.</p></entry>
       
   118 <entry><p>Highlight disappears. Tactile: Pop-up open effect is provided. If
       
   119 pop-up has theme effects and they are ON, then increasing long touch effect
       
   120 is provided with touch release.</p></entry>
       
   121 </row>
       
   122 <row>
       
   123 <entry><p>Touch down and hold, while at least one item is marked</p></entry>
       
   124 <entry><p>Inactive</p></entry>
       
   125 <entry><p>Tactile: No effect</p></entry>
       
   126 </row>
       
   127 </tbody>
       
   128 </tgroup>
       
   129 </table>
       
   130 <p/>
       
   131 <table id="GUID-BD658610-F69D-4CF6-9025-1BC567D3025A"><title>Default touch/key
       
   132 events for markable lists</title>
       
   133 <tgroup cols="3"><colspec colname="col1" colwidth="0.80*"/><colspec colname="col2" colwidth="1.01*"/><colspec colname="col3" colwidth="1.19*"/>
       
   134 <thead>
       
   135 <row>
       
   136 <entry valign="top"><p>User action</p></entry>
       
   137 <entry valign="top"><p>State change</p></entry>
       
   138 <entry valign="top"><p>Feedback</p></entry>
       
   139 </row>
       
   140 </thead>
       
   141 <tbody>
       
   142 <row>
       
   143 <entry><p>Control and touch down</p></entry>
       
   144 <entry><p>Mark/unmark the item touched. </p><p>Toggle between marked and unmarked.</p></entry>
       
   145 <entry><p>Highlight is shown. </p><p>Tactile: Basic list effect and audio
       
   146 feedback is provided with touch down.</p></entry>
       
   147 </row>
       
   148 <row>
       
   149 <entry><p>Control and touch release</p></entry>
       
   150 <entry><p>No effect</p></entry>
       
   151 <entry><p>Highlight disappears. </p><p>Tactile: No effect.</p></entry>
       
   152 </row>
       
   153 <row>
       
   154 <entry><p>Shift and touch down</p></entry>
       
   155 <entry><p>If there is highlight brought by the hardware key event, mark/unmark
       
   156 all items between focused and touched down item. </p><p>If the item touched
       
   157 down is unmarked, then all items between the item and focused item are marked,
       
   158 and vice versa.</p></entry>
       
   159 <entry><p>Highlight is shown.</p><p>Tactile: Basic list effect and audio feedback
       
   160 is provided with touch down.</p></entry>
       
   161 </row>
       
   162 <row>
       
   163 <entry><p>Control/Shift and touch down and hold</p></entry>
       
   164 <entry><p>Inactive</p></entry>
       
   165 <entry><p>Tactile: No effect</p></entry>
       
   166 </row>
       
   167 </tbody>
       
   168 </tgroup>
       
   169 </table>
       
   170 <section id="GUID-69189A53-90FA-4874-AC60-D18D120C9C90"><title>Using
       
   171 markable lists in C++ applications</title><p>The API to use for markable lists
       
   172 is the <xref format="html" href="specs/guides/Lists_API_Specification/Lists_API_Specification.html" scope="peer">Lists API</xref>. For implementation information, see <xref format="htrml" href="specs/guides/Lists_API_Specification/Lists_API_Specification.html#Lists_API_Specification.topic3" scope="peer">Using the Lists API</xref>.</p></section>
       
   173 </conbody></concept>