summaryrefslogtreecommitdiff
path: root/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/dom/Style.js
diff options
context:
space:
mode:
Diffstat (limited to 'webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/dom/Style.js')
-rw-r--r--webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/dom/Style.js122
1 files changed, 122 insertions, 0 deletions
diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/dom/Style.js b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/dom/Style.js
new file mode 100644
index 0000000000..b003f0e18a
--- /dev/null
+++ b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/dom/Style.js
@@ -0,0 +1,122 @@
+/* ************************************************************************
+
+ 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)
+#require(qx.sys.Client)
+
+************************************************************************ */
+
+qx.OO.defineClass("qx.dom.Style");
+
+if (Boolean(document.defaultView) && Boolean(document.defaultView.getComputedStyle))
+{
+ qx.dom.Style.getStylePropertySure = function(el, prop) { return !el ? null : el.ownerDocument ? el.ownerDocument.defaultView.getComputedStyle(el, "")[prop] : el.style[prop]; }
+
+ qx.dom.Style.getStyleProperty = function(el, prop)
+ {
+ try
+ {
+ return el.ownerDocument.defaultView.getComputedStyle(el, "")[prop];
+ }
+ catch(ex)
+ {
+ throw new Error("Could not evaluate computed style: " + el + "[" + prop + "]: " + ex);
+ }
+ }
+}
+else if (qx.sys.Client.getInstance().isMshtml())
+{
+ qx.dom.Style.getStyleProperty = function(el, prop)
+ {
+ try
+ {
+ return el.currentStyle[prop];
+ }
+ catch(ex)
+ {
+ throw new Error("Could not evaluate computed style: " + el + "[" + prop + "]: " + ex);
+ }
+ }
+
+ qx.dom.Style.getStylePropertySure = function(el, prop)
+ {
+ try
+ {
+ if (!el) {
+ return null;
+ }
+
+ if (el.parentNode && el.currentStyle)
+ {
+ return el.currentStyle[prop];
+ }
+ else
+ {
+ var v1 = el.runtimeStyle[prop];
+
+ if (v1 != null && typeof v1 != "undefined" && v1 != "") {
+ return v1;
+ }
+
+ return el.style[prop];
+ }
+ }
+ catch(ex)
+ {
+ throw new Error("Could not evaluate computed style: " + el + "[" + prop + "]: " + ex);
+ }
+ }
+}
+else
+{
+ qx.dom.Style.getStylePropertySure = function(el, prop) { return !el ? null : el.style[prop]; }
+
+ qx.dom.Style.getStyleProperty = function(el, prop)
+ {
+ try
+ {
+ return el.style[prop];
+ }
+ catch(ex)
+ {
+ throw new Error("Could not evaluate computed style: " + el + "[" + prop + "]");
+ }
+ }
+}
+
+
+qx.dom.Style.getStyleSize = function(el, prop) { return parseInt(qx.dom.Style.getStyleProperty(el, prop)) || 0; }
+
+
+// Properties
+qx.dom.Style.getMarginLeft = function(el) { return qx.dom.Style.getStyleSize(el, "marginLeft"); }
+qx.dom.Style.getMarginTop = function(el) { return qx.dom.Style.getStyleSize(el, "marginTop"); }
+qx.dom.Style.getMarginRight = function(el) { return qx.dom.Style.getStyleSize(el, "marginRight"); }
+qx.dom.Style.getMarginBottom = function(el) { return qx.dom.Style.getStyleSize(el, "marginBottom"); }
+
+qx.dom.Style.getPaddingLeft = function(el) { return qx.dom.Style.getStyleSize(el, "paddingLeft"); }
+qx.dom.Style.getPaddingTop = function(el) { return qx.dom.Style.getStyleSize(el, "paddingTop"); }
+qx.dom.Style.getPaddingRight = function(el) { return qx.dom.Style.getStyleSize(el, "paddingRight"); }
+qx.dom.Style.getPaddingBottom = function(el) { return qx.dom.Style.getStyleSize(el, "paddingBottom"); }
+
+qx.dom.Style.getBorderLeft = function(el) { return qx.dom.Style.getStyleProperty(el, "borderLeftStyle") == "none" ? 0 : qx.dom.Style.getStyleSize(el, "borderLeftWidth"); }
+qx.dom.Style.getBorderTop = function(el) { return qx.dom.Style.getStyleProperty(el, "borderTopStyle") == "none" ? 0 : qx.dom.Style.getStyleSize(el, "borderTopWidth"); }
+qx.dom.Style.getBorderRight = function(el) { return qx.dom.Style.getStyleProperty(el, "borderRightStyle") == "none" ? 0 : qx.dom.Style.getStyleSize(el, "borderRightWidth"); }
+qx.dom.Style.getBorderBottom = function(el) { return qx.dom.Style.getStyleProperty(el, "borderBottomStyle") == "none" ? 0 : qx.dom.Style.getStyleSize(el, "borderBottomWidth"); }