Salome HOME
Update the GUI documentation for SMESH module
[modules/smesh.git] / doc / salome / gui / SMESH / whcsh_home.htm
1 <html>\r
2 <script language="javascript1.2" src="whver.js"></script>\r
3 <script language="javascript1.2" src="whmozemu.js"></script>\r
4 <script language="javascript1.2" src="whutils.js"></script>\r
5 <script language="javascript1.2">\r
6 <!--\r
7 if(gbIE4||gbNav61)\r
8 {\r
9         document.write("<body></body>");\r
10 }\r
11 else\r
12 {\r
13         document.write("<frameset rows=\"100%,*\"><frame name=\"data_frm\" src=\"about:blank\"><frame name=\"dumb_frm\" src=\"about:blank\"></frameset>");\r
14 }\r
15 var gCSHFileName="whcshdata.htm";\r
16 \r
17 var gHomePage="smesh.htm";\r
18 var gaProj=new Array();\r
19 gaProj[0]=new Object();\r
20 gaProj[0].sProjPath=_replaceSlash(_getPath(document.location.href));\r
21 gaProj[0].nLoadState=0;\r
22 var gCurrent=0;\r
23 \r
24 var gsTopicURL="";\r
25 var gnCurProj=0;\r
26 var gnCommand=-1;\r
27 var CMD_SHOWTOC=1;\r
28 var CMD_SHOWINDEX=2;\r
29 var CMD_SHOWSEARCH=3;\r
30 var CMD_SHOWGLOSSARY=4;\r
31 var CMD_SHOWNONE=0;\r
32 \r
33 var RHWO_LOCATION=0x01;         /*need location bar?*/\r
34 var RHWO_MENUBAR=0x02;          /*need menubar?*/               \r
35 var RHWO_RESIZABLE=0x04;        /*resizable window?*/\r
36 var RHWO_TOOLBAR=0x08;          /*need toolbar?*/\r
37 var RHWO_STATUS=0x10;           /*need statusbar?*/\r
38 var RHWO_SCROLLBARS=0x20;       /*need scrollbars?*/\r
39 \r
40 var gsStr="";\r
41 var gnId=-1;\r
42 var gsWindow="";\r
43 var gsJava="false";\r
44 var gbUseStr=false;\r
45 var gbURLReady=false;\r
46 var goWnd=new Object();\r
47 goWnd.sName="whCshDefault";\r
48 goWnd.nBOptions=RHWO_RESIZABLE|RHWO_SCROLLBARS;\r
49 goWnd.sBLeft="49%";\r
50 goWnd.sBTop="0";\r
51 goWnd.sBWidth="49%";\r
52 goWnd.sBHeight="49%";\r
53 goWnd.nPanes=1;\r
54 var goFullWnd=new Object();\r
55 goFullWnd.sName="whDefault";\r
56 goFullWnd.nBOptions=RHWO_RESIZABLE|RHWO_SCROLLBARS;\r
57 goFullWnd.sBLeft="20%";\r
58 goFullWnd.sBTop="0";\r
59 goFullWnd.sBWidth="79%";\r
60 goFullWnd.sBHeight="79%";\r
61 goFullWnd.nPanes=2;\r
62 \r
63 var goNewWnd=null;\r
64 var gbLoadWnd=false;\r
65 var gsURL="";\r
66 \r
67 function showCSH(sParam)\r
68 {\r
69         //id=\r
70         //str=\r
71         //url=\r
72         //cmd=\r
73         //with the format #<a=xxx>>b=xxx>>c=xxx...\r
74         parseParam(sParam);\r
75         SwitchURL();\r
76 }\r
77 \r
78 function IsWndReady()\r
79 {\r
80         if(gaProj[0].nLoadState==0)\r
81         {\r
82                 var sCshFile=_getFullPath(gaProj[0].sProjPath,gCSHFileName);\r
83                 gaProj[0].nLoadState=1;\r
84                 setTimeout("loadFail("+0+");",3000);\r
85                 loadDataCsh(sCshFile);\r
86                 gbLoadWnd=true;\r
87                 return false;\r
88         }\r
89         else\r
90                 return true;\r
91 }\r
92 \r
93 function SwitchURL()\r
94 {\r
95         if(gbURLReady)\r
96         {\r
97                 var sURL="";\r
98                 var oWnd=null;\r
99                 if(gsTopicURL)\r
100                 {\r
101                         sURL=_getPath(document.location.href)+gHomePage+"#"+gsTopicURL;\r
102                         oWnd=goWnd;\r
103                 }\r
104                 else\r
105                 {\r
106                         if(gnCommand!=-1)\r
107                                 sURL=_getPath(document.location.href)+gHomePage+"#>>cmd="+gnCommand;\r
108                         else\r
109                                 sURL=_getPath(document.location.href)+gHomePage;\r
110                         oWnd=goFullWnd;\r
111                 }\r
112                 if(gsWindow)\r
113                 {\r
114                         if(!IsWndReady())\r
115                                 return false;\r
116                         if(gaProj[gnCurProj].aWnd)\r
117                         {\r
118                                 var aWnd=gaProj[gnCurProj].aWnd;\r
119                                 var bFound=false;\r
120                                 for(var i=0;i<aWnd.length;i++)\r
121                                 {\r
122                                         if(aWnd[i].sName.toLowerCase()==gsWindow.toLowerCase())\r
123                                         {\r
124                                                 oWnd=aWnd[i];\r
125                                                 bFound=true;\r
126                                                 break;\r
127                                         }\r
128                                 }\r
129                                 if(!bFound&&gnCurProj!=0)\r
130                                 {\r
131                                         var aWnd=gaProj[0].aWnd;\r
132                                         for(var j=0;j<aWnd.length;j++)\r
133                                         {\r
134                                                 if(aWnd[j].sName.toLowerCase()==gsWindow.toLowerCase())\r
135                                                 {\r
136                                                         oWnd=aWnd[j];\r
137                                                         break;\r
138                                                 }\r
139                                         }\r
140                                 }\r
141                         }\r
142                 }\r
143 \r
144                 if(sURL&&oWnd)\r
145                 {\r
146                         strURLOpt="";\r
147                         if(oWnd.sCaption)\r
148                                 strURLOpt+=">>cap="+oWnd.sCaption;\r
149                         if(oWnd.nPanes==1)\r
150                                 strURLOpt+=">>pan="+oWnd.nPanes;\r
151                         else if(oWnd.nPanes==2)\r
152                         {\r
153                                 strURLOpt+=">>pan="+oWnd.nPanes;\r
154                                 if(oWnd.nPOptions)\r
155                                         strURLOpt+=">>pot="+oWnd.nPOptions;\r
156                                 if(oWnd.sPButtons)\r
157                                         strURLOpt+=">>pbs="+oWnd.sPButtons;\r
158                                 if(oWnd.sPDefBtn)\r
159                                         strURLOpt+=">>pdb="+oWnd.sPDefBtn;\r
160                         }\r
161                         if(strURLOpt)\r
162                         {\r
163                                 if(sURL.indexOf("#")==-1)\r
164                                         sURL+="#";\r
165                                 sURL+=strURLOpt;\r
166                         }\r
167                         if(gsJava=="false")\r
168                         {\r
169                                 var strOpt=getBrowserOptionString(oWnd);\r
170                                 var sNewName=convertWindowName(oWnd.sName);\r
171                                 if(gbNav4)\r
172                                 {\r
173                                         if (gbNav6)\r
174                                         {\r
175                                                 gsURL = sURL;\r
176                                                 goNewWnd=window.open("about:blank",sNewName,strOpt);\r
177                                                 setTimeout("postWindowNSOpen();",100);\r
178                                         }\r
179                                         else\r
180                                         {\r
181                                                 window.open("about:blank",sNewName,strOpt);\r
182                                                 var oNewWnd=window.open(sURL,sNewName);\r
183                                                 window.close();\r
184                                                 oNewWnd.focus();\r
185                                         }\r
186                                 }\r
187                                 else\r
188                                 {\r
189                                         if(gbIE5)\r
190                                         {\r
191                                                 window.open("about:blank",sNewName,strOpt);\r
192                                                 goNewWnd=window.open(sURL,sNewName);\r
193                                         }\r
194                                         else\r
195                                         {\r
196                                                 gsURL = sURL; // IE4 had hard time to handle bookmark.\r
197                                                 goNewWnd=window.open("about:blank",sNewName,strOpt);\r
198                                         }\r
199                                         setTimeout("postWindowOpen();",100);\r
200                                 }\r
201                         }\r
202                         else\r
203                                 document.location=sURL;\r
204                 }\r
205         }\r
206 }\r
207 \r
208 function convertWindowName(strName)\r
209 {\r
210         var strNewName = strName;\r
211         var strResultName = "";\r
212         var re=new RegExp("_","g");\r
213         strNewName = strName.replace(re,"__");\r
214         for (var i=0;i<strNewName.length;i++)\r
215                 if (!(strNewName[i] == '_' ||\r
216                         (strNewName[i] <= '9' && strNewName[i] >= '0') ||\r
217                         (strNewName[i] <= 'z' && strNewName[i] >= 'a') ||\r
218                         (strNewName[i] <= 'Z' && strNewName[i] >= 'A')))\r
219                 {\r
220                         strResultName += "_" + strNewName.charCodeAt(i);\r
221                 }\r
222                 else\r
223                         strResultName += strNewName[i];\r
224         return strResultName;\r
225 }\r
226 \r
227 function postWindowNSOpen()\r
228 {\r
229         if(goNewWnd)\r
230         {\r
231                 if (gsURL)\r
232                         goNewWnd.document.location.href=gsURL;\r
233                 window.close();\r
234                 goNewWnd.focus();\r
235         }\r
236 }\r
237 \r
238 function postWindowOpen()\r
239 {\r
240         if(goNewWnd)\r
241         {\r
242                 if (gsURL&&!gbIE5&&gbIE4)\r
243                         goNewWnd.document.location.href=gsURL;\r
244                 goNewWnd.focus();\r
245         }\r
246 }\r
247 \r
248 function parseParam(sParam)\r
249 {\r
250         if(sParam)\r
251         {\r
252                 var nBPos=0;\r
253                 do\r
254                 {\r
255                         var nPos=sParam.indexOf(">>",nBPos);\r
256                         if(nPos!=-1)\r
257                         {\r
258                                 if(nPos>0)\r
259                                 {\r
260                                         var sPart=sParam.substring(nBPos,nPos);\r
261                                         parsePart(sPart);\r
262                                 }\r
263                                 nBPos=nPos+2;\r
264                         }\r
265                         else\r
266                         {\r
267                                 var sPart=sParam.substring(nBPos);\r
268                                 parsePart(sPart);\r
269                                 break;\r
270                         }\r
271                 }while(nBPos<sParam.length);\r
272         }\r
273 }\r
274 \r
275 function parsePart(sPart)\r
276 {\r
277         if(sPart.toLowerCase().indexOf("id=")==0)\r
278         {\r
279                 fetchURLById(sPart.substring(3));\r
280                 gbURLReady=false;\r
281         }\r
282         else if(sPart.toLowerCase().indexOf("str=")==0)\r
283         {\r
284                 fetchURLByStr(sPart.substring(4));\r
285                 gbURLReady=false;\r
286         }\r
287         else if(sPart.toLowerCase().indexOf("url=")==0)\r
288         {\r
289                 gsTopicURL=sPart.substring(4);\r
290                 gbURLReady=true;\r
291         }\r
292         else if(sPart.toLowerCase().indexOf("cmd=")==0)\r
293         {\r
294                 var sCmd=sPart.substring(4);\r
295                 if(sCmd.toLowerCase()=="toc")\r
296                 {\r
297                         gnCommand=CMD_SHOWTOC;\r
298                 }\r
299                 else if(sCmd.toLowerCase()=="idx")\r
300                 {\r
301                         gnCommand=CMD_SHOWINDEX;\r
302                 }\r
303                 else if(sCmd.toLowerCase()=="fts")\r
304                 {\r
305                         gnCommand=CMD_SHOWSEARCH;\r
306                 }\r
307                 else if(sCmd.toLowerCase()=="glo")\r
308                 {\r
309                         gnCommand=CMD_SHOWGLOSSARY;\r
310                 }\r
311                 else if(sCmd.toLowerCase()=="none")\r
312                 {\r
313                         gnCommand=CMD_SHOWNONE;\r
314                 }\r
315                 gbURLReady=true;\r
316         }\r
317         else if(sPart.toLowerCase().indexOf("wnd=")==0)\r
318         {\r
319                 gsWindow=_browserStringToText(sPart.substring(4));\r
320         }\r
321         else if(sPart.toLowerCase().indexOf("java=")==0)\r
322         {\r
323                 gsJava=sPart.substring(5);\r
324         }\r
325 }\r
326 \r
327 function fetchURLById(sId)\r
328 {\r
329         var nId=parseInt(sId);\r
330         gsTopicURL="";\r
331         fetchURL("",nId,false);\r
332 }\r
333 \r
334 function fetchURLByStr(sStr)\r
335 {\r
336         gsTopicURL="";\r
337         fetchURL(sStr,0,true);\r
338 }\r
339 \r
340 function fetchURL(sStr,nId,bUseStr)\r
341 {\r
342         var bNeedLoad=false;\r
343         var bFound=false;\r
344         for(var i=0;i<gaProj.length;i++)\r
345         {\r
346                 if(gaProj[i].nLoadState==3)\r
347                 {\r
348                         if(gaProj[i].aCsh)\r
349                         {\r
350                                 for(var j=0;j<gaProj[i].aCsh.length;j++)\r
351                                 {\r
352                                         var sTopicURL="";\r
353                                         if(bUseStr)\r
354                                         {\r
355                                                 if(gaProj[i].aCsh[j].strAliasId.toLowerCase()==sStr.toLowerCase())\r
356                                                         sTopicURL=gaProj[i].aCsh[j].strUrl;\r
357                                         }\r
358                                         else\r
359                                         {\r
360                                                 if(gaProj[i].aCsh[j].nTopicNum==nId)\r
361                                                         sTopicURL=gaProj[i].aCsh[j].strUrl;\r
362                                         }\r
363                                         if(sTopicURL)\r
364                                         {\r
365                                                 if(i!=0)\r
366                                                 {\r
367                                                         gnCurProj=i;\r
368                                                         if(gaProj[i].sProjPath.indexOf(gaProj[0].sProjPath)==0)\r
369                                                         {\r
370                                                                 var sRelPath=gaProj[i].sProjPath.substring(gaProj[0].sProjPath.length);\r
371                                                                 gsTopicURL=sRelPath+sTopicURL;\r
372                                                         }\r
373                                                         else\r
374                                                                 gsTopicURL=gaProj[i].sProjPath+sTopicURL;\r
375                                                 }\r
376                                                 else\r
377                                                         gsTopicURL=sTopicURL;\r
378                                                 bFound=true;\r
379                                                 break;\r
380                                         }\r
381                                 }\r
382                         }\r
383                         \r
384                 }\r
385                 else if(gaProj[i].nLoadState==0)\r
386                 {\r
387                         gsStr=sStr;\r
388                         gnId=nId;\r
389                         gbUseStr=bUseStr;\r
390                         var sCshFile=_getFullPath(gaProj[i].sProjPath,gCSHFileName);\r
391                         gaProj[i].nLoadState=1;\r
392                         setTimeout("loadFail("+i+");",3000);\r
393                         loadDataCsh(sCshFile);\r
394                         bNeedLoad=true;\r
395                 }\r
396                 if(bFound||bNeedLoad)\r
397                         break;\r
398         }\r
399         if(!bNeedLoad)\r
400         {\r
401                 gbURLReady=true;\r
402                 SwitchURL();\r
403         }\r
404 }\r
405 \r
406 function loadDataCsh(sFile)\r
407 {\r
408         if(gbIE4||gbNav61)\r
409                 loadData(sFile);\r
410         else\r
411         {\r
412                 window.frames[0].location=sFile;\r
413         }\r
414 }\r
415 \r
416 function loadFail(nProj)\r
417 {\r
418         if(gaProj[nProj].nLoadState==1)\r
419         {\r
420                 gaProj[nProj].nLoadState=2;\r
421                 if(!gbLoadWnd)\r
422                         fetchURL(gsStr,gnId,gbUseStr);\r
423                 else\r
424                         SwitchURL();\r
425         }\r
426 }\r
427 \r
428 function putCshData(strProj,aCsh,aWnd,aRmtProj)\r
429 {\r
430         if(strProj)\r
431         {\r
432                 strProj=_replaceSlash(strProj);\r
433                 if(strProj.lastIndexOf("/")!=strProj.length-1)\r
434                         strProj+="/";\r
435                 for(var i=0;i<gaProj.length;i++)\r
436                 {\r
437                         if(gaProj[i].sProjPath)\r
438                         {\r
439                                 if(isSamePath(gaProj[i].sProjPath,strProj))\r
440                                 {\r
441                                         gaProj[i].nLoadState=3;\r
442                                         gaProj[i].aCsh=aCsh;\r
443                                         gaProj[i].aWnd=aWnd;\r
444                                         break;\r
445                                 }\r
446                         }\r
447                 }\r
448                 if(aRmtProj&&aRmtProj.length)\r
449                 {\r
450                         for(var j=0;j<aRmtProj.length;j++)\r
451                         {\r
452                                 var strRPath=_getFullPath(strProj,aRmtProj[j]);\r
453                                 var bFound=false;\r
454                                 for (var k=0;k<gaProj.length;k++)\r
455                                 {\r
456                                         if(gaProj[k].sProjPath)\r
457                                         {\r
458                                                 if(isSamePath(gaProj[k].sProjPath,strRPath))\r
459                                                 {\r
460                                                         bFound=true;\r
461                                                         break;\r
462                                                 }\r
463                                         }\r
464                                 }\r
465                                 if(!bFound)\r
466                                 {\r
467                                         var len=gaProj.length;\r
468                                         gaProj[len]=new Object();\r
469                                         gaProj[len].sProjPath=strRPath;\r
470                                         gaProj[len].nLoadState=0;\r
471                                 }\r
472                         }\r
473                 }\r
474                 if(!gbLoadWnd)\r
475                         fetchURL(gsStr,gnId,gbUseStr);\r
476                 else\r
477                         SwitchURL();\r
478                         \r
479         }\r
480 }\r
481 \r
482 function isSamePath(strPath1,strPath2)\r
483 {\r
484         return strPath1.toLowerCase()==strPath2.toLowerCase();\r
485 }\r
486 \r
487 function getRelHomePage(strLocation)\r
488 {\r
489         var strCurPPath=_getPath(strLocation);\r
490         var strOriPPath=_getPath(getHomePage());\r
491         var strRelPath=_getRelativeFileName(strOriPPath,strCurPPath);\r
492         var strURL=getHomePage()+"#"+strRelPath;\r
493         return strURL;\r
494 }\r
495 \r
496 function getHomePage()\r
497 {\r
498         var strHomePage;\r
499         var strTmp=location.toString();\r
500         var nPos=strTmp.indexOf("#");\r
501         if(nPos!=-1)\r
502         {\r
503                 strHomePage=strTmp.substring(0,nPos);\r
504         }\r
505         else\r
506         {\r
507                 strHomePage=strTmp;\r
508         }\r
509         return strHomePage;\r
510 }\r
511 \r
512 function getBrowserOptionString(oWnd)\r
513 {\r
514         var strOpts="";\r
515         if(oWnd.bUseDefault)\r
516                 return strOpts;\r
517         if(oWnd.nBOptions&RHWO_LOCATION)\r
518                 strOpts+="location=yes";\r
519         else\r
520                 strOpts+="location=no";\r
521         if(oWnd.nBOptions&RHWO_TOOLBAR)\r
522                 strOpts+=",toolbar=yes";                \r
523         else\r
524                 strOpts+=",toolbar=no";         \r
525         if(oWnd.nBOptions&RHWO_MENUBAR)\r
526                 strOpts+=",menubar=yes";                \r
527         else\r
528                 strOpts+=",menubar=no";\r
529         if(oWnd.nBOptions&RHWO_STATUS)\r
530                 strOpts+=",status=yes";         \r
531         else\r
532                 strOpts+=",status=no";          \r
533         if(oWnd.nBOptions&RHWO_SCROLLBARS)\r
534                 strOpts+=",scrollbars=yes";\r
535         else\r
536                 strOpts+=",scrollbars=no";      \r
537         if(oWnd.nBOptions&RHWO_RESIZABLE)\r
538                 strOpts+=",resizable=yes";\r
539         else\r
540                 strOpts+=",resizable=no";\r
541         if(oWnd.sBTop)\r
542         {\r
543                 var nTop=getSValue(oWnd.sBTop,screen.height);\r
544                 strOpts+=",top="+nTop;\r
545                 strOpts+=",screenY="+nTop;\r
546         }\r
547         if(oWnd.sBLeft)\r
548         {\r
549                 var nLeft=getSValue(oWnd.sBLeft,screen.width);\r
550                 strOpts+=",left="+nLeft;\r
551                 strOpts+=",screenX="+nLeft;\r
552         }\r
553         if(oWnd.sBWidth)\r
554         {\r
555                 var nWidth=getSValue(oWnd.sBWidth,screen.width);\r
556                 strOpts+=",width="+nWidth;\r
557                 strOpts+=",outerWidth="+nWidth;\r
558         }\r
559         if(oWnd.sBHeight)\r
560         {\r
561                 var nHeight=getSValue(oWnd.sBHeight,screen.height);\r
562                 strOpts+=",height="+nHeight;\r
563                 strOpts+=",outerHeight="+nHeight;\r
564         }\r
565         return strOpts;\r
566 }\r
567 \r
568 function getSValue(sValue,nLength)\r
569 {\r
570         var nValue=0;\r
571         var nPos=sValue.indexOf("%");\r
572         if(nPos!=-1)\r
573         {\r
574                 if(nPos>0)\r
575                 {\r
576                         var nPart=parseInt(sValue.substring(0,nPos));\r
577                         nValue=nLength*nPart/100;\r
578                 }\r
579         }\r
580         else\r
581                 nValue=parseInt(sValue);\r
582         return nValue;\r
583 }\r
584 \r
585 \r
586 window.onload=window_OnLoad;\r
587 \r
588 function window_OnLoad()\r
589 {\r
590         if(document.location.hash.length>0)\r
591         {\r
592                 showCSH(document.location.hash.substring(1));\r
593         }\r
594 \r
595         if(gsJava=="false")\r
596                 window.moveTo(screen.width,screen.height);\r
597 }\r
598 //-->\r
599 </script>\r
600 </html>