From af34add63c5322bffd53f5990a9823a664b21e3b Mon Sep 17 00:00:00 2001 From: Thijs Wenker Date: Tue, 7 Apr 2015 17:39:50 +0200 Subject: [PATCH] added example for the new Scripts functions: example\misc\scriptsExample.js --- examples/example/misc/scriptsExample.js | 41 +++++++++++++++++++ .../scripting/ScriptsScriptingInterface.cpp | 4 +- 2 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 examples/example/misc/scriptsExample.js diff --git a/examples/example/misc/scriptsExample.js b/examples/example/misc/scriptsExample.js new file mode 100644 index 0000000000..1ffeaa30c4 --- /dev/null +++ b/examples/example/misc/scriptsExample.js @@ -0,0 +1,41 @@ +// +// scriptsExample.js +// examples/example/misc +// +// Created by Thijs Wenker on 7 Apr 2015 +// Copyright 2015 High Fidelity, Inc. +// +// Outputs the running, public and local scripts to the console. +// +// Distributed under the Apache License, Version 2.0. +// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html +// + +var runningScripts = Scripts.getRunning(); +print("Running Scripts:"); +for (var i = 0; i < runningScripts.length; i++) { + print(" - " + runningScripts[i].name + (runningScripts[i].local ? "[Local]" : "") + " {" + runningScripts[i].url + "}"); +} + +var localScripts = Scripts.getLocal(); +print("Local Scripts:"); +for (var i = 0; i < localScripts.length; i++) { + print(" - " + localScripts[i].name + " {" + localScripts[i].path + "}"); +} + +// recursive function to walk through all folders in public scripts +// adding 2 spaces to the prefix per depth level +function displayPublicScriptFolder(nodes, prefix) { + for (var i = 0; i < nodes.length; i++) { + if (nodes[i].type == "folder") { + print(prefix + "<" + nodes[i].name + ">"); + displayPublicScriptFolder(nodes[i].children, " " + prefix); + continue; + } + print(prefix + nodes[i].name + " {" + nodes[i].url + "}"); + } +} + +var publicScripts = Scripts.getPublic(); +print("Public Scripts:"); +displayPublicScriptFolder(publicScripts, " - "); \ No newline at end of file diff --git a/interface/src/scripting/ScriptsScriptingInterface.cpp b/interface/src/scripting/ScriptsScriptingInterface.cpp index 72a0807bce..7cf02fd27b 100644 --- a/interface/src/scripting/ScriptsScriptingInterface.cpp +++ b/interface/src/scripting/ScriptsScriptingInterface.cpp @@ -29,7 +29,7 @@ QVariantList ScriptsScriptingInterface::getRunning() { } QVariantMap resultNode; resultNode.insert("name", runningScriptURL.fileName()); - resultNode.insert("path", runningScriptURL.toDisplayString(QUrl::FormattingOptions(QUrl::FullyEncoded))); + resultNode.insert("url", runningScriptURL.toDisplayString(QUrl::FormattingOptions(QUrl::FullyEncoded))); resultNode.insert("local", runningScriptURL.isLocalFile()); result.append(resultNode); } @@ -62,7 +62,7 @@ QVariantList ScriptsScriptingInterface::getPublicChildNodes(TreeNodeFolder* pare QVariantMap resultNode; resultNode.insert("name", node->getName()); resultNode.insert("type", "script"); - resultNode.insert("path", script->getFullPath()); + resultNode.insert("url", script->getFullPath()); result.append(resultNode); } return result;