summaryrefslogtreecommitdiff
path: root/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/Settings.js
diff options
context:
space:
mode:
authorDerrell Lipman <derrell@samba.org>2007-01-03 20:17:37 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:36:09 -0500
commit626bb8efb0c825f332c937ffaaadc9b402079539 (patch)
tree1c95f69d157b24f64edff470143f5f55a09cfca6 /webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/Settings.js
parenteeddcf8cc8eb655d7c40f1fd5f7fd422529f4f98 (diff)
downloadsamba-626bb8efb0c825f332c937ffaaadc9b402079539.tar.gz
samba-626bb8efb0c825f332c937ffaaadc9b402079539.tar.bz2
samba-626bb8efb0c825f332c937ffaaadc9b402079539.zip
r20517: re-add cleaned-up webapps
(This used to be commit 5a3d6ad0b7cf0ecf8b57b4088b19f7d4291c990b)
Diffstat (limited to 'webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/Settings.js')
-rw-r--r--webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/Settings.js167
1 files changed, 167 insertions, 0 deletions
diff --git a/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/Settings.js b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/Settings.js
new file mode 100644
index 0000000000..d75a0d5810
--- /dev/null
+++ b/webapps/qooxdoo-0.6.3-sdk/frontend/framework/source/class/qx/Settings.js
@@ -0,0 +1,167 @@
+/* ************************************************************************
+
+ 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)
+
+************************************************************************ */
+
+/* ************************************************************************
+
+#id(qx.Settings)
+#module(core)
+
+************************************************************************ */
+
+
+
+/*
+---------------------------------------------------------------------------
+ CREATE NAMESPACE HIERARCHY
+---------------------------------------------------------------------------
+*/
+
+if (!window.qx) {
+ qx = {};
+}
+
+if (!qx.Settings) {
+ qx.Settings = {};
+}
+
+if (!qx.Settings._customSettings) {
+ qx.Settings._customSettings = {};
+}
+
+/** the default settings */
+qx.Settings._defaultSettings = {};
+
+
+
+
+/*
+---------------------------------------------------------------------------
+ ATTACH GLOBAL DATA
+---------------------------------------------------------------------------
+*/
+
+qx._LOADSTART = (new Date).valueOf();
+
+
+
+
+
+
+/*
+---------------------------------------------------------------------------
+ UTILITES METHODS
+---------------------------------------------------------------------------
+*/
+
+qx.Settings.substitute = function(vTemplate)
+{
+ if (typeof vTemplate !== "string") {
+ return vTemplate;
+ }
+
+ return vTemplate.replace(/\%\{(.+)\}/g, function(vMatch, vKey) {
+ return eval(vKey);
+ });
+};
+
+
+
+
+
+
+/*
+---------------------------------------------------------------------------
+ ACCESS METHODS
+---------------------------------------------------------------------------
+*/
+
+qx.Settings.getValue = function(vKey) {
+ return qx.Settings.getValueOfClass(qx.Class.classname, vKey);
+}
+
+qx.Settings.getValueOfClass = function(vClassName, vKey)
+{
+ var vCustomObject = qx.Settings._customSettings[vClassName];
+ if (vCustomObject && vCustomObject[vKey] != null) {
+ return vCustomObject[vKey];
+ }
+
+ var vDefaultObject = qx.Settings._defaultSettings[vClassName];
+ if (vDefaultObject && vDefaultObject[vKey] != null) {
+ return vDefaultObject[vKey];
+ }
+
+ return null;
+}
+
+qx.Settings.setDefault = function(vKey, vValue) {
+ return qx.Settings.setDefaultOfClass(qx.Class.classname, vKey, vValue);
+}
+
+qx.Settings.setDefaultOfClass = function(vClassName, vKey, vValue)
+{
+ var vDefaultObject = qx.Settings._defaultSettings[vClassName];
+
+ if (!vDefaultObject) {
+ vDefaultObject = qx.Settings._defaultSettings[vClassName] = {};
+ }
+
+ // default values doesn't support substitution
+ vDefaultObject[vKey] = vValue;
+}
+
+qx.Settings.setCustom = function(vKey, vValue) {
+ return qx.Settings.setCustomOfClass(qx.Class.classname, vKey, vValue);
+}
+
+qx.Settings.setCustomOfClass = function(vClassName, vKey, vValue)
+{
+ var vCustomObject = qx.Settings._customSettings[vClassName];
+
+ if (!vCustomObject) {
+ vCustomObject = qx.Settings._customSettings[vClassName] = {};
+ }
+
+ vCustomObject[vKey] = qx.Settings.substitute(vValue);
+}
+
+
+
+
+
+
+
+/*
+---------------------------------------------------------------------------
+ IMPORT VARIABLES OF CUSTOM SETTINGS
+---------------------------------------------------------------------------
+*/
+
+qx.Settings.init = function()
+{
+ for (var vClass in qx.Settings._customSettings)
+ {
+ var vSettings = qx.Settings._customSettings[vClass];
+
+ for (var vKey in vSettings) {
+ qx.Settings.setCustomOfClass(vClass, vKey, vSettings[vKey]);
+ }
+ }
+}
+
+qx.Settings.init();