X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fwebdeveloper%2Ftools.js;fp=doc%2Fwebdeveloper%2Ftools.js;h=e6114e6bd72d323f24fc17736185c1afa0b38202;hb=c3b0deb3d8c9f439739c79806e915c29bc1d4b84;hp=0000000000000000000000000000000000000000;hpb=cff6539539a79e014f6ac8df46716cafce2c8472;p=pompage.git diff --git a/doc/webdeveloper/tools.js b/doc/webdeveloper/tools.js new file mode 100644 index 0000000..e6114e6 --- /dev/null +++ b/doc/webdeveloper/tools.js @@ -0,0 +1,162 @@ +// Loads the given application with the given URL +function webdeveloper_loadApplicationWithURL(application, url) +{ + // If the application and URL are set + if(application && url) + { + application = new WebDeveloperApplication(application); + + application.launchWithURL(url); + } +} + +// Opens the DOM Inspector +function webdeveloper_openDOMInspector() +{ + // If the DOM Inspector is available + if(webdeveloper_isDOMInspectorAvailable()) + { + // If the open DOM Inspector in dashboard preference is set to true + if(webdeveloper_getBooleanPreference("webdeveloper.dom.inspector.dashboard", true)) + { + var domInspector = document.getElementById("webdeveloper-string-bundle").getString("webdeveloper_domInspector"); + + // If the DOM inspector is already open in the dashboard + if(webdeveloper_isOpenInDashboard(domInspector)) + { + webdeveloper_closeInDashboard(domInspector); + } + else + { + webdeveloper_openInDashboard(domInspector, "chrome://inspector/content/sidebar.xul"); + window.setTimeout(BrowserReload, 1000); + } + } + else + { + inspectDOMDocument(webdeveloper_getContentDocument()); + } + } + else + { + window.openDialog("chrome://webdeveloper/content/message/message.xul", "webdeveloper-message-dialog", "centerscreen,chrome,modal", document.getElementById("webdeveloper-string-bundle").getString("webdeveloper_domInspectorRequired"), "http://chrispederick.com/work/web-developer/documentation/faq/#dom-inspector"); + } +} + +// Opens the Java Console +function webdeveloper_openJavaConsole() +{ + Components.classes["@mozilla.org/oji/jvm-mgr;1"].getService(Components.interfaces.nsIJVMManager).showJavaConsole(); +} + +// Updates the tools menu +function webdeveloper_updateToolsMenu(menu, suffix) +{ + var bookmarklet = null; + var bookmarkletPreference = null; + var description = null; + var descriptionPreference = null; + var key = null; + var menuItem = null; + var path = null; + var separator = null; + var stringBundle = document.getElementById("webdeveloper-string-bundle"); + var toolPreference = null; + var toolsCount = webdeveloper_getIntegerPreference("webdeveloper.tool.count", true); + var toolsSeparator = menu.getElementsByAttribute("id", "webdeveloper-tools-separator1-" + suffix)[0]; + var url = null; + + webdeveloper_removeGeneratedMenuItems(menu); + + // Loop through the possible tools + for(var i = 1; i <= toolsCount; i++) + { + bookmarklet = "webdeveloper.tool." + i + ".bookmarklet"; + description = "webdeveloper.tool." + i + ".description"; + key = "webdeveloper.tool." + i + ".key"; + path = "webdeveloper.tool." + i + ".path"; + separator = "webdeveloper.tool." + i + ".separator"; + url = "webdeveloper.tool." + i + ".url"; + + // If the separator preference is set + if(webdeveloper_getBooleanPreference(separator, true)) + { + menuItem = document.createElement("menuseparator"); + menuItem.setAttribute("class", "webdeveloper-generated-menu"); + menu.insertBefore(menuItem, toolsSeparator); + } + else if(webdeveloper_isPreferenceSet(description) && (webdeveloper_isPreferenceSet(bookmarklet) || webdeveloper_isPreferenceSet(path) || webdeveloper_isPreferenceSet(url))) + { + descriptionPreference = webdeveloper_getStringPreference(description, true); + + // If the description is not blank + if(descriptionPreference != "") + { + menuItem = document.createElement("menuitem"); + + menuItem.setAttribute("class", "webdeveloper-generated-menu"); + menuItem.setAttribute("label", descriptionPreference); + + // If the bookmarklet preference is set + if(webdeveloper_getStringPreference(bookmarklet, true)) + { + menuItem.setAttribute("oncommand", "webdeveloper_runBookmarklet('" + encodeURIComponent(webdeveloper_getStringPreference(bookmarklet, true)).replace(new RegExp("'", "gi"), "\\'") + "')"); + } + else if(webdeveloper_getStringPreference(path, true)) + { + menuItem.setAttribute("oncommand", "webdeveloper_loadApplicationWithURL('" + webdeveloper_getStringPreference(path, true).replace(/\\/gi, "\\\\") + "', getBrowser().currentURI.spec)"); + } + else + { + menuItem.setAttribute("oncommand", "webdeveloper_loadURL('" + webdeveloper_getStringPreference(url, true) + "' + encodeURIComponent(getBrowser().currentURI.spec))"); + } + + // If the key preference is set + if(webdeveloper_isPreferenceSet(key)) + { + menuItem.setAttribute("key", key); + } + + menu.insertBefore(menuItem, toolsSeparator); + } + } + } + + menuItem = document.getElementById("webdeveloper-dom-inspector-" + suffix); + + // If the menu exists + if(menuItem) + { + // If the DOM Inspector is not available + if(!webdeveloper_isDOMInspectorAvailable()) + { + menuItem.setAttribute("class", "menuitem-iconic"); + } + else if(menuItem.hasAttribute("class")) + { + menuItem.removeAttribute("class"); + } + } + + webdeveloper_configureElement(document.getElementById("webdeveloper-dom-inspector-" + suffix), "checked", webdeveloper_isOpenInDashboard(stringBundle.getString("webdeveloper_domInspector"))); + webdeveloper_configureElement(document.getElementById("webdeveloper-display-page-validation-" + suffix), "checked", !document.getElementById("webdeveloper-page-validation-toolbar").hidden); + webdeveloper_configureElement(document.getElementById("webdeveloper-error-console-" + suffix), "checked", webdeveloper_isOpenInDashboard(stringBundle.getString("webdeveloper_errorConsole"))); +} + +// Validates a local HTML file for accessibility +function webdeveloper_validateLocalAccessibility() +{ + new WebDeveloperValidateAccessibility().validateAccessibility(getBrowser().currentURI); +} + +// Validates local CSS +function webdeveloper_validateLocalCSS() +{ + new WebDeveloperValidateCSS().validateCSS(getBrowser().currentURI, webdeveloper_getDocuments(webdeveloper_getContentWindow())); +} + +// Validates a local HTML file +function webdeveloper_validateLocalHTML() +{ + new WebDeveloperValidateHTML().validateHTML(getBrowser().currentURI); +} \ No newline at end of file