blob: dac35c7704e739d86d89125e69b0564a46f3a271 (
plain)
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
|
/*
@VaadinApache2LicenseForJavaFiles@
*/
package com.vaadin.terminal;
import java.io.Serializable;
/**
* <p>
* This interface is implemented by all visual objects that can be scrolled
* programmatically from the server-side, or for which it is possible to know
* the scroll position on the server-side. The unit of scrolling is pixel.
* </p>
*
* @author Vaadin Ltd.
* @version
* @VERSION@
* @since 3.0
*/
public interface Scrollable extends Serializable {
/**
* Gets scroll left offset.
*
* <p>
* Scrolling offset is the number of pixels this scrollable has been
* scrolled right.
* </p>
*
* @return Horizontal scrolling position in pixels.
*/
public int getScrollLeft();
/**
* Sets scroll left offset.
*
* <p>
* Scrolling offset is the number of pixels this scrollable has been
* scrolled right.
* </p>
*
* <p>
* The method only has effect if programmatic scrolling is enabled for the
* scrollable. Some implementations may require enabling programmatic before
* this method can be used. See {@link #setScrollable(boolean)} for more
* information.
* </p>
*
* @param pixelsScrolled
* the xOffset.
*/
public void setScrollLeft(int pixelsScrolled);
/**
* Gets scroll top offset.
*
* <p>
* Scrolling offset is the number of pixels this scrollable has been
* scrolled down.
* </p>
*
* @return Vertical scrolling position in pixels.
*/
public int getScrollTop();
/**
* Sets scroll top offset.
*
* <p>
* Scrolling offset is the number of pixels this scrollable has been
* scrolled down.
* </p>
*
* <p>
* The method only has effect if programmatic scrolling is enabled for the
* scrollable. Some implementations may require enabling programmatic before
* this method can be used. See {@link #setScrollable(boolean)} for more
* information.
* </p>
*
* <p>
* The scrolling position is limited by the current height of the content
* area. If the position is below the height, it is scrolled to the bottom.
* However, if the same response also adds height to the content area,
* scrolling to bottom only scrolls to the bottom of the previous content
* area.
* </p>
*
* @param pixelsScrolled
* the yOffset.
*/
public void setScrollTop(int pixelsScrolled);
/**
* Is programmatic scrolling enabled.
*
* <p>
* Whether programmatic scrolling with {@link #setScrollLeft(int)} and
* {@link #setScrollTop(int)} is enabled.
* </p>
*
* @return <code>true</code> if the scrolling is enabled, otherwise
* <code>false</code>.
*/
public boolean isScrollable();
/**
* Enables or disables programmatic scrolling.
*
* <p>
* Enables setting the scroll position with {@link #setScrollLeft(int)} and
* {@link #setScrollTop(int)}. Implementations of the interface may have
* programmatic scrolling disabled by default, in which case you need to
* enable it to use the mentioned methods.
* </p>
*
* <p>
* Notice that this does <i>not</i> control whether scroll bars are shown
* for a scrollable component. That normally happens automatically when the
* content grows too big for the component, relying on the "overflow: auto"
* property in CSS.
* </p>
*
* @param isScrollingEnabled
* true if the scrolling is allowed.
*/
public void setScrollable(boolean isScrollingEnabled);
}
|