diff -r 38b65761a7d5 -r 43629caa77bc src/js/widgets.js --- a/src/js/widgets.js Fri Apr 20 19:13:11 2012 +0200 +++ b/src/js/widgets.js Mon Apr 23 19:11:08 2012 +0200 @@ -1,4 +1,8 @@ -/* the widget classes and definitions */ +/* Definition of an ancestor for the Widget classes */ + +if (typeof IriSP.Widgets === "undefined") { + IriSP.Widgets = {} +} /** * @class IriSP.Widget is an "abstract" class. It's mostly used to define some properties common to every widget. @@ -10,7 +14,9 @@ * @param player - a reference to the player widget * @param config - configuration options for the widget */ -IriSP.Widget = function(player, config) { + + +IriSP.Widgets.Widget = function(player, config) { if( typeof player === "undefined") { /* Probably an abstract call of the class when @@ -20,16 +26,9 @@ /* Setting all the configuration options */ var _type = config.type, - _config = IriSP._.defaults({}, config, player.config.gui.default_options, IriSP.widgetsDefaults[_type]), + _config = IriSP._.defaults({}, config, player.config.gui.default_options, this.defaults), _this = this; - /* Creating containers if needed */ - if (typeof _config.container === "undefined") { - var _divs = player.layoutDivs(_type); - _config.container = _divs[0]; - _config.spacer = _divs[1]; - } - IriSP._(_config).forEach(function(_value, _key) { _this[_key] = _value; }); @@ -52,28 +51,40 @@ }); /* Adding classes and html attributes */ - console.log(this.container); this.$ = IriSP.jQuery('#' + this.container); - this.$.addClass("Ldt-TraceMe").addClass("Ldt-Widget").attr("widget-type", _type); + this.$.addClass("Ldt-TraceMe Ldt-Widget").attr("widget-type", _type); /* Does the widget require other widgets ? */ if (typeof this.requires !== "undefined") { for (var _i = 0; _i < this.requires.length; _i++) { var _subconfig = this.requires[_i]; - if (typeof IriSP[_subconfig.type] !== "undefined") { - _subconfig.container = IriSP._.uniqueId(this.container + '_' + _subconfig.type + '_'); - this.$.append(IriSP.jQuery('