From 626bb8efb0c825f332c937ffaaadc9b402079539 Mon Sep 17 00:00:00 2001
From: Derrell Lipman
Date: Wed, 3 Jan 2007 20:17:37 +0000
Subject: r20517: re-add cleaned-up webapps (This used to be commit
5a3d6ad0b7cf0ecf8b57b4088b19f7d4291c990b)
---
.../framework/source/class/qx/lang/Array.js | 158 ++++++++++
.../framework/source/class/qx/lang/Core.js | 238 ++++++++++++++
.../framework/source/class/qx/lang/Generics.js | 142 +++++++++
.../framework/source/class/qx/lang/MshtmlEmu.js | 348 +++++++++++++++++++++
.../framework/source/class/qx/lang/Number.js | 48 +++
.../framework/source/class/qx/lang/Object.js | 121 +++++++
.../framework/source/class/qx/lang/Prototypes.js | 69 ++++
.../framework/source/class/qx/lang/String.js | 158 ++++++++++
.../framework/source/class/qx/lang/XmlEmu.js | 188 +++++++++++
9 files changed, 1470 insertions(+)
create mode 100644 webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/Array.js
create mode 100644 webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/Core.js
create mode 100644 webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/Generics.js
create mode 100644 webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/MshtmlEmu.js
create mode 100644 webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/Number.js
create mode 100644 webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/Object.js
create mode 100644 webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/Prototypes.js
create mode 100644 webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/String.js
create mode 100644 webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/XmlEmu.js
(limited to 'webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang')
diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/Array.js b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/Array.js
new file mode 100644
index 0000000000..57f124e884
--- /dev/null
+++ b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/Array.js
@@ -0,0 +1,158 @@
+/* ************************************************************************
+
+ qooxdoo - the new era of web development
+
+ http://qooxdoo.org
+
+ Copyright:
+ 2004-2006 by 1&1 Internet AG, Germany, http://www.1and1.org
+
+ License:
+ LGPL 2.1: http://www.gnu.org/licenses/lgpl.html
+
+ Authors:
+ * Sebastian Werner (wpbasti)
+ * Andreas Ecker (ecker)
+
+************************************************************************ */
+
+/* ************************************************************************
+
+#module(core)
+
+************************************************************************ */
+
+qx.OO.defineClass("qx.lang.Array");
+
+qx.lang.Array.fromArguments = function(args) {
+ return Array.prototype.slice.call(args, 0);
+}
+
+/*!
+ Utility function for padding/margin and all other shorthand handling.
+*/
+qx.lang.Array.fromShortHand = function(params)
+{
+ var l = params.length;
+
+ if (l > 4) {
+ throw new Error("Invalid number of arguments!");
+ }
+
+ var v;
+ var list = [];
+
+ for (var i=0; i
+ * Based on code from youngpup.net licensed under
+ * Creative Commons Attribution 2.0
+ *
+ */
+if (!Function.prototype.apply)
+{
+ Function.prototype.apply = function(oScope, args)
+ {
+ var sarg = [];
+ var rtrn, call;
+
+ if (!oScope) {
+ oScope = window;
+ }
+
+ if (!args) {
+ args = [];
+ }
+
+ for (var i = 0; i < args.length; i++) {
+ sarg[i] = "args["+i+"]";
+ }
+
+ call = "oScope._applyTemp_(" + sarg.join(",") + ");";
+
+ oScope._applyTemp_ = this;
+ rtrn = eval(call);
+
+ delete oScope._applyTemp_;
+
+ return rtrn;
+ }
+}
+
+
+
+
+
+
+/*
+---------------------------------------------------------------------------
+ ADDITIONS FOR NATIVE ARRAY OBJECT
+---------------------------------------------------------------------------
+*/
+
+// Add all JavaScript 1.5 Features if they are missing
+// Mozilla 1.8 has support for indexOf, lastIndexOf, forEach, filter, map, some, every
+
+// Some of them from Erik Arvidsson
+// More documentation could be found here:
+// http://www.webreference.com/programming/javascript/ncz/column4/
+// An alternative implementation can be found here:
+// http://www.nczonline.net/archive/2005/7/231
+
+// http://developer-test.mozilla.org/docs/Core_JavaScript_1.5_Reference:Objects:Array:lastIndexOf
+if (!Array.prototype.indexOf)
+{
+ Array.prototype.indexOf = function(obj, fromIndex)
+ {
+ if (fromIndex == null)
+ {
+ fromIndex = 0;
+ }
+ else if (fromIndex < 0)
+ {
+ fromIndex = Math.max(0, this.length + fromIndex);
+ }
+
+ for (var i=fromIndex; i=0; i--) {
+ if (this[i] === obj) {
+ return i;
+ }
+ }
+
+ return -1;
+ }
+}
+
+// http://developer-test.mozilla.org/docs/Core_JavaScript_1.5_Reference:Objects:Array:forEach
+if (!Array.prototype.forEach)
+{
+ Array.prototype.forEach = function(f, obj)
+ {
+ // 'l' must be fixed during loop... see docs
+ for (var i=0, l=this.length; i= vmin && nr <= vmax;
+}
+
+qx.lang.Number.isBetweenRange = function(nr, vmin, vmax) {
+ return nr > vmin && nr < vmax;
+}
+
+qx.lang.Number.limit = function(nr, vmin, vmax)
+{
+ if (typeof vmax === "number" && nr > vmax)
+ {
+ return vmax;
+ }
+ else if (typeof vmin === "number" && nr < vmin)
+ {
+ return vmin;
+ }
+ else
+ {
+ return nr;
+ }
+}
diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/Object.js b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/Object.js
new file mode 100644
index 0000000000..31e316ef50
--- /dev/null
+++ b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/lang/Object.js
@@ -0,0 +1,121 @@
+/* ************************************************************************
+
+ qooxdoo - the new era of web development
+
+ http://qooxdoo.org
+
+ Copyright:
+ 2004-2006 by 1&1 Internet AG, Germany, http://www.1and1.org
+
+ License:
+ LGPL 2.1: http://www.gnu.org/licenses/lgpl.html
+
+ Authors:
+ * Sebastian Werner (wpbasti)
+ * Andreas Ecker (ecker)
+
+************************************************************************ */
+
+/* ************************************************************************
+
+#module(core)
+
+************************************************************************ */
+
+qx.OO.defineClass("qx.lang.Object");
+
+/*!
+ Function to check if a hash has any keys
+*/
+qx.Class.isEmpty = function(h)
+{
+ for (var s in h) {
+ return false;
+ }
+
+ return true;
+}
+
+qx.Class.hasMinLength = function(h, j)
+{
+ var i=0;
+
+ for (var s in h)
+ {
+ if ((++i)>=j) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+qx.Class.getLength = function(h)
+{
+ var i=0;
+
+ for (var s in h) {
+ i++;
+ }
+
+ return i;
+}
+
+qx.Class.getKeys = function(h)
+{
+ var r = [];
+ for (var s in h) {
+ r.push(s);
+ }
+
+ return r;
+}
+
+qx.Class.getKeysAsString = function(h) {
+ return qx.lang.Object.getKeys(h).join(", ");
+}
+
+qx.Class.getValues = function(h)
+{
+ var r = [];
+ for (var s in h) {
+ r.push(h[s]);
+ }
+
+ return r;
+}
+
+qx.Class.mergeWith = function(vObjectA, vObjectB)
+{
+ for (var vKey in vObjectB) {
+ vObjectA[vKey] = vObjectB[vKey];
+ }
+
+ return vObjectA;
+}
+
+qx.Class.carefullyMergeWith = function(vObjectA, vObjectB) {
+ for (vKey in vObjectB)
+ {
+ if (typeof vObjectA[vKey] === "undefined") {
+ vObjectA[vKey] = vObjectB[vKey];
+ }
+ }
+
+ return vObjectA;
+}
+
+qx.Class.merge = function(vObjectA)
+{
+ var vLength = arguments.length;
+
+ for (var i=1; i]+>/gi, "");
+}
+
+qx.Class.startsWith = function(fullstr, substr) {
+ return !fullstr.indexOf(substr);
+}
+
+qx.Class.endsWith = function(fullstr, substr) {
+ return fullstr.lastIndexOf(substr) === fullstr.length-substr.length;
+}
+
+qx.Class.pad = function(str, length, ch)
+{
+ if (typeof ch === "undefined") {
+ ch = "0";
+ }
+
+ var temp = "";
+
+ for (var i=length, l=str.length; l