function OnInit(initData) { initData.name = "testbed"; // Change this name to a name of your choice initData.desc = "Test Bed"; initData.copyright = "(c) 2016 Aussie"; initData.version = "1.0"; var version_date = "30th September, 2016"; initData.default_enable = true; initData.min_version = "11"; var cmd = initData.AddCommand(); cmd.name = initData.name; cmd.method = "do_main"; cmd.desc = initData.desc; cmd.label = initData.name; cmd.template = "parms/m"; // Define defaults for things the user can configure via Preferences --> Scripts var def_debug = true; var def_clearoutput = true; // Only applies if debug is true var cfg = new CfgHelper(initData); cfg.add("version",initData.version,"Updated " + version_date) cfg.add("debug",def_debug,"Set to TRUE to write debug messages to OTHER log."); cfg.add("clearoutput",def_clearoutput,"Set to TRUE to clear OTHER log when debug is TRUE."); // Based on original code by @tbone at http://resource.dopus.com/viewtopic.php?f=35&t=22979 function CfgHelper(d){ this.d = d; this.name = null; if (d.config_desc==undefined) d.config_desc=DOpus.Create.Map(); this.add = function(name, val, description){ if (name==undefined) return this; // if name not supplied, exit immediately this.name=name; // needed later to add corresponding value(s) and/or description return this.addval(val).setdesc(description); } this.addvec = function(name){ if (name==undefined) return this; // if name not supplied, exit immediately this.name=name; // needed later to add corresponding value(s) and/or description return this.addval(DOpus.Create.Vector); // create an empty vector } this.addval = function(val){ if (this.name==undefined) return this; // need to add value to something if (typeof this.d.config[this.name]=="object") { if (val!=undefined) this.d.config[this.name].push_back(val); } else this.d.config[this.name]=(val==undefined)?false:val; // default value = FALSE return this; } this.setdesc = function(description){ if (this.name==undefined) return this; // need to add description to something d.config_desc(this.name)=(description==undefined)?null:description; return this } } } function do_main(d) { // dbg and clearoutput switches can be set in Preferences var dbg = Script.config.debug; var clearoutput = Script.config.clearoutput; if ((dbg) && (clearoutput)) DOpus.clearoutput(); if (dbg) DOpus.output("version " + Script.config.version + " starting.."); if (DOpus.listers.count==0) return false; var cmd = DOpus.create.command; cmd.SetSourceTab(DOpus.listers.lastactive.activetab); // Create a source tab object var src = cmd.sourcetab; // List any defined vars for (var ev = new Enumerator(src.Vars); !ev.atEnd(); ev.moveNext()){ if (dbg) DOpus.output(ev.item().name + " = " + ev.item().value); } // List any supplied parms var parms = (d.func.args.got_arg.parms) ? d.func.args.parms : DOpus.create.vector(0); for (var i = 0; i < parms.count; i++) { if (dbg) DOpus.output("parm " + (i + 1) + " = " + parms(i)); } }