#targetengine "singels_idle_test"
main();
function main() {
// -------------------------------------------------
// Platzhalter für das eigentliche Script
// -------------------------------------------------
do_something();
// -------------------------------------------------
// Wie lange anzeigen? in msec
// -------------------------------------------------
var time_to_keep_open = 3000;
// -------------------------------------------------
// Palette erzeugen
// -------------------------------------------------
var w = new Window( "palette" );
w.add("statictext", undefined, "FEDDICH");
w.add("statictext", undefined, "...warte rund " + Math.floor( time_to_keep_open / 1000 ) + " Sekunden...");
w.txt = w.add("statictext", [undefined, undefined, 400, 10], "...");
w.pb = w.add("progressbar", [undefined, undefined, 400, 10]);
w.pb.value = 0;
w.pb.maxvalue = time_to_keep_open;
w.show()
// -------------------------------------------------
// IdleHandler einrichten, um InDesign nicht zu blockieren
// -------------------------------------------------
var then = new Date().getTime();
var myIdleTask = app.idleTasks.add({name:"singels_idle_taks", sleep:100});
var onIdleEventListener = myIdleTask.addEventListener("onIdle", close_if_time);
// -------------------------------------------------
// Check, ob Zeit um ist
// -------------------------------------------------
function close_if_time() {
var now = new Date().getTime();
w.txt.text = (Math.round( (now-then) * 1000 ) / 1000).toString()
if ( now - then > time_to_keep_open ) {
w.close();
// --------------------------------------------------
// IdleTask wieder löschen, indem sleep auf 0 gesetzt wird.
// -------------------------------------------------
myIdleTask.sleep = 0;
} else {
w.pb.value = now - then;
}
}
// -------------------------------------------------
// Diese Funktion tut nichts zur Sache
// -------------------------------------------------
function do_something() {
var doc;
if ( app.documents.length ) {
doc = app.activeDocument;
} else {
doc = app.documents.add();
}
var pg = doc.layoutWindows[0].activePage;
var bd = pg.bounds;
var count = 100;
var w1 = new Window("palette");
w1.pb = w1.add("progressbar", [undefined, undefined, 300, 4] );
w1.pb.maxvalue = count;
w1.show();
for ( var n = 0; n < count; n++ ) {
w1.pb.value = n;
var t = bd[0],
l = bd[1],
b = bd[2],
r = bd[3],
pw = r - l,
ph = b - t,
minsize = 20,
x = Math.floor( Math.random() * (pw - minsize) ),
y = Math.floor( Math.random() * (ph - minsize) ),
xrest = pw - x - minsize,
yrest = ph - y - minsize,
w = minsize + Math.floor( Math.random() * xrest ),
h = minsize + Math.floor( Math.random() * yrest );
var swatch = doc.swatches.anyItem();
var tint = Math.floor( Math.random() * 100 );
var thing = pg.rectangles.add();
thing.geometricBounds = [ y + t, x + l, y+h+t, x+w+l ];
thing.strokeWeight = 0;
thing.fillColor = swatch;
thing.fillTint = tint;
}
w1.close();
}
}