1 /** 2 * @author Gillis Haasnoot <gillis.haasnoot@gmail.com> 3 * @package Banana.Controls 4 * @summary Timecode 5 */ 6 7 goog.provide('Banana.Controls.DataControls.Timecode'); 8 9 goog.require('Banana.Controls.DataControls.DataControl'); 10 11 /** @namespace Banana.Controls.Timecode */ 12 namespace('Banana.Controls').Timecode = Banana.Controls.DataControl.extend( 13 /** @lends Banana.Controls.Timecode.prototype */ 14 { 15 /** 16 * Creates a timecode control. Timecode format is HH:MM:SS:FF 17 * @constructs 18 * @extends Banana.Controls.DataControl 19 */ 20 init : function(mask) 21 { 22 this._super(); 23 24 this.addCssClass("BTimecode"); 25 this.ctrl = new Banana.Controls.MaskedTextBox().setMask(mask || '99:99:99:99'); 26 this.addControl(this.ctrl); 27 }, 28 29 /** 30 * @override 31 * @param {String} data in HH:MM:SS:FF format 32 * @param {boolean} ignoreEvent 33 * @param {boolean} ignoreDom 34 * @return {this} 35 */ 36 setData : function(data,ignoreEvent,ignoreDom) 37 { 38 this.ctrl.setData(data); 39 return this; 40 }, 41 42 /** 43 * @return {String} 44 */ 45 getData : function() 46 { 47 return this.ctrl.getData(); 48 }, 49 50 /** 51 * @override 52 * Propagates to the right control 53 * @param {boolean} enable 54 * @return {this} 55 */ 56 setEnabled : function(enable) 57 { 58 this.ctrl.setEnabled(enable); 59 return this; 60 }, 61 62 /** 63 * @override 64 * @return {boolean} 65 */ 66 getEnabled : function() 67 { 68 return this.ctrl.getEnabled(); 69 } 70 });