|
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> |