summaryrefslogtreecommitdiff
path: root/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/renderer/border/BorderObject.js
diff options
context:
space:
mode:
Diffstat (limited to 'webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/renderer/border/BorderObject.js')
-rw-r--r--webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/renderer/border/BorderObject.js149
1 files changed, 149 insertions, 0 deletions
diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/renderer/border/BorderObject.js b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/renderer/border/BorderObject.js
new file mode 100644
index 0000000000..e8e1dc0fcc
--- /dev/null
+++ b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/renderer/border/BorderObject.js
@@ -0,0 +1,149 @@
+/* ************************************************************************
+
+ 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(ui_core)
+
+************************************************************************ */
+
+qx.OO.defineClass("qx.renderer.border.BorderObject", qx.renderer.border.Border,
+function(vWidth, vStyle, vColor)
+{
+ this._dependentObjects = {};
+
+ qx.renderer.border.Border.call(this, vWidth, vStyle, vColor);
+});
+
+
+
+/*
+---------------------------------------------------------------------------
+ UTILITY
+---------------------------------------------------------------------------
+*/
+
+qx.renderer.border.BorderObject.fromString = function(vDefString)
+{
+ var vBorder = new qx.renderer.border.BorderObject;
+ var vAllParts = vDefString.split(/\s+/);
+ var vPart, vTemp;
+
+ for (var i=0; i<vAllParts.length; i++)
+ {
+ vPart = vAllParts[i];
+
+ switch(vPart)
+ {
+ case "groove":
+ case "ridge":
+ case "inset":
+ case "outset":
+ case "solid":
+ case "dotted":
+ case "dashed":
+ case "double":
+ case "none":
+ vBorder.setStyle(vPart);
+ break;
+
+ default:
+ vTemp = parseFloat(vPart);
+
+ if(vTemp == vPart || qx.lang.String.contains(vPart, "px"))
+ {
+ vBorder.setWidth(vTemp);
+ }
+ else
+ {
+ vPart = vPart.toLowerCase();
+ vBorder.setColor(qx.renderer.color.Color.themedNames[vPart] ? new qx.renderer.color.ColorObject(vPart) : new qx.renderer.color.Color(vPart));
+ }
+
+ break;
+ }
+ }
+
+ return vBorder;
+}
+
+
+
+
+
+
+/*
+---------------------------------------------------------------------------
+ WIDGET CONNECTION
+---------------------------------------------------------------------------
+*/
+
+qx.Proto.addListenerWidget = function(o) {
+ this._dependentObjects[o.toHashCode()] = o;
+}
+
+qx.Proto.removeListenerWidget = function(o) {
+ delete this._dependentObjects[o.toHashCode()];
+}
+
+qx.Proto._sync = function(vEdge)
+{
+ var vAll = this._dependentObjects;
+ var vCurrent;
+
+ for (vKey in vAll)
+ {
+ vCurrent = vAll[vKey];
+
+ if (vCurrent.isCreated()) {
+ vCurrent._updateBorder(vEdge);
+ }
+ }
+}
+
+
+
+
+
+
+
+/*
+---------------------------------------------------------------------------
+ DISPOSER
+---------------------------------------------------------------------------
+*/
+
+qx.Proto.dispose = function()
+{
+ if (this.getDisposed()) {
+ return;
+ }
+
+ if (typeof this._dependentObjects === "object")
+ {
+ var vAll = this._dependentObjects;
+ for (vKey in vAll) {
+ delete vAll[vKey];
+ }
+
+ vAll = null;
+ delete this._dependentObjects;
+ }
+
+ return qx.renderer.border.Border.prototype.dispose.call(this);
+}