--- a/confnodes/python/modules/svgui/pyjs/lib/_pyjs.js Tue May 08 16:31:12 2012 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-function pyjs_extend(klass, base) {
- function klass_object_inherit() {}
- klass_object_inherit.prototype = base.prototype;
- klass_object = new klass_object_inherit();
- for (var i in base.prototype.__class__) {
- v = base.prototype.__class__[i];
- if (typeof v == "function" && (v.class_method || v.static_method || v.unbound_method))
- {
- klass_object[i] = v;
- }
- }
-
- function klass_inherit() {}
- klass_inherit.prototype = klass_object;
- klass.prototype = new klass_inherit();
- klass_object.constructor = klass;
- klass.prototype.__class__ = klass_object;
-
- for (var i in base.prototype) {
- v = base.prototype[i];
- if (typeof v == "function" && v.instance_method)
- {
- klass.prototype[i] = v;
- }
- }
-}
-
-/* creates a class, derived from bases, with methods and variables */
-function pyjs_type(clsname, bases, methods)
-{
- var fn_cls = function() {};
- fn_cls.__name__ = clsname;
- var fn = function() {
- var instance = new fn_cls();
- if(instance.__init__) instance.__init__.apply(instance, arguments);
- return instance;
- }
- fn_cls.__initialize__ = function() {
- if (fn_cls.__was_initialized__) return;
- fn_cls.__was_initialized__ = true;
- fn_cls.__extend_baseclasses();
- fn_cls.prototype.__class__.__new__ = fn;
- fn_cls.prototype.__class__.__name__ = clsname;
- }
- fn_cls.__extend_baseclasses = function() {
- var bi;
- for (bi in fn_cls.__baseclasses)
- {
- var b = fn_cls.__baseclasses[bi];
- if (b.__was_initialized__)
- {
- continue;
- }
- b.__initialize__();
- }
- for (bi in fn_cls.__baseclasses)
- {
- var b = fn_cls.__baseclasses[bi];
- pyjs_extend(fn_cls, b);
- }
- }
- if (!bases) {
- bases = [pyjslib.__Object];
- }
- fn_cls.__baseclasses = bases;
-
- fn_cls.__initialize__();
-
- for (k in methods) {
- var mth = methods[k];
- var mtype = typeof mth;
- if (mtype == "function" ) {
- fn_cls.prototype[k] = mth;
- fn_cls.prototype.__class__[k] = function () {
- return fn_cls.prototype[k].call.apply(
- fn_cls.prototype[k], arguments);
- };
- fn_cls.prototype.__class__[k].unbound_method = true;
- fn_cls.prototype.instance_method = true;
- fn_cls.prototype.__class__[k].__name__ = k;
- fn_cls.prototype[k].__name__ = k;
- } else {
- fn_cls.prototype.__class__[k] = mth;
- }
- }
- return fn;
-}
-function pyjs_kwargs_call(obj, func, star_args, args)
-{
- var call_args;
-
- if (star_args)
- {
- if (!pyjslib.isIteratable(star_args))
- {
- throw (pyjslib.TypeError(func.__name__ + "() arguments after * must be a sequence" + pyjslib.repr(star_args)));
- }
- call_args = Array();
- var __i = star_args.__iter__();
- var i = 0;
- try {
- while (true) {
- call_args[i]=__i.next();
- i++;
- }
- } catch (e) {
- if (e != pyjslib.StopIteration) {
- throw e;
- }
- }
-
- if (args)
- {
- var n = star_args.length;
- for (var i=0; i < args.length; i++) {
- call_args[n+i]=args[i];
- }
- }
- }
- else
- {
- call_args = args;
- }
- return func.apply(obj, call_args);
-}
-
-function pyjs_kwargs_function_call(func, star_args, args)
-{
- return pyjs_kwargs_call(null, func, star_args, args);
-}
-
-function pyjs_kwargs_method_call(obj, method_name, star_args, args)
-{
- var method = obj[method_name];
- if (method.parse_kwargs)
- {
- args = method.parse_kwargs.apply(null, args);
- }
- return pyjs_kwargs_call(obj, method, star_args, args);
-}
-
-//String.prototype.__getitem__ = String.prototype.charAt;
-//String.prototype.upper = String.prototype.toUpperCase;
-//String.prototype.lower = String.prototype.toLowerCase;
-//String.prototype.find=pyjslib.String_find;
-//String.prototype.join=pyjslib.String_join;
-//String.prototype.isdigit=pyjslib.String_isdigit;
-//String.prototype.__iter__=pyjslib.String___iter__;
-//
-//String.prototype.__replace=String.prototype.replace;
-//String.prototype.replace=pyjslib.String_replace;
-//
-//String.prototype.split=pyjslib.String_split;
-//String.prototype.strip=pyjslib.String_strip;
-//String.prototype.lstrip=pyjslib.String_lstrip;
-//String.prototype.rstrip=pyjslib.String_rstrip;
-//String.prototype.startswith=pyjslib.String_startswith;
-
-var str = String;
-