mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-11-12 00:29:17 +05:00
600 lines
12 KiB
HTML
Executable File
600 lines
12 KiB
HTML
Executable File
<html>
|
|
<script language="javascript1.2" src="whver.js"></script>
|
|
<script language="javascript1.2" src="whmozemu.js"></script>
|
|
<script language="javascript1.2" src="whutils.js"></script>
|
|
<script language="javascript1.2">
|
|
<!--
|
|
if(gbIE4||gbNav61)
|
|
{
|
|
document.write("<body></body>");
|
|
}
|
|
else
|
|
{
|
|
document.write("<frameset rows=\"100%,*\"><frame name=\"data_frm\" src=\"about:blank\"><frame name=\"dumb_frm\" src=\"about:blank\"></frameset>");
|
|
}
|
|
var gCSHFileName="whcshdata.htm";
|
|
|
|
var gHomePage="smesh.htm";
|
|
var gaProj=new Array();
|
|
gaProj[0]=new Object();
|
|
gaProj[0].sProjPath=_replaceSlash(_getPath(document.location.href));
|
|
gaProj[0].nLoadState=0;
|
|
var gCurrent=0;
|
|
|
|
var gsTopicURL="";
|
|
var gnCurProj=0;
|
|
var gnCommand=-1;
|
|
var CMD_SHOWTOC=1;
|
|
var CMD_SHOWINDEX=2;
|
|
var CMD_SHOWSEARCH=3;
|
|
var CMD_SHOWGLOSSARY=4;
|
|
var CMD_SHOWNONE=0;
|
|
|
|
var RHWO_LOCATION=0x01; /*need location bar?*/
|
|
var RHWO_MENUBAR=0x02; /*need menubar?*/
|
|
var RHWO_RESIZABLE=0x04; /*resizable window?*/
|
|
var RHWO_TOOLBAR=0x08; /*need toolbar?*/
|
|
var RHWO_STATUS=0x10; /*need statusbar?*/
|
|
var RHWO_SCROLLBARS=0x20; /*need scrollbars?*/
|
|
|
|
var gsStr="";
|
|
var gnId=-1;
|
|
var gsWindow="";
|
|
var gsJava="false";
|
|
var gbUseStr=false;
|
|
var gbURLReady=false;
|
|
var goWnd=new Object();
|
|
goWnd.sName="whCshDefault";
|
|
goWnd.nBOptions=RHWO_RESIZABLE|RHWO_SCROLLBARS;
|
|
goWnd.sBLeft="49%";
|
|
goWnd.sBTop="0";
|
|
goWnd.sBWidth="49%";
|
|
goWnd.sBHeight="49%";
|
|
goWnd.nPanes=1;
|
|
var goFullWnd=new Object();
|
|
goFullWnd.sName="whDefault";
|
|
goFullWnd.nBOptions=RHWO_RESIZABLE|RHWO_SCROLLBARS;
|
|
goFullWnd.sBLeft="20%";
|
|
goFullWnd.sBTop="0";
|
|
goFullWnd.sBWidth="79%";
|
|
goFullWnd.sBHeight="79%";
|
|
goFullWnd.nPanes=2;
|
|
|
|
var goNewWnd=null;
|
|
var gbLoadWnd=false;
|
|
var gsURL="";
|
|
|
|
function showCSH(sParam)
|
|
{
|
|
//id=
|
|
//str=
|
|
//url=
|
|
//cmd=
|
|
//with the format #<a=xxx>>b=xxx>>c=xxx...
|
|
parseParam(sParam);
|
|
SwitchURL();
|
|
}
|
|
|
|
function IsWndReady()
|
|
{
|
|
if(gaProj[0].nLoadState==0)
|
|
{
|
|
var sCshFile=_getFullPath(gaProj[0].sProjPath,gCSHFileName);
|
|
gaProj[0].nLoadState=1;
|
|
setTimeout("loadFail("+0+");",3000);
|
|
loadDataCsh(sCshFile);
|
|
gbLoadWnd=true;
|
|
return false;
|
|
}
|
|
else
|
|
return true;
|
|
}
|
|
|
|
function SwitchURL()
|
|
{
|
|
if(gbURLReady)
|
|
{
|
|
var sURL="";
|
|
var oWnd=null;
|
|
if(gsTopicURL)
|
|
{
|
|
sURL=_getPath(document.location.href)+gHomePage+"#"+gsTopicURL;
|
|
oWnd=goWnd;
|
|
}
|
|
else
|
|
{
|
|
if(gnCommand!=-1)
|
|
sURL=_getPath(document.location.href)+gHomePage+"#>>cmd="+gnCommand;
|
|
else
|
|
sURL=_getPath(document.location.href)+gHomePage;
|
|
oWnd=goFullWnd;
|
|
}
|
|
if(gsWindow)
|
|
{
|
|
if(!IsWndReady())
|
|
return false;
|
|
if(gaProj[gnCurProj].aWnd)
|
|
{
|
|
var aWnd=gaProj[gnCurProj].aWnd;
|
|
var bFound=false;
|
|
for(var i=0;i<aWnd.length;i++)
|
|
{
|
|
if(aWnd[i].sName.toLowerCase()==gsWindow.toLowerCase())
|
|
{
|
|
oWnd=aWnd[i];
|
|
bFound=true;
|
|
break;
|
|
}
|
|
}
|
|
if(!bFound&&gnCurProj!=0)
|
|
{
|
|
var aWnd=gaProj[0].aWnd;
|
|
for(var j=0;j<aWnd.length;j++)
|
|
{
|
|
if(aWnd[j].sName.toLowerCase()==gsWindow.toLowerCase())
|
|
{
|
|
oWnd=aWnd[j];
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if(sURL&&oWnd)
|
|
{
|
|
strURLOpt="";
|
|
if(oWnd.sCaption)
|
|
strURLOpt+=">>cap="+oWnd.sCaption;
|
|
if(oWnd.nPanes==1)
|
|
strURLOpt+=">>pan="+oWnd.nPanes;
|
|
else if(oWnd.nPanes==2)
|
|
{
|
|
strURLOpt+=">>pan="+oWnd.nPanes;
|
|
if(oWnd.nPOptions)
|
|
strURLOpt+=">>pot="+oWnd.nPOptions;
|
|
if(oWnd.sPButtons)
|
|
strURLOpt+=">>pbs="+oWnd.sPButtons;
|
|
if(oWnd.sPDefBtn)
|
|
strURLOpt+=">>pdb="+oWnd.sPDefBtn;
|
|
}
|
|
if(strURLOpt)
|
|
{
|
|
if(sURL.indexOf("#")==-1)
|
|
sURL+="#";
|
|
sURL+=strURLOpt;
|
|
}
|
|
if(gsJava=="false")
|
|
{
|
|
var strOpt=getBrowserOptionString(oWnd);
|
|
var sNewName=convertWindowName(oWnd.sName);
|
|
if(gbNav4)
|
|
{
|
|
if (gbNav6)
|
|
{
|
|
gsURL = sURL;
|
|
goNewWnd=window.open("about:blank",sNewName,strOpt);
|
|
setTimeout("postWindowNSOpen();",100);
|
|
}
|
|
else
|
|
{
|
|
window.open("about:blank",sNewName,strOpt);
|
|
var oNewWnd=window.open(sURL,sNewName);
|
|
window.close();
|
|
oNewWnd.focus();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if(gbIE5)
|
|
{
|
|
window.open("about:blank",sNewName,strOpt);
|
|
goNewWnd=window.open(sURL,sNewName);
|
|
}
|
|
else
|
|
{
|
|
gsURL = sURL; // IE4 had hard time to handle bookmark.
|
|
goNewWnd=window.open("about:blank",sNewName,strOpt);
|
|
}
|
|
setTimeout("postWindowOpen();",100);
|
|
}
|
|
}
|
|
else
|
|
document.location=sURL;
|
|
}
|
|
}
|
|
}
|
|
|
|
function convertWindowName(strName)
|
|
{
|
|
var strNewName = strName;
|
|
var strResultName = "";
|
|
var re=new RegExp("_","g");
|
|
strNewName = strName.replace(re,"__");
|
|
for (var i=0;i<strNewName.length;i++)
|
|
if (!(strNewName[i] == '_' ||
|
|
(strNewName[i] <= '9' && strNewName[i] >= '0') ||
|
|
(strNewName[i] <= 'z' && strNewName[i] >= 'a') ||
|
|
(strNewName[i] <= 'Z' && strNewName[i] >= 'A')))
|
|
{
|
|
strResultName += "_" + strNewName.charCodeAt(i);
|
|
}
|
|
else
|
|
strResultName += strNewName[i];
|
|
return strResultName;
|
|
}
|
|
|
|
function postWindowNSOpen()
|
|
{
|
|
if(goNewWnd)
|
|
{
|
|
if (gsURL)
|
|
goNewWnd.document.location.href=gsURL;
|
|
window.close();
|
|
goNewWnd.focus();
|
|
}
|
|
}
|
|
|
|
function postWindowOpen()
|
|
{
|
|
if(goNewWnd)
|
|
{
|
|
if (gsURL&&!gbIE5&&gbIE4)
|
|
goNewWnd.document.location.href=gsURL;
|
|
goNewWnd.focus();
|
|
}
|
|
}
|
|
|
|
function parseParam(sParam)
|
|
{
|
|
if(sParam)
|
|
{
|
|
var nBPos=0;
|
|
do
|
|
{
|
|
var nPos=sParam.indexOf(">>",nBPos);
|
|
if(nPos!=-1)
|
|
{
|
|
if(nPos>0)
|
|
{
|
|
var sPart=sParam.substring(nBPos,nPos);
|
|
parsePart(sPart);
|
|
}
|
|
nBPos=nPos+2;
|
|
}
|
|
else
|
|
{
|
|
var sPart=sParam.substring(nBPos);
|
|
parsePart(sPart);
|
|
break;
|
|
}
|
|
}while(nBPos<sParam.length);
|
|
}
|
|
}
|
|
|
|
function parsePart(sPart)
|
|
{
|
|
if(sPart.toLowerCase().indexOf("id=")==0)
|
|
{
|
|
fetchURLById(sPart.substring(3));
|
|
gbURLReady=false;
|
|
}
|
|
else if(sPart.toLowerCase().indexOf("str=")==0)
|
|
{
|
|
fetchURLByStr(sPart.substring(4));
|
|
gbURLReady=false;
|
|
}
|
|
else if(sPart.toLowerCase().indexOf("url=")==0)
|
|
{
|
|
gsTopicURL=sPart.substring(4);
|
|
gbURLReady=true;
|
|
}
|
|
else if(sPart.toLowerCase().indexOf("cmd=")==0)
|
|
{
|
|
var sCmd=sPart.substring(4);
|
|
if(sCmd.toLowerCase()=="toc")
|
|
{
|
|
gnCommand=CMD_SHOWTOC;
|
|
}
|
|
else if(sCmd.toLowerCase()=="idx")
|
|
{
|
|
gnCommand=CMD_SHOWINDEX;
|
|
}
|
|
else if(sCmd.toLowerCase()=="fts")
|
|
{
|
|
gnCommand=CMD_SHOWSEARCH;
|
|
}
|
|
else if(sCmd.toLowerCase()=="glo")
|
|
{
|
|
gnCommand=CMD_SHOWGLOSSARY;
|
|
}
|
|
else if(sCmd.toLowerCase()=="none")
|
|
{
|
|
gnCommand=CMD_SHOWNONE;
|
|
}
|
|
gbURLReady=true;
|
|
}
|
|
else if(sPart.toLowerCase().indexOf("wnd=")==0)
|
|
{
|
|
gsWindow=_browserStringToText(sPart.substring(4));
|
|
}
|
|
else if(sPart.toLowerCase().indexOf("java=")==0)
|
|
{
|
|
gsJava=sPart.substring(5);
|
|
}
|
|
}
|
|
|
|
function fetchURLById(sId)
|
|
{
|
|
var nId=parseInt(sId);
|
|
gsTopicURL="";
|
|
fetchURL("",nId,false);
|
|
}
|
|
|
|
function fetchURLByStr(sStr)
|
|
{
|
|
gsTopicURL="";
|
|
fetchURL(sStr,0,true);
|
|
}
|
|
|
|
function fetchURL(sStr,nId,bUseStr)
|
|
{
|
|
var bNeedLoad=false;
|
|
var bFound=false;
|
|
for(var i=0;i<gaProj.length;i++)
|
|
{
|
|
if(gaProj[i].nLoadState==3)
|
|
{
|
|
if(gaProj[i].aCsh)
|
|
{
|
|
for(var j=0;j<gaProj[i].aCsh.length;j++)
|
|
{
|
|
var sTopicURL="";
|
|
if(bUseStr)
|
|
{
|
|
if(gaProj[i].aCsh[j].strAliasId.toLowerCase()==sStr.toLowerCase())
|
|
sTopicURL=gaProj[i].aCsh[j].strUrl;
|
|
}
|
|
else
|
|
{
|
|
if(gaProj[i].aCsh[j].nTopicNum==nId)
|
|
sTopicURL=gaProj[i].aCsh[j].strUrl;
|
|
}
|
|
if(sTopicURL)
|
|
{
|
|
if(i!=0)
|
|
{
|
|
gnCurProj=i;
|
|
if(gaProj[i].sProjPath.indexOf(gaProj[0].sProjPath)==0)
|
|
{
|
|
var sRelPath=gaProj[i].sProjPath.substring(gaProj[0].sProjPath.length);
|
|
gsTopicURL=sRelPath+sTopicURL;
|
|
}
|
|
else
|
|
gsTopicURL=gaProj[i].sProjPath+sTopicURL;
|
|
}
|
|
else
|
|
gsTopicURL=sTopicURL;
|
|
bFound=true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
else if(gaProj[i].nLoadState==0)
|
|
{
|
|
gsStr=sStr;
|
|
gnId=nId;
|
|
gbUseStr=bUseStr;
|
|
var sCshFile=_getFullPath(gaProj[i].sProjPath,gCSHFileName);
|
|
gaProj[i].nLoadState=1;
|
|
setTimeout("loadFail("+i+");",3000);
|
|
loadDataCsh(sCshFile);
|
|
bNeedLoad=true;
|
|
}
|
|
if(bFound||bNeedLoad)
|
|
break;
|
|
}
|
|
if(!bNeedLoad)
|
|
{
|
|
gbURLReady=true;
|
|
SwitchURL();
|
|
}
|
|
}
|
|
|
|
function loadDataCsh(sFile)
|
|
{
|
|
if(gbIE4||gbNav61)
|
|
loadData(sFile);
|
|
else
|
|
{
|
|
window.frames[0].location=sFile;
|
|
}
|
|
}
|
|
|
|
function loadFail(nProj)
|
|
{
|
|
if(gaProj[nProj].nLoadState==1)
|
|
{
|
|
gaProj[nProj].nLoadState=2;
|
|
if(!gbLoadWnd)
|
|
fetchURL(gsStr,gnId,gbUseStr);
|
|
else
|
|
SwitchURL();
|
|
}
|
|
}
|
|
|
|
function putCshData(strProj,aCsh,aWnd,aRmtProj)
|
|
{
|
|
if(strProj)
|
|
{
|
|
strProj=_replaceSlash(strProj);
|
|
if(strProj.lastIndexOf("/")!=strProj.length-1)
|
|
strProj+="/";
|
|
for(var i=0;i<gaProj.length;i++)
|
|
{
|
|
if(gaProj[i].sProjPath)
|
|
{
|
|
if(isSamePath(gaProj[i].sProjPath,strProj))
|
|
{
|
|
gaProj[i].nLoadState=3;
|
|
gaProj[i].aCsh=aCsh;
|
|
gaProj[i].aWnd=aWnd;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if(aRmtProj&&aRmtProj.length)
|
|
{
|
|
for(var j=0;j<aRmtProj.length;j++)
|
|
{
|
|
var strRPath=_getFullPath(strProj,aRmtProj[j]);
|
|
var bFound=false;
|
|
for (var k=0;k<gaProj.length;k++)
|
|
{
|
|
if(gaProj[k].sProjPath)
|
|
{
|
|
if(isSamePath(gaProj[k].sProjPath,strRPath))
|
|
{
|
|
bFound=true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if(!bFound)
|
|
{
|
|
var len=gaProj.length;
|
|
gaProj[len]=new Object();
|
|
gaProj[len].sProjPath=strRPath;
|
|
gaProj[len].nLoadState=0;
|
|
}
|
|
}
|
|
}
|
|
if(!gbLoadWnd)
|
|
fetchURL(gsStr,gnId,gbUseStr);
|
|
else
|
|
SwitchURL();
|
|
|
|
}
|
|
}
|
|
|
|
function isSamePath(strPath1,strPath2)
|
|
{
|
|
return strPath1.toLowerCase()==strPath2.toLowerCase();
|
|
}
|
|
|
|
function getRelHomePage(strLocation)
|
|
{
|
|
var strCurPPath=_getPath(strLocation);
|
|
var strOriPPath=_getPath(getHomePage());
|
|
var strRelPath=_getRelativeFileName(strOriPPath,strCurPPath);
|
|
var strURL=getHomePage()+"#"+strRelPath;
|
|
return strURL;
|
|
}
|
|
|
|
function getHomePage()
|
|
{
|
|
var strHomePage;
|
|
var strTmp=location.toString();
|
|
var nPos=strTmp.indexOf("#");
|
|
if(nPos!=-1)
|
|
{
|
|
strHomePage=strTmp.substring(0,nPos);
|
|
}
|
|
else
|
|
{
|
|
strHomePage=strTmp;
|
|
}
|
|
return strHomePage;
|
|
}
|
|
|
|
function getBrowserOptionString(oWnd)
|
|
{
|
|
var strOpts="";
|
|
if(oWnd.bUseDefault)
|
|
return strOpts;
|
|
if(oWnd.nBOptions&RHWO_LOCATION)
|
|
strOpts+="location=yes";
|
|
else
|
|
strOpts+="location=no";
|
|
if(oWnd.nBOptions&RHWO_TOOLBAR)
|
|
strOpts+=",toolbar=yes";
|
|
else
|
|
strOpts+=",toolbar=no";
|
|
if(oWnd.nBOptions&RHWO_MENUBAR)
|
|
strOpts+=",menubar=yes";
|
|
else
|
|
strOpts+=",menubar=no";
|
|
if(oWnd.nBOptions&RHWO_STATUS)
|
|
strOpts+=",status=yes";
|
|
else
|
|
strOpts+=",status=no";
|
|
if(oWnd.nBOptions&RHWO_SCROLLBARS)
|
|
strOpts+=",scrollbars=yes";
|
|
else
|
|
strOpts+=",scrollbars=no";
|
|
if(oWnd.nBOptions&RHWO_RESIZABLE)
|
|
strOpts+=",resizable=yes";
|
|
else
|
|
strOpts+=",resizable=no";
|
|
if(oWnd.sBTop)
|
|
{
|
|
var nTop=getSValue(oWnd.sBTop,screen.height);
|
|
strOpts+=",top="+nTop;
|
|
strOpts+=",screenY="+nTop;
|
|
}
|
|
if(oWnd.sBLeft)
|
|
{
|
|
var nLeft=getSValue(oWnd.sBLeft,screen.width);
|
|
strOpts+=",left="+nLeft;
|
|
strOpts+=",screenX="+nLeft;
|
|
}
|
|
if(oWnd.sBWidth)
|
|
{
|
|
var nWidth=getSValue(oWnd.sBWidth,screen.width);
|
|
strOpts+=",width="+nWidth;
|
|
strOpts+=",outerWidth="+nWidth;
|
|
}
|
|
if(oWnd.sBHeight)
|
|
{
|
|
var nHeight=getSValue(oWnd.sBHeight,screen.height);
|
|
strOpts+=",height="+nHeight;
|
|
strOpts+=",outerHeight="+nHeight;
|
|
}
|
|
return strOpts;
|
|
}
|
|
|
|
function getSValue(sValue,nLength)
|
|
{
|
|
var nValue=0;
|
|
var nPos=sValue.indexOf("%");
|
|
if(nPos!=-1)
|
|
{
|
|
if(nPos>0)
|
|
{
|
|
var nPart=parseInt(sValue.substring(0,nPos));
|
|
nValue=nLength*nPart/100;
|
|
}
|
|
}
|
|
else
|
|
nValue=parseInt(sValue);
|
|
return nValue;
|
|
}
|
|
|
|
|
|
window.onload=window_OnLoad;
|
|
|
|
function window_OnLoad()
|
|
{
|
|
if(document.location.hash.length>0)
|
|
{
|
|
showCSH(document.location.hash.substring(1));
|
|
}
|
|
|
|
if(gsJava=="false")
|
|
window.moveTo(screen.width,screen.height);
|
|
}
|
|
//-->
|
|
</script>
|
|
</html> |