Symbian3/SDK/Source/GUID-11C24609-3B6D-4B44-B003-FB0C07444A9E.dita
changeset 7 51a74ef9ed63
child 8 ae94777fff8f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-11C24609-3B6D-4B44-B003-FB0C07444A9E.dita	Wed Mar 31 11:11:55 2010 +0100
@@ -0,0 +1,122 @@
+<?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-11C24609-3B6D-4B44-B003-FB0C07444A9E" xml:lang="en"><title>Scrollbars</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>With any list, grid or other component that can be scrolled vertically,
+a scrollbar appears on the right-hand side of the component. The scrollbar
+is displayed also on pop-up components.</p>
+<fig id="GUID-1C685A4B-F3EF-4A43-9233-E84C67FD74F4">
+<title>Scroll pane with scrollbar</title>
+<image href="GUID-3382507E-1B21-418C-A908-DD3F688C0672_d0e73223_href.png" placement="inline"/>
+</fig>
+<ul>
+<li><p>The placement of the scroll handle on the scrollbar reflects the position
+of the focus on the scrolling content.</p></li>
+<li><p>The size of the scroll handle reflects the number of displayed items
+relative to the total number of items on the scrolled component.</p></li>
+<li><p>The scrollbar is displayed even when all items on the component can
+be displayed in the same view without scrolling. When this is the case, the
+scroll handle is displayed at the maximum size. The only exception is the
+Application Shell, where scrollbar is not displayed if all items fit the same
+view.</p></li>
+</ul>
+<section id="GUID-054FE843-7681-40D9-ACA7-47122BC3107B"><title>Scrollbars
+in Touch UI</title><p>In touch devices based on the Symbian platform, scrollbars
+(vertical and horizontal) have a touch-enabled scroll box. The hardware keys
+(Arrow keys) can also be used for scrolling when the scrollbars are visible.
+The scrolling movement on the screen is smooth.</p><p>For the scrollbar to
+be more usable with touch, the actual scrollbar area is wider than the visible
+scrollbar. When the user scrolls, the scrollbar has a related effect to indicate
+the scrolling. Because the actual area of scrollbar is wider, the items appearing
+on that area in scrollable list, grids, viewers cannot be touch-enabled, for
+example,list icons in column D cannot be tapped.</p><table id="GUID-96CBFEBF-601B-4686-85B2-7E634AB1F1B2">
+<title>Default control events for scrollbar.</title>
+<tgroup cols="3"><colspec colname="col1" colwidth="0.80*"/><colspec colname="col2" colwidth="1.01*"/><colspec colname="col3" colwidth="1.19*"/>
+<thead>
+<row>
+<entry valign="top"><p>User action</p></entry>
+<entry valign="top"><p>State change</p></entry>
+<entry valign="top"><p>Feedback</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p>Touch down on a scrollbar, no thumb</p></entry>
+<entry><p>Scrolling is activated when there is a scrollbar under the touch
+event. Scrollbar thumb is moved towards the touch down position on the scroll
+bar. Scrolling is done for a page at a time.</p></entry>
+<entry><p>Scrollbar color is changed to indicate that the scrollbar has the
+control.</p><p>Tactile: <ul>
+<li>No feedback is provided when touch down on a scrollbar and no thumb is
+used. </li>
+<li><p>Sensitive slider effect and audio feedback given when thumb is moved
+towards the touch down position.</p></li>
+<li><p>No feedback is provided with touch release.</p></li>
+</ul> </p></entry>
+</row>
+<row>
+<entry><p>Touch down on a scrollbar thumb</p></entry>
+<entry><p>Scrollbar thumb can be moved in desired direction. Scrollbar thumb
+color is changed as an indication to the users that scrolling can be performed.</p></entry>
+<entry><p>Scrollbar thumb color is changed to indicate scrolling activation.</p><p>Tactile:
+Sensitive slider effect and audio feedback provided with touch down and release
+events.</p></entry>
+</row>
+<row>
+<entry><p>Touch down and hold scrollbar, no thumb</p></entry>
+<entry><p>This action performs a “key repeat”. The scrollbar thumb is moved
+towards the touch down position</p></entry>
+<entry><p>Tactile: Sensitive slider effect and audio feedback provided with
+touch down and with steps.</p></entry>
+</row>
+<row>
+<entry><p>Touch down and move</p></entry>
+<entry><p>Scrollbar thumb is moved along with the touch event.</p><p>Touch
+down on scrollbar thumb, dragging and touch release are performed on the scrollbar
+control area.</p></entry>
+<entry><p>Tactile: <ul>
+<li><p>Sensitive slider effect and audio feedback provided with touch down
+event.</p></li>
+<li><p>Smooth slider effect provided with the drag event.</p></li>
+<li><p>Sensitive slider effect provided with touch release.</p></li>
+</ul> </p></entry>
+</row>
+<row>
+<entry><p>Touch down on scrollbar thumb and move outside the scrollbar control
+area</p></entry>
+<entry><p>Scrollbar thumb remains in the position where it was when the finger
+left the scrollbar control area.</p><p>If the user moves the touch outside
+the scrollbar control area and back, the thumb will continue to move along
+with the touch event.</p><p>After touch down on scrollbar thumb, touch is
+dragged out from the scrollbar control area, without releasing the touch.</p></entry>
+<entry><p>Tactile: Sensitive slider effect and audio feedback provided with
+touch down. No feedback is provided if the thumb is not moving. If the thumb
+moves, smooth slide feedback provided.</p><p><note>If touch release happens
+outside the scrollbar, no feedback is provided.</note></p></entry>
+</row>
+</tbody>
+</tgroup>
+</table></section>
+<section id="GUID-87093F25-CFC3-4D71-A5EF-006C6425C65D"><title>Using
+scrollbars in C++ applications</title><p>The API to use for creating the scrollbar
+component is the <xref format="html" href="specs/guides/Scroller_API_Specification/Scroller_API_Specification.html" scope="peer">Scroller API</xref>.</p><p>To use a scrollbar in your application,
+first create a scrollbar frame using the class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCEikScrollBarFrame.html" format="application/java-archive"><codeph>CEikScrollbarFrame</codeph></xref>. All scrollbar operations are executed via this scrollbar frame.
+These operations include creating and destroying the scrollbar, setting its
+visibility, and adjusting the scrollbar's model. The scrollbar itself can
+be created using the method <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCEikScrollBarFrame.html#81980f8db36253fc89fb7ebbfa316b4d" format="application/java-archive"><codeph>CreateDoubleSpanScrollBarsL()</codeph></xref> in the class <codeph>CEikScrollBarFrame</codeph>.
+The class for the scrollbar is <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCAknDoubleSpanScrollBar.html" format="application/java-archive"><codeph>CAknDoubleSpanScrollBar</codeph></xref>. For implementation information, see <xref format="html" href="specs/guides/Scroller_API_Specification/Scroller_API_Specification.html#Scroller_API_Specification.topic3.1" scope="peer">Creating a scrollbar</xref>.</p><p>Scrollbar models encapsulate
+the range of integers which a scrollbar can represent, from zero to n, and
+the current position of the scrollbar thumb within that range. To set the
+scrollbar model, use the class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classTAknDoubleSpanScrollBarModel.html" format="application/java-archive"><codeph>TAknDoubleSpanScrollbarModel</codeph></xref>. For information on updating the scrollbar's position and size using
+the scrollbar model, see <xref format="html" href="specs/guides/Scroller_API_Specification/Scroller_API_Specification.html#Scroller_API_Specification.topic3.2" scope="peer">Updating ArrowHead scrollbar attributes</xref> and <xref format="html" href="specs/guides/Scroller_API_Specification/Scroller_API_Specification.html#Scroller_API_Specification.topic3.3" scope="peer">Updating DoubleSpan scrollbar attributes</xref>.</p><p>You can
+control the scrollbar visibility using the method <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCEikScrollBarFrame.html#63d2cba6f1261f9c56dd7a98499fceda" format="application/java-archive"><codeph>SetScrollbarVisibilityL()</codeph></xref> in the class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classCEikScrollBarFrame.html" format="application/java-archive"><codeph>CEikScrollbarFrame</codeph></xref>.</p><p>To observed scrollbar events,
+use the class <xref href="jar:GUID-759FBC7F-5384-4487-8457-A8D4B76F6AA6.jar!/html/classMEikScrollBarObserver.html" format="application/java-archive"><codeph>MEikScrollbarObserver</codeph></xref>. For implementation information, see <xref format="html" href="specs/guides/Scroller_API_Specification/Scroller_API_Specification.html.dita#specs/guides/Scroller_API_Specification/Scroller_API_Specification.html/Scroller_API_Specification.topic3.4">Observing scrollbar events</xref>.</p></section>
+</conbody></concept>
\ No newline at end of file