1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
.. currentmodule:: efl.elementary
Scroller
########
.. image:: /images/scroller-preview.png
Widget description
==================
A scroller holds a single object and "scrolls it around".
This means that it allows the user to use a scrollbar (or a finger) to
drag the viewable region around, allowing to move through a much larger
object that is contained in the scroller. The scroller will always have
a small minimum size by default as it won't be limited by the contents
of the scroller.
This widget inherits from :py:class:`~efl.elementary.layout_class.LayoutClass`,
so that all the functions acting on it also work for scroller objects.
.. note:: When Elementary is in embedded mode the scrollbars will not be
draggable, they appear merely as indicators of how much has been
scrolled.
.. note:: When Elementary is in desktop mode the thumbscroll(a.k.a.
fingerscroll) won't work.
Emitted signals
===============
- ``edge,left`` - the left edge of the content has been reached
- ``edge,right`` - the right edge of the content has been reached
- ``edge,top`` - the top edge of the content has been reached
- ``edge,bottom`` - the bottom edge of the content has been reached
- ``scroll`` - the content has been scrolled (moved)
- ``scroll,left`` - the content has been scrolled (moved) leftwards
- ``scroll,right`` - the content has been scrolled (moved) rightwards
- ``scroll,up`` - the content has been scrolled (moved) upwards
- ``scroll,down`` - the content has been scrolled (moved) downwards
- ``scroll,anim,start`` - scrolling animation has started
- ``scroll,anim,stop`` - scrolling animation has stopped
- ``scroll,drag,start`` - dragging the contents around has started
- ``scroll,drag,stop`` - dragging the contents around has stopped
- ``vbar,drag`` - the vertical scroll bar has been dragged
- ``vbar,press`` - the vertical scroll bar has been pressed
- ``vbar,unpress`` - the vertical scroll bar has been unpressed
- ``hbar,drag`` - the horizontal scroll bar has been dragged
- ``hbar,press`` - the horizontal scroll bar has been pressed
- ``hbar,unpress`` - the horizontal scroll bar has been unpressed
- ``scroll,page,changed`` - the visible page has changed
- ``focused`` - When the scroller has received focus. (since 1.8)
- ``unfocused`` - When the scroller has lost focus. (since 1.8)
.. note:: The "scroll,anim,*" and "scroll,drag,*" signals are only emitted by
user intervention.
Layout content parts
====================
- ``default`` - A content of the scroller
Enumerations
============
.. _Elm_Scroller_Policy:
Scrollbar visibility
--------------------
.. data:: ELM_SCROLLER_POLICY_AUTO
Show scrollbars as needed
.. data:: ELM_SCROLLER_POLICY_ON
Always show scrollbars
.. data:: ELM_SCROLLER_POLICY_OFF
Never show scrollbars
.. _Elm_Scroller_Single_Direction:
Single direction
----------------
Type that controls how the content is scrolled.
.. data:: ELM_SCROLLER_SINGLE_DIRECTION_NONE
Scroll every direction
.. data:: ELM_SCROLLER_SINGLE_DIRECTION_SOFT
Scroll single direction if the direction is certain
.. data:: ELM_SCROLLER_SINGLE_DIRECTION_HARD
Scroll only single direction
.. _Elm_Scroller_Movement_Block:
Movement block
--------------
Type that blocks the scroll movement in one or more direction.
:since: 1.8
.. data:: ELM_SCROLLER_MOVEMENT_NO_BLOCK
Do not block movements
.. data:: ELM_SCROLLER_MOVEMENT_BLOCK_VERTICAL
Block vertical movements
.. data:: ELM_SCROLLER_MOVEMENT_BLOCK_HORIZONTAL
Block horizontal movements
Inheritance diagram
===================
.. inheritance-diagram:: Scroller
:parts: 2
.. autoclass:: Scroller
|