UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

111 lines (89 loc) 2.73 kB
/* ************************************************************************ 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); } } });