Symbian3/SDK/Source/GUID-8F6F6C2C-C00E-4412-A880-5EEBF7270265.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-8F6F6C2C-C00E-4412-A880-5EEBF7270265" xml:lang="en"><title>Generic
       
    13 button</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <p>Button is a generic component, which may have touch down and release and/or
       
    15 touch down and hold functionality. Touch down and hold can be interpreted
       
    16 as touch down and hold or key repeat. Generic buttons can be placed, for example,
       
    17 inside the toolbar. </p>
       
    18 <p>The generic button can have the following properties:<ul>
       
    19 <li><p><b>ON/OFF button</b> - it can be used for active/inactive type of functions
       
    20 such as Loudspeaker or Font italics.</p></li>
       
    21 <li><p><b>Mode toggle button</b> - can be used for switching between several
       
    22 modes as in Flash.</p></li>
       
    23 <li><p><b>Command button</b> - it offers direct action (functions/view access)
       
    24 such as Send or New contact with a button press feedback. </p></li>
       
    25 </ul> </p>
       
    26 <p>Buttons can have the following states:<ul>
       
    27 <li><p><i>Unavailable / dimmed</i> when button function is not available</p></li>
       
    28 <li><p><i>Available and not pressed with or without focus</i> when the button
       
    29 is active but has not been pressed</p></li>
       
    30 <li><p><i>Latched down with or without focus</i>, for example, in case where
       
    31 there are many different text formatting options ON at the same time. In multiple
       
    32 mode buttons, user can switch between the different ’selected’ modes by touching
       
    33 the multiple mode button again. States change after touch release and current
       
    34 mode’s function is executed. Button states loop when the user touches those
       
    35 again</p></li>
       
    36 <li><p><i>Pressed with or without focus</i> - This state indicates to the
       
    37 user that touch down has activated the button</p></li>
       
    38 </ul></p>
       
    39 <table id="GUID-ED68DB7B-934F-4ABA-93F6-ECE636CF3760"><title>Default touch
       
    40 events for generic button</title>
       
    41 <tgroup cols="3"><colspec colname="col1" colwidth="0.80*"/><colspec colname="col2" colwidth="1.01*"/><colspec colname="col3" colwidth="1.19*"/>
       
    42 <thead>
       
    43 <row>
       
    44 
       
    45 <entry valign="top"><p>User action</p></entry>
       
    46 <entry valign="top"><p>State change</p></entry>
       
    47 <entry valign="top"><p>Feedback</p></entry>
       
    48 </row>
       
    49 </thead>
       
    50 <tbody>
       
    51 <row>
       
    52 <entry><p>Touch down</p></entry>
       
    53 <entry><p>Button pressed effect. On down event application specific functionality.</p></entry>
       
    54 <entry><p>Graphical indication and possible tooltip </p><p>Tactile: Basic
       
    55 button effect and audio feedback is provided with touch down.</p></entry>
       
    56 </row>
       
    57 <row>
       
    58 <entry><p>Touch release</p></entry>
       
    59 <entry><p>Activates the button, launches other view or event. </p><p>Button
       
    60 is latched down or set to available and non-pressed.</p></entry>
       
    61 <entry><p>Switches between down look and non-pressed look of the button.</p><p> When
       
    62 the toolbar button launches another view or event, the button does not appear
       
    63 latched down. </p><p>Tactile: Basic button effect is provided with touch release.
       
    64 No audio feedback is provided.</p></entry>
       
    65 </row>
       
    66 <row>
       
    67 <entry><p>Touch down on a multiple mode button</p></entry>
       
    68 <entry><p>Button is pressed.</p></entry>
       
    69 <entry><p>Tactile: Basic button effect and audio feedback is provided with
       
    70 touch down.</p></entry>
       
    71 </row>
       
    72 <row>
       
    73 <entry><p>Touch release on a multiple mode button</p></entry>
       
    74 <entry><p>Current mode’s function is executed.</p><p> User can switch between
       
    75 different modes by touching the multiple mode button again. State changes
       
    76 after touch release and current mode’s functions are executed. Button states
       
    77 loop when the user touches those again.</p></entry>
       
    78 <entry><p>Tactile: Basic button effect given with touch release. No audio
       
    79 feedback given.</p></entry>
       
    80 </row>
       
    81 <row>
       
    82 <entry><p>Touch down and hold (also known as long tap)</p></entry>
       
    83 <entry><p>Activates the button functionality, assigned for the touch down
       
    84 and hold event. </p><p>Application specific</p></entry>
       
    85 <entry><p>Tactile: Basic button effect and audio feedback is provided with
       
    86 touch down event.</p></entry>
       
    87 </row>
       
    88 <row>
       
    89 <entry><p>Touch down and hold (also known as key repeat</p></entry>
       
    90 <entry><p>May or may not have key repeat functionality</p><p>Application specific</p></entry>
       
    91 <entry><p>Tactile: Basic button effect is provide with touch down. In case
       
    92 of key repeat, sensitive button effect is provided.</p></entry>
       
    93 </row>
       
    94 <row>
       
    95 <entry><p>Touch down and move out from the button and releasing</p></entry>
       
    96 <entry><p>If the drag moves outside the container, button functionality is
       
    97 canceled with release event.</p></entry>
       
    98 <entry><p>Tactile: Basic button effect and audio feedback with touch down
       
    99 is provided. No feedback with release.</p></entry>
       
   100 </row>
       
   101 <row>
       
   102 <entry><p>Touch down and move out from the button and then back before up
       
   103 event</p></entry>
       
   104 <entry><p>As in touch down and release.</p></entry>
       
   105 <entry><p>Tactile: Basic button effect and audio feedback is provided with
       
   106 touch down. If release activates a function, then basic button effect is also
       
   107 provided with touch release. No audio feedback with touch release.</p></entry>
       
   108 </row>
       
   109 <row>
       
   110 <entry><p>Touch down and move out from a button to another button and then
       
   111 releasing</p></entry>
       
   112 <entry><p>If the drag goes outside the container, button functionality is
       
   113 canceled with release event and does not activate the other button.</p></entry>
       
   114 <entry><p>Tactile: Basic button effect and audio feedback with touch down.
       
   115 No feedback with release.</p></entry>
       
   116 </row>
       
   117 </tbody>
       
   118 </tgroup>
       
   119 </table>
       
   120 <section id="GUID-6A8BFD02-3F77-4C95-BFC4-180D2DD211EF"><title>Using generic
       
   121 buttons in C++ applications</title>The API to use for creating the generic
       
   122 button component is the <xref href="GUID-F3EE1000-71A6-4D48-A30B-3D2357BF20FB.dita">Generic
       
   123 Button API</xref>. </section>
       
   124 </conbody></concept>