263 lines
8.3 KiB
HTML
263 lines
8.3 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>Methods | SuperCollider Help</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
|
|
<link rel='stylesheet' href='../scdoc.css' type='text/css' />
|
|
<link rel='stylesheet' href='../custom.css' type='text/css' />
|
|
<script src="../lib/jquery.min.js"></script>
|
|
<script>
|
|
var scdoc_title = "Methods";
|
|
var scdoc_sc_version = "";
|
|
</script>
|
|
<script src="../docmap.js" type="text/javascript"></script>
|
|
<script src="../scdoc.js" type="text/javascript"></script>
|
|
<noscript>
|
|
<p>The method index needs JavaScript.
|
|
</noscript>
|
|
|
|
<script type="text/javascript">
|
|
var methods;
|
|
var subclassCache = {};
|
|
|
|
function buildMethodList() {
|
|
methods = {};
|
|
for(var k in docmap) {
|
|
var doc = docmap[k];
|
|
var mets = doc.methods;
|
|
if(mets) {
|
|
for(var j=0;j<mets.length;j++) {
|
|
var m = mets[j];
|
|
var mname = m.slice(2);
|
|
var pfx = m[1];
|
|
var undoc = m[0]=="?";
|
|
if(!methods.hasOwnProperty(mname))
|
|
methods[mname] = [];
|
|
methods[mname].push({doc:doc,pfx:pfx,undoc:undoc});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function getSubClasses(doc) {
|
|
var a = [];
|
|
if(doc.subclasses) {
|
|
for(var i=0;i<doc.subclasses.length;i++) {
|
|
var x = doc.subclasses[i];
|
|
var v = docmap["Classes/"+x];
|
|
a.push(x);
|
|
if(v)
|
|
a = a.concat(getSubClasses(v));
|
|
}
|
|
}
|
|
return a;
|
|
}
|
|
|
|
function showMethod(mname, node) {
|
|
var div = document.createElement("div");
|
|
div.className = "method_item";
|
|
var x = document.createElement("div");
|
|
x.className = "method_name";
|
|
x.appendChild(document.createTextNode(mname));
|
|
div.appendChild(x);
|
|
|
|
var x = methods[mname].sort(function(a,b) {
|
|
a = a.pfx + a.doc.title;
|
|
b = b.pfx + b.doc.title;
|
|
if(a<b) return -1;
|
|
else
|
|
if(a>b) return +1;
|
|
else
|
|
return 0;
|
|
});
|
|
|
|
for(var i=0;i<x.length;i++) {
|
|
var m = x[i];
|
|
var v = m.doc;
|
|
|
|
var div2 = document.createElement("div");
|
|
div2.className = "method_doc";
|
|
div.appendChild(div2);
|
|
|
|
var p = m.pfx;
|
|
if(p==".") p=" ";
|
|
div2.appendChild(document.createTextNode(p+" "));
|
|
var a = document.createElement("a");
|
|
a.setAttribute("href",helpRoot+"/"+v.path+".html#"+m.pfx+mname);
|
|
a.innerHTML = v.title;
|
|
if(m.undoc)
|
|
a.className = "undoc";
|
|
div2.appendChild(a);
|
|
div2.appendChild(document.createTextNode(" - "+v.summary+" "));
|
|
var n = document.createElement("span");
|
|
n.className = "soft";
|
|
var res = "["+v.path.split("/")[0];
|
|
if(v.installed=="extension")
|
|
res += " +";
|
|
else if(v.installed=="missing")
|
|
res += " - missing!";
|
|
n.innerHTML = res+"]";
|
|
div2.appendChild(n);
|
|
|
|
if(v.path=="Classes/Object") {
|
|
var n = document.createElement("div");
|
|
n.className = "met_subclasses";
|
|
n.appendChild(document.createTextNode("Inherited by: All classes"));
|
|
div2.appendChild(n);
|
|
} else {
|
|
if(v.subclasses && v.subclasses.length>0) {
|
|
var n;
|
|
if(subclassCache[v.path]) {
|
|
n = subclassCache[v.path].cloneNode(true);
|
|
} else {
|
|
var subs = getSubClasses(v);
|
|
n = document.createElement("div");
|
|
var m = n;
|
|
n.className = "met_subclasses";
|
|
n.appendChild(document.createTextNode("Inherited by: "));
|
|
for(var j=0;j<subs.length;j++) {
|
|
var a = document.createElement("a");
|
|
a.setAttribute("href", helpRoot+"/Classes/"+subs[j]+".html");
|
|
if(j==10 && subs.length > 14) {
|
|
m = document.createElement("span");
|
|
m.className = "hiddenspan";
|
|
m.style.display = "none";
|
|
n.appendChild(m);
|
|
var a2 = document.createElement("a");
|
|
a2.setAttribute("href","#");
|
|
a2.className = "seemore";
|
|
a2.innerHTML = "… see "+(subs.length-10)+" more";
|
|
n.appendChild(document.createTextNode(" "));
|
|
n.appendChild(a2);
|
|
}
|
|
if(j>0)
|
|
m.appendChild(document.createTextNode(", "));
|
|
a.innerHTML = subs[j];
|
|
m.appendChild(a);
|
|
}
|
|
subclassCache[v.path] = n;
|
|
}
|
|
(function() {
|
|
var a = n.getElementsByClassName("seemore")[0];
|
|
if(a) {
|
|
var m = n.getElementsByClassName("hiddenspan")[0];
|
|
a.onclick = function() {
|
|
m.style.display = "";
|
|
a.parentNode.removeChild(a);
|
|
return false;
|
|
}
|
|
}
|
|
})();
|
|
div2.appendChild(n);
|
|
}
|
|
}
|
|
}
|
|
|
|
node.appendChild(div);
|
|
}
|
|
|
|
function did_load() {
|
|
var hash = unescape(window.location.hash.slice(1));
|
|
|
|
helpRoot=".."; fixTOC();
|
|
|
|
buildMethodList();
|
|
|
|
showmethods();
|
|
}
|
|
|
|
function showmethods() {
|
|
var hash = unescape(window.location.hash.slice(1));
|
|
var res = document.getElementById("methods");
|
|
res.innerHTML = "";
|
|
|
|
var section = undefined;
|
|
if(/^section_/.test(hash))
|
|
section = hash[8];
|
|
else if(hash) {
|
|
var div = document.createElement("p");
|
|
div.className = "searchlink";
|
|
div.appendChild(document.createTextNode("Do you want to "));
|
|
var a = document.createElement("a");
|
|
a.setAttribute("href","../Search.html#"+hash);
|
|
a.appendChild(document.createTextNode("search for '"+hash+"'"));
|
|
div.appendChild(a);
|
|
div.appendChild(document.createTextNode(" instead?"));
|
|
res.appendChild(div);
|
|
document.getElementById("total_count").innerHTML = "Showing single method:";
|
|
document.getElementById("method_note").innerHTML = "";
|
|
if(methods[hash]) {
|
|
showMethod(hash,res);
|
|
return;
|
|
}
|
|
var div = document.createElement("p");
|
|
div.appendChild(document.createTextNode("Method not found: "+hash));
|
|
res.appendChild(div);
|
|
window.location = "../Search.html#"+hash;
|
|
return;
|
|
}
|
|
|
|
var cap = undefined;
|
|
var div = document.createElement("p");
|
|
div.className = "jump";
|
|
div.innerHTML = "Show section: ";
|
|
|
|
var mets = [];
|
|
for(var k in methods) {
|
|
mets.push(k);
|
|
}
|
|
mets = mets.sort();
|
|
|
|
for(var i=0;i<mets.length;i++) {
|
|
var k = mets[i];
|
|
if(cap != k[0]) {
|
|
cap = k[0];
|
|
if(section == undefined)
|
|
section = cap;
|
|
var a = document.createElement("a");
|
|
a.setAttribute("href","#section_"+cap);
|
|
a.innerHTML=cap.toUpperCase();
|
|
div.appendChild(a);
|
|
div.appendChild(document.createTextNode(" "));
|
|
}
|
|
}
|
|
res.appendChild(div);
|
|
|
|
var x = document.createElement("h2");
|
|
x.innerHTML = section.toUpperCase();
|
|
res.appendChild(x);
|
|
|
|
var count = 0;
|
|
for(var i = 0; i<mets.length;i++) {
|
|
var k = mets[i];
|
|
if(k[0]==section) {
|
|
showMethod(k, res);
|
|
count++;
|
|
}
|
|
}
|
|
document.getElementById("total_count").innerHTML = count + " methods (" + mets.length + " total)";
|
|
|
|
}
|
|
window.onhashchange = showmethods;
|
|
</script>
|
|
|
|
</head>
|
|
<body onload="did_load()">
|
|
<div id="menubar"></div>
|
|
<div class='contents'>
|
|
<div class='header'>
|
|
<div id='label'><span id='folder'>Overviews</span></div>
|
|
<h1>Methods</h1>
|
|
<div id='summary'>Alphabetical index of all methods</div>
|
|
</div>
|
|
<div id="total_count"></div>
|
|
<div id='methods'>
|
|
Generating method index, please wait...
|
|
</div>
|
|
<div id='method_note'>
|
|
You can show a specific method by appending '#NAME' to this page url, where NAME is the name of the method.
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
|