var panel_hooks;
+// prevent a console.log from blowing things up if we are on a browser that
+// does not support it
+if (typeof console === 'undefined') {
+ window.console = {} ;
+ console.log = console.info = console.warn = console.error = function(){};
+}
+
+
(function(){
// Classes
var initializing = false, fnTest = /xyz/.test(function(){xyz;}) ? /\b_super\b/ : /.*/;
// Obiekt implementujÄ…cy wzorzec KVC/KVO
Editor.Object = Class.extend({
+ _className: 'Editor.Object',
_observers: {},
+ _guid: null,
+
+ init: function() {
+ this._observers = {};
+ },
+
+ description: function() {
+ return this._className + '(guid = ' + this.guid() + ')';
+ },
addObserver: function(observer, property, callback) {
+ // console.log('Add observer', observer.description(), 'to', this.description(), '[', property, ']');
if (!this._observers[property]) {
this._observers[property] = {}
}
- this._observers[property][this.guid()] = callback;
+ this._observers[property][observer.guid()] = callback;
return this;
},
this.removeObserver(observer, property)
}
} else {
+ // console.log('Remove observer', observer.description(), 'from', this.description(), '[', property, ']');
delete this._observers[property][observer.guid()];
}
return this;
notifyObservers: function(property) {
var currentValue = this[property];
for (var guid in this._observers[property]) {
- this._observers[property][guid](property, currentValue);
+ // console.log(this._observers[property][guid]);
+ // console.log('Notifying', guid, 'of', this.description(), '[', property, ']');
+ this._observers[property][guid](property, currentValue, this);
}
return this;
},