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 });