| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | /** * This is the base class for {@link Ext.ux.event.Recorder} and {@link Ext.ux.event.Player}. */Ext.define('Ext.ux.event.Driver', {    active: null,    mixins: {        observable: 'Ext.util.Observable'    },    constructor: function (config) {        var me = this;        me.mixins.observable.constructor.apply(this, arguments);        me.addEvents(            /**             * @event start             * Fires when this object is started.             * @param {Ext.ux.event.Driver} this             */            'start',            /**             * @event stop             * Fires when this object is stopped.             * @param {Ext.ux.event.Driver} this             */            'stop'        );    },    getTime: function () {        return new Date().getTime();    },    /**     * Returns the number of milliseconds since start was called.     */    getTimestamp: function () {        var d = this.getTime();        return d - this.startTime;    },    onStart: function () {},    onStop: function () {},    /**     * Starts this object. If this object is already started, nothing happens.     */    start: function () {        var me = this;        if (!me.active) {            me.active = new Date();            me.startTime = me.getTime();            me.onStart();            me.fireEvent('start', me);        }    },    /**     * Stops this object. If this object is not started, nothing happens.     */    stop: function () {        var me = this;        if (me.active) {            me.active = null;            me.onStop();            me.fireEvent('stop', me);        }    }});
 |