9 --> |
9 --> |
10 <!DOCTYPE concept |
10 <!DOCTYPE concept |
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
12 <concept id="GUID-0C19D3F1-CF60-4760-8A77-242E14647738" xml:lang="en"><title>Touch |
12 <concept id="GUID-0C19D3F1-CF60-4760-8A77-242E14647738" xml:lang="en"><title>Touch |
13 UI observer interfaces</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
13 UI observer interfaces</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
14 <p>To support the touch functionality in existing UI components too, S60 5th |
14 <p>To support the touch functionality in the UI components, following observer |
15 Edition introduced new observer interfaces to the existing components. These |
15 interfaces are provided:</p> |
16 are:</p> |
|
17 <ul> |
16 <ul> |
18 <li><p><i>Navigation decorator observer</i></p><p>The navigation decorator |
17 <li><p><b>Navigation decorator observer</b> (<codeph>MAknNaviDecoratorObserver</codeph>)- |
19 observer interface is used in the navigation pane. The interface receives |
18 It is used in the navigation pane. The interface receives an event indicating |
20 an event indicating that the decorator’s right or left arrow has been tapped |
19 that the decorator’s right or left arrow has been tapped (or the navi label). |
21 (or the navi label), and then the observer implementation can perform an action |
20 Based on the event received, the observer implementation performs an action |
22 (for example, raise the volume or change focus to the next tab). This might |
21 (for example, raise the volume or change focus to the next tab). This observer |
23 be useful if you implement custom controls to be included in the navigation |
22 is useful when custom controls needs to be implemented in the navigation |
24 control.</p><p>It is defined by <codeph>MAknNaviDecoratorObserver</codeph>. |
23 control. The observer can be set using <codeph>CAknNavigationDecorator::SetNaviDecoratorObserver()</codeph>.</p> <p/> </li> |
25 The observer can be set by <codeph>CAknNavigationDecorator::SetNaviDecoratorObserver</codeph>.</p> </li> |
24 <li><p><b>Long tap detector</b> (<codeph>CAknLongTapDetector</codeph>) - It |
26 <li><p><i>Long tap detector</i></p><p>The long tap detector (<codeph>CAknLongTapDetector</codeph>) |
25 is an AVKON component that an application or control can use to receive long |
27 is an Avkon component that an application or control can use to receive long |
|
28 tap events.</p><p>The long tap handler must inherit from <codeph>MAknLongTapDetectorCallBack</codeph> and |
26 tap events.</p><p>The long tap handler must inherit from <codeph>MAknLongTapDetectorCallBack</codeph> and |
29 implement the <codeph>HandleLongTapEventL</codeph> call back function for |
27 implement the <codeph>HandleLongTapEventL()</codeph> call back function for |
30 long tap events.</p> <p>When the stylus is held down in the same position, |
28 long tap events.</p> <p>When the stylus/finger is held down in the same position, |
31 an animation starts in about 0.15 s to show that the long tap functionality |
29 an animation starts in about 0.15 s to show that the long tap functionality |
32 has started. Animation is provided by AVKON and cannot be changed by the application |
30 has started. Animation is provided by AVKON and cannot be changed by the application |
33 or control. However, animation can be turned off using the class <codeph>CAknLongTapDetector</codeph> in |
31 or control. However, animation can be turned off using the class <codeph>CAknLongTapDetector</codeph> in |
34 the Touch UI utilities API.</p> <p>For implementation infomation, see the <xref href="GUID-92018B6B-3CBB-434D-9E61-F271C67E98E3.dita">Touch UI utilities API specification</xref>.</p></li> |
32 the Touch UI utilities API.</p> <p>For implementation information, see the <xref href="GUID-92018B6B-3CBB-434D-9E61-F271C67E98E3.dita">Touch UI utilities API specification</xref>.</p></li> |
35 <li><p><i>Double-click support in lists</i></p><p>In order to receive double-click |
33 <li><p><b>Double-click support in lists</b> - To receive double-click events |
36 events from a list or grid, the object that wishes to be informed must implement |
34 from a list or grid, the object that needs to be informed must implement and |
37 and register the <codeph>MEikListBoxObserver</codeph> interface via <codeph>CEikListBox::SetListBoxObserver</codeph>. </p></li> |
35 register the <codeph>MEikListBoxObserver</codeph> interface via <codeph>CEikListBox::SetListBoxObserver()</codeph>. </p>After |
38 <li><p><i>Title pane touch observer</i></p><p>The title pane touch observer |
36 registering, handle the <codeph>EEventItemDoubleClicked</codeph> event in<codeph>HandleListBoxEventL()</codeph> method. <p>If |
39 enables you to provide functionality for title pane touch events. For implementation |
37 single click is enabled, <codeph>EEventItemSingleClicked</codeph> event should |
40 information, see the <xref href="GUID-B876D548-FD40-4369-B328-7427002B4851.dita">Title |
38 be handled instead.</p></li> |
41 pane touch observer API specification</xref>.</p></li> |
39 <li><p><b>Title pane touch observer</b> - The title pane touch observer enables |
|
40 you to provide functionality for title pane touch events. For implementation |
|
41 information, see the <xref format="html" href="specs/guides/Title_Pane_Touch_Observer_API_Specification/Title_Pane_Touch_Observer_API_Specification.html" scope="peer">Title pane touch observer API specification</xref>.</p></li> |
42 </ul> |
42 </ul> |
43 </conbody></concept> |
43 </conbody></concept> |