version 1.6, 2000/07/04 16:25:22
|
version 1.14, 2001/03/03 16:45:10
|
Line 9 Resource Assembly Tool
|
Line 9 Resource Assembly Tool
|
1/7,1/8,1/10,1/14,1/15,1/16,1/21,1/22,1/29,1/30,1/31, |
1/7,1/8,1/10,1/14,1/15,1/16,1/21,1/22,1/29,1/30,1/31, |
2/2,2/3,2/10,2/12,2/13,2/14,2/15,2/17,2/18,2/19,2/20,2/21,2/22, |
2/2,2/3,2/10,2/12,2/13,2/14,2/15,2/17,2/18,2/19,2/20,2/21,2/22, |
5/2,5/3,5/4,5/5,5/6,5/8,5/9,5/13,5/18,5/20,5/22,5/24,5/25, |
5/2,5/3,5/4,5/5,5/6,5/8,5/9,5/13,5/18,5/20,5/22,5/24,5/25, |
6/7,6/8,6/9,6/10,6/12,6/15,7/4 |
6/7,6/8,6/9,6/10,6/12,6/15,7/4,7/26,7/28,7/31,8/5,8/19,8/24, |
Gerd Kortemeyer with Scott Harrison |
01/17/01,03/03 Gerd Kortemeyer with Scott Harrison |
--> |
--> |
|
|
|
|
Line 30 var colmap5=new Array();
|
Line 30 var colmap5=new Array();
|
var colmap6=new Array(); |
var colmap6=new Array(); |
var obj=new Array(); |
var obj=new Array(); |
var objcont=new Array(); |
var objcont=new Array(); |
|
var objparms=new Array(); |
var objlinks=new Array(); |
var objlinks=new Array(); |
var rowcont=new Array(); |
var rowcont=new Array(); |
var rowtype=new Array(); |
var rowtype=new Array(); |
Line 56 var zscale=3;
|
Line 57 var zscale=3;
|
var disrows=0; |
var disrows=0; |
var discols=0; |
var discols=0; |
|
|
|
var finishdone=0; |
|
var tim=0; |
|
var funny='|'; |
|
var reqaction=''; |
|
var canceltim; |
|
|
|
var expense=0; |
|
|
var data1=new Array(1024); |
var data1=new Array(1024); |
var data2=new Array(1024); |
var data2=new Array(1024); |
var data3=new Array(1024); |
var data3=new Array(1024); |
Line 69 var inf;
|
Line 78 var inf;
|
function insertrow(j,ex1,ex2) { |
function insertrow(j,ex1,ex2) { |
var kj; |
var kj; |
stored=0; |
stored=0; |
|
expense++; expense++; |
objects1=''; |
objects1=''; |
objects2=''; |
objects2=''; |
for (kj=0;kj<=maxrow;kj++) { |
for (kj=0;kj<=maxrow;kj++) { |
Line 83 function insertrow(j,ex1,ex2) {
|
Line 93 function insertrow(j,ex1,ex2) {
|
objects=objects1+':'+objects2; |
objects=objects1+':'+objects2; |
data1=objects.split(':'); |
data1=objects.split(':'); |
for (kj=0;kj<data1.length;kj++) { |
for (kj=0;kj<data1.length;kj++) { |
if (data1[kj]!='') { |
if ((data1[kj]!='') && (data1[kj]!=undefined)) { |
thisisobj=obj[data1[kj]]; |
thisisobj=obj[data1[kj]]; |
thisobjtype=thisisobj.split('&')[0]; |
thisobjtype=thisisobj.split('&')[0]; |
if (thisobjtype=='v') { |
if (thisobjtype=='v') { |
Line 124 function insertrow(j,ex1,ex2) {
|
Line 134 function insertrow(j,ex1,ex2) {
|
} |
} |
} |
} |
} |
} |
if (newobj!='') { |
if ((newobj!='') && (newobj!=undefined)) { |
thisobjcol=newobj.split('&')[1]; |
thisobjcol=newobj.split('&')[1]; |
if (colcover.indexOf(':'+thisobjcol+':',0)==-1) { |
if (colcover.indexOf(':'+thisobjcol+':',0)==-1) { |
colcover+=thisobjcol+':'; |
colcover+=thisobjcol+':'; |
Line 150 function insertrow(j,ex1,ex2) {
|
Line 160 function insertrow(j,ex1,ex2) {
|
} |
} |
} |
} |
} |
} |
if (newobj!='') { |
if ((newobj!='') && (newobj!=undefined)) { |
thisobjcol=newobj.split('&')[1]; |
thisobjcol=newobj.split('&')[1]; |
if (colcover.indexOf(':'+thisobjcol+':',0)==-1) { |
if (colcover.indexOf(':'+thisobjcol+':',0)==-1) { |
colcover+=thisobjcol+':'; |
colcover+=thisobjcol+':'; |
Line 214 function insertcol(j) {
|
Line 224 function insertcol(j) {
|
if ( col[kj]>j ) { col[kj]++; } |
if ( col[kj]>j ) { col[kj]++; } |
} |
} |
maxcol++; |
maxcol++; |
|
expense++; expense++; |
col[maxcol]=j+1; |
col[maxcol]=j+1; |
} |
} |
|
|
Line 246 function maprow (jid,obj1,ign) {
|
Line 257 function maprow (jid,obj1,ign) {
|
var j; var k; var left; var right; var middle; |
var j; var k; var left; var right; var middle; |
middle=-1; |
middle=-1; |
for (j=0;j<=maxcol;j++) { colmap[j]=0; } |
for (j=0;j<=maxcol;j++) { colmap[j]=0; } |
if (rowcont[jid]!='') { |
if ((rowcont[jid]!='') && (rowcont[jid]!=undefined)) { |
data2=rowcont[jid].split(':'); |
data2=rowcont[jid].split(':'); |
for (j=0;j<data2.length;j++) { |
for (j=0;j<data2.length;j++) { |
data3=obj[data2[j]].split('&'); |
data3=obj[data2[j]].split('&'); |
Line 337 function comingthru (jid,kid,dkid) {
|
Line 348 function comingthru (jid,kid,dkid) {
|
|
|
function insertport (obj1,d,inout,linkobj) { |
function insertport (obj1,d,inout,linkobj) { |
|
|
|
|
var k; var port; var revport; |
var k; var port; var revport; |
stored=0; |
stored=0; |
data1=obj[obj1].split('&'); |
data1=obj[obj1].split('&'); |
Line 416 function insertport (obj1,d,inout,linkob
|
Line 426 function insertport (obj1,d,inout,linkob
|
|
|
function addobj(kjid,objs) { |
function addobj(kjid,objs) { |
stored=0; |
stored=0; |
if (rowcont[kjid]!='') { rowcont[kjid]+=':'; } |
expense++; |
|
if ((rowcont[kjid]!='') && (rowcont[kjid]!=undefined)) { |
|
rowcont[kjid]+=':'; |
|
} |
rowcont[kjid]+=obj.length; |
rowcont[kjid]+=obj.length; |
obj[obj.length]=objs; |
obj[obj.length]=objs; |
return obj.length-1; |
return obj.length-1; |
Line 470 function delobj(obj1) {
|
Line 483 function delobj(obj1) {
|
rowcont[k]=''; |
rowcont[k]=''; |
for (k2=0;k2<data4.length;k2++) { |
for (k2=0;k2<data4.length;k2++) { |
if (data4[k2]!=obj1) { |
if (data4[k2]!=obj1) { |
if (rowcont[k]!='') { rowcont[k]+=':'; } |
if ((rowcont[k]!='') && (rowcont[k]!=undefined)) { |
|
rowcont[k]+=':'; |
|
} |
rowcont[k]+=data4[k2]; |
rowcont[k]+=data4[k2]; |
} |
} |
} |
} |
} |
} |
|
obj[obj1]=''; |
} |
} |
|
|
// --------------------------------------------------------- Garbage collection |
// --------------------------------------------------------- Garbage collection |
Line 489 function cleanup () {
|
Line 505 function cleanup () {
|
for (kj=0;kj<=maxcol;kj++) { data1[kj]=0; } |
for (kj=0;kj<=maxcol;kj++) { data1[kj]=0; } |
for (kj=0;kj<=maxrow;kj++) { |
for (kj=0;kj<=maxrow;kj++) { |
rowtype[kj]=0; |
rowtype[kj]=0; |
if (rowcont[kj]!='') { |
if ((rowcont[kj]!='') && (rowcont[kj]!=undefined)) { |
data2=rowcont[kj].split(':'); |
data2=rowcont[kj].split(':'); |
for (j=0;j<data2.length;j++) { |
for (j=0;j<data2.length;j++) { |
if (obj[data2[j]].substring(0,2)=='e&') { |
if (obj[data2[j]].substring(0,2)=='e&') { |
Line 582 function crecond(obj1,colid,condtext,con
|
Line 598 function crecond(obj1,colid,condtext,con
|
function dellink (linknr) { |
function dellink (linknr) { |
var k; var obj1; var obj2; |
var k; var obj1; var obj2; |
stored=0; |
stored=0; |
if (objlinks[linknr]!='') { |
if ((objlinks[linknr]!='') && (objlinks[linknr]!=undefined)) { |
data3=objlinks[linknr].split(':'); |
data3=objlinks[linknr].split(':'); |
obj1=data3[0]; |
obj1=data3[0]; |
obj2=data3[1]; |
obj2=data3[1]; |
Line 605 function dellink (linknr) {
|
Line 621 function dellink (linknr) {
|
} |
} |
} |
} |
for (k=0;k<obj.length;k++) { |
for (k=0;k<obj.length;k++) { |
if (obj[k]!='') { |
if ((obj[k]!='') && (obj[k]!=undefined)) { |
data3=obj[k].split('&'); |
data3=obj[k].split('&'); |
if (((data3[0]=='v') || (data3[0]=='h')) && |
if (((data3[0]=='v') || (data3[0]=='h')) && |
(data3[data3.length-2]==linknr)) { |
(data3[data3.length-2]==linknr)) { |
Line 621 function dellink (linknr) {
|
Line 637 function dellink (linknr) {
|
// Links obj1 with obj2, creates new objlink, marks all elements with number |
// Links obj1 with obj2, creates new objlink, marks all elements with number |
|
|
function joinres (obj1,obj2,cond) { |
function joinres (obj1,obj2,cond) { |
var k; var kr; var outcol; var incol; var d; |
|
stored=0; |
stored=0; |
|
var minexpense; |
|
var best; |
|
|
|
expense=0; |
|
tryjoin(obj1,obj2,cond,1,1); |
|
minexpense=expense; |
|
best=0; |
|
finishload(); |
|
|
|
expense=0; |
|
tryjoin(obj1,obj2,cond,1,-1); |
|
if (expense<minexpense) { |
|
best=1; |
|
minexpense=expense; |
|
} |
|
finishload(); |
|
|
|
expense=0; |
|
tryjoin(obj1,obj2,cond,-1,1); |
|
if (expense<minexpense) { |
|
best=2; |
|
minexpense=expense; |
|
} |
|
finishload(); |
|
|
|
expense=0; |
|
tryjoin(obj1,obj2,cond,-1,-1); |
|
if (expense<minexpense) { |
|
best=3; |
|
minexpense=expense; |
|
} |
|
|
|
|
|
if (best==0) { |
|
finishload(); |
|
tryjoin(obj1,obj2,cond,1,1); |
|
} |
|
if (best==1) { |
|
finishload(); |
|
tryjoin(obj1,obj2,cond,1,-1); |
|
} |
|
if (best==2) { |
|
finishload(); |
|
tryjoin(obj1,obj2,cond,-1,1); |
|
} |
|
|
|
} |
|
|
|
|
|
function tryjoin(obj1,obj2,cond,d1,d2) { |
|
var k; var kr; var outcol; var incol; var d; var dest; |
|
|
dest=objlinks.length; |
dest=objlinks.length; |
objlinks[dest]=obj1+':'+obj2+':'+cond; |
objlinks[dest]=obj1+':'+obj2+':'+cond; |
data3=obj[obj1].split('&'); |
|
sum=0; |
outcol=insertport(obj1,d1,2,dest); |
for (k=2;k<data3.length;k++) { sum+=col[data3[k].split(':')[0]]; } |
|
outmiddle=sum/(data3.length-2); |
|
data3=obj[obj2].split('&'); |
|
sum=0; |
|
for (k=2;k<data3.length;k++) { sum+=col[data3[k].split(':')[0]]; } |
|
inmiddle=sum/(data3.length-2); |
|
d=inmiddle-outmiddle; |
|
outcol=insertport(obj1,d,2,dest); |
|
insertcond(obj1,outcol,cond); |
insertcond(obj1,outcol,cond); |
incol=insertport(obj2,-d,1,dest); |
incol=insertport(obj2,d2,1,dest); |
if (row[inrow]==(row[outrow]+1)) { |
if (row[inrow]==(row[outrow]+1)) { |
insertrow(row[outrow],-1,-1); |
insertrow(row[outrow],-1,-1); |
} |
} |
Line 773 function delres (obj1,recon) {
|
Line 832 function delres (obj1,recon) {
|
for (k2=0;k2<inobjs.length;k2++) { |
for (k2=0;k2<inobjs.length;k2++) { |
if (inobjs[k2]==infromobj[k]) { |
if (inobjs[k2]==infromobj[k]) { |
if (inwithcon[k]!=0) { |
if (inwithcon[k]!=0) { |
if (inobjscond[k2]!='') { inobjscond[k2]+='||'; } |
if ((inobjscond[k2]!='') && |
|
(inobjscond[k2]!=undefined)) { |
|
inobjscond[k2]+='||'; |
|
} |
inobjscond[k2]+= |
inobjscond[k2]+= |
'('+(objcont[inwithcon[k]].split(':'))[0]+')'; |
'('+(objcont[inwithcon[k]].split(':'))[0]+')'; |
} |
} |
Line 799 function delres (obj1,recon) {
|
Line 861 function delres (obj1,recon) {
|
for (k2=0;k2<outobjs.length;k2++) { |
for (k2=0;k2<outobjs.length;k2++) { |
if (outobjs[k2]==outtoobj[k]) { |
if (outobjs[k2]==outtoobj[k]) { |
if (outwithcon[k]!=0) { |
if (outwithcon[k]!=0) { |
if (outobjscond[k2]!='') { outobjscond[k2]+='||'; } |
if ((outobjscond[k2]!='') && |
|
(outobjscond[k2]!=undefined)) { |
|
outobjscond[k2]+='||'; |
|
} |
outobjscond[k2]+= |
outobjscond[k2]+= |
'('+(objcont[outwithcon[k]].split(':'))[0]+')'; |
'('+(objcont[outwithcon[k]].split(':'))[0]+')'; |
} |
} |
Line 821 function delres (obj1,recon) {
|
Line 886 function delres (obj1,recon) {
|
|
|
for (k=0;k<inobjs.length;k++) { |
for (k=0;k<inobjs.length;k++) { |
cond=''; |
cond=''; |
if (inobjscond[k]!='') { cond='('+inobjscond[k]+')'; } |
if ((inobjscond[k]!='') && (inobjscond[k]!=undefined)) { |
|
cond='('+inobjscond[k]+')'; |
|
} |
for (k2=0;k2<outobjs.length;k2++) { |
for (k2=0;k2<outobjs.length;k2++) { |
thiscond=cond; |
thiscond=cond; |
if (outobjscond[k2]!='') { |
if ((outobjscond[k2]!='') && (outobjscond[k2]!=undefined)) { |
if (thiscond!='') { thiscond+='&&'; } |
if ((thiscond!='') && (thiscond!=undefined)) { |
|
thiscond+='&&'; |
|
} |
thiscond+='('+outobjscond[k2]+')'; |
thiscond+='('+outobjscond[k2]+')'; |
} |
} |
condnr=0; |
condnr=0; |
if (thiscond!='') { condnr=newcondition(thiscond,'normal'); } |
if ((thiscond!='') && (thiscond!=undefined)) { |
|
condnr=newcondition(thiscond,'normal'); |
|
} |
|
save(); |
joinres(inobjs[k],outobjs[k2],condnr); |
joinres(inobjs[k],outobjs[k2],condnr); |
} |
} |
} |
} |
Line 843 function drawcell (rtype,ctype,what,cm,o
|
Line 915 function drawcell (rtype,ctype,what,cm,o
|
if ((what=='') && (ne==0)) { cm="#DDDDDD"; } |
if ((what=='') && (ne==0)) { cm="#DDDDDD"; } |
if (ctype!=0) { |
if (ctype!=0) { |
parent.mapout.document.write('<td bgcolor='+cm+' width='+cw[ctype]+'>'); |
parent.mapout.document.write('<td bgcolor='+cm+' width='+cw[ctype]+'>'); |
if (what!='') { |
if ((what!='') && (what!=undefined)) { |
if (obj1!='') { |
if ((obj1!='') && (obj1!=undefined)) { |
obj1="'"+obj1+"'"; |
obj1="'"+obj1+"'"; |
parent.mapout.document.write |
parent.mapout.document.write |
('<a href="javascript:parent.code.handler('+obj1 |
('<a href="javascript:parent.code.handler('+obj1 |
Line 877 function drawcell (rtype,ctype,what,cm,o
|
Line 949 function drawcell (rtype,ctype,what,cm,o
|
} |
} |
} |
} |
} |
} |
if (obj1!='') { |
if ((obj1!='') && (obj1!=undefined)) { |
parent.mapout.document.write('</a>'); |
parent.mapout.document.write('</a>'); |
} |
} |
} else { |
} else { |
Line 934 if (rowtype[jid]!=0) {
|
Line 1006 if (rowtype[jid]!=0) {
|
} |
} |
|
|
parent.mapout.document.writeln('<tr height='+rh[rowtype[jid]]+'>'); |
parent.mapout.document.writeln('<tr height='+rh[rowtype[jid]]+'>'); |
if (rowcont[jid]!='') { |
if ((rowcont[jid]!='') && (rowcont[jid]!=undefined)) { |
data2=rowcont[jid].split(':'); |
data2=rowcont[jid].split(':'); |
for (jk=0;jk<data2.length;jk++) { |
for (jk=0;jk<data2.length;jk++) { |
data3=obj[data2[jk]].split('&'); |
data3=obj[data2[jk]].split('&'); |
Line 991 if (rowtype[jid]!=0) {
|
Line 1063 if (rowtype[jid]!=0) {
|
|
|
if (rightin>middle) { |
if (rightin>middle) { |
for (k=middle+1;k<rightin;k++) { |
for (k=middle+1;k<rightin;k++) { |
if (colmap4[k]!='') { |
if ((colmap4[k]!='') && (colmap4[k]!=undefined)) { |
colmap[k]='rlt'; |
colmap[k]='rlt'; |
} else { |
} else { |
colmap[k]='rl'; |
colmap[k]='rl'; |
Line 1001 if (rowtype[jid]!=0) {
|
Line 1073 if (rowtype[jid]!=0) {
|
} |
} |
if (leftin<middle) { |
if (leftin<middle) { |
for (k=middle-1;k>leftin;k--) { |
for (k=middle-1;k>leftin;k--) { |
if (colmap4[k]!='') { |
if ((colmap4[k]!='') && (colmap4[k]!=undefined)) { |
colmap[k]='lrt'; |
colmap[k]='lrt'; |
} else { |
} else { |
colmap[k]='lr'; |
colmap[k]='lr'; |
Line 1021 if (rowtype[jid]!=0) {
|
Line 1093 if (rowtype[jid]!=0) {
|
if (rightout<middle) { colmap2[middle]='tl'; } |
if (rightout<middle) { colmap2[middle]='tl'; } |
if (rightout==middle) { colmap2[middle]='tdl'; } |
if (rightout==middle) { colmap2[middle]='tdl'; } |
if (rightout>middle) { |
if (rightout>middle) { |
if (colmap3[middle]!='') { |
if ((colmap3[middle]!='') && (colmap3[middle]!=undefined)) { |
colmap2[middle]='rtdl'; |
colmap2[middle]='rtdl'; |
} else { |
} else { |
colmap2[middle]='rtl'; |
colmap2[middle]='rtl'; |
Line 1030 if (rowtype[jid]!=0) {
|
Line 1102 if (rowtype[jid]!=0) {
|
} |
} |
if (leftout<middle) { |
if (leftout<middle) { |
for (k=middle-1;k>leftout;k--) { |
for (k=middle-1;k>leftout;k--) { |
if (colmap3[k]!='') { |
if ((colmap3[k]!='') && (colmap3[k]!=undefined)) { |
colmap2[k]='rld'; |
colmap2[k]='rld'; |
} else { |
} else { |
colmap2[k]='rl'; |
colmap2[k]='rl'; |
Line 1040 if (rowtype[jid]!=0) {
|
Line 1112 if (rowtype[jid]!=0) {
|
} |
} |
if (rightout>middle) { |
if (rightout>middle) { |
for (k=middle+1;k<rightout;k++) { |
for (k=middle+1;k<rightout;k++) { |
if (colmap3[k]!='') { |
if ((colmap3[k]!='') && (colmap3[k]!=undefined)) { |
colmap2[k]='lrd'; |
colmap2[k]='lrd'; |
} else { |
} else { |
colmap2[k]='lr'; |
colmap2[k]='lr'; |
Line 1153 function draw () {
|
Line 1225 function draw () {
|
parent.mapout.document.writeln( |
parent.mapout.document.writeln( |
'<table cellpadding=0 cellspacing=0 border=0 rows=' |
'<table cellpadding=0 cellspacing=0 border=0 rows=' |
+disrows+' cols='+discols+'>'); |
+disrows+' cols='+discols+'>'); |
for (kr=0;kr<=maxrow;kr++) { |
for (kr=0;kr<=maxrow;kr++) { |
message("Generating Output Row "+kr); |
message("Generating Output Row "+kr); |
drawrow(rrow[kr]); |
drawrow(rrow[kr]); |
} |
} |
Line 1353 function insertreslink(infostr) {
|
Line 1425 function insertreslink(infostr) {
|
dellink(lnr); |
dellink(lnr); |
newresource(rid,cid,'','','false','normal'); |
newresource(rid,cid,'','','false','normal'); |
nobj=obj.length-1; |
nobj=obj.length-1; |
|
save(); |
joinres(fobj,nobj,cobj); |
joinres(fobj,nobj,cobj); |
|
save(); |
joinres(nobj,tobj,0); |
joinres(nobj,tobj,0); |
} |
} |
|
|
Line 1373 function insertcondlink(cid,lnr) {
|
Line 1447 function insertcondlink(cid,lnr) {
|
dellink(lnr); |
dellink(lnr); |
newresource(maxrow,cid,'','','false','normal'); |
newresource(maxrow,cid,'','','false','normal'); |
nobj=obj.length-1; |
nobj=obj.length-1; |
|
save(); |
joinres(fobj,nobj,cobj); |
joinres(fobj,nobj,cobj); |
|
save(); |
joinres(nobj,tobj,0); |
joinres(nobj,tobj,0); |
} |
} |
|
|
Line 1518 function handler(infostr) {
|
Line 1594 function handler(infostr) {
|
+'opener.linkmode='+data1[1]+';' |
+'opener.linkmode='+data1[1]+';' |
+'opener.infoclear();">Link Resource</a>'); |
+'opener.infoclear();">Link Resource</a>'); |
} |
} |
|
inf.document.writeln( |
|
'<br><a href="javascript:' |
|
+'opener.setparms('+data1[1]+');' |
|
+'opener.infoclear();">Set Parameters</a>'); |
|
|
} |
} |
} else { |
} else { |
linkmode=0; |
linkmode=0; |
Line 1567 function empty(rid,k) {
|
Line 1648 function empty(rid,k) {
|
'opener.editmode=0;opener.notclear=0;opener.infoclear();opener.draw(' |
'opener.editmode=0;opener.notclear=0;opener.infoclear();opener.draw(' |
+');">Insert resource</a>'); |
+');">Insert resource</a>'); |
|
|
if ((mostrecent!=0) && (objcont[mostrecent]!='')) { |
if ((mostrecent!=0) && (objcont[mostrecent]!='') && |
|
(objcont[mostrecent]!=undefined)) { |
|
|
inf.document.writeln('<br><a href="javascript:opener.newresource('+ |
inf.document.writeln('<br><a href="javascript:opener.newresource('+ |
rid+','+cid+",'','','false','normal');"+ |
rid+','+cid+",'','','false','normal');"+ |
Line 1689 function graphreset() {
|
Line 1771 function graphreset() {
|
insertcol(-1); |
insertcol(-1); |
|
|
objcont[0]=''; |
objcont[0]=''; |
objcont[1]='Start::false:start:res' |
|
objcont[2]='Finish::false:finish:res'; |
|
objlinks[0]=''; |
objlinks[0]=''; |
objlinks[1]='1:2:0'; |
if (((objcont[1]==undefined)&&(objcont[2]==undefined)) || |
|
((objcont[1]=='')&&(objcont[2]==''))) { |
|
objcont[1]='Start::false:start:res' |
|
objcont[2]='Finish::false:finish:res'; |
|
} |
graphdef='no'; |
graphdef='no'; |
|
|
} |
} |
Line 1730 function tabledraw() {
|
Line 1813 function tabledraw() {
|
var condid; |
var condid; |
var sortstr=sortobjs(); |
var sortstr=sortobjs(); |
insrestab(1,-1,-1,''); |
insrestab(1,-1,-1,''); |
if (sortstr!='') { |
if ((sortstr!='') && (sortstr!=undefined)) { |
objsorted=sortstr.split('&'); |
objsorted=sortstr.split('&'); |
for (k=0;k<objsorted.length;k++) { |
for (k=0;k<objsorted.length;k++) { |
i=(objsorted[k].split(':'))[0]; |
i=(objsorted[k].split(':'))[0]; |
Line 1817 function tabledraw() {
|
Line 1900 function tabledraw() {
|
parent.mapout.document.writeln( |
parent.mapout.document.writeln( |
'<a href="javascript:parent.code.linkmode='+i+ |
'<a href="javascript:parent.code.linkmode='+i+ |
';parent.code.notclear=0;parent.code.infoclear();">'+ |
';parent.code.notclear=0;parent.code.infoclear();">'+ |
'Link resource</a></td></tr>'); |
'Link resource</a>'); |
} |
} |
|
parent.mapout.document.writeln( |
|
'<br><a href="javascript:' |
|
+'parent.code.setparms('+i+');">Set Parameters</a>'); |
|
|
|
parent.mapout.document.writeln('</td></tr>'); |
parent.mapout.document.writeln('<tr><td colspan=2><table><tr>'); |
parent.mapout.document.writeln('<tr><td colspan=2><table><tr>'); |
for (j=2;j<data2.length;j++) { |
for (j=2;j<data2.length;j++) { |
data4=data2[j].split(':'); |
data4=data2[j].split(':'); |
Line 1925 function simpletabledraw() {
|
Line 2013 function simpletabledraw() {
|
var cck; |
var cck; |
var condid; |
var condid; |
var sortstr=sortobjs(); |
var sortstr=sortobjs(); |
if (sortstr!='') { |
if ((sortstr!='') && (sortstr!=undefined)) { |
objsorted=sortstr.split('&'); |
objsorted=sortstr.split('&'); |
for (k=0;k<objsorted.length;k++) { |
for (k=0;k<objsorted.length;k++) { |
i=(objsorted[k].split(':'))[0]; |
i=(objsorted[k].split(':'))[0]; |
Line 2003 function simpletabledraw() {
|
Line 2091 function simpletabledraw() {
|
// ---------------------------------- Sort objects to straighten graph or table |
// ---------------------------------- Sort objects to straighten graph or table |
|
|
function sortobjs() { |
function sortobjs() { |
message("Sorting Resources"); |
message("Sorting Resources: "+funny); |
var k; |
var k; |
var ij; |
var ij; |
var dol; |
var dol; |
Line 2021 function sortobjs() {
|
Line 2109 function sortobjs() {
|
} |
} |
if (objsort.length==0) { return ''; } |
if (objsort.length==0) { return ''; } |
for (k=1;k<objlinks.length;k++) { |
for (k=1;k<objlinks.length;k++) { |
if (objlinks[k]!='') { |
wheelswitch(); |
|
message("Sorting Resources: "+funny); |
|
if ((objlinks[k]!=undefined) && (objlinks[k]!='')) { |
sortthis=1; |
sortthis=1; |
data1=objlinks[k].split(':'); |
data1=objlinks[k].split(':'); |
kj=-1; |
kj=-1; |
Line 2030 function sortobjs() {
|
Line 2120 function sortobjs() {
|
kj=j; |
kj=j; |
} |
} |
} |
} |
objsort[kj]+=':'+data1[1]; |
if (kj!=-1) { objsort[kj]+=':'+data1[1]; } |
} |
} |
} |
} |
if (sortthis!=0) { |
if (sortthis!=0) { |
for (k=0;k<objsort.length;k++) { |
for (k=0;k<objsort.length;k++) { |
|
wheelswitch(); |
|
message("Sorting Resources: "+funny); |
for (j=0;j<objsort.length;j++) { |
for (j=0;j<objsort.length;j++) { |
if (k!=j) { |
if (k!=j) { |
data1=objsort[k].split(':'); |
data1=objsort[k].split(':'); |
data2=objsort[j].split(':'); |
data2=objsort[j].split(':'); |
dol=data1.length; |
dol=data1.length; |
dtl=data2.length; |
dtl=data2.length; |
for (kj=1;kj<dol;kj++) { |
if (dol+dtl<200) { |
|
for (kj=1;kj<dol;kj++) { |
if (data1[kj]==data2[0]) { |
if (data1[kj]==data2[0]) { |
for (ij=1;ij<dtl;ij++) { |
for (ij=1;ij<dtl;ij++) { |
data1[data1.length]=data2[ij]; |
data1[data1.length]=data2[ij]; |
} |
} |
} |
} |
} |
} |
for (kj=1;kj<dtl;kj++) { |
for (kj=1;kj<dtl;kj++) { |
if (data2[kj]==data1[0]) { |
if (data2[kj]==data1[0]) { |
for (ij=1;ij<dol;ij++) { |
for (ij=1;ij<dol;ij++) { |
data2[data2.length]=data1[ij]; |
data2[data2.length]=data1[ij]; |
} |
} |
} |
} |
|
} |
|
objsort[k]=data1.join(':'); |
|
objsort[j]=data2.join(':'); |
} |
} |
objsort[k]=data1.join(':'); |
|
objsort[j]=data2.join(':'); |
|
} |
} |
} |
} |
} |
} |
|
message("Sorting Resources: finishing up."); |
return objsort.sort(rescompare).join('&'); |
return objsort.sort(rescompare).join('&'); |
} else { |
} else { |
return objsort.join('&'); |
return objsort.join('&'); |
Line 2105 function graphopt() {
|
Line 2200 function graphopt() {
|
row[k]=k; |
row[k]=k; |
} |
} |
maxrow=rowcont.length-1; |
maxrow=rowcont.length-1; |
|
|
var oldlinks=new Array(); |
var oldlinks=new Array(); |
for (k=0;k<objlinks.length;k++) { oldlinks[k]=objlinks[k]; } |
for (k=0;k<objlinks.length;k++) { |
|
oldlinks[k]=objlinks[k]; |
|
objlinks[k]=''; |
|
} |
objlinks.length=0; |
objlinks.length=0; |
objlinks[0]=''; |
objlinks[0]=''; |
|
graphdef='yes'; |
|
save(); |
|
|
for (k=0;k<objsorted.length;k++) { |
for (k=0;k<objsorted.length;k++) { |
kj=(objsorted[k].split(':'))[0]; |
wheelswitch(); |
|
message("Connecting Resources: "+funny); |
|
kj=(objsorted[k].split(':'))[0]; |
for (ij=1;ij<oldlinks.length;ij++) { |
for (ij=1;ij<oldlinks.length;ij++) { |
if (oldlinks[ij]) { |
if (oldlinks[ij]) { |
data1=oldlinks[ij].split(':'); |
data1=oldlinks[ij].split(':'); |
if (data1[0]==kj) { |
if (data1[0]==kj) { |
joinres(data1[0],data1[1],data1[2]); |
joinres(data1[0],data1[1],data1[2]); |
|
save(); |
} |
} |
} |
} |
} |
} |
} |
} |
graphdef='yes'; |
|
} |
} |
|
|
// ----------------------------------------------------------- Remove e-objects |
// ----------------------------------------------------------- Remove e-objects |
Line 2130 function condense() {
|
Line 2232 function condense() {
|
message("Condensing"); |
message("Condensing"); |
var j; |
var j; |
for (j=0;j<=maxrow;j++) { |
for (j=0;j<=maxrow;j++) { |
if (rowcont[j]!='') { |
if ((rowcont[j]!='') && (rowcont[j]!=undefined)) { |
data1=rowcont[j].split(':'); |
data1=rowcont[j].split(':'); |
rowcont[j]=''; |
rowcont[j]=''; |
for (k=0;k<data1.length;k++) { |
for (k=0;k<data1.length;k++) { |
if (obj[data1[k]].substring(0,2)!='e&') { |
if (obj[data1[k]].substring(0,2)!='e&') { |
if (rowcont[j]!='') { rowcont[j]+=':'; } |
if ((rowcont[j]!='') && (rowcont[j]!=undefined)) { |
|
rowcont[j]+=':'; |
|
} |
rowcont[j]+=data1[k]; |
rowcont[j]+=data1[k]; |
} |
} |
} |
} |
Line 2147 function condense() {
|
Line 2251 function condense() {
|
|
|
function load() { |
function load() { |
message("Loading"); |
message("Loading"); |
|
schedule('load'); |
|
checkdef(); |
|
} |
|
|
|
function finishload() { |
var k; |
var k; |
for (k=0;k<objcont.length;k++) { objcont[k]=''; } |
for (k=0;k<objcont.length;k++) { objcont[k]=''; } |
objcont.length=0; |
objcont.length=0; |
Line 2159 function load() {
|
Line 2268 function load() {
|
lastinfo=''; |
lastinfo=''; |
graphreset(); |
graphreset(); |
var inputstr=parent.server.document.forms.storage.output.value; |
var inputstr=parent.server.document.forms.storage.output.value; |
if (inputstr!='') { |
if ((inputstr!='') && (inputstr!=undefined)) { |
data1=inputstr.split('<&>'); |
data1=inputstr.split('<&>'); |
var k; |
var k; |
for (k=0;k<data1.length;k++) { |
for (k=0;k<data1.length;k++) { |
Line 2178 function load() {
|
Line 2287 function load() {
|
if (data2[0]=='zscale') { zscale=1*data2[1]; } |
if (data2[0]=='zscale') { zscale=1*data2[1]; } |
} |
} |
} |
} |
|
if (graphdef=='yes') { |
|
for (k=1;k<=maxrow;k++) { |
|
if (rowcont[k]==undefined) { rowcont[k]=''; } |
|
} |
|
} |
|
} |
|
|
|
// -------------------------------------------------------------- Parameter set |
|
|
|
function setparms(resid) { |
|
alert('Called setparms for '+resid); |
} |
} |
|
|
// -------------------------------------------------------------- Undo function |
// -------------------------------------------------------------- Undo function |
Line 2187 function undo() {
|
Line 2307 function undo() {
|
undopointer--; |
undopointer--; |
parent.server.document.forms.storage.output.value |
parent.server.document.forms.storage.output.value |
=undostack[undopointer]; |
=undostack[undopointer]; |
load(); |
finishload(); |
undopointer--; |
undopointer--; |
draw(); |
draw(); |
stored=0; |
stored=0; |
Line 2203 function redo() {
|
Line 2323 function redo() {
|
undopointer++; |
undopointer++; |
parent.server.document.forms.storage.output.value |
parent.server.document.forms.storage.output.value |
=undostack[undopointer]; |
=undostack[undopointer]; |
load(); |
finishload(); |
undopointer--; |
undopointer--; |
draw(); |
draw(); |
stored=0; |
stored=0; |
Line 2221 function revert() {
|
Line 2341 function revert() {
|
} |
} |
} |
} |
|
|
|
// ---------------------------------------------------------------- Wheelswitch |
|
|
|
function wheelswitch() { |
|
if (funny=='|') { |
|
funny='/'; |
|
} else { |
|
if (funny=='/') { |
|
funny='-'; |
|
} else { |
|
if (funny=='-') { |
|
funny='\\'; |
|
} else { |
|
if (funny=='\\') { funny='|'; } |
|
} |
|
} |
|
} |
|
} |
|
|
|
// --------------------------------------------- Checks if server frame defined |
|
|
|
function checkdef() { |
|
if (parent.server.document.forms.storage.output.value!=undefined) { |
|
srvloaded(); |
|
} |
|
if ((finishdone==0) && (tim==0)) { setTimeout('checkdef()',100); } |
|
} |
|
|
|
// ---------------------------------------------------------- The wait function |
|
|
|
function wait() { |
|
if ((finishdone==1) || (tim==1)) { |
|
if (tim==0) { |
|
clearTimeout(canceltim); |
|
if (reqaction=='save') { finishsave(); } |
|
if (reqaction=='load') { finishload(); draw(); } |
|
} else { |
|
alert("Server Communication Timed Out."); |
|
} |
|
} else { |
|
wheelswitch(); |
|
message('Waiting for server reply: '+funny); |
|
setTimeout('wait();',100); |
|
} |
|
} |
|
|
|
// ---------------------------------------------------------- Schedule function |
|
|
|
function schedule(action) { |
|
reqaction=action; |
|
tim=0; |
|
finishdone=0; |
|
canceltim=setTimeout('tim=1;',20000) |
|
wait(); |
|
} |
|
|
// -------------------------------------------------------------- Store changes |
// -------------------------------------------------------------- Store changes |
|
|
function storechange() { |
function storechange() { |
|
var k; |
parent.server.document.forms.storage.submit(); |
parent.server.document.forms.storage.submit(); |
|
schedule('save'); |
|
} |
|
|
|
function finishsave() { |
|
finishload(); |
|
draw(); |
stored=1; |
stored=1; |
} |
} |
|
|
|
// --------------------------------------- Gets called when submission finished |
|
|
|
function srvloaded() { |
|
finishdone=1; |
|
message("Server replied."); |
|
} |
|
|
// ---------------------------------------------------------------- Toggle Mode |
// ---------------------------------------------------------------- Toggle Mode |
|
|
function togglemode() { |
function togglemode() { |
Line 2253 function main() {
|
Line 2442 function main() {
|
infopen(); |
infopen(); |
infoclear(); |
infoclear(); |
load(); |
load(); |
draw(); |
|
stored=1; |
stored=1; |
mainrun=1; |
mainrun=1; |
} |
} |
|
|
} |
} |
|
|
// ------------------------------------------------------------- Save on leave? |
// ---------------------------------------------------------- Close the window? |
|
|
function leave() { |
function leave() { |
if (!inf.closed) { |
if (!inf.closed) { |
inf.close(); |
inf.close(); |
} |
} |
if (stored==0) { |
|
if (confirm('Store changes?')) { |
|
storechange(); |
|
} |
|
} |
|
} |
} |
|
|
</script> |
</script> |