@qooxdoo/framework
Version:
The JS Framework for Coders
111 lines (89 loc) • 2.73 kB
JavaScript
/* ************************************************************************
qooxdoo - the new era of web development
http://qooxdoo.org
Copyright:
2004-2008 1&1 Internet AG, Germany, http://www.1und1.de
License:
MIT: https://opensource.org/licenses/MIT
See the LICENSE file in the project's top-level directory for details.
Authors:
* Fabian Jakobs (fjakobs)
************************************************************************ */
/**
* All widget used as scrollbars must implement this interface.
*/
qx.Interface.define("qx.ui.core.scroll.IScrollBar",
{
events :
{
/** Fired if the user scroll */
"scroll" : "qx.event.type.Data",
/** Fired as soon as the scroll animation ended. */
"scrollAnimationEnd": 'qx.event.type.Event'
},
properties :
{
/**
* The scroll bar orientation
*/
orientation : {},
/**
* The maximum value (difference between available size and
* content size).
*/
maximum : {},
/**
* Position of the scrollbar (which means the scroll left/top of the
* attached area's pane)
*
* Strictly validates according to {@link #maximum}.
* Does not apply any correction to the incoming value. If you depend
* on this, please use {@link #scrollTo} instead.
*/
position : {},
/**
* Factor to apply to the width/height of the knob in relation
* to the dimension of the underlying area.
*/
knobFactor : {}
},
members :
{
/**
* Scrolls to the given position.
*
* This method automatically corrects the given position to respect
* the {@link #maximum}.
*
* @param position {Integer} Scroll to this position. Must be greater zero.
* @param duration {Number} The time in milliseconds the slide to should take.
*/
scrollTo : function(position, duration) {
this.assertNumber(position);
},
/**
* Scrolls by the given offset.
*
* This method automatically corrects the given position to respect
* the {@link #maximum}.
*
* @param offset {Integer} Scroll by this offset
* @param duration {Number} The time in milliseconds the slide to should take.
*/
scrollBy : function(offset, duration) {
this.assertNumber(offset);
},
/**
* Scrolls by the given number of steps.
*
* This method automatically corrects the given position to respect
* the {@link #maximum}.
*
* @param steps {Integer} Number of steps
* @param duration {Number} The time in milliseconds the slide to should take.
*/
scrollBySteps : function(steps, duration) {
this.assertNumber(steps);
}
}
});