ker/tfw3.js
function(className) {
        var cls = _classes[className];
        if (!cls) {
            var k, name,
            def = window["TFW::" + className];
            if (!def) {
                throw new Error(
                    "[TFW3] This class has not been defined: \"" + className + "\"!\n"
                        + "Did you forget to include it?"
                );
            }
            // Création de la classe à partir de sa définition.
            cls = function () {};
            var superclass = TFW3Object;
            if (def.superclass) {
                superclass = loadClass(def.superclass);
            }
            // Héritage
            cls.prototype = new superclass();
            // Eviter que le constructeur de cette classe soit celui de la super classe.
            cls.prototype.constructor = cls;
            // Définition de l'attribut $parent pour accéder aux méthodes parentes.
            cls.prototype.$parent = superclass.prototype;
            // Multilangues.
            if (typeof def.lang === "object") {
                cls.prototype.$lang = def.lang;
                for (k in def.lang) {
                    cls.prototype.$defLang = k;
                    break;
                }
            } else {
                cls.prototype.$lang = superclass.prototype.$lang || {};
                cls.prototype.$defLang = superclass.prototype.$defLang || "en";
            }
            // Conserver le nom de la super classe.
            cls.prototype.$superclass = superclass.prototype.$classname;
            // Conserver le nom de la classe.
            cls.prototype.$classname = className;
            // Les noms des signals.
            cls.prototype.$signals = def.signals;
            // Est-ce un singleton ?
            cls.prototype.$singleton = def.singleton;
            // Espace réservé aux membres statiques de la classe.
            var staticVars = {className: className};
            _statics[className] = staticVars;
            cls.prototype.$static = staticVars;
            // Valeurs par défaut des attributs.
            if (def.attributes) {
                for (k in def.attributes) {
                    cls.prototype["_" + k] = def.attributes[k];
                }
            }
            // Déclaration du constructeur.
            cls.prototype.$init = def.init;
            // Définition des méthodes liées aux signaux.
            if (def.signals) {
                for (i in def.signals) {
                    declareSignal(
                        cls,
                        def.signals[i]
                    );
                }
            }
            // Assigner toutes les méthodes.
            for (name in def.functions) {
                if (def.superclass && cls.prototype[name]) {
                    // This is an ovveride.
                    cls.prototype[def.superclass + "$" + name] = cls.prototype[name];
                }
                cls.prototype[name] = def.functions[name];
            }

            // Mise en cache de la classe.
            _classes[className] = cls;
            // Appel d'un éventuel constructeur de classe.
            if (typeof def.classInit === "function") {
                def.classInit(staticVars);
            }
        }
        return cls;
    }
function(className) {
        var cls = _classes[className];
        if (!cls) {
            var k, name,
            def = window["TFW::" + className];
            if (!def) {
                throw new Error(
                    "[TFW3] This class has not been defined: \"" + className + "\"!\n"
                        + "Did you forget to include it?"
                );
            }
            // Création de la classe à partir de sa définition.
            cls = function () {};
            var superclass = TFW3Object;
            if (def.superclass) {
                superclass = loadClass(def.superclass);
            }
            // Héritage
            cls.prototype = new superclass();
            // Eviter que le constructeur de cette classe soit celui de la super classe.
            cls.prototype.constructor = cls;
            // Définition de l'attribut $parent pour accéder aux méthodes parentes.
            cls.prototype.$parent = superclass.prototype;
            // Multilangues.
            if (typeof def.lang === "object") {
                cls.prototype.$lang = def.lang;
                for (k in def.lang) {
                    cls.prototype.$defLang = k;
                    break;
                }
            } else {
                cls.prototype.$lang = superclass.prototype.$lang || {};
                cls.prototype.$defLang = superclass.prototype.$defLang || "en";
            }
            // Conserver le nom de la super classe.
            cls.prototype.$superclass = superclass.prototype.$classname;
            // Conserver le nom de la classe.
            cls.prototype.$classname = className;
            // Les noms des signals.
            cls.prototype.$signals = def.signals;
            // Est-ce un singleton ?
            cls.prototype.$singleton = def.singleton;
            // Espace réservé aux membres statiques de la classe.
            var staticVars = {className: className};
            _statics[className] = staticVars;
            cls.prototype.$static = staticVars;
            // Valeurs par défaut des attributs.
            if (def.attributes) {
                for (k in def.attributes) {
                    cls.prototype["_" + k] = def.attributes[k];
                }
            }
            // Déclaration du constructeur.
            cls.prototype.$init = def.init;
            // Définition des méthodes liées aux signaux.
            if (def.signals) {
                for (i in def.signals) {
                    declareSignal(
                        cls,
                        def.signals[i]
                    );
                }
            }
            // Assigner toutes les méthodes.
            for (name in def.functions) {
                if (def.superclass && cls.prototype[name]) {
                    // This is an ovveride.
                    cls.prototype[def.superclass + "$" + name] = cls.prototype[name];
                }
                cls.prototype[name] = def.functions[name];
            }

            // Mise en cache de la classe.
            _classes[className] = cls;
            // Appel d'un éventuel constructeur de classe.
            if (typeof def.classInit === "function") {
                def.classInit(staticVars);
            }
        }
        return cls;
    }
function ( className ) { var cls = _classes [ className ] ; if ( ! cls ) { var k , name , def = window [ "TFW::" + className ] ; if ( ! def ) { throw new Error ( "[TFW3] This class has not been defined: \"" + className + "\"!\n" + "Did you forget to include it?" ) ; } // Création de la classe à partir de sa définition. cls = function ( ) { } ; var superclass = TFW3Object ; if ( def . superclass ) { superclass = loadClass ( def . superclass ) ; } // Héritage cls . prototype = new superclass ( ) ; // Eviter que le constructeur de cette classe soit celui de la super classe. cls . prototype . constructor = cls ; // Définition de l'attribut $parent pour accéder aux méthodes parentes. cls . prototype . $parent = superclass . prototype ; // Multilangues. if ( typeof def . lang === "object" ) { cls . prototype . $lang = def . lang ; for ( k in def . lang ) { cls . prototype . $defLang = k ; break ; } } else { cls . prototype . $lang = superclass . prototype . $lang || { } ; cls . prototype . $defLang = superclass . prototype . $defLang || "en" ; } // Conserver le nom de la super classe. cls . prototype . $superclass = superclass . prototype . $classname ; // Conserver le nom de la classe. cls . prototype . $classname = className ; // Les noms des signals. cls . prototype . $signals = def . signals ; // Est-ce un singleton ? cls . prototype . $singleton = def . singleton ; // Espace réservé aux membres statiques de la classe. var staticVars = { className : className } ; _statics [ className ] = staticVars ; cls . prototype . $static = staticVars ; // Valeurs par défaut des attributs. if ( def . attributes ) { for ( k in def . attributes ) { cls . prototype [ "_" + k ] = def . attributes [ k ] ; } } // Déclaration du constructeur. cls . prototype . $init = def . init ; // Définition des méthodes liées aux signaux. if ( def . signals ) { for ( i in def . signals ) { declareSignal ( cls , def . signals [ i ] ) ; } } // Assigner toutes les méthodes. for ( name in def . functions ) { if ( def . superclass && cls . prototype [ name ] ) { // This is an ovveride. cls . prototype [ def . superclass + "$" + name ] = cls . prototype [ name ] ; } cls . prototype [ name ] = def . functions [ name ] ; } // Mise en cache de la classe. _classes [ className ] = cls ; // Appel d'un éventuel constructeur de classe. if ( typeof def . classInit === "function" ) { def . classInit ( staticVars ) ; } } return cls ; }
Load class definition.
Load class definition .