Commit 868aac50f983a99247e4688340f45955c0d7f08d
- Diff rendering mode:
- inline
- side by side
targets/dss11/recipes/dss/dss-0.8.0+0.9.0-alpha2/0001-Let-JS-GC-free-loggers.patch
(160 / 0)
|   | |||
| 1 | From cbe7ae4ce656428b90ba8320869c95400ffa1b11 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Patrick=20St=C3=A4hlin?= <pstaehlin@futurelab.ch> | ||
| 3 | Date: Tue, 27 Jul 2010 12:23:15 +0200 | ||
| 4 | Subject: [PATCH 01/12] Let JS-GC free loggers | ||
| 5 | |||
| 6 | --- | ||
| 7 | core/jshandler.cpp | 4 +- | ||
| 8 | core/scripting/jslogger.cpp | 65 ++++++++++++++++++------------------------ | ||
| 9 | 2 files changed, 30 insertions(+), 39 deletions(-) | ||
| 10 | |||
| 11 | diff --git a/core/jshandler.cpp b/core/jshandler.cpp | ||
| 12 | index fa898a2..5aca7e6 100644 | ||
| 13 | --- a/core/jshandler.cpp | ||
| 14 | +++ b/core/jshandler.cpp | ||
| 15 | @@ -297,11 +297,11 @@ namespace dss { | ||
| 16 | } // ctor | ||
| 17 | |||
| 18 | ScriptContext::~ScriptContext() { | ||
| 19 | - scrubVector(m_AttachedObjects); | ||
| 20 | + JS_GC(m_pContext); | ||
| 21 | if(!m_AttachedObjects.empty()) { | ||
| 22 | Logger::getInstance()->log("Still have some attached objects (" + intToString(m_AttachedObjects.size()) + "). Memory leak?", lsError); | ||
| 23 | } | ||
| 24 | -// JS_GC(m_pContext); | ||
| 25 | + scrubVector(m_AttachedObjects); | ||
| 26 | JS_SetContextPrivate(m_pContext, NULL); | ||
| 27 | JS_DestroyContext(m_pContext); | ||
| 28 | m_pContext = NULL; | ||
| 29 | diff --git a/core/scripting/jslogger.cpp b/core/scripting/jslogger.cpp | ||
| 30 | index 2a9f073..6e9cf64 100644 | ||
| 31 | --- a/core/scripting/jslogger.cpp | ||
| 32 | +++ b/core/scripting/jslogger.cpp | ||
| 33 | @@ -1,7 +1,8 @@ | ||
| 34 | /* | ||
| 35 | Copyright (c) 2010 digitalSTROM.org, Zurich, Switzerland | ||
| 36 | |||
| 37 | -Author: Sergey 'Jin' Bostandzhyan <jin@dev.digitalstrom.org> | ||
| 38 | +Authors: Sergey 'Jin' Bostandzhyan <jin@dev.digitalstrom.org>, | ||
| 39 | + Patrick Staehlin <pstaehlin@futurelab.ch> | ||
| 40 | |||
| 41 | This file is part of digitalSTROM Server. | ||
| 42 | |||
| 43 | @@ -32,15 +33,16 @@ along with digitalSTROM Server. If not, see <http://www.gnu.org/licenses/>. | ||
| 44 | #include <boost/bind.hpp> | ||
| 45 | |||
| 46 | #define LOG_OBJECT_IDENTIFIER "logfile" | ||
| 47 | + | ||
| 48 | namespace dss { | ||
| 49 | + | ||
| 50 | const std::string ScriptLoggerExtensionName = "scriptloggerextension"; | ||
| 51 | |||
| 52 | const std::string LoggerObjectName = "ScriptLoggerContextWrapper"; | ||
| 53 | - class ScriptLoggerContextWrapper : public ScriptContextAttachedObject { | ||
| 54 | + class ScriptLoggerContextWrapper { | ||
| 55 | public: | ||
| 56 | - ScriptLoggerContextWrapper(ScriptContext* _pContext, boost::shared_ptr<ScriptLogger> _logger) | ||
| 57 | - : ScriptContextAttachedObject(_pContext, LoggerObjectName + _logger->getLogName()), | ||
| 58 | - m_ScriptLogger(_logger) | ||
| 59 | + ScriptLoggerContextWrapper(boost::shared_ptr<ScriptLogger> _logger) | ||
| 60 | + : m_ScriptLogger(_logger) | ||
| 61 | { } | ||
| 62 | |||
| 63 | boost::shared_ptr<ScriptLogger> getLogger() { return m_ScriptLogger; } | ||
| 64 | @@ -72,25 +74,17 @@ namespace dss { | ||
| 65 | return JS_TRUE; | ||
| 66 | } | ||
| 67 | |||
| 68 | - jsval v; | ||
| 69 | - if (JS_GetProperty(cx, obj, LOG_OBJECT_IDENTIFIER, &v) == JS_TRUE) { | ||
| 70 | - if(v != JSVAL_VOID) { | ||
| 71 | - JSString *logfile = JSVAL_TO_STRING(v); | ||
| 72 | - std::string logfileStr = JS_GetStringBytes(logfile); | ||
| 73 | - ScriptContextAttachedObject* attachedObj = ctx->getAttachedObjectByName(LoggerObjectName + logfileStr); | ||
| 74 | - ScriptLoggerContextWrapper* wrapper = | ||
| 75 | - dynamic_cast<ScriptLoggerContextWrapper*>(attachedObj); | ||
| 76 | - if(wrapper != NULL) { | ||
| 77 | - Logger::getInstance()->log(JS_GetStringBytes(str)); | ||
| 78 | - if(newline) { | ||
| 79 | - wrapper->getLogger()->logln(JS_GetStringBytes(str)); | ||
| 80 | - } else { | ||
| 81 | - wrapper->getLogger()->log(JS_GetStringBytes(str)); | ||
| 82 | - } | ||
| 83 | - } else { | ||
| 84 | - Logger::getInstance()->log("Could not find logger named: " + LoggerObjectName + logfileStr, lsWarning); | ||
| 85 | - } | ||
| 86 | + ScriptLoggerContextWrapper* wrapper = static_cast<ScriptLoggerContextWrapper*>(JS_GetPrivate(cx, obj)); | ||
| 87 | + if(wrapper != NULL) { | ||
| 88 | + Logger::getInstance()->log(JS_GetStringBytes(str)); | ||
| 89 | + if(newline) { | ||
| 90 | + wrapper->getLogger()->logln(JS_GetStringBytes(str)); | ||
| 91 | + } else { | ||
| 92 | + wrapper->getLogger()->log(JS_GetStringBytes(str)); | ||
| 93 | } | ||
| 94 | + } else { | ||
| 95 | + Logger::getInstance()->log("ScriptLoggerExtension_log_common: wrapper is null!", lsFatal); | ||
| 96 | + return JS_FALSE; | ||
| 97 | } | ||
| 98 | return JS_TRUE; | ||
| 99 | } | ||
| 100 | @@ -124,13 +118,9 @@ namespace dss { | ||
| 101 | } | ||
| 102 | |||
| 103 | boost::shared_ptr<ScriptLogger> pLogger = ext->getLogger(JS_GetStringBytes(str)); | ||
| 104 | - ctx->attachObject(new ScriptLoggerContextWrapper(ctx, pLogger)); | ||
| 105 | - jsval v = STRING_TO_JSVAL(str); | ||
| 106 | - JS_SetProperty(cx, obj, LOG_OBJECT_IDENTIFIER, &v); | ||
| 107 | - JSBool foundp; | ||
| 108 | - JS_SetPropertyAttributes(cx, obj, LOG_OBJECT_IDENTIFIER, JSPROP_READONLY, &foundp); | ||
| 109 | + ScriptLoggerContextWrapper* wrapper = new ScriptLoggerContextWrapper(pLogger); | ||
| 110 | + JS_SetPrivate(cx, obj, wrapper); | ||
| 111 | return JS_TRUE; | ||
| 112 | - | ||
| 113 | } catch(const ScriptException& e) { | ||
| 114 | Logger::getInstance()->log(std::string("ScriptLogger: Caught script exception: ") + e.what()); | ||
| 115 | } | ||
| 116 | @@ -141,12 +131,19 @@ namespace dss { | ||
| 117 | return JS_FALSE; | ||
| 118 | } | ||
| 119 | |||
| 120 | + void ScriptLogger_finalize(JSContext *cx, JSObject *obj) { | ||
| 121 | + ScriptLoggerContextWrapper* pWrapper = static_cast<ScriptLoggerContextWrapper*>(JS_GetPrivate(cx, obj)); | ||
| 122 | + Logger::getInstance()->log("Finalizing ScriptLogger"); | ||
| 123 | + JS_SetPrivate(cx, obj, NULL); | ||
| 124 | + delete pWrapper; | ||
| 125 | + } // finalize_set | ||
| 126 | + | ||
| 127 | static JSClass ScriptLogger_class = { | ||
| 128 | "Logger", JSCLASS_HAS_PRIVATE, | ||
| 129 | JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, | ||
| 130 | JS_EnumerateStandardClasses, | ||
| 131 | JS_ResolveStub, | ||
| 132 | - JS_ConvertStub, JS_FinalizeStub, JSCLASS_NO_OPTIONAL_MEMBERS | ||
| 133 | + JS_ConvertStub, ScriptLogger_finalize, JSCLASS_NO_OPTIONAL_MEMBERS | ||
| 134 | }; | ||
| 135 | |||
| 136 | static JSFunctionSpec ScriptLogger_methods[] = { | ||
| 137 | @@ -155,12 +152,6 @@ namespace dss { | ||
| 138 | {NULL, NULL, 0, 0, 0}, | ||
| 139 | }; | ||
| 140 | |||
| 141 | - static JSFunctionSpec ScriptLogger_static_methods[] = { | ||
| 142 | - {"getChannel", ScriptLoggerExtension_log, 1, 0, 0}, | ||
| 143 | - {NULL, NULL, 0, 0, 0}, | ||
| 144 | - }; | ||
| 145 | - | ||
| 146 | - | ||
| 147 | ScriptLogger::ScriptLogger(const std::string& _filePath, | ||
| 148 | const std::string& _filename, | ||
| 149 | ScriptLoggerExtension* _pExtension) { | ||
| 150 | @@ -265,7 +256,7 @@ namespace dss { | ||
| 151 | JS_InitClass(_context.getJSContext(), | ||
| 152 | _context.getRootObject().getJSObject(), | ||
| 153 | NULL, &ScriptLogger_class, ScriptLogger_construct, 1, NULL, | ||
| 154 | - ScriptLogger_methods, NULL, ScriptLogger_static_methods); | ||
| 155 | + ScriptLogger_methods, NULL, NULL); | ||
| 156 | |||
| 157 | } // extendContext | ||
| 158 | |||
| 159 | -- | ||
| 160 | 1.7.2.2 |
targets/dss11/recipes/dss/dss-0.8.0+0.9.0-alpha2/0002-Properly-unsubscribe-property-listeners.patch
(128 / 0)
|   | |||
| 1 | From b9cba6385a3e8c9e1550b4519e5afc5043652077 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Patrick=20St=C3=A4hlin?= <pstaehlin@futurelab.ch> | ||
| 3 | Date: Tue, 27 Jul 2010 15:22:12 +0200 | ||
| 4 | Subject: [PATCH 02/12] Properly unsubscribe property listeners | ||
| 5 | |||
| 6 | --- | ||
| 7 | core/scripting/propertyscriptextension.cpp | 16 ++++++++++++---- | ||
| 8 | core/scripting/propertyscriptextension.h | 6 +++--- | ||
| 9 | tests/modeljstests.cpp | 8 +++----- | ||
| 10 | 3 files changed, 18 insertions(+), 12 deletions(-) | ||
| 11 | |||
| 12 | diff --git a/core/scripting/propertyscriptextension.cpp b/core/scripting/propertyscriptextension.cpp | ||
| 13 | index 1d90f46..6d2f30e 100644 | ||
| 14 | --- a/core/scripting/propertyscriptextension.cpp | ||
| 15 | +++ b/core/scripting/propertyscriptextension.cpp | ||
| 16 | @@ -37,6 +37,10 @@ namespace dss { | ||
| 17 | m_NextListenerID(1) | ||
| 18 | { } // ctor | ||
| 19 | |||
| 20 | + PropertyScriptExtension::~PropertyScriptExtension() { | ||
| 21 | + scrubVector(m_Listeners); | ||
| 22 | + } // dtor | ||
| 23 | + | ||
| 24 | JSBool global_prop_setProperty(JSContext* cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { | ||
| 25 | if(argc < 2) { | ||
| 26 | Logger::getInstance()->log("JS: global_prop_setProperty: need two arguments: property-path & value", lsError); | ||
| 27 | @@ -247,12 +251,16 @@ namespace dss { | ||
| 28 | m_Listeners.push_back(_pListener); | ||
| 29 | } // addListener | ||
| 30 | |||
| 31 | - void PropertyScriptExtension::removeListener(const std::string& _identifier) { | ||
| 32 | + void PropertyScriptExtension::removeListener(const std::string& _identifier, bool _destroy) { | ||
| 33 | for(std::vector<PropertyScriptListener*>::iterator it = m_Listeners.begin(), e = m_Listeners.end(); | ||
| 34 | it != e; ++it) { | ||
| 35 | if((*it)->getIdentifier() == _identifier) { | ||
| 36 | - (*it)->unsubscribe(); | ||
| 37 | + PropertyScriptListener* pListener = *it; | ||
| 38 | + pListener->unsubscribe(); | ||
| 39 | m_Listeners.erase(it); | ||
| 40 | + if(_destroy) { | ||
| 41 | + delete pListener; | ||
| 42 | + } | ||
| 43 | return; | ||
| 44 | } | ||
| 45 | } | ||
| 46 | @@ -276,8 +284,8 @@ namespace dss { | ||
| 47 | } // ctor | ||
| 48 | |||
| 49 | PropertyScriptListener::~PropertyScriptListener() { | ||
| 50 | - m_pExtension->removeListener(m_Identifier); | ||
| 51 | - } // dtor | ||
| 52 | + m_pExtension->removeListener(m_Identifier, false); | ||
| 53 | + } | ||
| 54 | |||
| 55 | void PropertyScriptListener::createScriptObject() { | ||
| 56 | if(m_pScriptObject == NULL) { | ||
| 57 | diff --git a/core/scripting/propertyscriptextension.h b/core/scripting/propertyscriptextension.h | ||
| 58 | index f12c476..fb9eedd 100644 | ||
| 59 | --- a/core/scripting/propertyscriptextension.h | ||
| 60 | +++ b/core/scripting/propertyscriptextension.h | ||
| 61 | @@ -48,7 +48,7 @@ namespace dss { | ||
| 62 | PropertyScriptExtension* m_pExtension; | ||
| 63 | JSObject* m_pFunctionObject; | ||
| 64 | jsval m_Function; | ||
| 65 | - std::string m_Identifier; | ||
| 66 | + const std::string m_Identifier; | ||
| 67 | boost::scoped_ptr<ScriptObject> m_pScriptObject; | ||
| 68 | ScriptFunctionRooter m_FunctionRoot; | ||
| 69 | }; // PropertyScriptListener | ||
| 70 | @@ -56,7 +56,7 @@ namespace dss { | ||
| 71 | class PropertyScriptExtension : public ScriptExtension { | ||
| 72 | public: | ||
| 73 | PropertyScriptExtension(PropertySystem& _propertySystem); | ||
| 74 | - virtual ~PropertyScriptExtension() {} | ||
| 75 | + virtual ~PropertyScriptExtension(); | ||
| 76 | |||
| 77 | virtual void extendContext(ScriptContext& _context); | ||
| 78 | |||
| 79 | @@ -65,7 +65,7 @@ namespace dss { | ||
| 80 | JSObject* createJSProperty(ScriptContext& _ctx, boost::shared_ptr<PropertyNode> _node); | ||
| 81 | std::string produceListenerID(); | ||
| 82 | void addListener(PropertyScriptListener* _pListener); | ||
| 83 | - void removeListener(const std::string& _identifier); | ||
| 84 | + void removeListener(const std::string& _identifier, bool _destroy = true); | ||
| 85 | private: | ||
| 86 | PropertySystem& m_PropertySystem; | ||
| 87 | std::vector<PropertyScriptListener*> m_Listeners; | ||
| 88 | diff --git a/tests/modeljstests.cpp b/tests/modeljstests.cpp | ||
| 89 | index 136a27a..e06ec6a 100644 | ||
| 90 | --- a/tests/modeljstests.cpp | ||
| 91 | +++ b/tests/modeljstests.cpp | ||
| 92 | @@ -362,7 +362,7 @@ BOOST_AUTO_TEST_CASE(testPropertyListener) { | ||
| 93 | |||
| 94 | boost::scoped_ptr<ScriptContext> ctx(env->getContext()); | ||
| 95 | ctx->evaluate<void>("setProperty('/testing', 1); setProperty('/triggered', false); " | ||
| 96 | - "listener_ident = setListener('/testing', function(changedNode) { setProperty('/triggered', true); }); " | ||
| 97 | + "var listener_ident = setListener('/testing', function(changedNode) { setProperty('/triggered', true); }); " | ||
| 98 | ); | ||
| 99 | |||
| 100 | BOOST_CHECK_EQUAL(propSys.getBoolValue("/triggered"), false); | ||
| 101 | @@ -414,15 +414,14 @@ BOOST_AUTO_TEST_CASE(testReentrancy) { | ||
| 102 | |||
| 103 | boost::scoped_ptr<ScriptContext> ctx(env->getContext()); | ||
| 104 | ctx->evaluate<void>("setProperty('/testing', 1); setProperty('/triggered', false); " | ||
| 105 | - "other_ident = setListener('/triggered', function() { setProperty('/itWorks', true); } ); " | ||
| 106 | - "listener_ident = setListener('/testing', function(changedNode) { setProperty('/triggered', true); }); " | ||
| 107 | + "var other_ident = setListener('/triggered', function() { setProperty('/itWorks', true); } ); " | ||
| 108 | + "var listener_ident = setListener('/testing', function(changedNode) { setProperty('/triggered', true); }); " | ||
| 109 | ); | ||
| 110 | |||
| 111 | propSys.setBoolValue("/testing", true); | ||
| 112 | |||
| 113 | BOOST_CHECK_EQUAL(propSys.getBoolValue("/itWorks"), true); | ||
| 114 | |||
| 115 | - // TODO: find out why it crashes w/o those lines | ||
| 116 | ctx->evaluate<void>("removeListener(other_ident); " | ||
| 117 | "removeListener(listener_ident); " | ||
| 118 | ); | ||
| 119 | @@ -495,7 +494,6 @@ BOOST_AUTO_TEST_CASE(testThreading) { | ||
| 120 | sleepMS(100); | ||
| 121 | } | ||
| 122 | |||
| 123 | - // TODO: find out why it crashes w/o those lines | ||
| 124 | ctx->evaluate<void>("removeListener(l1); removeListener(l2);"); | ||
| 125 | } // testThreading | ||
| 126 | |||
| 127 | -- | ||
| 128 | 1.7.2.2 |
targets/dss11/recipes/dss/dss-0.8.0+0.9.0-alpha2/0003-Deprecate-keepContext.patch
(159 / 0)
|   | |||
| 1 | From 563a6dbb5fe1e2c8b13983cd0c9634c7b54ba021 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Patrick=20St=C3=A4hlin?= <pstaehlin@futurelab.ch> | ||
| 3 | Date: Thu, 29 Jul 2010 11:25:40 +0200 | ||
| 4 | Subject: [PATCH 03/12] Deprecate keepContext | ||
| 5 | |||
| 6 | Check if the context has session attached objects instead. | ||
| 7 | --- | ||
| 8 | core/eventinterpreterplugins.cpp | 44 ++++++++++++++++++++++++++++++++++++- | ||
| 9 | core/eventinterpreterplugins.h | 6 +++++ | ||
| 10 | core/jshandler.cpp | 6 +--- | ||
| 11 | core/jshandler.h | 3 -- | ||
| 12 | 4 files changed, 50 insertions(+), 9 deletions(-) | ||
| 13 | |||
| 14 | diff --git a/core/eventinterpreterplugins.cpp b/core/eventinterpreterplugins.cpp | ||
| 15 | index 2a7ff10..688e0fa 100644 | ||
| 16 | --- a/core/eventinterpreterplugins.cpp | ||
| 17 | +++ b/core/eventinterpreterplugins.cpp | ||
| 18 | @@ -141,9 +141,9 @@ namespace dss { | ||
| 19 | |||
| 20 | ctx->evaluateScript<void>(scriptName); | ||
| 21 | |||
| 22 | - if(ctx->getKeepContext()) { | ||
| 23 | + if(ctx->hasAttachedObjects()) { | ||
| 24 | m_KeptContexts.push_back(ctx); | ||
| 25 | - Logger::getInstance()->log("EventInterpreterPluginJavascript::handleEvent: keeping script " + scriptName + " in memory", lsInfo); | ||
| 26 | + Logger::getInstance()->log("EventInterpreterPluginJavascript::handleEvent: still has objects, keeping " + scriptName + " in memory", lsInfo); | ||
| 27 | } | ||
| 28 | } catch(ScriptException& e) { | ||
| 29 | Logger::getInstance()->log(std::string("EventInterpreterPluginJavascript::handleEvent: Caught event while running/parsing script '") | ||
| 30 | @@ -154,6 +154,8 @@ namespace dss { | ||
| 31 | } | ||
| 32 | } // handleEvent | ||
| 33 | |||
| 34 | + const std::string EventInterpreterPluginJavascript::kCleanupScriptsEventName = "EventInterpreteRPluginJavascript_cleanupScripts"; | ||
| 35 | + | ||
| 36 | void EventInterpreterPluginJavascript::initializeEnvironment() { | ||
| 37 | m_Environment.initialize(); | ||
| 38 | if(DSS::hasInstance()) { | ||
| 39 | @@ -171,9 +173,47 @@ namespace dss { | ||
| 40 | m_Environment.addExtension(ext); | ||
| 41 | ext = new ScriptLoggerExtension(DSS::getInstance()->getJSLogDirectory(), DSS::getInstance()->getEventInterpreter()); | ||
| 42 | m_Environment.addExtension(ext); | ||
| 43 | + setupCleanupEvent(); | ||
| 44 | } | ||
| 45 | } // initializeEnvironment | ||
| 46 | |||
| 47 | + void EventInterpreterPluginJavascript::setupCleanupEvent() { | ||
| 48 | + EventInterpreterInternalRelay* pRelay = | ||
| 49 | + dynamic_cast<EventInterpreterInternalRelay*>(getEventInterpreter().getPluginByName(EventInterpreterInternalRelay::getPluginName())); | ||
| 50 | + m_pRelayTarget = boost::shared_ptr<InternalEventRelayTarget>(new InternalEventRelayTarget(*pRelay)); | ||
| 51 | + | ||
| 52 | + boost::shared_ptr<EventSubscription> cleanupEventSubscription( | ||
| 53 | + new dss::EventSubscription( | ||
| 54 | + kCleanupScriptsEventName, | ||
| 55 | + EventInterpreterInternalRelay::getPluginName(), | ||
| 56 | + getEventInterpreter(), | ||
| 57 | + boost::shared_ptr<SubscriptionOptions>()) | ||
| 58 | + ); | ||
| 59 | + m_pRelayTarget->subscribeTo(cleanupEventSubscription); | ||
| 60 | + m_pRelayTarget->setCallback(boost::bind(&EventInterpreterPluginJavascript::cleanupTerminatedScripts, this, _1, _2)); | ||
| 61 | + sendCleanupEvent(); | ||
| 62 | + } // setupCleanupEvent | ||
| 63 | + | ||
| 64 | + void EventInterpreterPluginJavascript::cleanupTerminatedScripts(Event& _event, const EventSubscription& _subscription) { | ||
| 65 | + typedef std::vector<boost::shared_ptr<ScriptContext> >::iterator tScriptContextIterator; | ||
| 66 | + tScriptContextIterator ipScriptContext = m_KeptContexts.begin(); | ||
| 67 | + while(ipScriptContext != m_KeptContexts.end()) { | ||
| 68 | + if(!(*ipScriptContext)->hasAttachedObjects()) { | ||
| 69 | + ipScriptContext = m_KeptContexts.erase(ipScriptContext); | ||
| 70 | + } else { | ||
| 71 | + ++ipScriptContext; | ||
| 72 | + } | ||
| 73 | + } | ||
| 74 | + sendCleanupEvent(); | ||
| 75 | + } // cleanupTerminatedScripts | ||
| 76 | + | ||
| 77 | + void EventInterpreterPluginJavascript::sendCleanupEvent() { | ||
| 78 | + boost::shared_ptr<Event> pEvent(new Event(kCleanupScriptsEventName)); | ||
| 79 | + pEvent->setProperty("time", "+" + intToString(20)); | ||
| 80 | + getEventInterpreter().getQueue().pushEvent(pEvent); | ||
| 81 | + } // sendCleanupEvent | ||
| 82 | + | ||
| 83 | + | ||
| 84 | |||
| 85 | //================================================== EventInterpreterPluginDS485 | ||
| 86 | |||
| 87 | diff --git a/core/eventinterpreterplugins.h b/core/eventinterpreterplugins.h | ||
| 88 | index 65c74b3..c1525f3 100644 | ||
| 89 | --- a/core/eventinterpreterplugins.h | ||
| 90 | +++ b/core/eventinterpreterplugins.h | ||
| 91 | @@ -32,6 +32,7 @@ | ||
| 92 | namespace dss { | ||
| 93 | |||
| 94 | class Apartment; | ||
| 95 | + class InternalEventRelayTarget; | ||
| 96 | |||
| 97 | class EventInterpreterPluginRaiseEvent : public EventInterpreterPlugin { | ||
| 98 | private: | ||
| 99 | @@ -48,8 +49,13 @@ namespace dss { | ||
| 100 | private: | ||
| 101 | ScriptEnvironment m_Environment; | ||
| 102 | std::vector<boost::shared_ptr<ScriptContext> > m_KeptContexts; | ||
| 103 | + boost::shared_ptr<InternalEventRelayTarget> m_pRelayTarget; | ||
| 104 | + static const std::string kCleanupScriptsEventName; | ||
| 105 | private: | ||
| 106 | void initializeEnvironment(); | ||
| 107 | + void setupCleanupEvent(); | ||
| 108 | + void cleanupTerminatedScripts(Event& _event, const EventSubscription& _subscription); | ||
| 109 | + void sendCleanupEvent(); | ||
| 110 | public: | ||
| 111 | EventInterpreterPluginJavascript(EventInterpreter* _pInterpreter); | ||
| 112 | |||
| 113 | diff --git a/core/jshandler.cpp b/core/jshandler.cpp | ||
| 114 | index 5aca7e6..3cbc02d 100644 | ||
| 115 | --- a/core/jshandler.cpp | ||
| 116 | +++ b/core/jshandler.cpp | ||
| 117 | @@ -206,8 +206,7 @@ namespace dss { | ||
| 118 | } // global_print | ||
| 119 | |||
| 120 | JSBool global_keepContext(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { | ||
| 121 | - ScriptContext* ctx = static_cast<ScriptContext*>(JS_GetContextPrivate(cx)); | ||
| 122 | - ctx->setKeepContext(true); | ||
| 123 | + Logger::getInstance()->log("keepContext() is deprecated", lsWarning); | ||
| 124 | return JS_TRUE; | ||
| 125 | } // global_keepContext | ||
| 126 | |||
| 127 | @@ -271,8 +270,7 @@ namespace dss { | ||
| 128 | |||
| 129 | ScriptContext::ScriptContext(ScriptEnvironment& _env, JSContext* _pContext) | ||
| 130 | : m_Environment(_env), | ||
| 131 | - m_pContext(_pContext), | ||
| 132 | - m_KeepContext(false) | ||
| 133 | + m_pContext(_pContext) | ||
| 134 | { | ||
| 135 | JSRequest req(m_pContext); | ||
| 136 | JS_SetOptions(m_pContext, JSOPTION_VAROBJFIX | JSOPTION_DONT_REPORT_UNCAUGHT); | ||
| 137 | diff --git a/core/jshandler.h b/core/jshandler.h | ||
| 138 | index d4e5462..1f4d09e 100644 | ||
| 139 | --- a/core/jshandler.h | ||
| 140 | +++ b/core/jshandler.h | ||
| 141 | @@ -91,7 +91,6 @@ namespace dss { | ||
| 142 | boost::scoped_ptr<ScriptObject> m_RootObject; | ||
| 143 | ScriptEnvironment& m_Environment; | ||
| 144 | JSContext* m_pContext; | ||
| 145 | - bool m_KeepContext; | ||
| 146 | std::vector<ScriptContextAttachedObject*> m_AttachedObjects; | ||
| 147 | static void jsErrorHandler(JSContext *ctx, const char *msg, JSErrorReport *er); | ||
| 148 | public: | ||
| 149 | @@ -117,8 +116,6 @@ namespace dss { | ||
| 150 | ScriptEnvironment& getEnvironment() { return m_Environment; } | ||
| 151 | ScriptObject& getRootObject() { return *m_RootObject; } | ||
| 152 | bool raisePendingExceptions(); | ||
| 153 | - bool getKeepContext() { return m_KeepContext; }; | ||
| 154 | - void setKeepContext(bool _value) { m_KeepContext = _value; } | ||
| 155 | |||
| 156 | void attachObject(ScriptContextAttachedObject* _pObject); | ||
| 157 | void removeAttachedObject(ScriptContextAttachedObject* _pObject); | ||
| 158 | -- | ||
| 159 | 1.7.2.2 |
targets/dss11/recipes/dss/dss-0.8.0+0.9.0-alpha2/0004-Prevent-destruction-in-callbacks.patch
(131 / 0)
|   | |||
| 1 | From 2536059dd91812a35c729bfad7d9d2965cc701c4 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Patrick=20St=C3=A4hlin?= <pstaehlin@futurelab.ch> | ||
| 3 | Date: Thu, 5 Aug 2010 14:56:06 +0200 | ||
| 4 | Subject: [PATCH 04/12] Prevent destruction in callbacks | ||
| 5 | |||
| 6 | --- | ||
| 7 | core/scripting/jssocket.cpp | 22 ++++++++++++++++++++-- | ||
| 8 | 1 files changed, 20 insertions(+), 2 deletions(-) | ||
| 9 | |||
| 10 | diff --git a/core/scripting/jssocket.cpp b/core/scripting/jssocket.cpp | ||
| 11 | index 3aff70b..c86bb44 100644 | ||
| 12 | --- a/core/scripting/jssocket.cpp | ||
| 13 | +++ b/core/scripting/jssocket.cpp | ||
| 14 | @@ -103,7 +103,7 @@ namespace dss { | ||
| 15 | + e.what(), lsError); | ||
| 16 | } | ||
| 17 | } | ||
| 18 | - //JS_GC(m_pContext->getJSContext()); | ||
| 19 | + JS_GC(m_pContext->getJSContext()); | ||
| 20 | } | ||
| 21 | |||
| 22 | ScriptContext& getContext() const { | ||
| 23 | @@ -134,6 +134,14 @@ namespace dss { | ||
| 24 | } | ||
| 25 | |||
| 26 | protected: | ||
| 27 | + void blockingCallback() { | ||
| 28 | + m_pAttachedObject.reset(new ScriptContextAttachedObject(&getContext())); | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + void leavingBlockingCallback() { | ||
| 32 | + m_pAttachedObject.reset(); | ||
| 33 | + } | ||
| 34 | + protected: | ||
| 35 | SocketScriptContextExtension& m_Extension; | ||
| 36 | private: | ||
| 37 | void ensureIOServiceAvailable() { | ||
| 38 | @@ -148,6 +156,7 @@ namespace dss { | ||
| 39 | boost::shared_ptr<ScriptObject> m_pCallbackObject; | ||
| 40 | boost::shared_ptr<ScriptFunctionRooter> m_pFunctionRooter; | ||
| 41 | jsval m_CallbackFunction; | ||
| 42 | + boost::shared_ptr<ScriptContextAttachedObject> m_pAttachedObject; | ||
| 43 | }; // SocketHelper | ||
| 44 | |||
| 45 | class SocketHelperInstance : public SocketHelper, | ||
| 46 | @@ -182,6 +191,7 @@ namespace dss { | ||
| 47 | this, | ||
| 48 | boost::asio::placeholders::error, | ||
| 49 | ++iterator)); | ||
| 50 | + blockingCallback(); | ||
| 51 | startIOThread(); | ||
| 52 | } | ||
| 53 | |||
| 54 | @@ -196,11 +206,13 @@ namespace dss { | ||
| 55 | this, | ||
| 56 | boost::asio::placeholders::error, | ||
| 57 | boost::asio::placeholders::bytes_transferred)); | ||
| 58 | + blockingCallback(); | ||
| 59 | startIOThread(); | ||
| 60 | } | ||
| 61 | |||
| 62 | void close() { | ||
| 63 | m_pSocket->close(); | ||
| 64 | + leavingBlockingCallback(); | ||
| 65 | } | ||
| 66 | |||
| 67 | void receive(const int _numberOfBytes) { | ||
| 68 | @@ -214,6 +226,7 @@ namespace dss { | ||
| 69 | this, | ||
| 70 | boost::asio::placeholders::error, | ||
| 71 | boost::asio::placeholders::bytes_transferred)); | ||
| 72 | + blockingCallback(); | ||
| 73 | startIOThread(); | ||
| 74 | } | ||
| 75 | |||
| 76 | @@ -240,6 +253,7 @@ namespace dss { | ||
| 77 | if(m_pSocket == NULL && m_pAcceptor != NULL) { | ||
| 78 | createSocket(); | ||
| 79 | m_pAcceptor->async_accept(*m_pSocket, boost::bind(&SocketHelperInstance::acceptCallback, this, boost::asio::placeholders::error)); | ||
| 80 | + blockingCallback(); | ||
| 81 | startIOThread(); | ||
| 82 | } else { | ||
| 83 | Logger::getInstance()->log("SocketHelperInstance::accept: Please call bind first", lsFatal); | ||
| 84 | @@ -251,6 +265,7 @@ namespace dss { | ||
| 85 | tcp::resolver::iterator endpoint_iterator) { | ||
| 86 | Logger::getInstance()->log("*** Connection callback"); | ||
| 87 | AssertLocked lock(&getContext()); | ||
| 88 | + leavingBlockingCallback(); | ||
| 89 | //JS_SetContextThread(getContext().getJSContext()); | ||
| 90 | JSRequest req(getContext().getJSContext()); | ||
| 91 | if (!error) { | ||
| 92 | @@ -273,6 +288,7 @@ namespace dss { | ||
| 93 | void sendCallback(const boost::system::error_code& error, std::size_t bytesTransfered) { | ||
| 94 | Logger::getInstance()->log("*** Send callback"); | ||
| 95 | AssertLocked lock(&getContext()); | ||
| 96 | + leavingBlockingCallback(); | ||
| 97 | //JS_SetContextThread(getContext().getJSContext()); | ||
| 98 | JSRequest req(getContext().getJSContext()); | ||
| 99 | if(!error) { | ||
| 100 | @@ -295,11 +311,13 @@ namespace dss { | ||
| 101 | JSRequest req(getContext().getJSContext()); | ||
| 102 | if(!error) { | ||
| 103 | if(bytesTransfered == m_BytesToRead) { | ||
| 104 | + leavingBlockingCallback(); | ||
| 105 | std::string result(m_DataBuffer, m_BytesToRead); | ||
| 106 | callDataCallback(result); | ||
| 107 | m_BytesToRead = 0; | ||
| 108 | } | ||
| 109 | } else { | ||
| 110 | + leavingBlockingCallback(); | ||
| 111 | Logger::getInstance()->log("SocketHelperInstance::readCallback: error: " + error.message()); | ||
| 112 | callDataCallback(""); | ||
| 113 | } | ||
| 114 | @@ -309,6 +327,7 @@ namespace dss { | ||
| 115 | |||
| 116 | void acceptCallback(const boost::system::error_code& error) { | ||
| 117 | AssertLocked lock(&getContext()); | ||
| 118 | + leavingBlockingCallback(); | ||
| 119 | //JS_SetContextThread(getContext().getJSContext()); | ||
| 120 | JSRequest req(getContext().getJSContext()); | ||
| 121 | if(!error) { | ||
| 122 | @@ -417,7 +436,6 @@ namespace dss { | ||
| 123 | boost::bind(&SocketHelperSendOneShot::handle_write, this, | ||
| 124 | boost::asio::placeholders::error)); | ||
| 125 | } | ||
| 126 | - void req(); | ||
| 127 | |||
| 128 | private: | ||
| 129 | void handle_connect(const boost::system::error_code& error, | ||
| 130 | -- | ||
| 131 | 1.7.2.2 |
targets/dss11/recipes/dss/dss-0.8.0+0.9.0-alpha2/0005-Print-something-when-cleaning-up-a-script.patch
(31 / 0)
|   | |||
| 1 | From 7ac13ee0fcc1edb96644b1a84f52707134bcee69 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Patrick=20St=C3=A4hlin?= <pstaehlin@futurelab.ch> | ||
| 3 | Date: Wed, 11 Aug 2010 15:22:11 +0200 | ||
| 4 | Subject: [PATCH 05/12] Print something when cleaning up a script | ||
| 5 | |||
| 6 | --- | ||
| 7 | core/eventinterpreterplugins.cpp | 2 +- | ||
| 8 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
| 9 | |||
| 10 | diff --git a/core/eventinterpreterplugins.cpp b/core/eventinterpreterplugins.cpp | ||
| 11 | index 688e0fa..ca3cf8e 100644 | ||
| 12 | --- a/core/eventinterpreterplugins.cpp | ||
| 13 | +++ b/core/eventinterpreterplugins.cpp | ||
| 14 | @@ -199,6 +199,7 @@ namespace dss { | ||
| 15 | tScriptContextIterator ipScriptContext = m_KeptContexts.begin(); | ||
| 16 | while(ipScriptContext != m_KeptContexts.end()) { | ||
| 17 | if(!(*ipScriptContext)->hasAttachedObjects()) { | ||
| 18 | + Logger::getInstance()->log("cleanupTerminatedScripts: erasing script"); | ||
| 19 | ipScriptContext = m_KeptContexts.erase(ipScriptContext); | ||
| 20 | } else { | ||
| 21 | ++ipScriptContext; | ||
| 22 | @@ -214,7 +215,6 @@ namespace dss { | ||
| 23 | } // sendCleanupEvent | ||
| 24 | |||
| 25 | |||
| 26 | - | ||
| 27 | //================================================== EventInterpreterPluginDS485 | ||
| 28 | |||
| 29 | EventInterpreterPluginDS485::EventInterpreterPluginDS485(Apartment& _apartment, DS485Interface* _pInterface, EventInterpreter* _pInterpreter) | ||
| 30 | -- | ||
| 31 | 1.7.2.2 |
targets/dss11/recipes/dss/dss-0.8.0+0.9.0-alpha2/0006-Call-GC-again.patch
(24 / 0)
|   | |||
| 1 | From f87952129e5b803c7e306d02e868e37976542440 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Patrick=20St=C3=A4hlin?= <pstaehlin@futurelab.ch> | ||
| 3 | Date: Wed, 11 Aug 2010 15:22:40 +0200 | ||
| 4 | Subject: [PATCH 06/12] Call GC again | ||
| 5 | |||
| 6 | --- | ||
| 7 | core/scripting/ds485scriptextension.cpp | 2 +- | ||
| 8 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
| 9 | |||
| 10 | diff --git a/core/scripting/ds485scriptextension.cpp b/core/scripting/ds485scriptextension.cpp | ||
| 11 | index 80d361b..93ffcf0 100644 | ||
| 12 | --- a/core/scripting/ds485scriptextension.cpp | ||
| 13 | +++ b/core/scripting/ds485scriptextension.cpp | ||
| 14 | @@ -119,7 +119,7 @@ namespace dss { | ||
| 15 | } | ||
| 16 | goOn = _callbackObject->callFunctionByReference<bool>(_function, paramList); | ||
| 17 | } | ||
| 18 | - //JS_GC(cx); | ||
| 19 | + JS_GC(cx); | ||
| 20 | req.endRequest(); | ||
| 21 | //JS_ClearContextThread(cx); | ||
| 22 | } catch(ScriptException& e) { | ||
| 23 | -- | ||
| 24 | 1.7.2.2 |
targets/dss11/recipes/dss/dss-0.8.0+0.9.0-alpha2/0007-Replaced-ScriptContext-by-a-Wrapper.patch
(101 / 0)
|   | |||
| 1 | From d46267984bedf2322e1552280216f3214cd55cbc Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Patrick=20St=C3=A4hlin?= <pstaehlin@futurelab.ch> | ||
| 3 | Date: Tue, 24 Aug 2010 21:30:19 +0200 | ||
| 4 | Subject: [PATCH 07/12] Replaced ScriptContext by a Wrapper | ||
| 5 | |||
| 6 | --- | ||
| 7 | core/eventinterpreterplugins.cpp | 34 +++++++++++++++++++++++++++------- | ||
| 8 | core/eventinterpreterplugins.h | 3 ++- | ||
| 9 | 2 files changed, 29 insertions(+), 8 deletions(-) | ||
| 10 | |||
| 11 | diff --git a/core/eventinterpreterplugins.cpp b/core/eventinterpreterplugins.cpp | ||
| 12 | index ca3cf8e..e414816 100644 | ||
| 13 | --- a/core/eventinterpreterplugins.cpp | ||
| 14 | +++ b/core/eventinterpreterplugins.cpp | ||
| 15 | @@ -102,6 +102,24 @@ namespace dss { | ||
| 16 | } // applyOptionsWithSuffix | ||
| 17 | |||
| 18 | |||
| 19 | + //================================================== ScriptContextWrapper | ||
| 20 | + | ||
| 21 | + class ScriptContextWrapper { | ||
| 22 | + public: | ||
| 23 | + ScriptContextWrapper(boost::shared_ptr<ScriptContext> _pContext) | ||
| 24 | + : m_pContext(_pContext) | ||
| 25 | + { } | ||
| 26 | + | ||
| 27 | + boost::shared_ptr<ScriptContext> get() { return m_pContext; } | ||
| 28 | + void addFile(const std::string& _name) { | ||
| 29 | + m_LoadedFiles.push_back(_name); | ||
| 30 | + } | ||
| 31 | + private: | ||
| 32 | + boost::shared_ptr<ScriptContext> m_pContext; | ||
| 33 | + DateTime m_StartTime; | ||
| 34 | + std::vector<std::string> m_LoadedFiles; | ||
| 35 | + }; | ||
| 36 | + | ||
| 37 | //================================================== EventInterpreterPluginJavascript | ||
| 38 | |||
| 39 | EventInterpreterPluginJavascript::EventInterpreterPluginJavascript(EventInterpreter* _pInterpreter) | ||
| 40 | @@ -118,6 +136,7 @@ namespace dss { | ||
| 41 | |||
| 42 | try { | ||
| 43 | boost::shared_ptr<ScriptContext> ctx(m_Environment.getContext()); | ||
| 44 | + boost::shared_ptr<ScriptContextWrapper> wrapper(new ScriptContextWrapper(ctx)); | ||
| 45 | ScriptObject raisedEvent(*ctx, NULL); | ||
| 46 | raisedEvent.setProperty<const std::string&>("name", _event.getName()); | ||
| 47 | ctx->getRootObject().setProperty("raisedEvent", &raisedEvent); | ||
| 48 | @@ -139,10 +158,11 @@ namespace dss { | ||
| 49 | raisedEvent.setProperty("subscription", &subscriptionObj); | ||
| 50 | subscriptionObj.setProperty<const std::string&>("name", _subscription.getEventName()); | ||
| 51 | |||
| 52 | + wrapper->addFile(scriptName); | ||
| 53 | ctx->evaluateScript<void>(scriptName); | ||
| 54 | |||
| 55 | if(ctx->hasAttachedObjects()) { | ||
| 56 | - m_KeptContexts.push_back(ctx); | ||
| 57 | + m_WrappedContexts.push_back(wrapper); | ||
| 58 | Logger::getInstance()->log("EventInterpreterPluginJavascript::handleEvent: still has objects, keeping " + scriptName + " in memory", lsInfo); | ||
| 59 | } | ||
| 60 | } catch(ScriptException& e) { | ||
| 61 | @@ -195,14 +215,14 @@ namespace dss { | ||
| 62 | } // setupCleanupEvent | ||
| 63 | |||
| 64 | void EventInterpreterPluginJavascript::cleanupTerminatedScripts(Event& _event, const EventSubscription& _subscription) { | ||
| 65 | - typedef std::vector<boost::shared_ptr<ScriptContext> >::iterator tScriptContextIterator; | ||
| 66 | - tScriptContextIterator ipScriptContext = m_KeptContexts.begin(); | ||
| 67 | - while(ipScriptContext != m_KeptContexts.end()) { | ||
| 68 | - if(!(*ipScriptContext)->hasAttachedObjects()) { | ||
| 69 | + typedef std::vector<boost::shared_ptr<ScriptContextWrapper> >::iterator tScriptContextWrapperIterator; | ||
| 70 | + tScriptContextWrapperIterator ipScriptContextWrapper = m_WrappedContexts.begin(); | ||
| 71 | + while(ipScriptContextWrapper != m_WrappedContexts.end()) { | ||
| 72 | + if(!(*ipScriptContextWrapper)->get()->hasAttachedObjects()) { | ||
| 73 | Logger::getInstance()->log("cleanupTerminatedScripts: erasing script"); | ||
| 74 | - ipScriptContext = m_KeptContexts.erase(ipScriptContext); | ||
| 75 | + ipScriptContextWrapper = m_WrappedContexts.erase(ipScriptContextWrapper); | ||
| 76 | } else { | ||
| 77 | - ++ipScriptContext; | ||
| 78 | + ++ipScriptContextWrapper; | ||
| 79 | } | ||
| 80 | } | ||
| 81 | sendCleanupEvent(); | ||
| 82 | diff --git a/core/eventinterpreterplugins.h b/core/eventinterpreterplugins.h | ||
| 83 | index c1525f3..b05e923 100644 | ||
| 84 | --- a/core/eventinterpreterplugins.h | ||
| 85 | +++ b/core/eventinterpreterplugins.h | ||
| 86 | @@ -44,11 +44,12 @@ namespace dss { | ||
| 87 | virtual void handleEvent(Event& _event, const EventSubscription& _subscription); | ||
| 88 | }; // EventInterpreterPluginRaiseEvent | ||
| 89 | |||
| 90 | + class ScriptContextWrapper; | ||
| 91 | |||
| 92 | class EventInterpreterPluginJavascript : public EventInterpreterPlugin { | ||
| 93 | private: | ||
| 94 | ScriptEnvironment m_Environment; | ||
| 95 | - std::vector<boost::shared_ptr<ScriptContext> > m_KeptContexts; | ||
| 96 | + std::vector<boost::shared_ptr<ScriptContextWrapper> > m_WrappedContexts; | ||
| 97 | boost::shared_ptr<InternalEventRelayTarget> m_pRelayTarget; | ||
| 98 | static const std::string kCleanupScriptsEventName; | ||
| 99 | private: | ||
| 100 | -- | ||
| 101 | 1.7.2.2 |
targets/dss11/recipes/dss/dss-0.8.0+0.9.0-alpha2/0008-Expose-info-about-running-scripts-with-properties.patch
(119 / 0)
|   | |||
| 1 | From c782bbafd9f347b715868705079cafbf9188c467 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Patrick=20St=C3=A4hlin?= <pstaehlin@futurelab.ch> | ||
| 3 | Date: Tue, 24 Aug 2010 23:16:22 +0200 | ||
| 4 | Subject: [PATCH 08/12] Expose info about running scripts with properties | ||
| 5 | |||
| 6 | --- | ||
| 7 | core/eventinterpreterplugins.cpp | 39 ++++++++++++++++++++++++++++++++++--- | ||
| 8 | core/eventinterpreterplugins.h | 3 ++ | ||
| 9 | core/jshandler.h | 1 + | ||
| 10 | 3 files changed, 39 insertions(+), 4 deletions(-) | ||
| 11 | |||
| 12 | diff --git a/core/eventinterpreterplugins.cpp b/core/eventinterpreterplugins.cpp | ||
| 13 | index e414816..8363779 100644 | ||
| 14 | --- a/core/eventinterpreterplugins.cpp | ||
| 15 | +++ b/core/eventinterpreterplugins.cpp | ||
| 16 | @@ -106,18 +106,44 @@ namespace dss { | ||
| 17 | |||
| 18 | class ScriptContextWrapper { | ||
| 19 | public: | ||
| 20 | - ScriptContextWrapper(boost::shared_ptr<ScriptContext> _pContext) | ||
| 21 | + ScriptContextWrapper(boost::shared_ptr<ScriptContext> _pContext, PropertyNodePtr _pRootNode, const std::string& _identifier) | ||
| 22 | : m_pContext(_pContext) | ||
| 23 | - { } | ||
| 24 | + { | ||
| 25 | + if((_pRootNode != NULL) && !_identifier.empty()) { | ||
| 26 | + m_pPropertyNode = _pRootNode->createProperty(_identifier + "+"); | ||
| 27 | + m_pPropertyNode->createProperty("stopScript")->linkToProxy( | ||
| 28 | + PropertyProxyMemberFunction<ScriptContextWrapper,bool>(*this, NULL, &ScriptContextWrapper::stopScript)); | ||
| 29 | + m_pPropertyNode->createProperty("startedAt")->linkToProxy( | ||
| 30 | + PropertyProxyMemberFunction<DateTime, std::string, false>(m_StartTime, &DateTime::toString)); | ||
| 31 | + m_pPropertyNode->createProperty("attachedObjects")->linkToProxy( | ||
| 32 | + PropertyProxyMemberFunction<ScriptContext,int>(*m_pContext, &ScriptContext::getAttachedObjectsCount)); | ||
| 33 | + } | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + ~ScriptContextWrapper() { | ||
| 37 | + m_pPropertyNode->getParentNode()->removeChild(m_pPropertyNode); | ||
| 38 | + } | ||
| 39 | + | ||
| 40 | + boost::shared_ptr<ScriptContext> get() { | ||
| 41 | + return m_pContext; | ||
| 42 | + } | ||
| 43 | |||
| 44 | - boost::shared_ptr<ScriptContext> get() { return m_pContext; } | ||
| 45 | void addFile(const std::string& _name) { | ||
| 46 | m_LoadedFiles.push_back(_name); | ||
| 47 | + if(m_pPropertyNode != NULL) { | ||
| 48 | + m_pPropertyNode->createProperty("files/file+")->setStringValue(_name); | ||
| 49 | + } | ||
| 50 | + } | ||
| 51 | + private: | ||
| 52 | + void stopScript(bool _value) { | ||
| 53 | + // TODO: implement | ||
| 54 | + Logger::getInstance()->log("Script would be stopped if this would have been implemented"); | ||
| 55 | } | ||
| 56 | private: | ||
| 57 | boost::shared_ptr<ScriptContext> m_pContext; | ||
| 58 | DateTime m_StartTime; | ||
| 59 | std::vector<std::string> m_LoadedFiles; | ||
| 60 | + PropertyNodePtr m_pPropertyNode; | ||
| 61 | }; | ||
| 62 | |||
| 63 | //================================================== EventInterpreterPluginJavascript | ||
| 64 | @@ -136,7 +162,11 @@ namespace dss { | ||
| 65 | |||
| 66 | try { | ||
| 67 | boost::shared_ptr<ScriptContext> ctx(m_Environment.getContext()); | ||
| 68 | - boost::shared_ptr<ScriptContextWrapper> wrapper(new ScriptContextWrapper(ctx)); | ||
| 69 | + std::string scriptID = _event.getPropertyByName("script_id"); | ||
| 70 | + if(scriptID.empty()) { | ||
| 71 | + scriptID = _event.getName() + _subscription.getID(); | ||
| 72 | + } | ||
| 73 | + boost::shared_ptr<ScriptContextWrapper> wrapper(new ScriptContextWrapper(ctx, m_pScriptRootNode, scriptID)); | ||
| 74 | ScriptObject raisedEvent(*ctx, NULL); | ||
| 75 | raisedEvent.setProperty<const std::string&>("name", _event.getName()); | ||
| 76 | ctx->getRootObject().setProperty("raisedEvent", &raisedEvent); | ||
| 77 | @@ -194,6 +224,7 @@ namespace dss { | ||
| 78 | ext = new ScriptLoggerExtension(DSS::getInstance()->getJSLogDirectory(), DSS::getInstance()->getEventInterpreter()); | ||
| 79 | m_Environment.addExtension(ext); | ||
| 80 | setupCleanupEvent(); | ||
| 81 | + m_pScriptRootNode = DSS::getInstance()->getPropertySystem().createProperty("/scripts"); | ||
| 82 | } | ||
| 83 | } // initializeEnvironment | ||
| 84 | |||
| 85 | diff --git a/core/eventinterpreterplugins.h b/core/eventinterpreterplugins.h | ||
| 86 | index b05e923..7f30d2a 100644 | ||
| 87 | --- a/core/eventinterpreterplugins.h | ||
| 88 | +++ b/core/eventinterpreterplugins.h | ||
| 89 | @@ -45,6 +45,8 @@ namespace dss { | ||
| 90 | }; // EventInterpreterPluginRaiseEvent | ||
| 91 | |||
| 92 | class ScriptContextWrapper; | ||
| 93 | + class PropertyNode; | ||
| 94 | + typedef boost::shared_ptr<PropertyNode> PropertyNodePtr; | ||
| 95 | |||
| 96 | class EventInterpreterPluginJavascript : public EventInterpreterPlugin { | ||
| 97 | private: | ||
| 98 | @@ -52,6 +54,7 @@ namespace dss { | ||
| 99 | std::vector<boost::shared_ptr<ScriptContextWrapper> > m_WrappedContexts; | ||
| 100 | boost::shared_ptr<InternalEventRelayTarget> m_pRelayTarget; | ||
| 101 | static const std::string kCleanupScriptsEventName; | ||
| 102 | + PropertyNodePtr m_pScriptRootNode; | ||
| 103 | private: | ||
| 104 | void initializeEnvironment(); | ||
| 105 | void setupCleanupEvent(); | ||
| 106 | diff --git a/core/jshandler.h b/core/jshandler.h | ||
| 107 | index 1f4d09e..ad7c3a0 100644 | ||
| 108 | --- a/core/jshandler.h | ||
| 109 | +++ b/core/jshandler.h | ||
| 110 | @@ -120,6 +120,7 @@ namespace dss { | ||
| 111 | void attachObject(ScriptContextAttachedObject* _pObject); | ||
| 112 | void removeAttachedObject(ScriptContextAttachedObject* _pObject); | ||
| 113 | bool hasAttachedObjects() const { return !m_AttachedObjects.empty(); } | ||
| 114 | + int getAttachedObjectsCount() const { return m_AttachedObjects.size(); } | ||
| 115 | ScriptContextAttachedObject* getAttachedObjectByName(const std::string& _name); | ||
| 116 | public: | ||
| 117 | |||
| 118 | -- | ||
| 119 | 1.7.2.2 |
targets/dss11/recipes/dss/dss-0.8.0+0.9.0-alpha2/0009-Prevent-context-destruction-when-waiting-for-frame.patch
(23 / 0)
|   | |||
| 1 | From 57bf9d7391114ad7bc532eaa1dec70b1127f5b55 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Patrick=20St=C3=A4hlin?= <pstaehlin@futurelab.ch> | ||
| 3 | Date: Wed, 25 Aug 2010 13:30:35 +0200 | ||
| 4 | Subject: [PATCH 09/12] Prevent context destruction when waiting for frame | ||
| 5 | |||
| 6 | --- | ||
| 7 | core/scripting/ds485scriptextension.cpp | 1 + | ||
| 8 | 1 files changed, 1 insertions(+), 0 deletions(-) | ||
| 9 | |||
| 10 | diff --git a/core/scripting/ds485scriptextension.cpp b/core/scripting/ds485scriptextension.cpp | ||
| 11 | index 93ffcf0..7b1a3f6 100644 | ||
| 12 | --- a/core/scripting/ds485scriptextension.cpp | ||
| 13 | +++ b/core/scripting/ds485scriptextension.cpp | ||
| 14 | @@ -81,6 +81,7 @@ namespace dss { | ||
| 15 | void waitForFrame(boost::shared_ptr<FrameBucketCollector> _bucket, boost::shared_ptr<ScriptObject> _callbackObject, jsval _function, int _timeout, boost::shared_ptr<ScriptFunctionRooter> _rootedFunction) { | ||
| 16 | bool goOn = true; | ||
| 17 | JSContext* cx = getContext()->getJSContext(); | ||
| 18 | + boost::shared_ptr<ScriptContextAttachedObject> preventContextDestruction(new ScriptContextAttachedObject(getContext())); | ||
| 19 | do { | ||
| 20 | bool hasFrame = _bucket->waitForFrame(_timeout); | ||
| 21 | try { | ||
| 22 | -- | ||
| 23 | 1.7.2.2 |
targets/dss11/recipes/dss/dss-0.8.0+0.9.0-alpha2/0011-Fixed-assert-that-was-seen-during-the-tests.patch
(33 / 0)
|   | |||
| 1 | From 91b8194b9526fe968f55aa25786d7857558adfa2 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Sergey 'Jin' Bostandzhyan <jin@developer.digitalstrom.org> | ||
| 3 | Date: Tue, 7 Sep 2010 11:30:18 +0200 | ||
| 4 | Subject: [PATCH 11/12] Fixed assert that was seen during the tests | ||
| 5 | |||
| 6 | The cleanup code in the ScriptContextWrapper object was expecting an | ||
| 7 | existing property node, which is not the case in the test environment. | ||
| 8 | While the constructor was handling this correctly, the check in the | ||
| 9 | destructor was not made. | ||
| 10 | |||
| 11 | Fixed by adding the check to the destructor ScriptContextWrapper | ||
| 12 | destructor. | ||
| 13 | --- | ||
| 14 | core/eventinterpreterplugins.cpp | 4 +++- | ||
| 15 | 1 files changed, 3 insertions(+), 1 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/core/eventinterpreterplugins.cpp b/core/eventinterpreterplugins.cpp | ||
| 18 | index 8363779..0d07bb5 100644 | ||
| 19 | --- a/core/eventinterpreterplugins.cpp | ||
| 20 | +++ b/core/eventinterpreterplugins.cpp | ||
| 21 | @@ -121,7 +121,9 @@ namespace dss { | ||
| 22 | } | ||
| 23 | |||
| 24 | ~ScriptContextWrapper() { | ||
| 25 | - m_pPropertyNode->getParentNode()->removeChild(m_pPropertyNode); | ||
| 26 | + if ((m_pPropertyNode != NULL) && (m_pPropertyNode->getParentNode() != NULL)) { | ||
| 27 | + m_pPropertyNode->getParentNode()->removeChild(m_pPropertyNode); | ||
| 28 | + } | ||
| 29 | } | ||
| 30 | |||
| 31 | boost::shared_ptr<ScriptContext> get() { | ||
| 32 | -- | ||
| 33 | 1.7.2.2 |
targets/dss11/recipes/dss/dss-0.8.0+0.9.0-alpha2/0012-Better-function-naming.patch
(117 / 0)
|   | |||
| 1 | From 436e32f9676e522c42ca49d6ae17b48a3d4dd751 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Sergey 'Jin' Bostandzhyan <jin@developer.digitalstrom.org> | ||
| 3 | Date: Tue, 7 Sep 2010 11:31:38 +0200 | ||
| 4 | Subject: [PATCH 12/12] Better function naming | ||
| 5 | |||
| 6 | As discussed, renamed blockingCallback() to startBlockingCall() and | ||
| 7 | leavingBlockingCallback() to endBlockingCall() | ||
| 8 | --- | ||
| 9 | core/scripting/jssocket.cpp | 24 ++++++++++++------------ | ||
| 10 | 1 files changed, 12 insertions(+), 12 deletions(-) | ||
| 11 | |||
| 12 | diff --git a/core/scripting/jssocket.cpp b/core/scripting/jssocket.cpp | ||
| 13 | index c86bb44..7e5f008 100644 | ||
| 14 | --- a/core/scripting/jssocket.cpp | ||
| 15 | +++ b/core/scripting/jssocket.cpp | ||
| 16 | @@ -134,11 +134,11 @@ namespace dss { | ||
| 17 | } | ||
| 18 | |||
| 19 | protected: | ||
| 20 | - void blockingCallback() { | ||
| 21 | + void startBlockingCall() { | ||
| 22 | m_pAttachedObject.reset(new ScriptContextAttachedObject(&getContext())); | ||
| 23 | } | ||
| 24 | |||
| 25 | - void leavingBlockingCallback() { | ||
| 26 | + void endBlockingCall() { | ||
| 27 | m_pAttachedObject.reset(); | ||
| 28 | } | ||
| 29 | protected: | ||
| 30 | @@ -191,7 +191,7 @@ namespace dss { | ||
| 31 | this, | ||
| 32 | boost::asio::placeholders::error, | ||
| 33 | ++iterator)); | ||
| 34 | - blockingCallback(); | ||
| 35 | + startBlockingCall(); | ||
| 36 | startIOThread(); | ||
| 37 | } | ||
| 38 | |||
| 39 | @@ -206,13 +206,13 @@ namespace dss { | ||
| 40 | this, | ||
| 41 | boost::asio::placeholders::error, | ||
| 42 | boost::asio::placeholders::bytes_transferred)); | ||
| 43 | - blockingCallback(); | ||
| 44 | + startBlockingCall(); | ||
| 45 | startIOThread(); | ||
| 46 | } | ||
| 47 | |||
| 48 | void close() { | ||
| 49 | m_pSocket->close(); | ||
| 50 | - leavingBlockingCallback(); | ||
| 51 | + endBlockingCall(); | ||
| 52 | } | ||
| 53 | |||
| 54 | void receive(const int _numberOfBytes) { | ||
| 55 | @@ -226,7 +226,7 @@ namespace dss { | ||
| 56 | this, | ||
| 57 | boost::asio::placeholders::error, | ||
| 58 | boost::asio::placeholders::bytes_transferred)); | ||
| 59 | - blockingCallback(); | ||
| 60 | + startBlockingCall(); | ||
| 61 | startIOThread(); | ||
| 62 | } | ||
| 63 | |||
| 64 | @@ -253,7 +253,7 @@ namespace dss { | ||
| 65 | if(m_pSocket == NULL && m_pAcceptor != NULL) { | ||
| 66 | createSocket(); | ||
| 67 | m_pAcceptor->async_accept(*m_pSocket, boost::bind(&SocketHelperInstance::acceptCallback, this, boost::asio::placeholders::error)); | ||
| 68 | - blockingCallback(); | ||
| 69 | + startBlockingCall(); | ||
| 70 | startIOThread(); | ||
| 71 | } else { | ||
| 72 | Logger::getInstance()->log("SocketHelperInstance::accept: Please call bind first", lsFatal); | ||
| 73 | @@ -265,7 +265,7 @@ namespace dss { | ||
| 74 | tcp::resolver::iterator endpoint_iterator) { | ||
| 75 | Logger::getInstance()->log("*** Connection callback"); | ||
| 76 | AssertLocked lock(&getContext()); | ||
| 77 | - leavingBlockingCallback(); | ||
| 78 | + endBlockingCall(); | ||
| 79 | //JS_SetContextThread(getContext().getJSContext()); | ||
| 80 | JSRequest req(getContext().getJSContext()); | ||
| 81 | if (!error) { | ||
| 82 | @@ -288,7 +288,7 @@ namespace dss { | ||
| 83 | void sendCallback(const boost::system::error_code& error, std::size_t bytesTransfered) { | ||
| 84 | Logger::getInstance()->log("*** Send callback"); | ||
| 85 | AssertLocked lock(&getContext()); | ||
| 86 | - leavingBlockingCallback(); | ||
| 87 | + endBlockingCall(); | ||
| 88 | //JS_SetContextThread(getContext().getJSContext()); | ||
| 89 | JSRequest req(getContext().getJSContext()); | ||
| 90 | if(!error) { | ||
| 91 | @@ -311,13 +311,13 @@ namespace dss { | ||
| 92 | JSRequest req(getContext().getJSContext()); | ||
| 93 | if(!error) { | ||
| 94 | if(bytesTransfered == m_BytesToRead) { | ||
| 95 | - leavingBlockingCallback(); | ||
| 96 | + endBlockingCall(); | ||
| 97 | std::string result(m_DataBuffer, m_BytesToRead); | ||
| 98 | callDataCallback(result); | ||
| 99 | m_BytesToRead = 0; | ||
| 100 | } | ||
| 101 | } else { | ||
| 102 | - leavingBlockingCallback(); | ||
| 103 | + endBlockingCall(); | ||
| 104 | Logger::getInstance()->log("SocketHelperInstance::readCallback: error: " + error.message()); | ||
| 105 | callDataCallback(""); | ||
| 106 | } | ||
| 107 | @@ -327,7 +327,7 @@ namespace dss { | ||
| 108 | |||
| 109 | void acceptCallback(const boost::system::error_code& error) { | ||
| 110 | AssertLocked lock(&getContext()); | ||
| 111 | - leavingBlockingCallback(); | ||
| 112 | + endBlockingCall(); | ||
| 113 | //JS_SetContextThread(getContext().getJSContext()); | ||
| 114 | JSRequest req(getContext().getJSContext()); | ||
| 115 | if(!error) { | ||
| 116 | -- | ||
| 117 | 1.7.2.2 |
targets/dss11/recipes/dss/dss-0.8.0+0.9.0-alpha2/relative-css-urls.patch
(1595 / 0)
|   | |||
| 1 | diff -Naur dss-0.9.0-alpha2.orig/data/webroot/js/dss/css/ds_gui.css dss-0.9.0-alpha2/data/webroot/js/dss/css/ds_gui.css | ||
| 2 | --- dss-0.9.0-alpha2.orig/data/webroot/js/dss/css/ds_gui.css 2010-09-06 16:59:22.000000000 +0200 | ||
| 3 | +++ dss-0.9.0-alpha2/data/webroot/js/dss/css/ds_gui.css 2010-09-07 02:24:21.000000000 +0200 | ||
| 4 | @@ -343,7 +343,7 @@ | ||
| 5 | position: absolute; | ||
| 6 | left: 0; | ||
| 7 | top: 0; | ||
| 8 | - background-image:url(/images/default/s.gif); | ||
| 9 | + background-image:url(../../../images/default/s.gif); | ||
| 10 | z-index: 20000; | ||
| 11 | } | ||
| 12 | |||
| 13 | @@ -4727,72 +4727,72 @@ | ||
| 14 | |||
| 15 | .x-html-editor-tb .x-edit-bold, .x-menu-item img.x-edit-bold { | ||
| 16 | background-position:0 0; | ||
| 17 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 18 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 19 | } | ||
| 20 | |||
| 21 | .x-html-editor-tb .x-edit-italic, .x-menu-item img.x-edit-italic { | ||
| 22 | background-position:-16px 0; | ||
| 23 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 24 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 25 | } | ||
| 26 | |||
| 27 | .x-html-editor-tb .x-edit-underline, .x-menu-item img.x-edit-underline { | ||
| 28 | background-position:-32px 0; | ||
| 29 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 30 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 31 | } | ||
| 32 | |||
| 33 | .x-html-editor-tb .x-edit-forecolor, .x-menu-item img.x-edit-forecolor { | ||
| 34 | background-position:-160px 0; | ||
| 35 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 36 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 37 | } | ||
| 38 | |||
| 39 | .x-html-editor-tb .x-edit-backcolor, .x-menu-item img.x-edit-backcolor { | ||
| 40 | background-position:-176px 0; | ||
| 41 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 42 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 43 | } | ||
| 44 | |||
| 45 | .x-html-editor-tb .x-edit-justifyleft, .x-menu-item img.x-edit-justifyleft { | ||
| 46 | background-position:-112px 0; | ||
| 47 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 48 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 49 | } | ||
| 50 | |||
| 51 | .x-html-editor-tb .x-edit-justifycenter, .x-menu-item img.x-edit-justifycenter { | ||
| 52 | background-position:-128px 0; | ||
| 53 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 54 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 55 | } | ||
| 56 | |||
| 57 | .x-html-editor-tb .x-edit-justifyright, .x-menu-item img.x-edit-justifyright { | ||
| 58 | background-position:-144px 0; | ||
| 59 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 60 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 61 | } | ||
| 62 | |||
| 63 | .x-html-editor-tb .x-edit-insertorderedlist, .x-menu-item img.x-edit-insertorderedlist { | ||
| 64 | background-position:-80px 0; | ||
| 65 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 66 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 67 | } | ||
| 68 | |||
| 69 | .x-html-editor-tb .x-edit-insertunorderedlist, .x-menu-item img.x-edit-insertunorderedlist { | ||
| 70 | background-position:-96px 0; | ||
| 71 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 72 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 73 | } | ||
| 74 | |||
| 75 | .x-html-editor-tb .x-edit-increasefontsize, .x-menu-item img.x-edit-increasefontsize { | ||
| 76 | background-position:-48px 0; | ||
| 77 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 78 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 79 | } | ||
| 80 | |||
| 81 | .x-html-editor-tb .x-edit-decreasefontsize, .x-menu-item img.x-edit-decreasefontsize { | ||
| 82 | background-position:-64px 0; | ||
| 83 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 84 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 85 | } | ||
| 86 | |||
| 87 | .x-html-editor-tb .x-edit-sourceedit, .x-menu-item img.x-edit-sourceedit { | ||
| 88 | background-position:-192px 0; | ||
| 89 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 90 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 91 | } | ||
| 92 | |||
| 93 | .x-html-editor-tb .x-edit-createlink, .x-menu-item img.x-edit-createlink { | ||
| 94 | background-position:-208px 0; | ||
| 95 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 96 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 97 | } | ||
| 98 | |||
| 99 | .x-html-editor-tip .x-tip-bd .x-tip-bd-inner { | ||
| 100 | @@ -5002,12 +5002,12 @@ | ||
| 101 | } | ||
| 102 | |||
| 103 | .x-layout-split-h{ | ||
| 104 | - background-image:url(/images/default/s.gif); | ||
| 105 | + background-image:url(../../../images/default/s.gif); | ||
| 106 | background-position: left; | ||
| 107 | } | ||
| 108 | |||
| 109 | .x-layout-split-v{ | ||
| 110 | - background-image:url(/images/default/s.gif); | ||
| 111 | + background-image:url(../../../images/default/s.gif); | ||
| 112 | background-position: top; | ||
| 113 | } | ||
| 114 | |||
| 115 | @@ -5414,7 +5414,7 @@ | ||
| 116 | .ext-el-mask-msg { | ||
| 117 | border-color:#65cf8a; | ||
| 118 | background-color:#c3daf9; | ||
| 119 | - background-image:url(/images/default/box/tb-blue.gif); | ||
| 120 | + background-image:url(../../../images/default/box/tb-blue.gif); | ||
| 121 | } | ||
| 122 | .ext-el-mask-msg div { | ||
| 123 | background-color: #eee; | ||
| 124 | @@ -5425,7 +5425,7 @@ | ||
| 125 | |||
| 126 | .x-mask-loading div { | ||
| 127 | background-color:#fbfbfb; | ||
| 128 | - background-image:url(/images/default/grid/loading.gif); | ||
| 129 | + background-image:url(../../../images/default/grid/loading.gif); | ||
| 130 | } | ||
| 131 | |||
| 132 | .x-item-disabled { | ||
| 133 | @@ -5458,20 +5458,20 @@ | ||
| 134 | } | ||
| 135 | |||
| 136 | .x-shadow .xsmc { | ||
| 137 | - background-image: url(/images/default/shadow-c.png); | ||
| 138 | + background-image: url(../../../images/default/shadow-c.png); | ||
| 139 | } | ||
| 140 | |||
| 141 | .x-shadow .xsml, .x-shadow .xsmr { | ||
| 142 | - background-image: url(/images/default/shadow-lr.png); | ||
| 143 | + background-image: url(../../../images/default/shadow-lr.png); | ||
| 144 | } | ||
| 145 | |||
| 146 | .x-shadow .xstl, .x-shadow .xstc, .x-shadow .xstr, .x-shadow .xsbl, .x-shadow .xsbc, .x-shadow .xsbr{ | ||
| 147 | - background-image: url(/images/default/shadow.png); | ||
| 148 | + background-image: url(../../../images/default/shadow.png); | ||
| 149 | } | ||
| 150 | |||
| 151 | .loading-indicator { | ||
| 152 | font-size: 11px; | ||
| 153 | - background-image: url(/images/default/grid/loading.gif); | ||
| 154 | + background-image: url(../../../images/default/grid/loading.gif); | ||
| 155 | } | ||
| 156 | |||
| 157 | .x-spotlight { | ||
| 158 | @@ -5487,13 +5487,13 @@ | ||
| 159 | |||
| 160 | ul.x-tab-strip-top{ | ||
| 161 | background-color:#ffffff; | ||
| 162 | - /* background-image: url(/images/default/tabs/tab-strip-bg.gif); */ | ||
| 163 | + /* background-image: url(../../../images/default/tabs/tab-strip-bg.gif); */ | ||
| 164 | border-bottom-color:#88EE99; | ||
| 165 | } | ||
| 166 | |||
| 167 | ul.x-tab-strip-bottom{ | ||
| 168 | background-color:#cedff5; | ||
| 169 | - background-image: url(/images/default/tabs/tab-strip-btm-bg.gif); | ||
| 170 | + background-image: url(../../../images/default/tabs/tab-strip-btm-bg.gif); | ||
| 171 | border-top-color:#97e38d; | ||
| 172 | } | ||
| 173 | |||
| 174 | @@ -5522,31 +5522,31 @@ | ||
| 175 | } | ||
| 176 | |||
| 177 | .x-tab-strip-top .x-tab-right, .x-tab-strip-top .x-tab-left, .x-tab-strip-top .x-tab-strip-inner{ | ||
| 178 | - background-image: url(/images/default/tabs/tabs-sprite.gif); | ||
| 179 | + background-image: url(../../../images/default/tabs/tabs-sprite.gif); | ||
| 180 | } | ||
| 181 | |||
| 182 | .x-tab-strip-bottom .x-tab-right { | ||
| 183 | - background-image: url(/images/default/tabs/tab-btm-inactive-right-bg.gif); | ||
| 184 | + background-image: url(../../../images/default/tabs/tab-btm-inactive-right-bg.gif); | ||
| 185 | } | ||
| 186 | |||
| 187 | .x-tab-strip-bottom .x-tab-left { | ||
| 188 | - background-image: url(/images/default/tabs/tab-btm-inactive-left-bg.gif); | ||
| 189 | + background-image: url(../../../images/default/tabs/tab-btm-inactive-left-bg.gif); | ||
| 190 | } | ||
| 191 | |||
| 192 | .x-tab-strip-bottom .x-tab-strip-active .x-tab-right { | ||
| 193 | - background-image: url(/images/default/tabs/tab-btm-right-bg.gif); | ||
| 194 | + background-image: url(../../../images/default/tabs/tab-btm-right-bg.gif); | ||
| 195 | } | ||
| 196 | |||
| 197 | .x-tab-strip-bottom .x-tab-strip-active .x-tab-left { | ||
| 198 | - background-image: url(/images/default/tabs/tab-btm-left-bg.gif); | ||
| 199 | + background-image: url(../../../images/default/tabs/tab-btm-left-bg.gif); | ||
| 200 | } | ||
| 201 | |||
| 202 | .x-tab-strip .x-tab-strip-closable a.x-tab-strip-close { | ||
| 203 | - background-image:url(/images/default/tabs/tab-close.gif); | ||
| 204 | + background-image:url(../../../images/default/tabs/tab-close.gif); | ||
| 205 | } | ||
| 206 | |||
| 207 | .x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{ | ||
| 208 | - background-image:url(/images/default/tabs/tab-close.gif); | ||
| 209 | + background-image:url(../../../images/default/tabs/tab-close.gif); | ||
| 210 | } | ||
| 211 | |||
| 212 | .x-tab-panel-body { | ||
| 213 | @@ -5563,7 +5563,7 @@ | ||
| 214 | } | ||
| 215 | |||
| 216 | .x-tab-scroller-left { | ||
| 217 | - background-image:url(/images/default/tabs/scroll-left.gif); | ||
| 218 | + background-image:url(../../../images/default/tabs/scroll-left.gif); | ||
| 219 | border-bottom-color:#97e38d; | ||
| 220 | } | ||
| 221 | |||
| 222 | @@ -5580,7 +5580,7 @@ | ||
| 223 | } | ||
| 224 | |||
| 225 | .x-tab-scroller-right { | ||
| 226 | - background-image:url(/images/default/tabs/scroll-right.gif); | ||
| 227 | + background-image:url(../../../images/default/tabs/scroll-right.gif); | ||
| 228 | border-bottom-color:#97e38d; | ||
| 229 | } | ||
| 230 | |||
| 231 | @@ -5592,7 +5592,7 @@ | ||
| 232 | |||
| 233 | .x-form-text, textarea.x-form-field{ | ||
| 234 | background-color:#fff; | ||
| 235 | - background-image:url(/images/default/form/text-bg.gif); | ||
| 236 | + background-image:url(../../../images/default/form/text-bg.gif); | ||
| 237 | border-color:#b5b8c8; | ||
| 238 | } | ||
| 239 | |||
| 240 | @@ -5611,20 +5611,20 @@ | ||
| 241 | } | ||
| 242 | |||
| 243 | .x-form-field-wrap .x-form-trigger{ | ||
| 244 | - background-image:url(/images/default/form/trigger.gif); | ||
| 245 | + background-image:url(../../../images/default/form/trigger.gif); | ||
| 246 | border-bottom-color:#b5b8c8; | ||
| 247 | } | ||
| 248 | |||
| 249 | .x-form-field-wrap .x-form-date-trigger{ | ||
| 250 | - background-image: url(/images/default/form/date-trigger.gif); | ||
| 251 | + background-image: url(../../../images/default/form/date-trigger.gif); | ||
| 252 | } | ||
| 253 | |||
| 254 | .x-form-field-wrap .x-form-clear-trigger{ | ||
| 255 | - background-image: url(/images/default/form/clear-trigger.gif); | ||
| 256 | + background-image: url(../../../images/default/form/clear-trigger.gif); | ||
| 257 | } | ||
| 258 | |||
| 259 | .x-form-field-wrap .x-form-search-trigger{ | ||
| 260 | - background-image: url(/images/default/form/search-trigger.gif); | ||
| 261 | + background-image: url(../../../images/default/form/search-trigger.gif); | ||
| 262 | } | ||
| 263 | |||
| 264 | .x-trigger-wrap-focus .x-form-trigger{ | ||
| 265 | @@ -5645,7 +5645,7 @@ | ||
| 266 | |||
| 267 | .x-form-invalid, textarea.x-form-invalid{ | ||
| 268 | background-color:#fff; | ||
| 269 | - background-image:url(/images/default/grid/invalid_line.gif); | ||
| 270 | + background-image:url(../../../images/default/grid/invalid_line.gif); | ||
| 271 | border-color:#c30; | ||
| 272 | } | ||
| 273 | |||
| 274 | @@ -5656,7 +5656,7 @@ | ||
| 275 | |||
| 276 | .x-form-inner-invalid, textarea.x-form-inner-invalid{ | ||
| 277 | background-color:#fff; | ||
| 278 | - background-image:url(/images/default/grid/invalid_line.gif); | ||
| 279 | + background-image:url(../../../images/default/grid/invalid_line.gif); | ||
| 280 | } | ||
| 281 | |||
| 282 | .x-form-grow-sizer { | ||
| 283 | @@ -5670,7 +5670,7 @@ | ||
| 284 | .x-form-invalid-msg { | ||
| 285 | color:#c0272b; | ||
| 286 | font:normal 11px tahoma, arial, helvetica, sans-serif; | ||
| 287 | - background-image:url(/images/default/shared/warning.gif); | ||
| 288 | + background-image:url(../../../images/default/shared/warning.gif); | ||
| 289 | } | ||
| 290 | |||
| 291 | .x-form-empty-field { | ||
| 292 | @@ -5686,7 +5686,7 @@ | ||
| 293 | } | ||
| 294 | |||
| 295 | .x-form-invalid-icon { | ||
| 296 | - background-image:url(/images/default/form/exclamation.gif); | ||
| 297 | + background-image:url(../../../images/default/form/exclamation.gif); | ||
| 298 | } | ||
| 299 | |||
| 300 | .x-fieldset { | ||
| 301 | @@ -5712,7 +5712,7 @@ | ||
| 302 | } | ||
| 303 | |||
| 304 | .x-btn-tl, .x-btn-tr, .x-btn-tc, .x-btn-ml, .x-btn-mr, .x-btn-mc, .x-btn-bl, .x-btn-br, .x-btn-bc{ | ||
| 305 | - background-image:url(/images/default/button/btn.gif); | ||
| 306 | + background-image:url(../../../images/default/button/btn.gif); | ||
| 307 | } | ||
| 308 | |||
| 309 | .x-btn-click .x-btn-text, .x-btn-menu-active .x-btn-text, .x-btn-pressed .x-btn-text{ | ||
| 310 | @@ -5724,27 +5724,27 @@ | ||
| 311 | } | ||
| 312 | |||
| 313 | .x-btn-mc em.x-btn-arrow { | ||
| 314 | - background-image:url(/images/default/button/arrow.gif); | ||
| 315 | + background-image:url(../../../images/default/button/arrow.gif); | ||
| 316 | } | ||
| 317 | |||
| 318 | .x-btn-mc em.x-btn-split { | ||
| 319 | - background-image:url(/images/default/button/s-arrow.gif); | ||
| 320 | + background-image:url(../../../images/default/button/s-arrow.gif); | ||
| 321 | } | ||
| 322 | |||
| 323 | .x-btn-over .x-btn-mc em.x-btn-split, .x-btn-click .x-btn-mc em.x-btn-split, .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-btn-pressed .x-btn-mc em.x-btn-split { | ||
| 324 | - background-image:url(/images/default/button/s-arrow-o.gif); | ||
| 325 | + background-image:url(../../../images/default/button/s-arrow-o.gif); | ||
| 326 | } | ||
| 327 | |||
| 328 | .x-btn-mc em.x-btn-arrow-bottom { | ||
| 329 | - background-image:url(/images/default/button/s-arrow-b-noline.gif); | ||
| 330 | + background-image:url(../../../images/default/button/s-arrow-b-noline.gif); | ||
| 331 | } | ||
| 332 | |||
| 333 | .x-btn-mc em.x-btn-split-bottom { | ||
| 334 | - background-image:url(/images/default/button/s-arrow-b.gif); | ||
| 335 | + background-image:url(../../../images/default/button/s-arrow-b.gif); | ||
| 336 | } | ||
| 337 | |||
| 338 | .x-btn-over .x-btn-mc em.x-btn-split-bottom, .x-btn-click .x-btn-mc em.x-btn-split-bottom, .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, .x-btn-pressed .x-btn-mc em.x-btn-split-bottom { | ||
| 339 | - background-image:url(/images/default/button/s-arrow-bo.gif); | ||
| 340 | + background-image:url(../../../images/default/button/s-arrow-bo.gif); | ||
| 341 | } | ||
| 342 | |||
| 343 | .x-btn-group-header { | ||
| 344 | @@ -5752,42 +5752,42 @@ | ||
| 345 | } | ||
| 346 | |||
| 347 | .x-btn-group-tc { | ||
| 348 | - background-image: url(/images/default/button/group-tb.gif); | ||
| 349 | + background-image: url(../../../images/default/button/group-tb.gif); | ||
| 350 | } | ||
| 351 | |||
| 352 | .x-btn-group-tl { | ||
| 353 | - background-image: url(/images/default/button/group-cs.gif); | ||
| 354 | + background-image: url(../../../images/default/button/group-cs.gif); | ||
| 355 | } | ||
| 356 | |||
| 357 | .x-btn-group-tr { | ||
| 358 | - background-image: url(/images/default/button/group-cs.gif); | ||
| 359 | + background-image: url(../../../images/default/button/group-cs.gif); | ||
| 360 | } | ||
| 361 | |||
| 362 | .x-btn-group-bc { | ||
| 363 | - background-image: url(/images/default/button/group-tb.gif); | ||
| 364 | + background-image: url(../../../images/default/button/group-tb.gif); | ||
| 365 | } | ||
| 366 | |||
| 367 | .x-btn-group-bl { | ||
| 368 | - background-image: url(/images/default/button/group-cs.gif); | ||
| 369 | + background-image: url(../../../images/default/button/group-cs.gif); | ||
| 370 | } | ||
| 371 | |||
| 372 | .x-btn-group-br { | ||
| 373 | - background-image: url(/images/default/button/group-cs.gif); | ||
| 374 | + background-image: url(../../../images/default/button/group-cs.gif); | ||
| 375 | } | ||
| 376 | |||
| 377 | .x-btn-group-ml { | ||
| 378 | - background-image: url(/images/default/button/group-lr.gif); | ||
| 379 | + background-image: url(../../../images/default/button/group-lr.gif); | ||
| 380 | } | ||
| 381 | .x-btn-group-mr { | ||
| 382 | - background-image: url(/images/default/button/group-lr.gif); | ||
| 383 | + background-image: url(../../../images/default/button/group-lr.gif); | ||
| 384 | } | ||
| 385 | |||
| 386 | .x-btn-group-notitle .x-btn-group-tc { | ||
| 387 | - background-image: url(/images/default/button/group-tb.gif); | ||
| 388 | + background-image: url(../../../images/default/button/group-tb.gif); | ||
| 389 | }.x-toolbar{ | ||
| 390 | border-color:#a9bfd3; | ||
| 391 | background-color:#d0def0; | ||
| 392 | - background-image:url(/images/default/toolbar/bg.gif); | ||
| 393 | + background-image:url(../../../images/default/toolbar/bg.gif); | ||
| 394 | } | ||
| 395 | |||
| 396 | .x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{ | ||
| 397 | @@ -5803,67 +5803,67 @@ | ||
| 398 | } | ||
| 399 | |||
| 400 | .x-toolbar .x-btn-mc em.x-btn-split { | ||
| 401 | - background-image:url(/images/default/button/s-arrow-noline.gif); | ||
| 402 | + background-image:url(../../../images/default/button/s-arrow-noline.gif); | ||
| 403 | } | ||
| 404 | |||
| 405 | .x-toolbar .x-btn-over .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split, | ||
| 406 | .x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split | ||
| 407 | { | ||
| 408 | - background-image:url(/images/default/button/s-arrow-o.gif); | ||
| 409 | + background-image:url(../../../images/default/button/s-arrow-o.gif); | ||
| 410 | } | ||
| 411 | |||
| 412 | .x-toolbar .x-btn-mc em.x-btn-split-bottom { | ||
| 413 | - background-image:url(/images/default/button/s-arrow-b-noline.gif); | ||
| 414 | + background-image:url(../../../images/default/button/s-arrow-b-noline.gif); | ||
| 415 | } | ||
| 416 | |||
| 417 | .x-toolbar .x-btn-over .x-btn-mc em.x-btn-split-bottom, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split-bottom, | ||
| 418 | .x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split-bottom | ||
| 419 | { | ||
| 420 | - background-image:url(/images/default/button/s-arrow-bo.gif); | ||
| 421 | + background-image:url(../../../images/default/button/s-arrow-bo.gif); | ||
| 422 | } | ||
| 423 | |||
| 424 | .x-toolbar .xtb-sep { | ||
| 425 | - background-image: url(/images/default/grid/grid-blue-split.gif); | ||
| 426 | + background-image: url(../../../images/default/grid/grid-blue-split.gif); | ||
| 427 | } | ||
| 428 | |||
| 429 | .x-tbar-page-first{ | ||
| 430 | - background-image: url(/images/default/grid/page-first.gif) !important; | ||
| 431 | + background-image: url(../../../images/default/grid/page-first.gif) !important; | ||
| 432 | } | ||
| 433 | |||
| 434 | .x-tbar-loading{ | ||
| 435 | - background-image: url(/images/default/grid/refresh.gif) !important; | ||
| 436 | + background-image: url(../../../images/default/grid/refresh.gif) !important; | ||
| 437 | } | ||
| 438 | |||
| 439 | .x-tbar-page-last{ | ||
| 440 | - background-image: url(/images/default/grid/page-last.gif) !important; | ||
| 441 | + background-image: url(../../../images/default/grid/page-last.gif) !important; | ||
| 442 | } | ||
| 443 | |||
| 444 | .x-tbar-page-next{ | ||
| 445 | - background-image: url(/images/default/grid/page-next.gif) !important; | ||
| 446 | + background-image: url(../../../images/default/grid/page-next.gif) !important; | ||
| 447 | } | ||
| 448 | |||
| 449 | .x-tbar-page-prev{ | ||
| 450 | - background-image: url(/images/default/grid/page-prev.gif) !important; | ||
| 451 | + background-image: url(../../../images/default/grid/page-prev.gif) !important; | ||
| 452 | } | ||
| 453 | |||
| 454 | .x-item-disabled .x-tbar-loading{ | ||
| 455 | - background-image: url(/images/default/grid/loading.gif) !important; | ||
| 456 | + background-image: url(../../../images/default/grid/loading.gif) !important; | ||
| 457 | } | ||
| 458 | |||
| 459 | .x-item-disabled .x-tbar-page-first{ | ||
| 460 | - background-image: url(/images/default/grid/page-first-disabled.gif) !important; | ||
| 461 | + background-image: url(../../../images/default/grid/page-first-disabled.gif) !important; | ||
| 462 | } | ||
| 463 | |||
| 464 | .x-item-disabled .x-tbar-page-last{ | ||
| 465 | - background-image: url(/images/default/grid/page-last-disabled.gif) !important; | ||
| 466 | + background-image: url(../../../images/default/grid/page-last-disabled.gif) !important; | ||
| 467 | } | ||
| 468 | |||
| 469 | .x-item-disabled .x-tbar-page-next{ | ||
| 470 | - background-image: url(/images/default/grid/page-next-disabled.gif) !important; | ||
| 471 | + background-image: url(../../../images/default/grid/page-next-disabled.gif) !important; | ||
| 472 | } | ||
| 473 | |||
| 474 | .x-item-disabled .x-tbar-page-prev{ | ||
| 475 | - background-image: url(/images/default/grid/page-prev-disabled.gif) !important; | ||
| 476 | + background-image: url(../../../images/default/grid/page-prev-disabled.gif) !important; | ||
| 477 | } | ||
| 478 | |||
| 479 | .x-paging-info { | ||
| 480 | @@ -5871,11 +5871,11 @@ | ||
| 481 | } | ||
| 482 | |||
| 483 | .x-toolbar-more-icon { | ||
| 484 | - background-image: url(/images/default/toolbar/more.gif) !important; | ||
| 485 | + background-image: url(../../../images/default/toolbar/more.gif) !important; | ||
| 486 | } | ||
| 487 | |||
| 488 | .x-statusbar .x-status-busy { | ||
| 489 | - background-image: url(/images/default/grid/loading.gif); | ||
| 490 | + background-image: url(../../../images/default/grid/loading.gif); | ||
| 491 | } | ||
| 492 | |||
| 493 | .x-statusbar .x-status-text-panel { | ||
| 494 | @@ -5887,29 +5887,29 @@ | ||
| 495 | .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east, | ||
| 496 | .x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west | ||
| 497 | { | ||
| 498 | - background-image:url(/images/default/sizer/e-handle.gif); | ||
| 499 | + background-image:url(../../../images/default/sizer/e-handle.gif); | ||
| 500 | } | ||
| 501 | |||
| 502 | .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south, | ||
| 503 | .x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north | ||
| 504 | { | ||
| 505 | - background-image:url(/images/default/sizer/s-handle.gif); | ||
| 506 | + background-image:url(../../../images/default/sizer/s-handle.gif); | ||
| 507 | } | ||
| 508 | |||
| 509 | .x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north{ | ||
| 510 | - background-image:url(/images/default/sizer/s-handle.gif); | ||
| 511 | + background-image:url(../../../images/default/sizer/s-handle.gif); | ||
| 512 | } | ||
| 513 | .x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{ | ||
| 514 | - background-image:url(/images/default/sizer/se-handle.gif); | ||
| 515 | + background-image:url(../../../images/default/sizer/se-handle.gif); | ||
| 516 | } | ||
| 517 | .x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{ | ||
| 518 | - background-image:url(/images/default/sizer/nw-handle.gif); | ||
| 519 | + background-image:url(../../../images/default/sizer/nw-handle.gif); | ||
| 520 | } | ||
| 521 | .x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{ | ||
| 522 | - background-image:url(/images/default/sizer/ne-handle.gif); | ||
| 523 | + background-image:url(../../../images/default/sizer/ne-handle.gif); | ||
| 524 | } | ||
| 525 | .x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{ | ||
| 526 | - background-image:url(/images/default/sizer/sw-handle.gif); | ||
| 527 | + background-image:url(../../../images/default/sizer/sw-handle.gif); | ||
| 528 | } | ||
| 529 | .x-resizable-proxy{ | ||
| 530 | border-color:#3b826b; | ||
| 531 | @@ -5936,7 +5936,7 @@ | ||
| 532 | |||
| 533 | .x-grid-row-loading { | ||
| 534 | background-color: #fff; | ||
| 535 | - background-image:url(/images/default/shared/loading-balls.gif); | ||
| 536 | + background-image:url(../../../images/default/shared/loading-balls.gif); | ||
| 537 | } | ||
| 538 | |||
| 539 | .x-grid3-row { | ||
| 540 | @@ -5951,7 +5951,7 @@ | ||
| 541 | .x-grid3-row-over { | ||
| 542 | border-color:#ddd; | ||
| 543 | background-color:#efefef; | ||
| 544 | - background-image:url(/images/default/grid/row-over.gif); | ||
| 545 | + background-image:url(../../../images/default/grid/row-over.gif); | ||
| 546 | } | ||
| 547 | |||
| 548 | .x-grid3-resize-proxy { | ||
| 549 | @@ -5964,7 +5964,7 @@ | ||
| 550 | |||
| 551 | .x-grid3-header{ | ||
| 552 | background-color:#f9f9f9; | ||
| 553 | - background-image:url(/images/default/grid/grid3-hrow.gif); | ||
| 554 | + background-image:url(../../../images/default/grid/grid3-hrow.gif); | ||
| 555 | } | ||
| 556 | |||
| 557 | .x-grid3-header-pop { | ||
| 558 | @@ -5973,7 +5973,7 @@ | ||
| 559 | |||
| 560 | .x-grid3-header-pop-inner { | ||
| 561 | border-left-color:#eee; | ||
| 562 | - background-image:url(/images/default/grid/hd-pop.gif); | ||
| 563 | + background-image:url(../../../images/default/grid/hd-pop.gif); | ||
| 564 | } | ||
| 565 | |||
| 566 | td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open { | ||
| 567 | @@ -5983,16 +5983,16 @@ | ||
| 568 | |||
| 569 | td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner { | ||
| 570 | background-color:#ededed; | ||
| 571 | - background-image:url(/images/default/grid/grid3-hrow-over.gif); | ||
| 572 | + background-image:url(../../../images/default/grid/grid3-hrow-over.gif); | ||
| 573 | |||
| 574 | } | ||
| 575 | |||
| 576 | .sort-asc .x-grid3-sort-icon { | ||
| 577 | - background-image: url(/images/default/grid/sort_asc.gif); | ||
| 578 | + background-image: url(../../../images/default/grid/sort_asc.gif); | ||
| 579 | } | ||
| 580 | |||
| 581 | .sort-desc .x-grid3-sort-icon { | ||
| 582 | - background-image: url(/images/default/grid/sort_desc.gif); | ||
| 583 | + background-image: url(../../../images/default/grid/sort_desc.gif); | ||
| 584 | } | ||
| 585 | |||
| 586 | .x-grid3-cell-text, .x-grid3-hd-text { | ||
| 587 | @@ -6000,7 +6000,7 @@ | ||
| 588 | } | ||
| 589 | |||
| 590 | .x-grid3-split { | ||
| 591 | - background-image: url(/images/default/grid/grid-split.gif); | ||
| 592 | + background-image: url(../../../images/default/grid/grid-split.gif); | ||
| 593 | } | ||
| 594 | |||
| 595 | .x-grid3-hd-text { | ||
| 596 | @@ -6009,16 +6009,16 @@ | ||
| 597 | |||
| 598 | .x-dd-drag-proxy .x-grid3-hd-inner{ | ||
| 599 | background-color:#ebf3fd; | ||
| 600 | - background-image:url(/images/default/grid/grid3-hrow-over.gif); | ||
| 601 | + background-image:url(../../../images/default/grid/grid3-hrow-over.gif); | ||
| 602 | border-color:#aaccf6; | ||
| 603 | } | ||
| 604 | |||
| 605 | .col-move-top{ | ||
| 606 | - background-image:url(/images/default/grid/col-move-top.gif); | ||
| 607 | + background-image:url(../../../images/default/grid/col-move-top.gif); | ||
| 608 | } | ||
| 609 | |||
| 610 | .col-move-bottom{ | ||
| 611 | - background-image:url(/images/default/grid/col-move-bottom.gif); | ||
| 612 | + background-image:url(../../../images/default/grid/col-move-bottom.gif); | ||
| 613 | } | ||
| 614 | |||
| 615 | .x-grid3-row-selected { | ||
| 616 | @@ -6042,7 +6042,7 @@ | ||
| 617 | |||
| 618 | .x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{ | ||
| 619 | background-color:#ebeadb !important; | ||
| 620 | - background-image:url(/images/default/grid/grid-hrow.gif) !important; | ||
| 621 | + background-image:url(../../../images/default/grid/grid-hrow.gif) !important; | ||
| 622 | color:#000; | ||
| 623 | border-top-color:#fff; | ||
| 624 | border-right-color:#6fa0df !important; | ||
| 625 | @@ -6053,7 +6053,7 @@ | ||
| 626 | } | ||
| 627 | |||
| 628 | .x-grid3-dirty-cell { | ||
| 629 | - background-image:url(/images/default/grid/dirty.gif); | ||
| 630 | + background-image:url(../../../images/default/grid/dirty.gif); | ||
| 631 | } | ||
| 632 | |||
| 633 | .x-grid3-topbar, .x-grid3-bottombar{ | ||
| 634 | @@ -6065,7 +6065,7 @@ | ||
| 635 | } | ||
| 636 | |||
| 637 | .x-props-grid .x-grid3-td-name .x-grid3-cell-inner{ | ||
| 638 | - background-image:url(/images/default/grid/grid3-special-col-bg.gif) !important; | ||
| 639 | + background-image:url(../../../images/default/grid/grid3-special-col-bg.gif) !important; | ||
| 640 | color:#000 !important; | ||
| 641 | } | ||
| 642 | |||
| 643 | @@ -6075,44 +6075,44 @@ | ||
| 644 | } | ||
| 645 | |||
| 646 | .xg-hmenu-sort-asc .x-menu-item-icon{ | ||
| 647 | - background-image: url(/images/default/grid/hmenu-asc.gif); | ||
| 648 | + background-image: url(../../../images/default/grid/hmenu-asc.gif); | ||
| 649 | } | ||
| 650 | |||
| 651 | .xg-hmenu-sort-desc .x-menu-item-icon{ | ||
| 652 | - background-image: url(/images/default/grid/hmenu-desc.gif); | ||
| 653 | + background-image: url(../../../images/default/grid/hmenu-desc.gif); | ||
| 654 | } | ||
| 655 | |||
| 656 | .xg-hmenu-lock .x-menu-item-icon{ | ||
| 657 | - background-image: url(/images/default/grid/hmenu-lock.gif); | ||
| 658 | + background-image: url(../../../images/default/grid/hmenu-lock.gif); | ||
| 659 | } | ||
| 660 | |||
| 661 | .xg-hmenu-unlock .x-menu-item-icon{ | ||
| 662 | - background-image: url(/images/default/grid/hmenu-unlock.gif); | ||
| 663 | + background-image: url(../../../images/default/grid/hmenu-unlock.gif); | ||
| 664 | } | ||
| 665 | |||
| 666 | .x-grid3-hd-btn { | ||
| 667 | background-color:#c3daf9; | ||
| 668 | - background-image:url(/images/default/grid/grid3-hd-btn.gif); | ||
| 669 | + background-image:url(../../../images/default/grid/grid3-hd-btn.gif); | ||
| 670 | } | ||
| 671 | |||
| 672 | .x-grid3-body .x-grid3-td-expander { | ||
| 673 | - background-image:url(/images/default/grid/grid3-special-col-bg.gif); | ||
| 674 | + background-image:url(../../../images/default/grid/grid3-special-col-bg.gif); | ||
| 675 | } | ||
| 676 | |||
| 677 | .x-grid3-row-expander { | ||
| 678 | - background-image:url(/images/default/grid/row-expand-sprite.gif); | ||
| 679 | + background-image:url(../../../images/default/grid/row-expand-sprite.gif); | ||
| 680 | } | ||
| 681 | |||
| 682 | .x-grid3-body .x-grid3-td-checker { | ||
| 683 | - background-image: url(/images/default/grid/grid3-special-col-bg.gif); | ||
| 684 | + background-image: url(../../../images/default/grid/grid3-special-col-bg.gif); | ||
| 685 | } | ||
| 686 | |||
| 687 | .x-grid3-row-checker, .x-grid3-hd-checker { | ||
| 688 | - background-image:url(/images/default/grid/row-check-sprite.gif); | ||
| 689 | + background-image:url(../../../images/default/grid/row-check-sprite.gif); | ||
| 690 | } | ||
| 691 | |||
| 692 | .x-grid3-body .x-grid3-td-numberer { | ||
| 693 | - background-image:url(/images/default/grid/grid3-special-col-bg.gif); | ||
| 694 | + background-image:url(../../../images/default/grid/grid3-special-col-bg.gif); | ||
| 695 | } | ||
| 696 | |||
| 697 | .x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner { | ||
| 698 | @@ -6120,21 +6120,21 @@ | ||
| 699 | } | ||
| 700 | |||
| 701 | .x-grid3-body .x-grid3-td-row-icon { | ||
| 702 | - background-image:url(/images/default/grid/grid3-special-col-bg.gif); | ||
| 703 | + background-image:url(../../../images/default/grid/grid3-special-col-bg.gif); | ||
| 704 | } | ||
| 705 | |||
| 706 | .x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer, | ||
| 707 | .x-grid3-body .x-grid3-row-selected .x-grid3-td-checker, | ||
| 708 | .x-grid3-body .x-grid3-row-selected .x-grid3-td-expander { | ||
| 709 | - background-image:url(/images/default/grid/grid3-special-col-sel-bg.gif); | ||
| 710 | + background-image:url(../../../images/default/grid/grid3-special-col-sel-bg.gif); | ||
| 711 | } | ||
| 712 | |||
| 713 | .x-grid3-check-col { | ||
| 714 | - background-image:url(/images/default/menu/unchecked.gif); | ||
| 715 | + background-image:url(../../../images/default/menu/unchecked.gif); | ||
| 716 | } | ||
| 717 | |||
| 718 | .x-grid3-check-col-on { | ||
| 719 | - background-image:url(/images/default/menu/checked.gif); | ||
| 720 | + background-image:url(../../../images/default/menu/checked.gif); | ||
| 721 | } | ||
| 722 | |||
| 723 | .x-grid-group, .x-grid-group-body, .x-grid-group-hd { | ||
| 724 | @@ -6146,25 +6146,25 @@ | ||
| 725 | } | ||
| 726 | |||
| 727 | .x-grid-group-hd div.x-grid-group-title { | ||
| 728 | - background-image:url(/images/default/grid/group-collapse.gif); | ||
| 729 | + background-image:url(../../../images/default/grid/group-collapse.gif); | ||
| 730 | color:#37a064; | ||
| 731 | font:bold 11px tahoma, arial, helvetica, sans-serif; | ||
| 732 | } | ||
| 733 | |||
| 734 | .x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title { | ||
| 735 | - background-image:url(/images/default/grid/group-expand.gif); | ||
| 736 | + background-image:url(../../../images/default/grid/group-expand.gif); | ||
| 737 | } | ||
| 738 | |||
| 739 | .x-group-by-icon { | ||
| 740 | - background-image:url(/images/default/grid/group-by.gif); | ||
| 741 | + background-image:url(../../../images/default/grid/group-by.gif); | ||
| 742 | } | ||
| 743 | |||
| 744 | .x-cols-icon { | ||
| 745 | - background-image:url(/images/default/grid/columns.gif); | ||
| 746 | + background-image:url(../../../images/default/grid/columns.gif); | ||
| 747 | } | ||
| 748 | |||
| 749 | .x-show-groups-icon { | ||
| 750 | - background-image:url(/images/default/grid/group-by.gif); | ||
| 751 | + background-image:url(../../../images/default/grid/group-by.gif); | ||
| 752 | } | ||
| 753 | |||
| 754 | .x-grid-empty { | ||
| 755 | @@ -6190,34 +6190,34 @@ | ||
| 756 | } | ||
| 757 | |||
| 758 | .x-dd-drop-nodrop .x-dd-drop-icon{ | ||
| 759 | - background-image: url(/images/default/dd/drop-no.gif); | ||
| 760 | + background-image: url(../../../images/default/dd/drop-no.gif); | ||
| 761 | } | ||
| 762 | |||
| 763 | .x-dd-drop-ok .x-dd-drop-icon{ | ||
| 764 | - background-image: url(/images/default/dd/drop-yes.gif); | ||
| 765 | + background-image: url(../../../images/default/dd/drop-yes.gif); | ||
| 766 | } | ||
| 767 | |||
| 768 | .x-dd-drop-ok-add .x-dd-drop-icon{ | ||
| 769 | - background-image: url(/images/default/dd/drop-add.gif); | ||
| 770 | + background-image: url(../../../images/default/dd/drop-add.gif); | ||
| 771 | } | ||
| 772 | |||
| 773 | .x-view-selector { | ||
| 774 | background-color:#c3daf9; | ||
| 775 | border-color:#33bb7d; | ||
| 776 | }.x-tree-node-expanded .x-tree-node-icon{ | ||
| 777 | - background-image:url(/images/default/tree/folder-open.gif); | ||
| 778 | + background-image:url(../../../images/default/tree/folder-open.gif); | ||
| 779 | } | ||
| 780 | |||
| 781 | .x-tree-node-leaf .x-tree-node-icon{ | ||
| 782 | - background-image:url(/images/default/tree/leaf.gif); | ||
| 783 | + background-image:url(../../../images/default/tree/leaf.gif); | ||
| 784 | } | ||
| 785 | |||
| 786 | .x-tree-node-collapsed .x-tree-node-icon{ | ||
| 787 | - background-image:url(/images/default/tree/folder.gif); | ||
| 788 | + background-image:url(../../../images/default/tree/folder.gif); | ||
| 789 | } | ||
| 790 | |||
| 791 | .x-tree-node-loading .x-tree-node-icon{ | ||
| 792 | - background-image:url(/images/default/tree/loading.gif) !important; | ||
| 793 | + background-image:url(../../../images/default/tree/loading.gif) !important; | ||
| 794 | } | ||
| 795 | |||
| 796 | .x-tree-node .x-tree-node-inline-icon { | ||
| 797 | @@ -6235,63 +6235,63 @@ | ||
| 798 | } | ||
| 799 | |||
| 800 | .x-tree-lines .x-tree-elbow{ | ||
| 801 | - background-image:url(/images/default/tree/elbow.gif); | ||
| 802 | + background-image:url(../../../images/default/tree/elbow.gif); | ||
| 803 | } | ||
| 804 | |||
| 805 | .x-tree-lines .x-tree-elbow-plus{ | ||
| 806 | - background-image:url(/images/default/tree/elbow-plus.gif); | ||
| 807 | + background-image:url(../../../images/default/tree/elbow-plus.gif); | ||
| 808 | } | ||
| 809 | |||
| 810 | .x-tree-lines .x-tree-elbow-minus{ | ||
| 811 | - background-image:url(/images/default/tree/elbow-minus.gif); | ||
| 812 | + background-image:url(../../../images/default/tree/elbow-minus.gif); | ||
| 813 | } | ||
| 814 | |||
| 815 | .x-tree-lines .x-tree-elbow-end{ | ||
| 816 | - background-image:url(/images/default/tree/elbow-end.gif); | ||
| 817 | + background-image:url(../../../images/default/tree/elbow-end.gif); | ||
| 818 | } | ||
| 819 | |||
| 820 | .x-tree-lines .x-tree-elbow-end-plus{ | ||
| 821 | - background-image:url(/images/default/tree/elbow-end-plus.gif); | ||
| 822 | + background-image:url(../../../images/default/tree/elbow-end-plus.gif); | ||
| 823 | } | ||
| 824 | |||
| 825 | .x-tree-lines .x-tree-elbow-end-minus{ | ||
| 826 | - background-image:url(/images/default/tree/elbow-end-minus.gif); | ||
| 827 | + background-image:url(../../../images/default/tree/elbow-end-minus.gif); | ||
| 828 | } | ||
| 829 | |||
| 830 | .x-tree-lines .x-tree-elbow-line{ | ||
| 831 | - background-image:url(/images/default/tree/elbow-line.gif); | ||
| 832 | + background-image:url(../../../images/default/tree/elbow-line.gif); | ||
| 833 | } | ||
| 834 | |||
| 835 | .x-tree-no-lines .x-tree-elbow-plus{ | ||
| 836 | - background-image:url(/images/default/tree/elbow-plus-nl.gif); | ||
| 837 | + background-image:url(../../../images/default/tree/elbow-plus-nl.gif); | ||
| 838 | } | ||
| 839 | |||
| 840 | .x-tree-no-lines .x-tree-elbow-minus{ | ||
| 841 | - background-image:url(/images/default/tree/elbow-minus-nl.gif); | ||
| 842 | + background-image:url(../../../images/default/tree/elbow-minus-nl.gif); | ||
| 843 | } | ||
| 844 | |||
| 845 | .x-tree-no-lines .x-tree-elbow-end-plus{ | ||
| 846 | - background-image:url(/images/default/tree/elbow-end-plus-nl.gif); | ||
| 847 | + background-image:url(../../../images/default/tree/elbow-end-plus-nl.gif); | ||
| 848 | } | ||
| 849 | |||
| 850 | .x-tree-no-lines .x-tree-elbow-end-minus{ | ||
| 851 | - background-image:url(/images/default/tree/elbow-end-minus-nl.gif); | ||
| 852 | + background-image:url(../../../images/default/tree/elbow-end-minus-nl.gif); | ||
| 853 | } | ||
| 854 | |||
| 855 | .x-tree-arrows .x-tree-elbow-plus{ | ||
| 856 | - background-image:url(/images/default/tree/arrows.gif); | ||
| 857 | + background-image:url(../../../images/default/tree/arrows.gif); | ||
| 858 | } | ||
| 859 | |||
| 860 | .x-tree-arrows .x-tree-elbow-minus{ | ||
| 861 | - background-image:url(/images/default/tree/arrows.gif); | ||
| 862 | + background-image:url(../../../images/default/tree/arrows.gif); | ||
| 863 | } | ||
| 864 | |||
| 865 | .x-tree-arrows .x-tree-elbow-end-plus{ | ||
| 866 | - background-image:url(/images/default/tree/arrows.gif); | ||
| 867 | + background-image:url(../../../images/default/tree/arrows.gif); | ||
| 868 | } | ||
| 869 | |||
| 870 | .x-tree-arrows .x-tree-elbow-end-minus{ | ||
| 871 | - background-image:url(/images/default/tree/arrows.gif); | ||
| 872 | + background-image:url(../../../images/default/tree/arrows.gif); | ||
| 873 | } | ||
| 874 | |||
| 875 | .x-tree-node{ | ||
| 876 | @@ -6341,26 +6341,26 @@ | ||
| 877 | } | ||
| 878 | |||
| 879 | .x-tree-drop-ok-append .x-dd-drop-icon{ | ||
| 880 | - background-image: url(/images/default/tree/drop-add.gif); | ||
| 881 | + background-image: url(../../../images/default/tree/drop-add.gif); | ||
| 882 | } | ||
| 883 | |||
| 884 | .x-tree-drop-ok-above .x-dd-drop-icon{ | ||
| 885 | - background-image: url(/images/default/tree/drop-over.gif); | ||
| 886 | + background-image: url(../../../images/default/tree/drop-over.gif); | ||
| 887 | } | ||
| 888 | |||
| 889 | .x-tree-drop-ok-below .x-dd-drop-icon{ | ||
| 890 | - background-image: url(/images/default/tree/drop-under.gif); | ||
| 891 | + background-image: url(../../../images/default/tree/drop-under.gif); | ||
| 892 | } | ||
| 893 | |||
| 894 | .x-tree-drop-ok-between .x-dd-drop-icon{ | ||
| 895 | - background-image: url(/images/default/tree/drop-between.gif); | ||
| 896 | + background-image: url(../../../images/default/tree/drop-between.gif); | ||
| 897 | }.x-date-picker { | ||
| 898 | border-color: #1b6c5e; | ||
| 899 | background-color:#fff; | ||
| 900 | } | ||
| 901 | |||
| 902 | .x-date-middle,.x-date-left,.x-date-right { | ||
| 903 | - background-image: url(/images/default/shared/hd-sprite.gif); | ||
| 904 | + background-image: url(../../../images/default/shared/hd-sprite.gif); | ||
| 905 | color:#fff; | ||
| 906 | font:bold 11px "sans serif", tahoma, verdana, helvetica; | ||
| 907 | } | ||
| 908 | @@ -6370,20 +6370,20 @@ | ||
| 909 | } | ||
| 910 | |||
| 911 | .x-date-middle .x-btn-mc em.x-btn-arrow { | ||
| 912 | - background-image:url(/images/default/toolbar/btn-arrow-light.gif); | ||
| 913 | + background-image:url(../../../images/default/toolbar/btn-arrow-light.gif); | ||
| 914 | } | ||
| 915 | |||
| 916 | .x-date-right a { | ||
| 917 | - background-image: url(/images/default/shared/right-btn.gif); | ||
| 918 | + background-image: url(../../../images/default/shared/right-btn.gif); | ||
| 919 | } | ||
| 920 | |||
| 921 | .x-date-left a{ | ||
| 922 | - background-image: url(/images/default/shared/left-btn.gif); | ||
| 923 | + background-image: url(../../../images/default/shared/left-btn.gif); | ||
| 924 | } | ||
| 925 | |||
| 926 | .x-date-inner th { | ||
| 927 | background-color:#dfecfb; | ||
| 928 | - background-image:url(/images/default/shared/glass-bg.gif); | ||
| 929 | + background-image:url(../../../images/default/shared/glass-bg.gif); | ||
| 930 | border-bottom-color:#a3bad9; | ||
| 931 | font:normal 10px arial, helvetica,tahoma,sans-serif; | ||
| 932 | color:#236d5c; | ||
| 933 | @@ -6404,7 +6404,7 @@ | ||
| 934 | |||
| 935 | .x-date-inner .x-date-selected a{ | ||
| 936 | background-color:#dfecfb; | ||
| 937 | - background-image:url(/images/default/shared/glass-bg.gif); | ||
| 938 | + background-image:url(../../../images/default/shared/glass-bg.gif); | ||
| 939 | border-color:#97e38d; | ||
| 940 | } | ||
| 941 | |||
| 942 | @@ -6423,7 +6423,7 @@ | ||
| 943 | .x-date-bottom { | ||
| 944 | border-top-color:#a3bad9; | ||
| 945 | background-color:#dfecfb; | ||
| 946 | - background-image:url(/images/default/shared/glass-bg.gif); | ||
| 947 | + background-image:url(../../../images/default/shared/glass-bg.gif); | ||
| 948 | } | ||
| 949 | |||
| 950 | .x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{ | ||
| 951 | @@ -6462,7 +6462,7 @@ | ||
| 952 | |||
| 953 | .x-date-mp-btns { | ||
| 954 | background-color: #dfecfb; | ||
| 955 | - background-image: url(/images/default/shared/glass-bg.gif); | ||
| 956 | + background-image: url(../../../images/default/shared/glass-bg.gif); | ||
| 957 | } | ||
| 958 | |||
| 959 | .x-date-mp-btns td { | ||
| 960 | @@ -6480,22 +6480,22 @@ | ||
| 961 | |||
| 962 | td.x-date-mp-sel a { | ||
| 963 | background-color: #dfecfb; | ||
| 964 | - background-image: url(/images/default/shared/glass-bg.gif); | ||
| 965 | + background-image: url(../../../images/default/shared/glass-bg.gif); | ||
| 966 | border-color:#97e38d; | ||
| 967 | } | ||
| 968 | |||
| 969 | .x-date-mp-ybtn a { | ||
| 970 | - background-image:url(/images/default/panel/tool-sprites.gif); | ||
| 971 | + background-image:url(../../../images/default/panel/tool-sprites.gif); | ||
| 972 | } | ||
| 973 | |||
| 974 | td.x-date-mp-sep { | ||
| 975 | border-right-color:#c5d2df; | ||
| 976 | }.x-tip .x-tip-close{ | ||
| 977 | - background-image: url(/images/default/qtip/close.gif); | ||
| 978 | + background-image: url(../../../images/default/qtip/close.gif); | ||
| 979 | } | ||
| 980 | |||
| 981 | .x-tip .x-tip-tc, .x-tip .x-tip-tl, .x-tip .x-tip-tr, .x-tip .x-tip-bc, .x-tip .x-tip-bl, .x-tip .x-tip-br, .x-tip .x-tip-ml, .x-tip .x-tip-mr { | ||
| 982 | - background-image: url(/images/default/qtip/tip-sprite.gif); | ||
| 983 | + background-image: url(../../../images/default/qtip/tip-sprite.gif); | ||
| 984 | } | ||
| 985 | |||
| 986 | .x-tip .x-tip-mc { | ||
| 987 | @@ -6518,18 +6518,18 @@ | ||
| 988 | .x-form-invalid-tip .x-tip-tc, .x-form-invalid-tip .x-tip-tl, .x-form-invalid-tip .x-tip-tr, .x-form-invalid-tip .x-tip-bc, | ||
| 989 | .x-form-invalid-tip .x-tip-bl, .x-form-invalid-tip .x-tip-br, .x-form-invalid-tip .x-tip-ml, .x-form-invalid-tip .x-tip-mr | ||
| 990 | { | ||
| 991 | - background-image: url(/images/default/form/error-tip-corners.gif); | ||
| 992 | + background-image: url(../../../images/default/form/error-tip-corners.gif); | ||
| 993 | } | ||
| 994 | |||
| 995 | .x-form-invalid-tip .x-tip-body { | ||
| 996 | - background-image:url(/images/default/form/exclamation.gif); | ||
| 997 | + background-image:url(../../../images/default/form/exclamation.gif); | ||
| 998 | } | ||
| 999 | |||
| 1000 | .x-tip-anchor { | ||
| 1001 | - background-image:url(/images/default/qtip/tip-anchor-sprite.gif); | ||
| 1002 | + background-image:url(../../../images/default/qtip/tip-anchor-sprite.gif); | ||
| 1003 | }.x-menu { | ||
| 1004 | background-color:#f0f0f0; | ||
| 1005 | - background-image:url(/images/default/menu/menu.gif); | ||
| 1006 | + background-image:url(../../../images/default/menu/menu.gif); | ||
| 1007 | } | ||
| 1008 | |||
| 1009 | .x-menu-floating{ | ||
| 1010 | @@ -6545,7 +6545,7 @@ | ||
| 1011 | } | ||
| 1012 | |||
| 1013 | .x-menu-item-arrow{ | ||
| 1014 | - background-image:url(/images/default/menu/menu-parent.gif); | ||
| 1015 | + background-image:url(../../../images/default/menu/menu-parent.gif); | ||
| 1016 | } | ||
| 1017 | |||
| 1018 | .x-menu-sep { | ||
| 1019 | @@ -6558,7 +6558,7 @@ | ||
| 1020 | } | ||
| 1021 | |||
| 1022 | .x-menu-item-active { | ||
| 1023 | - background-image: url(/images/default/menu/item-over.gif); | ||
| 1024 | + background-image: url(../../../images/default/menu/item-over.gif); | ||
| 1025 | background-color: #dbecf4; | ||
| 1026 | border-color:#aaccf6; | ||
| 1027 | } | ||
| 1028 | @@ -6568,15 +6568,15 @@ | ||
| 1029 | } | ||
| 1030 | |||
| 1031 | .x-menu-check-item .x-menu-item-icon{ | ||
| 1032 | - background-image:url(/images/default/menu/unchecked.gif); | ||
| 1033 | + background-image:url(../../../images/default/menu/unchecked.gif); | ||
| 1034 | } | ||
| 1035 | |||
| 1036 | .x-menu-item-checked .x-menu-item-icon{ | ||
| 1037 | - background-image:url(/images/default/menu/checked.gif); | ||
| 1038 | + background-image:url(../../../images/default/menu/checked.gif); | ||
| 1039 | } | ||
| 1040 | |||
| 1041 | .x-menu-item-checked .x-menu-group-item .x-menu-item-icon{ | ||
| 1042 | - background-image:url(/images/default/menu/group-checked.gif); | ||
| 1043 | + background-image:url(../../../images/default/menu/group-checked.gif); | ||
| 1044 | } | ||
| 1045 | |||
| 1046 | .x-menu-group-item .x-menu-item-icon{ | ||
| 1047 | @@ -6597,31 +6597,31 @@ | ||
| 1048 | } | ||
| 1049 | |||
| 1050 | .x-menu-scroller-top { | ||
| 1051 | - background-image:url(/images/default/layout/mini-top.gif); | ||
| 1052 | + background-image:url(../../../images/default/layout/mini-top.gif); | ||
| 1053 | } | ||
| 1054 | |||
| 1055 | .x-menu-scroller-bottom { | ||
| 1056 | - background-image:url(/images/default/layout/mini-bottom.gif); | ||
| 1057 | + background-image:url(../../../images/default/layout/mini-bottom.gif); | ||
| 1058 | } | ||
| 1059 | .x-box-tl { | ||
| 1060 | - background-image: url(/images/default/box/corners.gif); | ||
| 1061 | + background-image: url(../../../images/default/box/corners.gif); | ||
| 1062 | } | ||
| 1063 | |||
| 1064 | .x-box-tc { | ||
| 1065 | - background-image: url(/images/default/box/tb.gif); | ||
| 1066 | + background-image: url(../../../images/default/box/tb.gif); | ||
| 1067 | } | ||
| 1068 | |||
| 1069 | .x-box-tr { | ||
| 1070 | - background-image: url(/images/default/box/corners.gif); | ||
| 1071 | + background-image: url(../../../images/default/box/corners.gif); | ||
| 1072 | } | ||
| 1073 | |||
| 1074 | .x-box-ml { | ||
| 1075 | - background-image: url(/images/default/box/l.gif); | ||
| 1076 | + background-image: url(../../../images/default/box/l.gif); | ||
| 1077 | } | ||
| 1078 | |||
| 1079 | .x-box-mc { | ||
| 1080 | background-color: #eee; | ||
| 1081 | - background-image: url(/images/default/box/tb.gif); | ||
| 1082 | + background-image: url(../../../images/default/box/tb.gif); | ||
| 1083 | font-family: "Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif; | ||
| 1084 | color: #393939; | ||
| 1085 | font-size: 12px; | ||
| 1086 | @@ -6633,27 +6633,27 @@ | ||
| 1087 | } | ||
| 1088 | |||
| 1089 | .x-box-mr { | ||
| 1090 | - background-image: url(/images/default/box/r.gif); | ||
| 1091 | + background-image: url(../../../images/default/box/r.gif); | ||
| 1092 | } | ||
| 1093 | |||
| 1094 | .x-box-bl { | ||
| 1095 | - background-image: url(/images/default/box/corners.gif); | ||
| 1096 | + background-image: url(../../../images/default/box/corners.gif); | ||
| 1097 | } | ||
| 1098 | |||
| 1099 | .x-box-bc { | ||
| 1100 | - background-image: url(/images/default/box/tb.gif); | ||
| 1101 | + background-image: url(../../../images/default/box/tb.gif); | ||
| 1102 | } | ||
| 1103 | |||
| 1104 | .x-box-br { | ||
| 1105 | - background-image: url(/images/default/box/corners.gif); | ||
| 1106 | + background-image: url(../../../images/default/box/corners.gif); | ||
| 1107 | } | ||
| 1108 | |||
| 1109 | .x-box-blue .x-box-bl, .x-box-blue .x-box-br, .x-box-blue .x-box-tl, .x-box-blue .x-box-tr { | ||
| 1110 | - background-image: url(/images/default/box/corners-blue.gif); | ||
| 1111 | + background-image: url(../../../images/default/box/corners-blue.gif); | ||
| 1112 | } | ||
| 1113 | |||
| 1114 | .x-box-blue .x-box-bc, .x-box-blue .x-box-mc, .x-box-blue .x-box-tc { | ||
| 1115 | - background-image: url(/images/default/box/tb-blue.gif); | ||
| 1116 | + background-image: url(../../../images/default/box/tb-blue.gif); | ||
| 1117 | } | ||
| 1118 | |||
| 1119 | .x-box-blue .x-box-mc { | ||
| 1120 | @@ -6665,11 +6665,11 @@ | ||
| 1121 | } | ||
| 1122 | |||
| 1123 | .x-box-blue .x-box-ml { | ||
| 1124 | - background-image: url(/images/default/box/l-blue.gif); | ||
| 1125 | + background-image: url(../../../images/default/box/l-blue.gif); | ||
| 1126 | } | ||
| 1127 | |||
| 1128 | .x-box-blue .x-box-mr { | ||
| 1129 | - background-image: url(/images/default/box/r-blue.gif); | ||
| 1130 | + background-image: url(../../../images/default/box/r-blue.gif); | ||
| 1131 | }#x-debug-browser .x-tree .x-tree-node a span { | ||
| 1132 | color:#229772; | ||
| 1133 | font-size:11px; | ||
| 1134 | @@ -6700,7 +6700,7 @@ | ||
| 1135 | .x-combo-list-hd { | ||
| 1136 | font:bold 11px tahoma, arial, helvetica, sans-serif; | ||
| 1137 | color:#158b76; | ||
| 1138 | - background-image: url(/images/default/layout/panel-title-light-bg.gif); | ||
| 1139 | + background-image: url(../../../images/default/layout/panel-title-light-bg.gif); | ||
| 1140 | border-bottom-color:#98c0f4; | ||
| 1141 | } | ||
| 1142 | |||
| 1143 | @@ -6733,7 +6733,7 @@ | ||
| 1144 | font-size: 11px; | ||
| 1145 | font-family: tahoma,arial,verdana,sans-serif; | ||
| 1146 | border-color:#77DD88; | ||
| 1147 | - background-image: url(/images/default/panel/white-top-bottom.gif); | ||
| 1148 | + background-image: url(../../../images/default/panel/white-top-bottom.gif); | ||
| 1149 | } | ||
| 1150 | |||
| 1151 | .x-panel-body { | ||
| 1152 | @@ -6759,16 +6759,16 @@ | ||
| 1153 | } | ||
| 1154 | |||
| 1155 | .x-panel-tc { | ||
| 1156 | - background-image: url(/images/default/panel/top-bottom.gif); | ||
| 1157 | + background-image: url(../../../images/default/panel/top-bottom.gif); | ||
| 1158 | } | ||
| 1159 | |||
| 1160 | .x-panel-tl, .x-panel-tr, .x-panel-bl, .x-panel-br{ | ||
| 1161 | - background-image: url(/images/default/panel/corners-sprite.gif); | ||
| 1162 | + background-image: url(../../../images/default/panel/corners-sprite.gif); | ||
| 1163 | border-bottom-color:#77dd88; | ||
| 1164 | } | ||
| 1165 | |||
| 1166 | .x-panel-bc { | ||
| 1167 | - background-image: url(/images/default/panel/top-bottom.gif); | ||
| 1168 | + background-image: url(../../../images/default/panel/top-bottom.gif); | ||
| 1169 | } | ||
| 1170 | |||
| 1171 | .x-panel-mc { | ||
| 1172 | @@ -6778,15 +6778,15 @@ | ||
| 1173 | |||
| 1174 | .x-panel-ml { | ||
| 1175 | background-color: #fff; | ||
| 1176 | - background-image:url(/images/default/panel/left-right.gif); | ||
| 1177 | + background-image:url(../../../images/default/panel/left-right.gif); | ||
| 1178 | } | ||
| 1179 | |||
| 1180 | .x-panel-mr { | ||
| 1181 | - background-image: url(/images/default/panel/left-right.gif); | ||
| 1182 | + background-image: url(../../../images/default/panel/left-right.gif); | ||
| 1183 | } | ||
| 1184 | |||
| 1185 | .x-tool { | ||
| 1186 | - background-image:url(/images/default/panel/tool-sprites.gif); | ||
| 1187 | + background-image:url(../../../images/default/panel/tool-sprites.gif); | ||
| 1188 | } | ||
| 1189 | |||
| 1190 | .x-panel-ghost { | ||
| 1191 | @@ -6815,27 +6815,27 @@ | ||
| 1192 | } | ||
| 1193 | |||
| 1194 | .x-window-tc { | ||
| 1195 | - background-image: url(/images/default/window/top-bottom.png); | ||
| 1196 | + background-image: url(../../../images/default/window/top-bottom.png); | ||
| 1197 | } | ||
| 1198 | |||
| 1199 | .x-window-tl { | ||
| 1200 | - background-image: url(/images/default/window/left-corners.png); | ||
| 1201 | + background-image: url(../../../images/default/window/left-corners.png); | ||
| 1202 | } | ||
| 1203 | |||
| 1204 | .x-window-tr { | ||
| 1205 | - background-image: url(/images/default/window/right-corners.png); | ||
| 1206 | + background-image: url(../../../images/default/window/right-corners.png); | ||
| 1207 | } | ||
| 1208 | |||
| 1209 | .x-window-bc { | ||
| 1210 | - background-image: url(/images/default/window/top-bottom.png); | ||
| 1211 | + background-image: url(../../../images/default/window/top-bottom.png); | ||
| 1212 | } | ||
| 1213 | |||
| 1214 | .x-window-bl { | ||
| 1215 | - background-image: url(/images/default/window/left-corners.png); | ||
| 1216 | + background-image: url(../../../images/default/window/left-corners.png); | ||
| 1217 | } | ||
| 1218 | |||
| 1219 | .x-window-br { | ||
| 1220 | - background-image: url(/images/default/window/right-corners.png); | ||
| 1221 | + background-image: url(../../../images/default/window/right-corners.png); | ||
| 1222 | } | ||
| 1223 | |||
| 1224 | .x-window-mc { | ||
| 1225 | @@ -6845,11 +6845,11 @@ | ||
| 1226 | } | ||
| 1227 | |||
| 1228 | .x-window-ml { | ||
| 1229 | - background-image: url(/images/default/window/left-right.png); | ||
| 1230 | + background-image: url(../../../images/default/window/left-right.png); | ||
| 1231 | } | ||
| 1232 | |||
| 1233 | .x-window-mr { | ||
| 1234 | - background-image: url(/images/default/window/left-right.png); | ||
| 1235 | + background-image: url(../../../images/default/window/left-right.png); | ||
| 1236 | } | ||
| 1237 | |||
| 1238 | .x-window-maximized .x-window-tc { | ||
| 1239 | @@ -6888,7 +6888,7 @@ | ||
| 1240 | background-color:#fff; | ||
| 1241 | } | ||
| 1242 | .x-html-editor-tb .x-btn-text { | ||
| 1243 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 1244 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 1245 | }.x-panel-noborder .x-panel-header-noborder { | ||
| 1246 | border-bottom-color:#77dd88; | ||
| 1247 | } | ||
| 1248 | @@ -6914,7 +6914,7 @@ | ||
| 1249 | .x-accordion-hd { | ||
| 1250 | color:#222; | ||
| 1251 | font-weight:normal; | ||
| 1252 | - background-image: url(/images/default/panel/light-hd.gif); | ||
| 1253 | + background-image: url(../../../images/default/panel/light-hd.gif); | ||
| 1254 | } | ||
| 1255 | |||
| 1256 | .x-layout-collapsed{ | ||
| 1257 | @@ -6927,44 +6927,44 @@ | ||
| 1258 | } | ||
| 1259 | |||
| 1260 | .x-layout-split-west .x-layout-mini { | ||
| 1261 | - background-image:url(/images/default/layout/mini-left.gif); | ||
| 1262 | + background-image:url(../../../images/default/layout/mini-left.gif); | ||
| 1263 | } | ||
| 1264 | .x-layout-split-east .x-layout-mini { | ||
| 1265 | - background-image:url(/images/default/layout/mini-right.gif); | ||
| 1266 | + background-image:url(../../../images/default/layout/mini-right.gif); | ||
| 1267 | } | ||
| 1268 | .x-layout-split-north .x-layout-mini { | ||
| 1269 | - background-image:url(/images/default/layout/mini-top.gif); | ||
| 1270 | + background-image:url(../../../images/default/layout/mini-top.gif); | ||
| 1271 | } | ||
| 1272 | .x-layout-split-south .x-layout-mini { | ||
| 1273 | - background-image:url(/images/default/layout/mini-bottom.gif); | ||
| 1274 | + background-image:url(../../../images/default/layout/mini-bottom.gif); | ||
| 1275 | } | ||
| 1276 | |||
| 1277 | .x-layout-cmini-west .x-layout-mini { | ||
| 1278 | - background-image:url(/images/default/layout/mini-right.gif); | ||
| 1279 | + background-image:url(../../../images/default/layout/mini-right.gif); | ||
| 1280 | } | ||
| 1281 | |||
| 1282 | .x-layout-cmini-east .x-layout-mini { | ||
| 1283 | - background-image:url(/images/default/layout/mini-left.gif); | ||
| 1284 | + background-image:url(../../../images/default/layout/mini-left.gif); | ||
| 1285 | } | ||
| 1286 | |||
| 1287 | .x-layout-cmini-north .x-layout-mini { | ||
| 1288 | - background-image:url(/images/default/layout/mini-bottom.gif); | ||
| 1289 | + background-image:url(../../../images/default/layout/mini-bottom.gif); | ||
| 1290 | } | ||
| 1291 | |||
| 1292 | .x-layout-cmini-south .x-layout-mini { | ||
| 1293 | - background-image:url(/images/default/layout/mini-top.gif); | ||
| 1294 | + background-image:url(../../../images/default/layout/mini-top.gif); | ||
| 1295 | }.x-progress-wrap { | ||
| 1296 | border-color:#70a979; | ||
| 1297 | } | ||
| 1298 | |||
| 1299 | .x-progress-inner { | ||
| 1300 | background-color:#e0e8f3; | ||
| 1301 | - background-image:url(/images/default/qtip/bg.gif); | ||
| 1302 | + background-image:url(../../../images/default/qtip/bg.gif); | ||
| 1303 | } | ||
| 1304 | |||
| 1305 | .x-progress-bar { | ||
| 1306 | background-color:#77dd88; | ||
| 1307 | - background-image:url(/images/default/progress/progress-bg.gif); | ||
| 1308 | + background-image:url(../../../images/default/progress/progress-bg.gif); | ||
| 1309 | border-top-color:#77dd88; | ||
| 1310 | border-bottom-color:#77dd88; | ||
| 1311 | border-right-color:#77dd88; | ||
| 1312 | @@ -6980,7 +6980,7 @@ | ||
| 1313 | color:#005138; | ||
| 1314 | }.x-list-header{ | ||
| 1315 | background-color:#f9f9f9; | ||
| 1316 | - background-image:url(/images/default/grid/grid3-hrow.gif); | ||
| 1317 | + background-image:url(../../../images/default/grid/grid3-hrow.gif); | ||
| 1318 | } | ||
| 1319 | |||
| 1320 | .x-list-header-inner div em { | ||
| 1321 | @@ -7006,22 +7006,22 @@ | ||
| 1322 | } | ||
| 1323 | |||
| 1324 | .x-list-header-inner em.sort-asc, .x-list-header-inner em.sort-desc { | ||
| 1325 | - background-image:url(/images/default/grid/sort-hd.gif); | ||
| 1326 | + background-image:url(../../../images/default/grid/sort-hd.gif); | ||
| 1327 | border-color: #77dd88; | ||
| 1328 | }.x-slider-horz, .x-slider-horz .x-slider-end, .x-slider-horz .x-slider-inner { | ||
| 1329 | - background-image:url(/images/default/slider/slider-bg.png); | ||
| 1330 | + background-image:url(../../../images/default/slider/slider-bg.png); | ||
| 1331 | } | ||
| 1332 | |||
| 1333 | .x-slider-horz .x-slider-thumb { | ||
| 1334 | - background-image:url(/images/default/slider/slider-thumb.png); | ||
| 1335 | + background-image:url(../../../images/default/slider/slider-thumb.png); | ||
| 1336 | } | ||
| 1337 | |||
| 1338 | .x-slider-vert, .x-slider-vert .x-slider-end, .x-slider-vert .x-slider-inner { | ||
| 1339 | - background-image:url(/images/default/slider/slider-v-bg.png); | ||
| 1340 | + background-image:url(../../../images/default/slider/slider-v-bg.png); | ||
| 1341 | } | ||
| 1342 | |||
| 1343 | .x-slider-vert .x-slider-thumb { | ||
| 1344 | - background-image:url(/images/default/slider/slider-v-thumb.png); | ||
| 1345 | + background-image:url(../../../images/default/slider/slider-v-thumb.png); | ||
| 1346 | }.x-window-dlg .ext-mb-text, | ||
| 1347 | .x-window-dlg .x-window-header-text { | ||
| 1348 | font-size:12px; | ||
| 1349 | @@ -7032,23 +7032,23 @@ | ||
| 1350 | } | ||
| 1351 | |||
| 1352 | .x-window-dlg .x-msg-box-wait { | ||
| 1353 | - background-image:url(/images/default/grid/loading.gif); | ||
| 1354 | + background-image:url(../../../images/default/grid/loading.gif); | ||
| 1355 | } | ||
| 1356 | |||
| 1357 | .x-window-dlg .ext-mb-info { | ||
| 1358 | - background-image:url(/images/default/window/icon-info.gif); | ||
| 1359 | + background-image:url(../../../images/default/window/icon-info.gif); | ||
| 1360 | } | ||
| 1361 | |||
| 1362 | .x-window-dlg .ext-mb-warning { | ||
| 1363 | - background-image:url(/images/default/window/icon-warning.gif); | ||
| 1364 | + background-image:url(../../../images/default/window/icon-warning.gif); | ||
| 1365 | } | ||
| 1366 | |||
| 1367 | .x-window-dlg .ext-mb-question { | ||
| 1368 | - background-image:url(/images/default/window/icon-question.gif); | ||
| 1369 | + background-image:url(../../../images/default/window/icon-question.gif); | ||
| 1370 | } | ||
| 1371 | |||
| 1372 | .x-window-dlg .ext-mb-error { | ||
| 1373 | - background-image:url(/images/default/window/icon-error.gif); | ||
| 1374 | + background-image:url(../../../images/default/window/icon-error.gif); | ||
| 1375 | } | ||
| 1376 | |||
| 1377 | .x-grid3-cell-inner.x-grid3-col-dsid, | ||
| 1378 | @@ -7064,7 +7064,7 @@ | ||
| 1379 | |||
| 1380 | .zonePanelMenu .x-btn-mc em.x-btn-arrow button | ||
| 1381 | { | ||
| 1382 | - background-image: url(/images/default/panel/tool-sprites.gif); | ||
| 1383 | + background-image: url(../../../images/default/panel/tool-sprites.gif); | ||
| 1384 | background-position: 0px -195px; | ||
| 1385 | width: 15px; | ||
| 1386 | height: 15px; | ||
| 1387 | @@ -7073,7 +7073,7 @@ | ||
| 1388 | |||
| 1389 | .zonePanelMenu.x-btn-over .x-btn-mc em.x-btn-arrow button | ||
| 1390 | { | ||
| 1391 | - background-image: url(/images/default/panel/tool-sprites.gif); | ||
| 1392 | + background-image: url(../../../images/default/panel/tool-sprites.gif); | ||
| 1393 | background-position: -15px -195px; | ||
| 1394 | width: 15px; | ||
| 1395 | height: 15px; | ||
| 1396 | @@ -7122,12 +7122,12 @@ | ||
| 1397 | |||
| 1398 | .x-view-over{ | ||
| 1399 | border:1px solid #dddddd; | ||
| 1400 | - background: #efefef url(/images/default/grid/row-over.gif) repeat-x left top; | ||
| 1401 | + background: #efefef url(../../../images/default/grid/row-over.gif) repeat-x left top; | ||
| 1402 | padding: 4px; | ||
| 1403 | } | ||
| 1404 | |||
| 1405 | .x-view-selected { | ||
| 1406 | - background: #e9ffee url(/images/selected.gif) repeat-x right bottom; | ||
| 1407 | + background: #e9ffee url(../../../images/selected.gif) repeat-x right bottom; | ||
| 1408 | border:1px solid #77DD88; | ||
| 1409 | padding: 4px; | ||
| 1410 | } | ||
| 1411 | @@ -7142,35 +7142,35 @@ | ||
| 1412 | } | ||
| 1413 | |||
| 1414 | .reloadAction { | ||
| 1415 | - background-image: url(/images/refresh.gif) !important; | ||
| 1416 | + background-image: url(../../../images/refresh.gif) !important; | ||
| 1417 | } | ||
| 1418 | |||
| 1419 | .newZoneAction { | ||
| 1420 | - background-image: url(/images/add_zone.gif) !important; | ||
| 1421 | + background-image: url(../../../images/add_zone.gif) !important; | ||
| 1422 | } | ||
| 1423 | |||
| 1424 | .editZoneAction { | ||
| 1425 | - background-image: url(/images/edit.gif) !important; | ||
| 1426 | + background-image: url(../../../images/edit.gif) !important; | ||
| 1427 | } | ||
| 1428 | |||
| 1429 | .sortZoneAction { | ||
| 1430 | - background-image: url(/images/sort.gif) !important; | ||
| 1431 | + background-image: url(../../../images/sort.gif) !important; | ||
| 1432 | } | ||
| 1433 | |||
| 1434 | .editDeviceToolbarIcon { | ||
| 1435 | - background-image: url(/images/edit.gif) !important; | ||
| 1436 | + background-image: url(../../../images/edit.gif) !important; | ||
| 1437 | } | ||
| 1438 | |||
| 1439 | .pingDeviceToolbarIcon { | ||
| 1440 | - background-image: url(/images/application_osx_terminal.png) !important; | ||
| 1441 | + background-image: url(../../../images/application_osx_terminal.png) !important; | ||
| 1442 | } | ||
| 1443 | |||
| 1444 | .removeDeviceToolbarIcon { | ||
| 1445 | - background-image: url(/images/delete.png) !important; | ||
| 1446 | + background-image: url(../../../images/delete.png) !important; | ||
| 1447 | } | ||
| 1448 | |||
| 1449 | .copyToClipboardToolbarIcon { | ||
| 1450 | - background-image: url(/images/copy.gif) !important; | ||
| 1451 | + background-image: url(../../../images/copy.gif) !important; | ||
| 1452 | } | ||
| 1453 | |||
| 1454 | .nonPresentDevice table { | ||
| 1455 | @@ -7179,118 +7179,118 @@ | ||
| 1456 | |||
| 1457 | .isOn | ||
| 1458 | { | ||
| 1459 | - background:url(/images/on.png) center no-repeat !important; | ||
| 1460 | + background:url(../../../images/on.png) center no-repeat !important; | ||
| 1461 | cursor: pointer; | ||
| 1462 | } | ||
| 1463 | |||
| 1464 | .isOff | ||
| 1465 | { | ||
| 1466 | - background:url(/images/off.png) center no-repeat !important; | ||
| 1467 | + background:url(../../../images/off.png) center no-repeat !important; | ||
| 1468 | cursor: pointer; | ||
| 1469 | } | ||
| 1470 | |||
| 1471 | .isLocked | ||
| 1472 | { | ||
| 1473 | - background:url(/images/lock.png) center no-repeat !important; | ||
| 1474 | + background:url(../../../images/lock.png) center no-repeat !important; | ||
| 1475 | cursor: pointer; | ||
| 1476 | } | ||
| 1477 | |||
| 1478 | .isUnlocked | ||
| 1479 | { | ||
| 1480 | - background:url(/images/lock_open.png) center no-repeat !important; | ||
| 1481 | + background:url(../../../images/lock_open.png) center no-repeat !important; | ||
| 1482 | cursor: pointer; | ||
| 1483 | } | ||
| 1484 | |||
| 1485 | .lockDisabled | ||
| 1486 | { | ||
| 1487 | - background:url(/images/lock_grey.png) center no-repeat !important; | ||
| 1488 | + background:url(../../../images/lock_grey.png) center no-repeat !important; | ||
| 1489 | } | ||
| 1490 | |||
| 1491 | .isDisabled | ||
| 1492 | { | ||
| 1493 | - background:url(/images/noff.png) center no-repeat !important; | ||
| 1494 | + background:url(../../../images/noff.png) center no-repeat !important; | ||
| 1495 | } | ||
| 1496 | |||
| 1497 | .blink | ||
| 1498 | { | ||
| 1499 | - background:url(/images/blink.png) center no-repeat !important; | ||
| 1500 | + background:url(../../../images/blink.png) center no-repeat !important; | ||
| 1501 | cursor: pointer; | ||
| 1502 | } | ||
| 1503 | |||
| 1504 | .blinkActive | ||
| 1505 | { | ||
| 1506 | - background:url(/images/blink_active.png) center no-repeat !important; | ||
| 1507 | + background:url(../../../images/blink_active.png) center no-repeat !important; | ||
| 1508 | } | ||
| 1509 | |||
| 1510 | .functionLight | ||
| 1511 | { | ||
| 1512 | - background:url(/images/brick_yellow.png) center no-repeat !important; | ||
| 1513 | + background:url(../../../images/brick_yellow.png) center no-repeat !important; | ||
| 1514 | cursor: pointer; | ||
| 1515 | } | ||
| 1516 | |||
| 1517 | .functionLightDisabled | ||
| 1518 | { | ||
| 1519 | - background:url(/images/brick_yellow.png) center no-repeat !important; | ||
| 1520 | + background:url(../../../images/brick_yellow.png) center no-repeat !important; | ||
| 1521 | } | ||
| 1522 | |||
| 1523 | .functionLightIcon | ||
| 1524 | { | ||
| 1525 | - background-image:url(/images/brick_yellow.png) !important; | ||
| 1526 | + background-image:url(../../../images/brick_yellow.png) !important; | ||
| 1527 | } | ||
| 1528 | |||
| 1529 | .functionShadow | ||
| 1530 | { | ||
| 1531 | - background:url(/images/brick_grey.png) center no-repeat !important; | ||
| 1532 | + background:url(../../../images/brick_grey.png) center no-repeat !important; | ||
| 1533 | cursor: pointer; | ||
| 1534 | } | ||
| 1535 | |||
| 1536 | .functionShadowDisabled | ||
| 1537 | { | ||
| 1538 | - background:url(/images/brick_grey.png) center no-repeat !important; | ||
| 1539 | + background:url(../../../images/brick_grey.png) center no-repeat !important; | ||
| 1540 | } | ||
| 1541 | |||
| 1542 | .functionShadowIcon | ||
| 1543 | { | ||
| 1544 | - background-image:url(/images/brick_grey.png) !important; | ||
| 1545 | + background-image:url(../../../images/brick_grey.png) !important; | ||
| 1546 | } | ||
| 1547 | |||
| 1548 | .functionClimate | ||
| 1549 | { | ||
| 1550 | - background:url(/images/brick_blue.png) center no-repeat !important; | ||
| 1551 | + background:url(../../../images/brick_blue.png) center no-repeat !important; | ||
| 1552 | } | ||
| 1553 | |||
| 1554 | .functionAudio | ||
| 1555 | { | ||
| 1556 | - background:url(/images/brick_cyan.png) center no-repeat !important; | ||
| 1557 | + background:url(../../../images/brick_cyan.png) center no-repeat !important; | ||
| 1558 | } | ||
| 1559 | |||
| 1560 | .functionVideo | ||
| 1561 | { | ||
| 1562 | - background:url(/images/brick_magenta.png) center no-repeat !important; | ||
| 1563 | + background:url(../../../images/brick_magenta.png) center no-repeat !important; | ||
| 1564 | } | ||
| 1565 | |||
| 1566 | .functionSecurity | ||
| 1567 | { | ||
| 1568 | - background:url(/images/brick_red.png) center no-repeat !important; | ||
| 1569 | + background:url(../../../images/brick_red.png) center no-repeat !important; | ||
| 1570 | } | ||
| 1571 | |||
| 1572 | .functionAccess | ||
| 1573 | { | ||
| 1574 | - background:url(/images/brick_green.png) center no-repeat !important; | ||
| 1575 | + background:url(../../../images/brick_green.png) center no-repeat !important; | ||
| 1576 | } | ||
| 1577 | |||
| 1578 | .functionJoker | ||
| 1579 | { | ||
| 1580 | - background:url(/images/brick_darkgrey.png) center no-repeat !important; | ||
| 1581 | + background:url(../../../images/brick_darkgrey.png) center no-repeat !important; | ||
| 1582 | } | ||
| 1583 | |||
| 1584 | .lightbulbOn | ||
| 1585 | { | ||
| 1586 | - background:url(/images/lightbulb.png) center no-repeat !important; | ||
| 1587 | + background:url(../../../images/lightbulb.png) center no-repeat !important; | ||
| 1588 | } | ||
| 1589 | |||
| 1590 | .lightbulbOff | ||
| 1591 | { | ||
| 1592 | - background:url(/images/lightbulb_off.png) center no-repeat !important; | ||
| 1593 | + background:url(../../../images/lightbulb_off.png) center no-repeat !important; | ||
| 1594 | } | ||
| 1595 |
targets/dss11/recipes/dss/dss_0.8.0+0.9.0-alpha2.bb
(12 / 1)
|   | |||
| 3 | 3 | SRC_URI="\ | |
| 4 | 4 | http://developer.digitalstrom.org/download/dss/0.9/pre-releases/dss-0.9.0-alpha2.tar.gz \ | |
| 5 | 5 | file://relative-css-urls.patch \ | |
| 6 | file://0001-Let-JS-GC-free-loggers.patch \ | ||
| 7 | file://0002-Properly-unsubscribe-property-listeners.patch \ | ||
| 8 | file://0003-Deprecate-keepContext.patch \ | ||
| 9 | file://0004-Prevent-destruction-in-callbacks.patch \ | ||
| 10 | file://0005-Print-something-when-cleaning-up-a-script.patch \ | ||
| 11 | file://0006-Call-GC-again.patch \ | ||
| 12 | file://0007-Replaced-ScriptContext-by-a-Wrapper.patch \ | ||
| 13 | file://0008-Expose-info-about-running-scripts-with-properties.patch \ | ||
| 14 | file://0009-Prevent-context-destruction-when-waiting-for-frame.patch \ | ||
| 15 | file://0011-Fixed-assert-that-was-seen-during-the-tests.patch \ | ||
| 16 | file://0012-Better-function-naming.patch \ | ||
| 6 | 17 | " | |
| 7 | 18 | ||
| 8 | 19 | S="${WORKDIR}/dss-0.9.0-alpha2" | |
| 9 | 20 | ||
| 10 | 21 | require dss.inc | |
| 11 | 22 | ||
| 12 | PR = "r1.${INC_PR}" | ||
| 23 | PR = "r2.${INC_PR}" | ||
| 13 | 24 | ||
| 14 | 25 | SRC_URI[md5sum] = "5c2b21d263db87b6ad6ea7b9c35cdea3" | |
| 15 | 26 | SRC_URI[sha256sum] = "5dbf9adf15f084ac995fdaca0e6623b417e1a4996c20a61814afbc47639c1182" |
targets/dss11/recipes/dss/files/relative-css-urls.patch
(0 / 1595)
|   | |||
| 1 | diff -Naur dss-0.9.0-alpha2.orig/data/webroot/js/dss/css/ds_gui.css dss-0.9.0-alpha2/data/webroot/js/dss/css/ds_gui.css | ||
| 2 | --- dss-0.9.0-alpha2.orig/data/webroot/js/dss/css/ds_gui.css 2010-09-06 16:59:22.000000000 +0200 | ||
| 3 | +++ dss-0.9.0-alpha2/data/webroot/js/dss/css/ds_gui.css 2010-09-07 02:24:21.000000000 +0200 | ||
| 4 | @@ -343,7 +343,7 @@ | ||
| 5 | position: absolute; | ||
| 6 | left: 0; | ||
| 7 | top: 0; | ||
| 8 | - background-image:url(/images/default/s.gif); | ||
| 9 | + background-image:url(../../../images/default/s.gif); | ||
| 10 | z-index: 20000; | ||
| 11 | } | ||
| 12 | |||
| 13 | @@ -4727,72 +4727,72 @@ | ||
| 14 | |||
| 15 | .x-html-editor-tb .x-edit-bold, .x-menu-item img.x-edit-bold { | ||
| 16 | background-position:0 0; | ||
| 17 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 18 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 19 | } | ||
| 20 | |||
| 21 | .x-html-editor-tb .x-edit-italic, .x-menu-item img.x-edit-italic { | ||
| 22 | background-position:-16px 0; | ||
| 23 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 24 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 25 | } | ||
| 26 | |||
| 27 | .x-html-editor-tb .x-edit-underline, .x-menu-item img.x-edit-underline { | ||
| 28 | background-position:-32px 0; | ||
| 29 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 30 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 31 | } | ||
| 32 | |||
| 33 | .x-html-editor-tb .x-edit-forecolor, .x-menu-item img.x-edit-forecolor { | ||
| 34 | background-position:-160px 0; | ||
| 35 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 36 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 37 | } | ||
| 38 | |||
| 39 | .x-html-editor-tb .x-edit-backcolor, .x-menu-item img.x-edit-backcolor { | ||
| 40 | background-position:-176px 0; | ||
| 41 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 42 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 43 | } | ||
| 44 | |||
| 45 | .x-html-editor-tb .x-edit-justifyleft, .x-menu-item img.x-edit-justifyleft { | ||
| 46 | background-position:-112px 0; | ||
| 47 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 48 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 49 | } | ||
| 50 | |||
| 51 | .x-html-editor-tb .x-edit-justifycenter, .x-menu-item img.x-edit-justifycenter { | ||
| 52 | background-position:-128px 0; | ||
| 53 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 54 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 55 | } | ||
| 56 | |||
| 57 | .x-html-editor-tb .x-edit-justifyright, .x-menu-item img.x-edit-justifyright { | ||
| 58 | background-position:-144px 0; | ||
| 59 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 60 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 61 | } | ||
| 62 | |||
| 63 | .x-html-editor-tb .x-edit-insertorderedlist, .x-menu-item img.x-edit-insertorderedlist { | ||
| 64 | background-position:-80px 0; | ||
| 65 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 66 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 67 | } | ||
| 68 | |||
| 69 | .x-html-editor-tb .x-edit-insertunorderedlist, .x-menu-item img.x-edit-insertunorderedlist { | ||
| 70 | background-position:-96px 0; | ||
| 71 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 72 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 73 | } | ||
| 74 | |||
| 75 | .x-html-editor-tb .x-edit-increasefontsize, .x-menu-item img.x-edit-increasefontsize { | ||
| 76 | background-position:-48px 0; | ||
| 77 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 78 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 79 | } | ||
| 80 | |||
| 81 | .x-html-editor-tb .x-edit-decreasefontsize, .x-menu-item img.x-edit-decreasefontsize { | ||
| 82 | background-position:-64px 0; | ||
| 83 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 84 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 85 | } | ||
| 86 | |||
| 87 | .x-html-editor-tb .x-edit-sourceedit, .x-menu-item img.x-edit-sourceedit { | ||
| 88 | background-position:-192px 0; | ||
| 89 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 90 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 91 | } | ||
| 92 | |||
| 93 | .x-html-editor-tb .x-edit-createlink, .x-menu-item img.x-edit-createlink { | ||
| 94 | background-position:-208px 0; | ||
| 95 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 96 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 97 | } | ||
| 98 | |||
| 99 | .x-html-editor-tip .x-tip-bd .x-tip-bd-inner { | ||
| 100 | @@ -5002,12 +5002,12 @@ | ||
| 101 | } | ||
| 102 | |||
| 103 | .x-layout-split-h{ | ||
| 104 | - background-image:url(/images/default/s.gif); | ||
| 105 | + background-image:url(../../../images/default/s.gif); | ||
| 106 | background-position: left; | ||
| 107 | } | ||
| 108 | |||
| 109 | .x-layout-split-v{ | ||
| 110 | - background-image:url(/images/default/s.gif); | ||
| 111 | + background-image:url(../../../images/default/s.gif); | ||
| 112 | background-position: top; | ||
| 113 | } | ||
| 114 | |||
| 115 | @@ -5414,7 +5414,7 @@ | ||
| 116 | .ext-el-mask-msg { | ||
| 117 | border-color:#65cf8a; | ||
| 118 | background-color:#c3daf9; | ||
| 119 | - background-image:url(/images/default/box/tb-blue.gif); | ||
| 120 | + background-image:url(../../../images/default/box/tb-blue.gif); | ||
| 121 | } | ||
| 122 | .ext-el-mask-msg div { | ||
| 123 | background-color: #eee; | ||
| 124 | @@ -5425,7 +5425,7 @@ | ||
| 125 | |||
| 126 | .x-mask-loading div { | ||
| 127 | background-color:#fbfbfb; | ||
| 128 | - background-image:url(/images/default/grid/loading.gif); | ||
| 129 | + background-image:url(../../../images/default/grid/loading.gif); | ||
| 130 | } | ||
| 131 | |||
| 132 | .x-item-disabled { | ||
| 133 | @@ -5458,20 +5458,20 @@ | ||
| 134 | } | ||
| 135 | |||
| 136 | .x-shadow .xsmc { | ||
| 137 | - background-image: url(/images/default/shadow-c.png); | ||
| 138 | + background-image: url(../../../images/default/shadow-c.png); | ||
| 139 | } | ||
| 140 | |||
| 141 | .x-shadow .xsml, .x-shadow .xsmr { | ||
| 142 | - background-image: url(/images/default/shadow-lr.png); | ||
| 143 | + background-image: url(../../../images/default/shadow-lr.png); | ||
| 144 | } | ||
| 145 | |||
| 146 | .x-shadow .xstl, .x-shadow .xstc, .x-shadow .xstr, .x-shadow .xsbl, .x-shadow .xsbc, .x-shadow .xsbr{ | ||
| 147 | - background-image: url(/images/default/shadow.png); | ||
| 148 | + background-image: url(../../../images/default/shadow.png); | ||
| 149 | } | ||
| 150 | |||
| 151 | .loading-indicator { | ||
| 152 | font-size: 11px; | ||
| 153 | - background-image: url(/images/default/grid/loading.gif); | ||
| 154 | + background-image: url(../../../images/default/grid/loading.gif); | ||
| 155 | } | ||
| 156 | |||
| 157 | .x-spotlight { | ||
| 158 | @@ -5487,13 +5487,13 @@ | ||
| 159 | |||
| 160 | ul.x-tab-strip-top{ | ||
| 161 | background-color:#ffffff; | ||
| 162 | - /* background-image: url(/images/default/tabs/tab-strip-bg.gif); */ | ||
| 163 | + /* background-image: url(../../../images/default/tabs/tab-strip-bg.gif); */ | ||
| 164 | border-bottom-color:#88EE99; | ||
| 165 | } | ||
| 166 | |||
| 167 | ul.x-tab-strip-bottom{ | ||
| 168 | background-color:#cedff5; | ||
| 169 | - background-image: url(/images/default/tabs/tab-strip-btm-bg.gif); | ||
| 170 | + background-image: url(../../../images/default/tabs/tab-strip-btm-bg.gif); | ||
| 171 | border-top-color:#97e38d; | ||
| 172 | } | ||
| 173 | |||
| 174 | @@ -5522,31 +5522,31 @@ | ||
| 175 | } | ||
| 176 | |||
| 177 | .x-tab-strip-top .x-tab-right, .x-tab-strip-top .x-tab-left, .x-tab-strip-top .x-tab-strip-inner{ | ||
| 178 | - background-image: url(/images/default/tabs/tabs-sprite.gif); | ||
| 179 | + background-image: url(../../../images/default/tabs/tabs-sprite.gif); | ||
| 180 | } | ||
| 181 | |||
| 182 | .x-tab-strip-bottom .x-tab-right { | ||
| 183 | - background-image: url(/images/default/tabs/tab-btm-inactive-right-bg.gif); | ||
| 184 | + background-image: url(../../../images/default/tabs/tab-btm-inactive-right-bg.gif); | ||
| 185 | } | ||
| 186 | |||
| 187 | .x-tab-strip-bottom .x-tab-left { | ||
| 188 | - background-image: url(/images/default/tabs/tab-btm-inactive-left-bg.gif); | ||
| 189 | + background-image: url(../../../images/default/tabs/tab-btm-inactive-left-bg.gif); | ||
| 190 | } | ||
| 191 | |||
| 192 | .x-tab-strip-bottom .x-tab-strip-active .x-tab-right { | ||
| 193 | - background-image: url(/images/default/tabs/tab-btm-right-bg.gif); | ||
| 194 | + background-image: url(../../../images/default/tabs/tab-btm-right-bg.gif); | ||
| 195 | } | ||
| 196 | |||
| 197 | .x-tab-strip-bottom .x-tab-strip-active .x-tab-left { | ||
| 198 | - background-image: url(/images/default/tabs/tab-btm-left-bg.gif); | ||
| 199 | + background-image: url(../../../images/default/tabs/tab-btm-left-bg.gif); | ||
| 200 | } | ||
| 201 | |||
| 202 | .x-tab-strip .x-tab-strip-closable a.x-tab-strip-close { | ||
| 203 | - background-image:url(/images/default/tabs/tab-close.gif); | ||
| 204 | + background-image:url(../../../images/default/tabs/tab-close.gif); | ||
| 205 | } | ||
| 206 | |||
| 207 | .x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{ | ||
| 208 | - background-image:url(/images/default/tabs/tab-close.gif); | ||
| 209 | + background-image:url(../../../images/default/tabs/tab-close.gif); | ||
| 210 | } | ||
| 211 | |||
| 212 | .x-tab-panel-body { | ||
| 213 | @@ -5563,7 +5563,7 @@ | ||
| 214 | } | ||
| 215 | |||
| 216 | .x-tab-scroller-left { | ||
| 217 | - background-image:url(/images/default/tabs/scroll-left.gif); | ||
| 218 | + background-image:url(../../../images/default/tabs/scroll-left.gif); | ||
| 219 | border-bottom-color:#97e38d; | ||
| 220 | } | ||
| 221 | |||
| 222 | @@ -5580,7 +5580,7 @@ | ||
| 223 | } | ||
| 224 | |||
| 225 | .x-tab-scroller-right { | ||
| 226 | - background-image:url(/images/default/tabs/scroll-right.gif); | ||
| 227 | + background-image:url(../../../images/default/tabs/scroll-right.gif); | ||
| 228 | border-bottom-color:#97e38d; | ||
| 229 | } | ||
| 230 | |||
| 231 | @@ -5592,7 +5592,7 @@ | ||
| 232 | |||
| 233 | .x-form-text, textarea.x-form-field{ | ||
| 234 | background-color:#fff; | ||
| 235 | - background-image:url(/images/default/form/text-bg.gif); | ||
| 236 | + background-image:url(../../../images/default/form/text-bg.gif); | ||
| 237 | border-color:#b5b8c8; | ||
| 238 | } | ||
| 239 | |||
| 240 | @@ -5611,20 +5611,20 @@ | ||
| 241 | } | ||
| 242 | |||
| 243 | .x-form-field-wrap .x-form-trigger{ | ||
| 244 | - background-image:url(/images/default/form/trigger.gif); | ||
| 245 | + background-image:url(../../../images/default/form/trigger.gif); | ||
| 246 | border-bottom-color:#b5b8c8; | ||
| 247 | } | ||
| 248 | |||
| 249 | .x-form-field-wrap .x-form-date-trigger{ | ||
| 250 | - background-image: url(/images/default/form/date-trigger.gif); | ||
| 251 | + background-image: url(../../../images/default/form/date-trigger.gif); | ||
| 252 | } | ||
| 253 | |||
| 254 | .x-form-field-wrap .x-form-clear-trigger{ | ||
| 255 | - background-image: url(/images/default/form/clear-trigger.gif); | ||
| 256 | + background-image: url(../../../images/default/form/clear-trigger.gif); | ||
| 257 | } | ||
| 258 | |||
| 259 | .x-form-field-wrap .x-form-search-trigger{ | ||
| 260 | - background-image: url(/images/default/form/search-trigger.gif); | ||
| 261 | + background-image: url(../../../images/default/form/search-trigger.gif); | ||
| 262 | } | ||
| 263 | |||
| 264 | .x-trigger-wrap-focus .x-form-trigger{ | ||
| 265 | @@ -5645,7 +5645,7 @@ | ||
| 266 | |||
| 267 | .x-form-invalid, textarea.x-form-invalid{ | ||
| 268 | background-color:#fff; | ||
| 269 | - background-image:url(/images/default/grid/invalid_line.gif); | ||
| 270 | + background-image:url(../../../images/default/grid/invalid_line.gif); | ||
| 271 | border-color:#c30; | ||
| 272 | } | ||
| 273 | |||
| 274 | @@ -5656,7 +5656,7 @@ | ||
| 275 | |||
| 276 | .x-form-inner-invalid, textarea.x-form-inner-invalid{ | ||
| 277 | background-color:#fff; | ||
| 278 | - background-image:url(/images/default/grid/invalid_line.gif); | ||
| 279 | + background-image:url(../../../images/default/grid/invalid_line.gif); | ||
| 280 | } | ||
| 281 | |||
| 282 | .x-form-grow-sizer { | ||
| 283 | @@ -5670,7 +5670,7 @@ | ||
| 284 | .x-form-invalid-msg { | ||
| 285 | color:#c0272b; | ||
| 286 | font:normal 11px tahoma, arial, helvetica, sans-serif; | ||
| 287 | - background-image:url(/images/default/shared/warning.gif); | ||
| 288 | + background-image:url(../../../images/default/shared/warning.gif); | ||
| 289 | } | ||
| 290 | |||
| 291 | .x-form-empty-field { | ||
| 292 | @@ -5686,7 +5686,7 @@ | ||
| 293 | } | ||
| 294 | |||
| 295 | .x-form-invalid-icon { | ||
| 296 | - background-image:url(/images/default/form/exclamation.gif); | ||
| 297 | + background-image:url(../../../images/default/form/exclamation.gif); | ||
| 298 | } | ||
| 299 | |||
| 300 | .x-fieldset { | ||
| 301 | @@ -5712,7 +5712,7 @@ | ||
| 302 | } | ||
| 303 | |||
| 304 | .x-btn-tl, .x-btn-tr, .x-btn-tc, .x-btn-ml, .x-btn-mr, .x-btn-mc, .x-btn-bl, .x-btn-br, .x-btn-bc{ | ||
| 305 | - background-image:url(/images/default/button/btn.gif); | ||
| 306 | + background-image:url(../../../images/default/button/btn.gif); | ||
| 307 | } | ||
| 308 | |||
| 309 | .x-btn-click .x-btn-text, .x-btn-menu-active .x-btn-text, .x-btn-pressed .x-btn-text{ | ||
| 310 | @@ -5724,27 +5724,27 @@ | ||
| 311 | } | ||
| 312 | |||
| 313 | .x-btn-mc em.x-btn-arrow { | ||
| 314 | - background-image:url(/images/default/button/arrow.gif); | ||
| 315 | + background-image:url(../../../images/default/button/arrow.gif); | ||
| 316 | } | ||
| 317 | |||
| 318 | .x-btn-mc em.x-btn-split { | ||
| 319 | - background-image:url(/images/default/button/s-arrow.gif); | ||
| 320 | + background-image:url(../../../images/default/button/s-arrow.gif); | ||
| 321 | } | ||
| 322 | |||
| 323 | .x-btn-over .x-btn-mc em.x-btn-split, .x-btn-click .x-btn-mc em.x-btn-split, .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-btn-pressed .x-btn-mc em.x-btn-split { | ||
| 324 | - background-image:url(/images/default/button/s-arrow-o.gif); | ||
| 325 | + background-image:url(../../../images/default/button/s-arrow-o.gif); | ||
| 326 | } | ||
| 327 | |||
| 328 | .x-btn-mc em.x-btn-arrow-bottom { | ||
| 329 | - background-image:url(/images/default/button/s-arrow-b-noline.gif); | ||
| 330 | + background-image:url(../../../images/default/button/s-arrow-b-noline.gif); | ||
| 331 | } | ||
| 332 | |||
| 333 | .x-btn-mc em.x-btn-split-bottom { | ||
| 334 | - background-image:url(/images/default/button/s-arrow-b.gif); | ||
| 335 | + background-image:url(../../../images/default/button/s-arrow-b.gif); | ||
| 336 | } | ||
| 337 | |||
| 338 | .x-btn-over .x-btn-mc em.x-btn-split-bottom, .x-btn-click .x-btn-mc em.x-btn-split-bottom, .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, .x-btn-pressed .x-btn-mc em.x-btn-split-bottom { | ||
| 339 | - background-image:url(/images/default/button/s-arrow-bo.gif); | ||
| 340 | + background-image:url(../../../images/default/button/s-arrow-bo.gif); | ||
| 341 | } | ||
| 342 | |||
| 343 | .x-btn-group-header { | ||
| 344 | @@ -5752,42 +5752,42 @@ | ||
| 345 | } | ||
| 346 | |||
| 347 | .x-btn-group-tc { | ||
| 348 | - background-image: url(/images/default/button/group-tb.gif); | ||
| 349 | + background-image: url(../../../images/default/button/group-tb.gif); | ||
| 350 | } | ||
| 351 | |||
| 352 | .x-btn-group-tl { | ||
| 353 | - background-image: url(/images/default/button/group-cs.gif); | ||
| 354 | + background-image: url(../../../images/default/button/group-cs.gif); | ||
| 355 | } | ||
| 356 | |||
| 357 | .x-btn-group-tr { | ||
| 358 | - background-image: url(/images/default/button/group-cs.gif); | ||
| 359 | + background-image: url(../../../images/default/button/group-cs.gif); | ||
| 360 | } | ||
| 361 | |||
| 362 | .x-btn-group-bc { | ||
| 363 | - background-image: url(/images/default/button/group-tb.gif); | ||
| 364 | + background-image: url(../../../images/default/button/group-tb.gif); | ||
| 365 | } | ||
| 366 | |||
| 367 | .x-btn-group-bl { | ||
| 368 | - background-image: url(/images/default/button/group-cs.gif); | ||
| 369 | + background-image: url(../../../images/default/button/group-cs.gif); | ||
| 370 | } | ||
| 371 | |||
| 372 | .x-btn-group-br { | ||
| 373 | - background-image: url(/images/default/button/group-cs.gif); | ||
| 374 | + background-image: url(../../../images/default/button/group-cs.gif); | ||
| 375 | } | ||
| 376 | |||
| 377 | .x-btn-group-ml { | ||
| 378 | - background-image: url(/images/default/button/group-lr.gif); | ||
| 379 | + background-image: url(../../../images/default/button/group-lr.gif); | ||
| 380 | } | ||
| 381 | .x-btn-group-mr { | ||
| 382 | - background-image: url(/images/default/button/group-lr.gif); | ||
| 383 | + background-image: url(../../../images/default/button/group-lr.gif); | ||
| 384 | } | ||
| 385 | |||
| 386 | .x-btn-group-notitle .x-btn-group-tc { | ||
| 387 | - background-image: url(/images/default/button/group-tb.gif); | ||
| 388 | + background-image: url(../../../images/default/button/group-tb.gif); | ||
| 389 | }.x-toolbar{ | ||
| 390 | border-color:#a9bfd3; | ||
| 391 | background-color:#d0def0; | ||
| 392 | - background-image:url(/images/default/toolbar/bg.gif); | ||
| 393 | + background-image:url(../../../images/default/toolbar/bg.gif); | ||
| 394 | } | ||
| 395 | |||
| 396 | .x-toolbar td,.x-toolbar span,.x-toolbar input,.x-toolbar div,.x-toolbar select,.x-toolbar label{ | ||
| 397 | @@ -5803,67 +5803,67 @@ | ||
| 398 | } | ||
| 399 | |||
| 400 | .x-toolbar .x-btn-mc em.x-btn-split { | ||
| 401 | - background-image:url(/images/default/button/s-arrow-noline.gif); | ||
| 402 | + background-image:url(../../../images/default/button/s-arrow-noline.gif); | ||
| 403 | } | ||
| 404 | |||
| 405 | .x-toolbar .x-btn-over .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split, | ||
| 406 | .x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split | ||
| 407 | { | ||
| 408 | - background-image:url(/images/default/button/s-arrow-o.gif); | ||
| 409 | + background-image:url(../../../images/default/button/s-arrow-o.gif); | ||
| 410 | } | ||
| 411 | |||
| 412 | .x-toolbar .x-btn-mc em.x-btn-split-bottom { | ||
| 413 | - background-image:url(/images/default/button/s-arrow-b-noline.gif); | ||
| 414 | + background-image:url(../../../images/default/button/s-arrow-b-noline.gif); | ||
| 415 | } | ||
| 416 | |||
| 417 | .x-toolbar .x-btn-over .x-btn-mc em.x-btn-split-bottom, .x-toolbar .x-btn-click .x-btn-mc em.x-btn-split-bottom, | ||
| 418 | .x-toolbar .x-btn-menu-active .x-btn-mc em.x-btn-split-bottom, .x-toolbar .x-btn-pressed .x-btn-mc em.x-btn-split-bottom | ||
| 419 | { | ||
| 420 | - background-image:url(/images/default/button/s-arrow-bo.gif); | ||
| 421 | + background-image:url(../../../images/default/button/s-arrow-bo.gif); | ||
| 422 | } | ||
| 423 | |||
| 424 | .x-toolbar .xtb-sep { | ||
| 425 | - background-image: url(/images/default/grid/grid-blue-split.gif); | ||
| 426 | + background-image: url(../../../images/default/grid/grid-blue-split.gif); | ||
| 427 | } | ||
| 428 | |||
| 429 | .x-tbar-page-first{ | ||
| 430 | - background-image: url(/images/default/grid/page-first.gif) !important; | ||
| 431 | + background-image: url(../../../images/default/grid/page-first.gif) !important; | ||
| 432 | } | ||
| 433 | |||
| 434 | .x-tbar-loading{ | ||
| 435 | - background-image: url(/images/default/grid/refresh.gif) !important; | ||
| 436 | + background-image: url(../../../images/default/grid/refresh.gif) !important; | ||
| 437 | } | ||
| 438 | |||
| 439 | .x-tbar-page-last{ | ||
| 440 | - background-image: url(/images/default/grid/page-last.gif) !important; | ||
| 441 | + background-image: url(../../../images/default/grid/page-last.gif) !important; | ||
| 442 | } | ||
| 443 | |||
| 444 | .x-tbar-page-next{ | ||
| 445 | - background-image: url(/images/default/grid/page-next.gif) !important; | ||
| 446 | + background-image: url(../../../images/default/grid/page-next.gif) !important; | ||
| 447 | } | ||
| 448 | |||
| 449 | .x-tbar-page-prev{ | ||
| 450 | - background-image: url(/images/default/grid/page-prev.gif) !important; | ||
| 451 | + background-image: url(../../../images/default/grid/page-prev.gif) !important; | ||
| 452 | } | ||
| 453 | |||
| 454 | .x-item-disabled .x-tbar-loading{ | ||
| 455 | - background-image: url(/images/default/grid/loading.gif) !important; | ||
| 456 | + background-image: url(../../../images/default/grid/loading.gif) !important; | ||
| 457 | } | ||
| 458 | |||
| 459 | .x-item-disabled .x-tbar-page-first{ | ||
| 460 | - background-image: url(/images/default/grid/page-first-disabled.gif) !important; | ||
| 461 | + background-image: url(../../../images/default/grid/page-first-disabled.gif) !important; | ||
| 462 | } | ||
| 463 | |||
| 464 | .x-item-disabled .x-tbar-page-last{ | ||
| 465 | - background-image: url(/images/default/grid/page-last-disabled.gif) !important; | ||
| 466 | + background-image: url(../../../images/default/grid/page-last-disabled.gif) !important; | ||
| 467 | } | ||
| 468 | |||
| 469 | .x-item-disabled .x-tbar-page-next{ | ||
| 470 | - background-image: url(/images/default/grid/page-next-disabled.gif) !important; | ||
| 471 | + background-image: url(../../../images/default/grid/page-next-disabled.gif) !important; | ||
| 472 | } | ||
| 473 | |||
| 474 | .x-item-disabled .x-tbar-page-prev{ | ||
| 475 | - background-image: url(/images/default/grid/page-prev-disabled.gif) !important; | ||
| 476 | + background-image: url(../../../images/default/grid/page-prev-disabled.gif) !important; | ||
| 477 | } | ||
| 478 | |||
| 479 | .x-paging-info { | ||
| 480 | @@ -5871,11 +5871,11 @@ | ||
| 481 | } | ||
| 482 | |||
| 483 | .x-toolbar-more-icon { | ||
| 484 | - background-image: url(/images/default/toolbar/more.gif) !important; | ||
| 485 | + background-image: url(../../../images/default/toolbar/more.gif) !important; | ||
| 486 | } | ||
| 487 | |||
| 488 | .x-statusbar .x-status-busy { | ||
| 489 | - background-image: url(/images/default/grid/loading.gif); | ||
| 490 | + background-image: url(../../../images/default/grid/loading.gif); | ||
| 491 | } | ||
| 492 | |||
| 493 | .x-statusbar .x-status-text-panel { | ||
| 494 | @@ -5887,29 +5887,29 @@ | ||
| 495 | .x-resizable-over .x-resizable-handle-east, .x-resizable-pinned .x-resizable-handle-east, | ||
| 496 | .x-resizable-over .x-resizable-handle-west, .x-resizable-pinned .x-resizable-handle-west | ||
| 497 | { | ||
| 498 | - background-image:url(/images/default/sizer/e-handle.gif); | ||
| 499 | + background-image:url(../../../images/default/sizer/e-handle.gif); | ||
| 500 | } | ||
| 501 | |||
| 502 | .x-resizable-over .x-resizable-handle-south, .x-resizable-pinned .x-resizable-handle-south, | ||
| 503 | .x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north | ||
| 504 | { | ||
| 505 | - background-image:url(/images/default/sizer/s-handle.gif); | ||
| 506 | + background-image:url(../../../images/default/sizer/s-handle.gif); | ||
| 507 | } | ||
| 508 | |||
| 509 | .x-resizable-over .x-resizable-handle-north, .x-resizable-pinned .x-resizable-handle-north{ | ||
| 510 | - background-image:url(/images/default/sizer/s-handle.gif); | ||
| 511 | + background-image:url(../../../images/default/sizer/s-handle.gif); | ||
| 512 | } | ||
| 513 | .x-resizable-over .x-resizable-handle-southeast, .x-resizable-pinned .x-resizable-handle-southeast{ | ||
| 514 | - background-image:url(/images/default/sizer/se-handle.gif); | ||
| 515 | + background-image:url(../../../images/default/sizer/se-handle.gif); | ||
| 516 | } | ||
| 517 | .x-resizable-over .x-resizable-handle-northwest, .x-resizable-pinned .x-resizable-handle-northwest{ | ||
| 518 | - background-image:url(/images/default/sizer/nw-handle.gif); | ||
| 519 | + background-image:url(../../../images/default/sizer/nw-handle.gif); | ||
| 520 | } | ||
| 521 | .x-resizable-over .x-resizable-handle-northeast, .x-resizable-pinned .x-resizable-handle-northeast{ | ||
| 522 | - background-image:url(/images/default/sizer/ne-handle.gif); | ||
| 523 | + background-image:url(../../../images/default/sizer/ne-handle.gif); | ||
| 524 | } | ||
| 525 | .x-resizable-over .x-resizable-handle-southwest, .x-resizable-pinned .x-resizable-handle-southwest{ | ||
| 526 | - background-image:url(/images/default/sizer/sw-handle.gif); | ||
| 527 | + background-image:url(../../../images/default/sizer/sw-handle.gif); | ||
| 528 | } | ||
| 529 | .x-resizable-proxy{ | ||
| 530 | border-color:#3b826b; | ||
| 531 | @@ -5936,7 +5936,7 @@ | ||
| 532 | |||
| 533 | .x-grid-row-loading { | ||
| 534 | background-color: #fff; | ||
| 535 | - background-image:url(/images/default/shared/loading-balls.gif); | ||
| 536 | + background-image:url(../../../images/default/shared/loading-balls.gif); | ||
| 537 | } | ||
| 538 | |||
| 539 | .x-grid3-row { | ||
| 540 | @@ -5951,7 +5951,7 @@ | ||
| 541 | .x-grid3-row-over { | ||
| 542 | border-color:#ddd; | ||
| 543 | background-color:#efefef; | ||
| 544 | - background-image:url(/images/default/grid/row-over.gif); | ||
| 545 | + background-image:url(../../../images/default/grid/row-over.gif); | ||
| 546 | } | ||
| 547 | |||
| 548 | .x-grid3-resize-proxy { | ||
| 549 | @@ -5964,7 +5964,7 @@ | ||
| 550 | |||
| 551 | .x-grid3-header{ | ||
| 552 | background-color:#f9f9f9; | ||
| 553 | - background-image:url(/images/default/grid/grid3-hrow.gif); | ||
| 554 | + background-image:url(../../../images/default/grid/grid3-hrow.gif); | ||
| 555 | } | ||
| 556 | |||
| 557 | .x-grid3-header-pop { | ||
| 558 | @@ -5973,7 +5973,7 @@ | ||
| 559 | |||
| 560 | .x-grid3-header-pop-inner { | ||
| 561 | border-left-color:#eee; | ||
| 562 | - background-image:url(/images/default/grid/hd-pop.gif); | ||
| 563 | + background-image:url(../../../images/default/grid/hd-pop.gif); | ||
| 564 | } | ||
| 565 | |||
| 566 | td.x-grid3-hd-over, td.sort-desc, td.sort-asc, td.x-grid3-hd-menu-open { | ||
| 567 | @@ -5983,16 +5983,16 @@ | ||
| 568 | |||
| 569 | td.x-grid3-hd-over .x-grid3-hd-inner, td.sort-desc .x-grid3-hd-inner, td.sort-asc .x-grid3-hd-inner, td.x-grid3-hd-menu-open .x-grid3-hd-inner { | ||
| 570 | background-color:#ededed; | ||
| 571 | - background-image:url(/images/default/grid/grid3-hrow-over.gif); | ||
| 572 | + background-image:url(../../../images/default/grid/grid3-hrow-over.gif); | ||
| 573 | |||
| 574 | } | ||
| 575 | |||
| 576 | .sort-asc .x-grid3-sort-icon { | ||
| 577 | - background-image: url(/images/default/grid/sort_asc.gif); | ||
| 578 | + background-image: url(../../../images/default/grid/sort_asc.gif); | ||
| 579 | } | ||
| 580 | |||
| 581 | .sort-desc .x-grid3-sort-icon { | ||
| 582 | - background-image: url(/images/default/grid/sort_desc.gif); | ||
| 583 | + background-image: url(../../../images/default/grid/sort_desc.gif); | ||
| 584 | } | ||
| 585 | |||
| 586 | .x-grid3-cell-text, .x-grid3-hd-text { | ||
| 587 | @@ -6000,7 +6000,7 @@ | ||
| 588 | } | ||
| 589 | |||
| 590 | .x-grid3-split { | ||
| 591 | - background-image: url(/images/default/grid/grid-split.gif); | ||
| 592 | + background-image: url(../../../images/default/grid/grid-split.gif); | ||
| 593 | } | ||
| 594 | |||
| 595 | .x-grid3-hd-text { | ||
| 596 | @@ -6009,16 +6009,16 @@ | ||
| 597 | |||
| 598 | .x-dd-drag-proxy .x-grid3-hd-inner{ | ||
| 599 | background-color:#ebf3fd; | ||
| 600 | - background-image:url(/images/default/grid/grid3-hrow-over.gif); | ||
| 601 | + background-image:url(../../../images/default/grid/grid3-hrow-over.gif); | ||
| 602 | border-color:#aaccf6; | ||
| 603 | } | ||
| 604 | |||
| 605 | .col-move-top{ | ||
| 606 | - background-image:url(/images/default/grid/col-move-top.gif); | ||
| 607 | + background-image:url(../../../images/default/grid/col-move-top.gif); | ||
| 608 | } | ||
| 609 | |||
| 610 | .col-move-bottom{ | ||
| 611 | - background-image:url(/images/default/grid/col-move-bottom.gif); | ||
| 612 | + background-image:url(../../../images/default/grid/col-move-bottom.gif); | ||
| 613 | } | ||
| 614 | |||
| 615 | .x-grid3-row-selected { | ||
| 616 | @@ -6042,7 +6042,7 @@ | ||
| 617 | |||
| 618 | .x-grid3-locked td.x-grid3-row-marker, .x-grid3-locked .x-grid3-row-selected td.x-grid3-row-marker{ | ||
| 619 | background-color:#ebeadb !important; | ||
| 620 | - background-image:url(/images/default/grid/grid-hrow.gif) !important; | ||
| 621 | + background-image:url(../../../images/default/grid/grid-hrow.gif) !important; | ||
| 622 | color:#000; | ||
| 623 | border-top-color:#fff; | ||
| 624 | border-right-color:#6fa0df !important; | ||
| 625 | @@ -6053,7 +6053,7 @@ | ||
| 626 | } | ||
| 627 | |||
| 628 | .x-grid3-dirty-cell { | ||
| 629 | - background-image:url(/images/default/grid/dirty.gif); | ||
| 630 | + background-image:url(../../../images/default/grid/dirty.gif); | ||
| 631 | } | ||
| 632 | |||
| 633 | .x-grid3-topbar, .x-grid3-bottombar{ | ||
| 634 | @@ -6065,7 +6065,7 @@ | ||
| 635 | } | ||
| 636 | |||
| 637 | .x-props-grid .x-grid3-td-name .x-grid3-cell-inner{ | ||
| 638 | - background-image:url(/images/default/grid/grid3-special-col-bg.gif) !important; | ||
| 639 | + background-image:url(../../../images/default/grid/grid3-special-col-bg.gif) !important; | ||
| 640 | color:#000 !important; | ||
| 641 | } | ||
| 642 | |||
| 643 | @@ -6075,44 +6075,44 @@ | ||
| 644 | } | ||
| 645 | |||
| 646 | .xg-hmenu-sort-asc .x-menu-item-icon{ | ||
| 647 | - background-image: url(/images/default/grid/hmenu-asc.gif); | ||
| 648 | + background-image: url(../../../images/default/grid/hmenu-asc.gif); | ||
| 649 | } | ||
| 650 | |||
| 651 | .xg-hmenu-sort-desc .x-menu-item-icon{ | ||
| 652 | - background-image: url(/images/default/grid/hmenu-desc.gif); | ||
| 653 | + background-image: url(../../../images/default/grid/hmenu-desc.gif); | ||
| 654 | } | ||
| 655 | |||
| 656 | .xg-hmenu-lock .x-menu-item-icon{ | ||
| 657 | - background-image: url(/images/default/grid/hmenu-lock.gif); | ||
| 658 | + background-image: url(../../../images/default/grid/hmenu-lock.gif); | ||
| 659 | } | ||
| 660 | |||
| 661 | .xg-hmenu-unlock .x-menu-item-icon{ | ||
| 662 | - background-image: url(/images/default/grid/hmenu-unlock.gif); | ||
| 663 | + background-image: url(../../../images/default/grid/hmenu-unlock.gif); | ||
| 664 | } | ||
| 665 | |||
| 666 | .x-grid3-hd-btn { | ||
| 667 | background-color:#c3daf9; | ||
| 668 | - background-image:url(/images/default/grid/grid3-hd-btn.gif); | ||
| 669 | + background-image:url(../../../images/default/grid/grid3-hd-btn.gif); | ||
| 670 | } | ||
| 671 | |||
| 672 | .x-grid3-body .x-grid3-td-expander { | ||
| 673 | - background-image:url(/images/default/grid/grid3-special-col-bg.gif); | ||
| 674 | + background-image:url(../../../images/default/grid/grid3-special-col-bg.gif); | ||
| 675 | } | ||
| 676 | |||
| 677 | .x-grid3-row-expander { | ||
| 678 | - background-image:url(/images/default/grid/row-expand-sprite.gif); | ||
| 679 | + background-image:url(../../../images/default/grid/row-expand-sprite.gif); | ||
| 680 | } | ||
| 681 | |||
| 682 | .x-grid3-body .x-grid3-td-checker { | ||
| 683 | - background-image: url(/images/default/grid/grid3-special-col-bg.gif); | ||
| 684 | + background-image: url(../../../images/default/grid/grid3-special-col-bg.gif); | ||
| 685 | } | ||
| 686 | |||
| 687 | .x-grid3-row-checker, .x-grid3-hd-checker { | ||
| 688 | - background-image:url(/images/default/grid/row-check-sprite.gif); | ||
| 689 | + background-image:url(../../../images/default/grid/row-check-sprite.gif); | ||
| 690 | } | ||
| 691 | |||
| 692 | .x-grid3-body .x-grid3-td-numberer { | ||
| 693 | - background-image:url(/images/default/grid/grid3-special-col-bg.gif); | ||
| 694 | + background-image:url(../../../images/default/grid/grid3-special-col-bg.gif); | ||
| 695 | } | ||
| 696 | |||
| 697 | .x-grid3-body .x-grid3-td-numberer .x-grid3-cell-inner { | ||
| 698 | @@ -6120,21 +6120,21 @@ | ||
| 699 | } | ||
| 700 | |||
| 701 | .x-grid3-body .x-grid3-td-row-icon { | ||
| 702 | - background-image:url(/images/default/grid/grid3-special-col-bg.gif); | ||
| 703 | + background-image:url(../../../images/default/grid/grid3-special-col-bg.gif); | ||
| 704 | } | ||
| 705 | |||
| 706 | .x-grid3-body .x-grid3-row-selected .x-grid3-td-numberer, | ||
| 707 | .x-grid3-body .x-grid3-row-selected .x-grid3-td-checker, | ||
| 708 | .x-grid3-body .x-grid3-row-selected .x-grid3-td-expander { | ||
| 709 | - background-image:url(/images/default/grid/grid3-special-col-sel-bg.gif); | ||
| 710 | + background-image:url(../../../images/default/grid/grid3-special-col-sel-bg.gif); | ||
| 711 | } | ||
| 712 | |||
| 713 | .x-grid3-check-col { | ||
| 714 | - background-image:url(/images/default/menu/unchecked.gif); | ||
| 715 | + background-image:url(../../../images/default/menu/unchecked.gif); | ||
| 716 | } | ||
| 717 | |||
| 718 | .x-grid3-check-col-on { | ||
| 719 | - background-image:url(/images/default/menu/checked.gif); | ||
| 720 | + background-image:url(../../../images/default/menu/checked.gif); | ||
| 721 | } | ||
| 722 | |||
| 723 | .x-grid-group, .x-grid-group-body, .x-grid-group-hd { | ||
| 724 | @@ -6146,25 +6146,25 @@ | ||
| 725 | } | ||
| 726 | |||
| 727 | .x-grid-group-hd div.x-grid-group-title { | ||
| 728 | - background-image:url(/images/default/grid/group-collapse.gif); | ||
| 729 | + background-image:url(../../../images/default/grid/group-collapse.gif); | ||
| 730 | color:#37a064; | ||
| 731 | font:bold 11px tahoma, arial, helvetica, sans-serif; | ||
| 732 | } | ||
| 733 | |||
| 734 | .x-grid-group-collapsed .x-grid-group-hd div.x-grid-group-title { | ||
| 735 | - background-image:url(/images/default/grid/group-expand.gif); | ||
| 736 | + background-image:url(../../../images/default/grid/group-expand.gif); | ||
| 737 | } | ||
| 738 | |||
| 739 | .x-group-by-icon { | ||
| 740 | - background-image:url(/images/default/grid/group-by.gif); | ||
| 741 | + background-image:url(../../../images/default/grid/group-by.gif); | ||
| 742 | } | ||
| 743 | |||
| 744 | .x-cols-icon { | ||
| 745 | - background-image:url(/images/default/grid/columns.gif); | ||
| 746 | + background-image:url(../../../images/default/grid/columns.gif); | ||
| 747 | } | ||
| 748 | |||
| 749 | .x-show-groups-icon { | ||
| 750 | - background-image:url(/images/default/grid/group-by.gif); | ||
| 751 | + background-image:url(../../../images/default/grid/group-by.gif); | ||
| 752 | } | ||
| 753 | |||
| 754 | .x-grid-empty { | ||
| 755 | @@ -6190,34 +6190,34 @@ | ||
| 756 | } | ||
| 757 | |||
| 758 | .x-dd-drop-nodrop .x-dd-drop-icon{ | ||
| 759 | - background-image: url(/images/default/dd/drop-no.gif); | ||
| 760 | + background-image: url(../../../images/default/dd/drop-no.gif); | ||
| 761 | } | ||
| 762 | |||
| 763 | .x-dd-drop-ok .x-dd-drop-icon{ | ||
| 764 | - background-image: url(/images/default/dd/drop-yes.gif); | ||
| 765 | + background-image: url(../../../images/default/dd/drop-yes.gif); | ||
| 766 | } | ||
| 767 | |||
| 768 | .x-dd-drop-ok-add .x-dd-drop-icon{ | ||
| 769 | - background-image: url(/images/default/dd/drop-add.gif); | ||
| 770 | + background-image: url(../../../images/default/dd/drop-add.gif); | ||
| 771 | } | ||
| 772 | |||
| 773 | .x-view-selector { | ||
| 774 | background-color:#c3daf9; | ||
| 775 | border-color:#33bb7d; | ||
| 776 | }.x-tree-node-expanded .x-tree-node-icon{ | ||
| 777 | - background-image:url(/images/default/tree/folder-open.gif); | ||
| 778 | + background-image:url(../../../images/default/tree/folder-open.gif); | ||
| 779 | } | ||
| 780 | |||
| 781 | .x-tree-node-leaf .x-tree-node-icon{ | ||
| 782 | - background-image:url(/images/default/tree/leaf.gif); | ||
| 783 | + background-image:url(../../../images/default/tree/leaf.gif); | ||
| 784 | } | ||
| 785 | |||
| 786 | .x-tree-node-collapsed .x-tree-node-icon{ | ||
| 787 | - background-image:url(/images/default/tree/folder.gif); | ||
| 788 | + background-image:url(../../../images/default/tree/folder.gif); | ||
| 789 | } | ||
| 790 | |||
| 791 | .x-tree-node-loading .x-tree-node-icon{ | ||
| 792 | - background-image:url(/images/default/tree/loading.gif) !important; | ||
| 793 | + background-image:url(../../../images/default/tree/loading.gif) !important; | ||
| 794 | } | ||
| 795 | |||
| 796 | .x-tree-node .x-tree-node-inline-icon { | ||
| 797 | @@ -6235,63 +6235,63 @@ | ||
| 798 | } | ||
| 799 | |||
| 800 | .x-tree-lines .x-tree-elbow{ | ||
| 801 | - background-image:url(/images/default/tree/elbow.gif); | ||
| 802 | + background-image:url(../../../images/default/tree/elbow.gif); | ||
| 803 | } | ||
| 804 | |||
| 805 | .x-tree-lines .x-tree-elbow-plus{ | ||
| 806 | - background-image:url(/images/default/tree/elbow-plus.gif); | ||
| 807 | + background-image:url(../../../images/default/tree/elbow-plus.gif); | ||
| 808 | } | ||
| 809 | |||
| 810 | .x-tree-lines .x-tree-elbow-minus{ | ||
| 811 | - background-image:url(/images/default/tree/elbow-minus.gif); | ||
| 812 | + background-image:url(../../../images/default/tree/elbow-minus.gif); | ||
| 813 | } | ||
| 814 | |||
| 815 | .x-tree-lines .x-tree-elbow-end{ | ||
| 816 | - background-image:url(/images/default/tree/elbow-end.gif); | ||
| 817 | + background-image:url(../../../images/default/tree/elbow-end.gif); | ||
| 818 | } | ||
| 819 | |||
| 820 | .x-tree-lines .x-tree-elbow-end-plus{ | ||
| 821 | - background-image:url(/images/default/tree/elbow-end-plus.gif); | ||
| 822 | + background-image:url(../../../images/default/tree/elbow-end-plus.gif); | ||
| 823 | } | ||
| 824 | |||
| 825 | .x-tree-lines .x-tree-elbow-end-minus{ | ||
| 826 | - background-image:url(/images/default/tree/elbow-end-minus.gif); | ||
| 827 | + background-image:url(../../../images/default/tree/elbow-end-minus.gif); | ||
| 828 | } | ||
| 829 | |||
| 830 | .x-tree-lines .x-tree-elbow-line{ | ||
| 831 | - background-image:url(/images/default/tree/elbow-line.gif); | ||
| 832 | + background-image:url(../../../images/default/tree/elbow-line.gif); | ||
| 833 | } | ||
| 834 | |||
| 835 | .x-tree-no-lines .x-tree-elbow-plus{ | ||
| 836 | - background-image:url(/images/default/tree/elbow-plus-nl.gif); | ||
| 837 | + background-image:url(../../../images/default/tree/elbow-plus-nl.gif); | ||
| 838 | } | ||
| 839 | |||
| 840 | .x-tree-no-lines .x-tree-elbow-minus{ | ||
| 841 | - background-image:url(/images/default/tree/elbow-minus-nl.gif); | ||
| 842 | + background-image:url(../../../images/default/tree/elbow-minus-nl.gif); | ||
| 843 | } | ||
| 844 | |||
| 845 | .x-tree-no-lines .x-tree-elbow-end-plus{ | ||
| 846 | - background-image:url(/images/default/tree/elbow-end-plus-nl.gif); | ||
| 847 | + background-image:url(../../../images/default/tree/elbow-end-plus-nl.gif); | ||
| 848 | } | ||
| 849 | |||
| 850 | .x-tree-no-lines .x-tree-elbow-end-minus{ | ||
| 851 | - background-image:url(/images/default/tree/elbow-end-minus-nl.gif); | ||
| 852 | + background-image:url(../../../images/default/tree/elbow-end-minus-nl.gif); | ||
| 853 | } | ||
| 854 | |||
| 855 | .x-tree-arrows .x-tree-elbow-plus{ | ||
| 856 | - background-image:url(/images/default/tree/arrows.gif); | ||
| 857 | + background-image:url(../../../images/default/tree/arrows.gif); | ||
| 858 | } | ||
| 859 | |||
| 860 | .x-tree-arrows .x-tree-elbow-minus{ | ||
| 861 | - background-image:url(/images/default/tree/arrows.gif); | ||
| 862 | + background-image:url(../../../images/default/tree/arrows.gif); | ||
| 863 | } | ||
| 864 | |||
| 865 | .x-tree-arrows .x-tree-elbow-end-plus{ | ||
| 866 | - background-image:url(/images/default/tree/arrows.gif); | ||
| 867 | + background-image:url(../../../images/default/tree/arrows.gif); | ||
| 868 | } | ||
| 869 | |||
| 870 | .x-tree-arrows .x-tree-elbow-end-minus{ | ||
| 871 | - background-image:url(/images/default/tree/arrows.gif); | ||
| 872 | + background-image:url(../../../images/default/tree/arrows.gif); | ||
| 873 | } | ||
| 874 | |||
| 875 | .x-tree-node{ | ||
| 876 | @@ -6341,26 +6341,26 @@ | ||
| 877 | } | ||
| 878 | |||
| 879 | .x-tree-drop-ok-append .x-dd-drop-icon{ | ||
| 880 | - background-image: url(/images/default/tree/drop-add.gif); | ||
| 881 | + background-image: url(../../../images/default/tree/drop-add.gif); | ||
| 882 | } | ||
| 883 | |||
| 884 | .x-tree-drop-ok-above .x-dd-drop-icon{ | ||
| 885 | - background-image: url(/images/default/tree/drop-over.gif); | ||
| 886 | + background-image: url(../../../images/default/tree/drop-over.gif); | ||
| 887 | } | ||
| 888 | |||
| 889 | .x-tree-drop-ok-below .x-dd-drop-icon{ | ||
| 890 | - background-image: url(/images/default/tree/drop-under.gif); | ||
| 891 | + background-image: url(../../../images/default/tree/drop-under.gif); | ||
| 892 | } | ||
| 893 | |||
| 894 | .x-tree-drop-ok-between .x-dd-drop-icon{ | ||
| 895 | - background-image: url(/images/default/tree/drop-between.gif); | ||
| 896 | + background-image: url(../../../images/default/tree/drop-between.gif); | ||
| 897 | }.x-date-picker { | ||
| 898 | border-color: #1b6c5e; | ||
| 899 | background-color:#fff; | ||
| 900 | } | ||
| 901 | |||
| 902 | .x-date-middle,.x-date-left,.x-date-right { | ||
| 903 | - background-image: url(/images/default/shared/hd-sprite.gif); | ||
| 904 | + background-image: url(../../../images/default/shared/hd-sprite.gif); | ||
| 905 | color:#fff; | ||
| 906 | font:bold 11px "sans serif", tahoma, verdana, helvetica; | ||
| 907 | } | ||
| 908 | @@ -6370,20 +6370,20 @@ | ||
| 909 | } | ||
| 910 | |||
| 911 | .x-date-middle .x-btn-mc em.x-btn-arrow { | ||
| 912 | - background-image:url(/images/default/toolbar/btn-arrow-light.gif); | ||
| 913 | + background-image:url(../../../images/default/toolbar/btn-arrow-light.gif); | ||
| 914 | } | ||
| 915 | |||
| 916 | .x-date-right a { | ||
| 917 | - background-image: url(/images/default/shared/right-btn.gif); | ||
| 918 | + background-image: url(../../../images/default/shared/right-btn.gif); | ||
| 919 | } | ||
| 920 | |||
| 921 | .x-date-left a{ | ||
| 922 | - background-image: url(/images/default/shared/left-btn.gif); | ||
| 923 | + background-image: url(../../../images/default/shared/left-btn.gif); | ||
| 924 | } | ||
| 925 | |||
| 926 | .x-date-inner th { | ||
| 927 | background-color:#dfecfb; | ||
| 928 | - background-image:url(/images/default/shared/glass-bg.gif); | ||
| 929 | + background-image:url(../../../images/default/shared/glass-bg.gif); | ||
| 930 | border-bottom-color:#a3bad9; | ||
| 931 | font:normal 10px arial, helvetica,tahoma,sans-serif; | ||
| 932 | color:#236d5c; | ||
| 933 | @@ -6404,7 +6404,7 @@ | ||
| 934 | |||
| 935 | .x-date-inner .x-date-selected a{ | ||
| 936 | background-color:#dfecfb; | ||
| 937 | - background-image:url(/images/default/shared/glass-bg.gif); | ||
| 938 | + background-image:url(../../../images/default/shared/glass-bg.gif); | ||
| 939 | border-color:#97e38d; | ||
| 940 | } | ||
| 941 | |||
| 942 | @@ -6423,7 +6423,7 @@ | ||
| 943 | .x-date-bottom { | ||
| 944 | border-top-color:#a3bad9; | ||
| 945 | background-color:#dfecfb; | ||
| 946 | - background-image:url(/images/default/shared/glass-bg.gif); | ||
| 947 | + background-image:url(../../../images/default/shared/glass-bg.gif); | ||
| 948 | } | ||
| 949 | |||
| 950 | .x-date-inner a:hover, .x-date-inner .x-date-disabled a:hover{ | ||
| 951 | @@ -6462,7 +6462,7 @@ | ||
| 952 | |||
| 953 | .x-date-mp-btns { | ||
| 954 | background-color: #dfecfb; | ||
| 955 | - background-image: url(/images/default/shared/glass-bg.gif); | ||
| 956 | + background-image: url(../../../images/default/shared/glass-bg.gif); | ||
| 957 | } | ||
| 958 | |||
| 959 | .x-date-mp-btns td { | ||
| 960 | @@ -6480,22 +6480,22 @@ | ||
| 961 | |||
| 962 | td.x-date-mp-sel a { | ||
| 963 | background-color: #dfecfb; | ||
| 964 | - background-image: url(/images/default/shared/glass-bg.gif); | ||
| 965 | + background-image: url(../../../images/default/shared/glass-bg.gif); | ||
| 966 | border-color:#97e38d; | ||
| 967 | } | ||
| 968 | |||
| 969 | .x-date-mp-ybtn a { | ||
| 970 | - background-image:url(/images/default/panel/tool-sprites.gif); | ||
| 971 | + background-image:url(../../../images/default/panel/tool-sprites.gif); | ||
| 972 | } | ||
| 973 | |||
| 974 | td.x-date-mp-sep { | ||
| 975 | border-right-color:#c5d2df; | ||
| 976 | }.x-tip .x-tip-close{ | ||
| 977 | - background-image: url(/images/default/qtip/close.gif); | ||
| 978 | + background-image: url(../../../images/default/qtip/close.gif); | ||
| 979 | } | ||
| 980 | |||
| 981 | .x-tip .x-tip-tc, .x-tip .x-tip-tl, .x-tip .x-tip-tr, .x-tip .x-tip-bc, .x-tip .x-tip-bl, .x-tip .x-tip-br, .x-tip .x-tip-ml, .x-tip .x-tip-mr { | ||
| 982 | - background-image: url(/images/default/qtip/tip-sprite.gif); | ||
| 983 | + background-image: url(../../../images/default/qtip/tip-sprite.gif); | ||
| 984 | } | ||
| 985 | |||
| 986 | .x-tip .x-tip-mc { | ||
| 987 | @@ -6518,18 +6518,18 @@ | ||
| 988 | .x-form-invalid-tip .x-tip-tc, .x-form-invalid-tip .x-tip-tl, .x-form-invalid-tip .x-tip-tr, .x-form-invalid-tip .x-tip-bc, | ||
| 989 | .x-form-invalid-tip .x-tip-bl, .x-form-invalid-tip .x-tip-br, .x-form-invalid-tip .x-tip-ml, .x-form-invalid-tip .x-tip-mr | ||
| 990 | { | ||
| 991 | - background-image: url(/images/default/form/error-tip-corners.gif); | ||
| 992 | + background-image: url(../../../images/default/form/error-tip-corners.gif); | ||
| 993 | } | ||
| 994 | |||
| 995 | .x-form-invalid-tip .x-tip-body { | ||
| 996 | - background-image:url(/images/default/form/exclamation.gif); | ||
| 997 | + background-image:url(../../../images/default/form/exclamation.gif); | ||
| 998 | } | ||
| 999 | |||
| 1000 | .x-tip-anchor { | ||
| 1001 | - background-image:url(/images/default/qtip/tip-anchor-sprite.gif); | ||
| 1002 | + background-image:url(../../../images/default/qtip/tip-anchor-sprite.gif); | ||
| 1003 | }.x-menu { | ||
| 1004 | background-color:#f0f0f0; | ||
| 1005 | - background-image:url(/images/default/menu/menu.gif); | ||
| 1006 | + background-image:url(../../../images/default/menu/menu.gif); | ||
| 1007 | } | ||
| 1008 | |||
| 1009 | .x-menu-floating{ | ||
| 1010 | @@ -6545,7 +6545,7 @@ | ||
| 1011 | } | ||
| 1012 | |||
| 1013 | .x-menu-item-arrow{ | ||
| 1014 | - background-image:url(/images/default/menu/menu-parent.gif); | ||
| 1015 | + background-image:url(../../../images/default/menu/menu-parent.gif); | ||
| 1016 | } | ||
| 1017 | |||
| 1018 | .x-menu-sep { | ||
| 1019 | @@ -6558,7 +6558,7 @@ | ||
| 1020 | } | ||
| 1021 | |||
| 1022 | .x-menu-item-active { | ||
| 1023 | - background-image: url(/images/default/menu/item-over.gif); | ||
| 1024 | + background-image: url(../../../images/default/menu/item-over.gif); | ||
| 1025 | background-color: #dbecf4; | ||
| 1026 | border-color:#aaccf6; | ||
| 1027 | } | ||
| 1028 | @@ -6568,15 +6568,15 @@ | ||
| 1029 | } | ||
| 1030 | |||
| 1031 | .x-menu-check-item .x-menu-item-icon{ | ||
| 1032 | - background-image:url(/images/default/menu/unchecked.gif); | ||
| 1033 | + background-image:url(../../../images/default/menu/unchecked.gif); | ||
| 1034 | } | ||
| 1035 | |||
| 1036 | .x-menu-item-checked .x-menu-item-icon{ | ||
| 1037 | - background-image:url(/images/default/menu/checked.gif); | ||
| 1038 | + background-image:url(../../../images/default/menu/checked.gif); | ||
| 1039 | } | ||
| 1040 | |||
| 1041 | .x-menu-item-checked .x-menu-group-item .x-menu-item-icon{ | ||
| 1042 | - background-image:url(/images/default/menu/group-checked.gif); | ||
| 1043 | + background-image:url(../../../images/default/menu/group-checked.gif); | ||
| 1044 | } | ||
| 1045 | |||
| 1046 | .x-menu-group-item .x-menu-item-icon{ | ||
| 1047 | @@ -6597,31 +6597,31 @@ | ||
| 1048 | } | ||
| 1049 | |||
| 1050 | .x-menu-scroller-top { | ||
| 1051 | - background-image:url(/images/default/layout/mini-top.gif); | ||
| 1052 | + background-image:url(../../../images/default/layout/mini-top.gif); | ||
| 1053 | } | ||
| 1054 | |||
| 1055 | .x-menu-scroller-bottom { | ||
| 1056 | - background-image:url(/images/default/layout/mini-bottom.gif); | ||
| 1057 | + background-image:url(../../../images/default/layout/mini-bottom.gif); | ||
| 1058 | } | ||
| 1059 | .x-box-tl { | ||
| 1060 | - background-image: url(/images/default/box/corners.gif); | ||
| 1061 | + background-image: url(../../../images/default/box/corners.gif); | ||
| 1062 | } | ||
| 1063 | |||
| 1064 | .x-box-tc { | ||
| 1065 | - background-image: url(/images/default/box/tb.gif); | ||
| 1066 | + background-image: url(../../../images/default/box/tb.gif); | ||
| 1067 | } | ||
| 1068 | |||
| 1069 | .x-box-tr { | ||
| 1070 | - background-image: url(/images/default/box/corners.gif); | ||
| 1071 | + background-image: url(../../../images/default/box/corners.gif); | ||
| 1072 | } | ||
| 1073 | |||
| 1074 | .x-box-ml { | ||
| 1075 | - background-image: url(/images/default/box/l.gif); | ||
| 1076 | + background-image: url(../../../images/default/box/l.gif); | ||
| 1077 | } | ||
| 1078 | |||
| 1079 | .x-box-mc { | ||
| 1080 | background-color: #eee; | ||
| 1081 | - background-image: url(/images/default/box/tb.gif); | ||
| 1082 | + background-image: url(../../../images/default/box/tb.gif); | ||
| 1083 | font-family: "Myriad Pro","Myriad Web","Tahoma","Helvetica","Arial",sans-serif; | ||
| 1084 | color: #393939; | ||
| 1085 | font-size: 12px; | ||
| 1086 | @@ -6633,27 +6633,27 @@ | ||
| 1087 | } | ||
| 1088 | |||
| 1089 | .x-box-mr { | ||
| 1090 | - background-image: url(/images/default/box/r.gif); | ||
| 1091 | + background-image: url(../../../images/default/box/r.gif); | ||
| 1092 | } | ||
| 1093 | |||
| 1094 | .x-box-bl { | ||
| 1095 | - background-image: url(/images/default/box/corners.gif); | ||
| 1096 | + background-image: url(../../../images/default/box/corners.gif); | ||
| 1097 | } | ||
| 1098 | |||
| 1099 | .x-box-bc { | ||
| 1100 | - background-image: url(/images/default/box/tb.gif); | ||
| 1101 | + background-image: url(../../../images/default/box/tb.gif); | ||
| 1102 | } | ||
| 1103 | |||
| 1104 | .x-box-br { | ||
| 1105 | - background-image: url(/images/default/box/corners.gif); | ||
| 1106 | + background-image: url(../../../images/default/box/corners.gif); | ||
| 1107 | } | ||
| 1108 | |||
| 1109 | .x-box-blue .x-box-bl, .x-box-blue .x-box-br, .x-box-blue .x-box-tl, .x-box-blue .x-box-tr { | ||
| 1110 | - background-image: url(/images/default/box/corners-blue.gif); | ||
| 1111 | + background-image: url(../../../images/default/box/corners-blue.gif); | ||
| 1112 | } | ||
| 1113 | |||
| 1114 | .x-box-blue .x-box-bc, .x-box-blue .x-box-mc, .x-box-blue .x-box-tc { | ||
| 1115 | - background-image: url(/images/default/box/tb-blue.gif); | ||
| 1116 | + background-image: url(../../../images/default/box/tb-blue.gif); | ||
| 1117 | } | ||
| 1118 | |||
| 1119 | .x-box-blue .x-box-mc { | ||
| 1120 | @@ -6665,11 +6665,11 @@ | ||
| 1121 | } | ||
| 1122 | |||
| 1123 | .x-box-blue .x-box-ml { | ||
| 1124 | - background-image: url(/images/default/box/l-blue.gif); | ||
| 1125 | + background-image: url(../../../images/default/box/l-blue.gif); | ||
| 1126 | } | ||
| 1127 | |||
| 1128 | .x-box-blue .x-box-mr { | ||
| 1129 | - background-image: url(/images/default/box/r-blue.gif); | ||
| 1130 | + background-image: url(../../../images/default/box/r-blue.gif); | ||
| 1131 | }#x-debug-browser .x-tree .x-tree-node a span { | ||
| 1132 | color:#229772; | ||
| 1133 | font-size:11px; | ||
| 1134 | @@ -6700,7 +6700,7 @@ | ||
| 1135 | .x-combo-list-hd { | ||
| 1136 | font:bold 11px tahoma, arial, helvetica, sans-serif; | ||
| 1137 | color:#158b76; | ||
| 1138 | - background-image: url(/images/default/layout/panel-title-light-bg.gif); | ||
| 1139 | + background-image: url(../../../images/default/layout/panel-title-light-bg.gif); | ||
| 1140 | border-bottom-color:#98c0f4; | ||
| 1141 | } | ||
| 1142 | |||
| 1143 | @@ -6733,7 +6733,7 @@ | ||
| 1144 | font-size: 11px; | ||
| 1145 | font-family: tahoma,arial,verdana,sans-serif; | ||
| 1146 | border-color:#77DD88; | ||
| 1147 | - background-image: url(/images/default/panel/white-top-bottom.gif); | ||
| 1148 | + background-image: url(../../../images/default/panel/white-top-bottom.gif); | ||
| 1149 | } | ||
| 1150 | |||
| 1151 | .x-panel-body { | ||
| 1152 | @@ -6759,16 +6759,16 @@ | ||
| 1153 | } | ||
| 1154 | |||
| 1155 | .x-panel-tc { | ||
| 1156 | - background-image: url(/images/default/panel/top-bottom.gif); | ||
| 1157 | + background-image: url(../../../images/default/panel/top-bottom.gif); | ||
| 1158 | } | ||
| 1159 | |||
| 1160 | .x-panel-tl, .x-panel-tr, .x-panel-bl, .x-panel-br{ | ||
| 1161 | - background-image: url(/images/default/panel/corners-sprite.gif); | ||
| 1162 | + background-image: url(../../../images/default/panel/corners-sprite.gif); | ||
| 1163 | border-bottom-color:#77dd88; | ||
| 1164 | } | ||
| 1165 | |||
| 1166 | .x-panel-bc { | ||
| 1167 | - background-image: url(/images/default/panel/top-bottom.gif); | ||
| 1168 | + background-image: url(../../../images/default/panel/top-bottom.gif); | ||
| 1169 | } | ||
| 1170 | |||
| 1171 | .x-panel-mc { | ||
| 1172 | @@ -6778,15 +6778,15 @@ | ||
| 1173 | |||
| 1174 | .x-panel-ml { | ||
| 1175 | background-color: #fff; | ||
| 1176 | - background-image:url(/images/default/panel/left-right.gif); | ||
| 1177 | + background-image:url(../../../images/default/panel/left-right.gif); | ||
| 1178 | } | ||
| 1179 | |||
| 1180 | .x-panel-mr { | ||
| 1181 | - background-image: url(/images/default/panel/left-right.gif); | ||
| 1182 | + background-image: url(../../../images/default/panel/left-right.gif); | ||
| 1183 | } | ||
| 1184 | |||
| 1185 | .x-tool { | ||
| 1186 | - background-image:url(/images/default/panel/tool-sprites.gif); | ||
| 1187 | + background-image:url(../../../images/default/panel/tool-sprites.gif); | ||
| 1188 | } | ||
| 1189 | |||
| 1190 | .x-panel-ghost { | ||
| 1191 | @@ -6815,27 +6815,27 @@ | ||
| 1192 | } | ||
| 1193 | |||
| 1194 | .x-window-tc { | ||
| 1195 | - background-image: url(/images/default/window/top-bottom.png); | ||
| 1196 | + background-image: url(../../../images/default/window/top-bottom.png); | ||
| 1197 | } | ||
| 1198 | |||
| 1199 | .x-window-tl { | ||
| 1200 | - background-image: url(/images/default/window/left-corners.png); | ||
| 1201 | + background-image: url(../../../images/default/window/left-corners.png); | ||
| 1202 | } | ||
| 1203 | |||
| 1204 | .x-window-tr { | ||
| 1205 | - background-image: url(/images/default/window/right-corners.png); | ||
| 1206 | + background-image: url(../../../images/default/window/right-corners.png); | ||
| 1207 | } | ||
| 1208 | |||
| 1209 | .x-window-bc { | ||
| 1210 | - background-image: url(/images/default/window/top-bottom.png); | ||
| 1211 | + background-image: url(../../../images/default/window/top-bottom.png); | ||
| 1212 | } | ||
| 1213 | |||
| 1214 | .x-window-bl { | ||
| 1215 | - background-image: url(/images/default/window/left-corners.png); | ||
| 1216 | + background-image: url(../../../images/default/window/left-corners.png); | ||
| 1217 | } | ||
| 1218 | |||
| 1219 | .x-window-br { | ||
| 1220 | - background-image: url(/images/default/window/right-corners.png); | ||
| 1221 | + background-image: url(../../../images/default/window/right-corners.png); | ||
| 1222 | } | ||
| 1223 | |||
| 1224 | .x-window-mc { | ||
| 1225 | @@ -6845,11 +6845,11 @@ | ||
| 1226 | } | ||
| 1227 | |||
| 1228 | .x-window-ml { | ||
| 1229 | - background-image: url(/images/default/window/left-right.png); | ||
| 1230 | + background-image: url(../../../images/default/window/left-right.png); | ||
| 1231 | } | ||
| 1232 | |||
| 1233 | .x-window-mr { | ||
| 1234 | - background-image: url(/images/default/window/left-right.png); | ||
| 1235 | + background-image: url(../../../images/default/window/left-right.png); | ||
| 1236 | } | ||
| 1237 | |||
| 1238 | .x-window-maximized .x-window-tc { | ||
| 1239 | @@ -6888,7 +6888,7 @@ | ||
| 1240 | background-color:#fff; | ||
| 1241 | } | ||
| 1242 | .x-html-editor-tb .x-btn-text { | ||
| 1243 | - background-image:url(/images/default/editor/tb-sprite.gif); | ||
| 1244 | + background-image:url(../../../images/default/editor/tb-sprite.gif); | ||
| 1245 | }.x-panel-noborder .x-panel-header-noborder { | ||
| 1246 | border-bottom-color:#77dd88; | ||
| 1247 | } | ||
| 1248 | @@ -6914,7 +6914,7 @@ | ||
| 1249 | .x-accordion-hd { | ||
| 1250 | color:#222; | ||
| 1251 | font-weight:normal; | ||
| 1252 | - background-image: url(/images/default/panel/light-hd.gif); | ||
| 1253 | + background-image: url(../../../images/default/panel/light-hd.gif); | ||
| 1254 | } | ||
| 1255 | |||
| 1256 | .x-layout-collapsed{ | ||
| 1257 | @@ -6927,44 +6927,44 @@ | ||
| 1258 | } | ||
| 1259 | |||
| 1260 | .x-layout-split-west .x-layout-mini { | ||
| 1261 | - background-image:url(/images/default/layout/mini-left.gif); | ||
| 1262 | + background-image:url(../../../images/default/layout/mini-left.gif); | ||
| 1263 | } | ||
| 1264 | .x-layout-split-east .x-layout-mini { | ||
| 1265 | - background-image:url(/images/default/layout/mini-right.gif); | ||
| 1266 | + background-image:url(../../../images/default/layout/mini-right.gif); | ||
| 1267 | } | ||
| 1268 | .x-layout-split-north .x-layout-mini { | ||
| 1269 | - background-image:url(/images/default/layout/mini-top.gif); | ||
| 1270 | + background-image:url(../../../images/default/layout/mini-top.gif); | ||
| 1271 | } | ||
| 1272 | .x-layout-split-south .x-layout-mini { | ||
| 1273 | - background-image:url(/images/default/layout/mini-bottom.gif); | ||
| 1274 | + background-image:url(../../../images/default/layout/mini-bottom.gif); | ||
| 1275 | } | ||
| 1276 | |||
| 1277 | .x-layout-cmini-west .x-layout-mini { | ||
| 1278 | - background-image:url(/images/default/layout/mini-right.gif); | ||
| 1279 | + background-image:url(../../../images/default/layout/mini-right.gif); | ||
| 1280 | } | ||
| 1281 | |||
| 1282 | .x-layout-cmini-east .x-layout-mini { | ||
| 1283 | - background-image:url(/images/default/layout/mini-left.gif); | ||
| 1284 | + background-image:url(../../../images/default/layout/mini-left.gif); | ||
| 1285 | } | ||
| 1286 | |||
| 1287 | .x-layout-cmini-north .x-layout-mini { | ||
| 1288 | - background-image:url(/images/default/layout/mini-bottom.gif); | ||
| 1289 | + background-image:url(../../../images/default/layout/mini-bottom.gif); | ||
| 1290 | } | ||
| 1291 | |||
| 1292 | .x-layout-cmini-south .x-layout-mini { | ||
| 1293 | - background-image:url(/images/default/layout/mini-top.gif); | ||
| 1294 | + background-image:url(../../../images/default/layout/mini-top.gif); | ||
| 1295 | }.x-progress-wrap { | ||
| 1296 | border-color:#70a979; | ||
| 1297 | } | ||
| 1298 | |||
| 1299 | .x-progress-inner { | ||
| 1300 | background-color:#e0e8f3; | ||
| 1301 | - background-image:url(/images/default/qtip/bg.gif); | ||
| 1302 | + background-image:url(../../../images/default/qtip/bg.gif); | ||
| 1303 | } | ||
| 1304 | |||
| 1305 | .x-progress-bar { | ||
| 1306 | background-color:#77dd88; | ||
| 1307 | - background-image:url(/images/default/progress/progress-bg.gif); | ||
| 1308 | + background-image:url(../../../images/default/progress/progress-bg.gif); | ||
| 1309 | border-top-color:#77dd88; | ||
| 1310 | border-bottom-color:#77dd88; | ||
| 1311 | border-right-color:#77dd88; | ||
| 1312 | @@ -6980,7 +6980,7 @@ | ||
| 1313 | color:#005138; | ||
| 1314 | }.x-list-header{ | ||
| 1315 | background-color:#f9f9f9; | ||
| 1316 | - background-image:url(/images/default/grid/grid3-hrow.gif); | ||
| 1317 | + background-image:url(../../../images/default/grid/grid3-hrow.gif); | ||
| 1318 | } | ||
| 1319 | |||
| 1320 | .x-list-header-inner div em { | ||
| 1321 | @@ -7006,22 +7006,22 @@ | ||
| 1322 | } | ||
| 1323 | |||
| 1324 | .x-list-header-inner em.sort-asc, .x-list-header-inner em.sort-desc { | ||
| 1325 | - background-image:url(/images/default/grid/sort-hd.gif); | ||
| 1326 | + background-image:url(../../../images/default/grid/sort-hd.gif); | ||
| 1327 | border-color: #77dd88; | ||
| 1328 | }.x-slider-horz, .x-slider-horz .x-slider-end, .x-slider-horz .x-slider-inner { | ||
| 1329 | - background-image:url(/images/default/slider/slider-bg.png); | ||
| 1330 | + background-image:url(../../../images/default/slider/slider-bg.png); | ||
| 1331 | } | ||
| 1332 | |||
| 1333 | .x-slider-horz .x-slider-thumb { | ||
| 1334 | - background-image:url(/images/default/slider/slider-thumb.png); | ||
| 1335 | + background-image:url(../../../images/default/slider/slider-thumb.png); | ||
| 1336 | } | ||
| 1337 | |||
| 1338 | .x-slider-vert, .x-slider-vert .x-slider-end, .x-slider-vert .x-slider-inner { | ||
| 1339 | - background-image:url(/images/default/slider/slider-v-bg.png); | ||
| 1340 | + background-image:url(../../../images/default/slider/slider-v-bg.png); | ||
| 1341 | } | ||
| 1342 | |||
| 1343 | .x-slider-vert .x-slider-thumb { | ||
| 1344 | - background-image:url(/images/default/slider/slider-v-thumb.png); | ||
| 1345 | + background-image:url(../../../images/default/slider/slider-v-thumb.png); | ||
| 1346 | }.x-window-dlg .ext-mb-text, | ||
| 1347 | .x-window-dlg .x-window-header-text { | ||
| 1348 | font-size:12px; | ||
| 1349 | @@ -7032,23 +7032,23 @@ | ||
| 1350 | } | ||
| 1351 | |||
| 1352 | .x-window-dlg .x-msg-box-wait { | ||
| 1353 | - background-image:url(/images/default/grid/loading.gif); | ||
| 1354 | + background-image:url(../../../images/default/grid/loading.gif); | ||
| 1355 | } | ||
| 1356 | |||
| 1357 | .x-window-dlg .ext-mb-info { | ||
| 1358 | - background-image:url(/images/default/window/icon-info.gif); | ||
| 1359 | + background-image:url(../../../images/default/window/icon-info.gif); | ||
| 1360 | } | ||
| 1361 | |||
| 1362 | .x-window-dlg .ext-mb-warning { | ||
| 1363 | - background-image:url(/images/default/window/icon-warning.gif); | ||
| 1364 | + background-image:url(../../../images/default/window/icon-warning.gif); | ||
| 1365 | } | ||
| 1366 | |||
| 1367 | .x-window-dlg .ext-mb-question { | ||
| 1368 | - background-image:url(/images/default/window/icon-question.gif); | ||
| 1369 | + background-image:url(../../../images/default/window/icon-question.gif); | ||
| 1370 | } | ||
| 1371 | |||
| 1372 | .x-window-dlg .ext-mb-error { | ||
| 1373 | - background-image:url(/images/default/window/icon-error.gif); | ||
| 1374 | + background-image:url(../../../images/default/window/icon-error.gif); | ||
| 1375 | } | ||
| 1376 | |||
| 1377 | .x-grid3-cell-inner.x-grid3-col-dsid, | ||
| 1378 | @@ -7064,7 +7064,7 @@ | ||
| 1379 | |||
| 1380 | .zonePanelMenu .x-btn-mc em.x-btn-arrow button | ||
| 1381 | { | ||
| 1382 | - background-image: url(/images/default/panel/tool-sprites.gif); | ||
| 1383 | + background-image: url(../../../images/default/panel/tool-sprites.gif); | ||
| 1384 | background-position: 0px -195px; | ||
| 1385 | width: 15px; | ||
| 1386 | height: 15px; | ||
| 1387 | @@ -7073,7 +7073,7 @@ | ||
| 1388 | |||
| 1389 | .zonePanelMenu.x-btn-over .x-btn-mc em.x-btn-arrow button | ||
| 1390 | { | ||
| 1391 | - background-image: url(/images/default/panel/tool-sprites.gif); | ||
| 1392 | + background-image: url(../../../images/default/panel/tool-sprites.gif); | ||
| 1393 | background-position: -15px -195px; | ||
| 1394 | width: 15px; | ||
| 1395 | height: 15px; | ||
| 1396 | @@ -7122,12 +7122,12 @@ | ||
| 1397 | |||
| 1398 | .x-view-over{ | ||
| 1399 | border:1px solid #dddddd; | ||
| 1400 | - background: #efefef url(/images/default/grid/row-over.gif) repeat-x left top; | ||
| 1401 | + background: #efefef url(../../../images/default/grid/row-over.gif) repeat-x left top; | ||
| 1402 | padding: 4px; | ||
| 1403 | } | ||
| 1404 | |||
| 1405 | .x-view-selected { | ||
| 1406 | - background: #e9ffee url(/images/selected.gif) repeat-x right bottom; | ||
| 1407 | + background: #e9ffee url(../../../images/selected.gif) repeat-x right bottom; | ||
| 1408 | border:1px solid #77DD88; | ||
| 1409 | padding: 4px; | ||
| 1410 | } | ||
| 1411 | @@ -7142,35 +7142,35 @@ | ||
| 1412 | } | ||
| 1413 | |||
| 1414 | .reloadAction { | ||
| 1415 | - background-image: url(/images/refresh.gif) !important; | ||
| 1416 | + background-image: url(../../../images/refresh.gif) !important; | ||
| 1417 | } | ||
| 1418 | |||
| 1419 | .newZoneAction { | ||
| 1420 | - background-image: url(/images/add_zone.gif) !important; | ||
| 1421 | + background-image: url(../../../images/add_zone.gif) !important; | ||
| 1422 | } | ||
| 1423 | |||
| 1424 | .editZoneAction { | ||
| 1425 | - background-image: url(/images/edit.gif) !important; | ||
| 1426 | + background-image: url(../../../images/edit.gif) !important; | ||
| 1427 | } | ||
| 1428 | |||
| 1429 | .sortZoneAction { | ||
| 1430 | - background-image: url(/images/sort.gif) !important; | ||
| 1431 | + background-image: url(../../../images/sort.gif) !important; | ||
| 1432 | } | ||
| 1433 | |||
| 1434 | .editDeviceToolbarIcon { | ||
| 1435 | - background-image: url(/images/edit.gif) !important; | ||
| 1436 | + background-image: url(../../../images/edit.gif) !important; | ||
| 1437 | } | ||
| 1438 | |||
| 1439 | .pingDeviceToolbarIcon { | ||
| 1440 | - background-image: url(/images/application_osx_terminal.png) !important; | ||
| 1441 | + background-image: url(../../../images/application_osx_terminal.png) !important; | ||
| 1442 | } | ||
| 1443 | |||
| 1444 | .removeDeviceToolbarIcon { | ||
| 1445 | - background-image: url(/images/delete.png) !important; | ||
| 1446 | + background-image: url(../../../images/delete.png) !important; | ||
| 1447 | } | ||
| 1448 | |||
| 1449 | .copyToClipboardToolbarIcon { | ||
| 1450 | - background-image: url(/images/copy.gif) !important; | ||
| 1451 | + background-image: url(../../../images/copy.gif) !important; | ||
| 1452 | } | ||
| 1453 | |||
| 1454 | .nonPresentDevice table { | ||
| 1455 | @@ -7179,118 +7179,118 @@ | ||
| 1456 | |||
| 1457 | .isOn | ||
| 1458 | { | ||
| 1459 | - background:url(/images/on.png) center no-repeat !important; | ||
| 1460 | + background:url(../../../images/on.png) center no-repeat !important; | ||
| 1461 | cursor: pointer; | ||
| 1462 | } | ||
| 1463 | |||
| 1464 | .isOff | ||
| 1465 | { | ||
| 1466 | - background:url(/images/off.png) center no-repeat !important; | ||
| 1467 | + background:url(../../../images/off.png) center no-repeat !important; | ||
| 1468 | cursor: pointer; | ||
| 1469 | } | ||
| 1470 | |||
| 1471 | .isLocked | ||
| 1472 | { | ||
| 1473 | - background:url(/images/lock.png) center no-repeat !important; | ||
| 1474 | + background:url(../../../images/lock.png) center no-repeat !important; | ||
| 1475 | cursor: pointer; | ||
| 1476 | } | ||
| 1477 | |||
| 1478 | .isUnlocked | ||
| 1479 | { | ||
| 1480 | - background:url(/images/lock_open.png) center no-repeat !important; | ||
| 1481 | + background:url(../../../images/lock_open.png) center no-repeat !important; | ||
| 1482 | cursor: pointer; | ||
| 1483 | } | ||
| 1484 | |||
| 1485 | .lockDisabled | ||
| 1486 | { | ||
| 1487 | - background:url(/images/lock_grey.png) center no-repeat !important; | ||
| 1488 | + background:url(../../../images/lock_grey.png) center no-repeat !important; | ||
| 1489 | } | ||
| 1490 | |||
| 1491 | .isDisabled | ||
| 1492 | { | ||
| 1493 | - background:url(/images/noff.png) center no-repeat !important; | ||
| 1494 | + background:url(../../../images/noff.png) center no-repeat !important; | ||
| 1495 | } | ||
| 1496 | |||
| 1497 | .blink | ||
| 1498 | { | ||
| 1499 | - background:url(/images/blink.png) center no-repeat !important; | ||
| 1500 | + background:url(../../../images/blink.png) center no-repeat !important; | ||
| 1501 | cursor: pointer; | ||
| 1502 | } | ||
| 1503 | |||
| 1504 | .blinkActive | ||
| 1505 | { | ||
| 1506 | - background:url(/images/blink_active.png) center no-repeat !important; | ||
| 1507 | + background:url(../../../images/blink_active.png) center no-repeat !important; | ||
| 1508 | } | ||
| 1509 | |||
| 1510 | .functionLight | ||
| 1511 | { | ||
| 1512 | - background:url(/images/brick_yellow.png) center no-repeat !important; | ||
| 1513 | + background:url(../../../images/brick_yellow.png) center no-repeat !important; | ||
| 1514 | cursor: pointer; | ||
| 1515 | } | ||
| 1516 | |||
| 1517 | .functionLightDisabled | ||
| 1518 | { | ||
| 1519 | - background:url(/images/brick_yellow.png) center no-repeat !important; | ||
| 1520 | + background:url(../../../images/brick_yellow.png) center no-repeat !important; | ||
| 1521 | } | ||
| 1522 | |||
| 1523 | .functionLightIcon | ||
| 1524 | { | ||
| 1525 | - background-image:url(/images/brick_yellow.png) !important; | ||
| 1526 | + background-image:url(../../../images/brick_yellow.png) !important; | ||
| 1527 | } | ||
| 1528 | |||
| 1529 | .functionShadow | ||
| 1530 | { | ||
| 1531 | - background:url(/images/brick_grey.png) center no-repeat !important; | ||
| 1532 | + background:url(../../../images/brick_grey.png) center no-repeat !important; | ||
| 1533 | cursor: pointer; | ||
| 1534 | } | ||
| 1535 | |||
| 1536 | .functionShadowDisabled | ||
| 1537 | { | ||
| 1538 | - background:url(/images/brick_grey.png) center no-repeat !important; | ||
| 1539 | + background:url(../../../images/brick_grey.png) center no-repeat !important; | ||
| 1540 | } | ||
| 1541 | |||
| 1542 | .functionShadowIcon | ||
| 1543 | { | ||
| 1544 | - background-image:url(/images/brick_grey.png) !important; | ||
| 1545 | + background-image:url(../../../images/brick_grey.png) !important; | ||
| 1546 | } | ||
| 1547 | |||
| 1548 | .functionClimate | ||
| 1549 | { | ||
| 1550 | - background:url(/images/brick_blue.png) center no-repeat !important; | ||
| 1551 | + background:url(../../../images/brick_blue.png) center no-repeat !important; | ||
| 1552 | } | ||
| 1553 | |||
| 1554 | .functionAudio | ||
| 1555 | { | ||
| 1556 | - background:url(/images/brick_cyan.png) center no-repeat !important; | ||
| 1557 | + background:url(../../../images/brick_cyan.png) center no-repeat !important; | ||
| 1558 | } | ||
| 1559 | |||
| 1560 | .functionVideo | ||
| 1561 | { | ||
| 1562 | - background:url(/images/brick_magenta.png) center no-repeat !important; | ||
| 1563 | + background:url(../../../images/brick_magenta.png) center no-repeat !important; | ||
| 1564 | } | ||
| 1565 | |||
| 1566 | .functionSecurity | ||
| 1567 | { | ||
| 1568 | - background:url(/images/brick_red.png) center no-repeat !important; | ||
| 1569 | + background:url(../../../images/brick_red.png) center no-repeat !important; | ||
| 1570 | } | ||
| 1571 | |||
| 1572 | .functionAccess | ||
| 1573 | { | ||
| 1574 | - background:url(/images/brick_green.png) center no-repeat !important; | ||
| 1575 | + background:url(../../../images/brick_green.png) center no-repeat !important; | ||
| 1576 | } | ||
| 1577 | |||
| 1578 | .functionJoker | ||
| 1579 | { | ||
| 1580 | - background:url(/images/brick_darkgrey.png) center no-repeat !important; | ||
| 1581 | + background:url(../../../images/brick_darkgrey.png) center no-repeat !important; | ||
| 1582 | } | ||
| 1583 | |||
| 1584 | .lightbulbOn | ||
| 1585 | { | ||
| 1586 | - background:url(/images/lightbulb.png) center no-repeat !important; | ||
| 1587 | + background:url(../../../images/lightbulb.png) center no-repeat !important; | ||
| 1588 | } | ||
| 1589 | |||
| 1590 | .lightbulbOff | ||
| 1591 | { | ||
| 1592 | - background:url(/images/lightbulb_off.png) center no-repeat !important; | ||
| 1593 | + background:url(../../../images/lightbulb_off.png) center no-repeat !important; | ||
| 1594 | } | ||
| 1595 |

