Salome HOME
*** empty log message ***
[modules/smesh.git] / doc / salome / gui / SMESH / whstart.js
1 //      WebHelp 5.10.003\r
2 RegisterListener2(this, WH_MSG_GETSTARTFRAME);\r
3 RegisterListener2(this, WH_MSG_GETDEFAULTTOPIC);\r
4 RegisterListener2(this, WH_MSG_MINIBARORDER);\r
5 RegisterListener2(this, WH_MSG_TOOLBARORDER);\r
6 RegisterListener2(this, WH_MSG_ISSEARCHSUPPORT);\r
7 RegisterListener2(this, WH_MSG_ISSYNCSSUPPORT);\r
8 RegisterListener2(this, WH_MSG_ISAVENUESUPPORT);\r
9 RegisterListener2(this, WH_MSG_GETPANETYPE);\r
10 RegisterListener2(this, WH_MSG_GETPANES);\r
11 RegisterListener2(this, WH_MSG_RELOADNS6);\r
12 RegisterListener2(this, WH_MSG_GETCMD);\r
13 RegisterListener2(this, WH_MSG_GETPANE);\r
14 RegisterListener2(this, WH_MSG_GETDEFPANE);\r
15 \r
16 if (gbNav6)\r
17 {\r
18         var gnReload=0;\r
19         setTimeout("delayReload();",5000);\r
20 }\r
21 \r
22 function delayReload()\r
23 {\r
24         if (!(this.cMRServer && cMRServer.m_strVersion))\r
25         {\r
26                 if(gnReload!=2)\r
27                 {\r
28                         if(nViewFrameType&&nViewFrameType==1)\r
29                                 document.location=document.location;\r
30                 }\r
31         }\r
32 }\r
33 \r
34 var gsToolbarOrder = "toc|fts|glo|blankblock|searchform|banner";\r
35 var gsMinibarOrder = "blankblock|hide2|";\r
36 \r
37 var gsTopic = "files/introduction_to_smesh.htm";\r
38 var PANE_OPT_SEARCH = 1;\r
39 var PANE_OPT_BROWSESEQ = 2;\r
40 var gnOpts=-1;\r
41 var gnCmd=-1;\r
42 var gnPans=2;\r
43 var gsBtns="invalid";\r
44 var gsDefaultBtn="invalid";\r
45 var gbHasTitle=false;\r
46 \r
47 if (location.hash.length > 1)\r
48 {\r
49         var sParam = location.hash;\r
50         if (sParam.indexOf("#<") == 0)\r
51         {\r
52                 document.location = "whcsh_home.htm#" + sParam.substring(2);\r
53         }\r
54         else if (sParam.indexOf("#>>") == 0)\r
55         {\r
56                 parseParam(sParam.substring(3));\r
57                 sParam = "#" + gsTopic + sParam.substring(1);\r
58         }\r
59         else\r
60         {\r
61                 var nPos = sParam.indexOf(">>");\r
62                 if (nPos>1)\r
63                 {\r
64                         gsTopic = sParam.substring(1, nPos);\r
65                         parseParam(sParam.substring(nPos+2));\r
66                 }\r
67                 else\r
68                         gsTopic = sParam.substring(1);\r
69         }\r
70         if (gnPans == 1 && gsTopic)\r
71         {\r
72                 var strURL=location.href;\r
73                 if (location.hash)\r
74                 {\r
75                         var nPos=location.href.indexOf(location.hash);\r
76                         strURL=strURL.substring(0, nPos);\r
77                 }\r
78                 if (gbHasTitle)\r
79                         document.location=_getPath(strURL)+ "whskin_tw.htm" + sParam;\r
80                 else\r
81                         document.location=_getPath(strURL)+ gsTopic;\r
82         }\r
83 }\r
84 \r
85 function parseParam(sParam)\r
86 {\r
87         if (sParam)\r
88         {\r
89                 var nBPos=0;\r
90                 do \r
91                 {\r
92                         var nPos=sParam.indexOf(">>", nBPos);\r
93                         if (nPos!=-1)\r
94                         {\r
95                                 if (nPos>0)\r
96                                 {\r
97                                         var sPart=sParam.substring(nBPos, nPos);\r
98                                         parsePart(sPart);\r
99                                 }\r
100                                 nBPos = nPos + 2;\r
101                         }\r
102                         else\r
103                         {\r
104                                 var sPart=sParam.substring(nBPos);\r
105                                 parsePart(sPart);\r
106                                 break;\r
107                         }\r
108                 } while(nBPos < sParam.length);\r
109         }       \r
110 }\r
111 \r
112 function parsePart(sPart)\r
113 {\r
114         if(sPart.toLowerCase().indexOf("cmd=")==0)\r
115         {\r
116                 gnCmd=parseInt(sPart.substring(4));\r
117         }\r
118         else if(sPart.toLowerCase().indexOf("cap=")==0)\r
119         {\r
120                 document.title=_browserStringToText(sPart.substring(4));\r
121                 gbHasTitle=true;\r
122         }\r
123         else if(sPart.toLowerCase().indexOf("pan=")==0)\r
124         {\r
125                 gnPans=parseInt(sPart.substring(4));\r
126         }\r
127         else if(sPart.toLowerCase().indexOf("pot=")==0)\r
128         {\r
129                 gnOpts=parseInt(sPart.substring(4));\r
130         }\r
131         else if(sPart.toLowerCase().indexOf("pbs=")==0)\r
132         {\r
133                 var sRawBtns = sPart.substring(4);\r
134                 var aBtns = sRawBtns.split("|");\r
135                 for (var i=0;i<aBtns.length;i++)\r
136                 {\r
137                         aBtns[i] = transferAgentNameToPaneName(aBtns[i]);\r
138                 }\r
139                 gsRawBtns = aBtns.join("|");\r
140         }\r
141         else if(sPart.toLowerCase().indexOf("pdb=")==0)\r
142         {\r
143                 gsDefaultBtn=transferAgentNameToPaneName(sPart.substring(4));\r
144         }\r
145 }\r
146 \r
147 function setToolbarOrder(sOrder)\r
148 {\r
149         gsToolbarOrder = sOrder;\r
150 }\r
151 \r
152 function setMinibarOrder(sOrder)\r
153 {\r
154         gsMinibarOrder = sOrder;\r
155 }\r
156 \r
157 function onSendMessageX(oMsg)\r
158 {\r
159         var nMsgId = oMsg.nMessageId;\r
160         if (nMsgId == WH_MSG_GETSTARTFRAME)\r
161         {\r
162                 oMsg.oParam.oFrame = this;\r
163                 return false;\r
164         }\r
165         else if (nMsgId == WH_MSG_GETDEFAULTTOPIC)\r
166         {\r
167                 if (this.cMRServer && cMRServer.m_strVersion)\r
168                 {\r
169                         if (cMRServer.m_strURLTopic);\r
170                         {\r
171                                 oMsg.oParam.sTopic = cMRServer.m_strURLTopic;\r
172                                 return false;\r
173                         }\r
174 \r
175                 }\r
176                 oMsg.oParam.sTopic = gsTopic;\r
177                 return false;\r
178         }\r
179         else if (nMsgId == WH_MSG_TOOLBARORDER)\r
180         {\r
181                 var oMsg1 = new whMessage(WH_MSG_GETPANES, this, 1, null);\r
182                 if (SendMessage(oMsg1))\r
183                 {\r
184                         if (oMsg1.oParam)\r
185                         {\r
186                                 if (this.cMRServer && cMRServer.m_strVersion)\r
187                                 {\r
188                                         var aToolbarOrder=cMRServer.m_strAgentList.split(";");\r
189                                         var i=0;\r
190                                         for (i=0;i<aToolbarOrder.length;i++)\r
191                                                 aToolbarOrder[i]=transferANToPN2(aToolbarOrder[i]);\r
192                                         aToolbarOrder[aToolbarOrder.length] = "blankblock";\r
193                                         if (cMRServer.m_bShowSearchInput)\r
194                                         {\r
195                                                 aToolbarOrder[aToolbarOrder.length] = "searchform";\r
196                                         }\r
197                                         aToolbarOrder[aToolbarOrder.length] = "banner";\r
198                                         var aToolbarOrderNew = new Array();\r
199                                         for (i=0;i<aToolbarOrder.length;i++)\r
200                                         {\r
201                                                 if (isAPane(aToolbarOrder[i]))\r
202                                                 {\r
203                                                         if (oMsg1.oParam.aPanes && oMsg1.oParam.aPanes.length)\r
204                                                         {\r
205                                                                 for (var j=0;j<oMsg1.oParam.aPanes.length;j++)\r
206                                                                 {\r
207                                                                         if (aToolbarOrder[i] == oMsg1.oParam.aPanes[j].sPaneName)\r
208                                                                         {\r
209                                                                                 aToolbarOrderNew[aToolbarOrderNew.length] = aToolbarOrder[i];\r
210                                                                                 break;\r
211                                                                         }\r
212                                                                 }\r
213                                                         }\r
214                                                 }\r
215                                                 else\r
216                                                         aToolbarOrderNew[aToolbarOrderNew.length] = aToolbarOrder[i];\r
217                                         }\r
218                                         oMsg.oParam = aToolbarOrderNew.join("|");\r
219                                         return false;\r
220                                 }\r
221                         }\r
222                 }\r
223                 var sParam="";\r
224                 if (gsBtns!="invalid")\r
225                         sParam=gsBtns+"|blankblock|banner";\r
226                 else\r
227                         sParam = gsToolbarOrder;\r
228 \r
229                 if (gnOpts!=-1)\r
230                 {\r
231                         var nPosForm=sParam.indexOf("|searchform|");\r
232                         if (gnOpts&PANE_OPT_SEARCH)\r
233                         {\r
234                                 if (nPosForm == -1 && sParam.indexOf("|fts|") != -1)\r
235                                 {\r
236                                         var nPos=sParam.indexOf("banner");\r
237                                         if (nPos!=-1)\r
238                                         {\r
239                                                 sParam=sParam.substring(0, nPos) + "searchform|" + sParam.substring(nPos);\r
240                                         }\r
241                                 }\r
242                         }\r
243                         else\r
244                         {\r
245                                 if (nPosForm!=-1)\r
246                                 {\r
247                                         sParam=sParam.substring(0,nPosForm) + sParam.substring(nPosForm+11);\r
248                                 }\r
249                         }\r
250                 }\r
251                 oMsg.oParam=sParam;\r
252                 return false;\r
253         }\r
254         else if (nMsgId == WH_MSG_MINIBARORDER)\r
255         {\r
256                 var sMinParam=gsMinibarOrder;\r
257                 if (gnOpts!=-1)\r
258                 {\r
259                         var nPosBro=gsMinibarOrder.indexOf("avprev|avnext");\r
260                         if (gnOpts&PANE_OPT_BROWSESEQ)\r
261                         {\r
262                                 if (nPosBro==-1)\r
263                                 {\r
264                                         sMinParam ="avprev|avnext|" + gsMinibarOrder;\r
265                                 }\r
266                         }\r
267                         else\r
268                         {\r
269                                 if (nPosBro!=-1)\r
270                                 {\r
271                                         if (nPosBro!=0)\r
272                                                 sMinParam=gsMinibarOrder.substring(0, nPosBro) + gsMinibarOrder.substring(nPosBro+14);\r
273                                         else\r
274                                                 sMinParam=gsMinibarOrder.substring(14);\r
275                                 }\r
276                         }\r
277                 }\r
278                 oMsg.oParam = sMinParam;\r
279                 return false;\r
280         }\r
281         else if (nMsgId == WH_MSG_ISSYNCSSUPPORT)\r
282         {\r
283                 if (this.cMRServer && cMRServer.m_strVersion)\r
284                 {\r
285                         if (cMRServer.m_bShowSync)\r
286                                 oMsg.oParam=true;\r
287                         else\r
288                                 oMsg.oParam=false;\r
289                         return false;\r
290                 }\r
291                 else\r
292                 {\r
293                         if(typeof(nViewFrameType)!="undefined")\r
294                         {\r
295                                 oMsg.oParam= (nViewFrameType < 3);\r
296                                 return false;\r
297                         }\r
298                 }\r
299         }\r
300         else if (nMsgId == WH_MSG_ISAVENUESUPPORT)\r
301         {\r
302                 if (this.cMRServer && cMRServer.m_strVersion)\r
303                 {\r
304                         if (cMRServer.m_bShowBrowseSequences)\r
305                                 oMsg.oParam=true;\r
306                         else\r
307                                 oMsg.oParam=false;\r
308                 }\r
309                 else\r
310                 {\r
311                         oMsg.oParam=true;\r
312                 }\r
313                 return false;\r
314         }\r
315         else if (nMsgId == WH_MSG_ISSEARCHSUPPORT)\r
316         {\r
317                 if(typeof(nViewFrameType)!="undefined")\r
318                 {\r
319                         oMsg.oParam= (nViewFrameType < 3);\r
320                         return false;\r
321                 }\r
322         }\r
323         else if (nMsgId == WH_MSG_GETPANETYPE)\r
324         {\r
325                 if(typeof(nViewFrameType)!="undefined")\r
326                 {\r
327                         var oPaneInfo = new Object();\r
328                         oPaneInfo.nType = nViewFrameType;\r
329                         oPaneInfo.sPaneURL = strPane;\r
330                         oMsg.oParam = oPaneInfo;\r
331                         return false;\r
332                 }\r
333         }\r
334         else if (nMsgId == WH_MSG_GETPANES)\r
335         {\r
336                 if (this.cMRServer && cMRServer.m_strVersion)\r
337                 {\r
338                         var oPanes = new Object();\r
339                         var aAgentNames = null;\r
340                         if (cMRServer.m_strDefAgent)\r
341                                 oPanes.sDefault = transferAgentNameToPaneName(cMRServer.m_strDefAgent);\r
342 \r
343                         aPanes = new Array();\r
344                         for(var i=0; i< cMRServer.m_cAgents.length; i++)\r
345                         {\r
346                                 var nCur = aPanes.length;\r
347                                 aPanes[nCur] = new Object();\r
348                                 aPanes[nCur].sPaneName = transferAgentNameToPaneName(cMRServer.m_cAgents[i].m_strID);\r
349                                 aPanes[nCur].sPaneURL = cMRServer.m_cAgents[i].m_strURL;\r
350                         }\r
351                         oPanes.aPanes = aPanes;\r
352                         oMsg.oParam = oPanes;\r
353                         return false;\r
354                 }\r
355                 else\r
356                 {\r
357                         oMsg.oParam = null;\r
358                         return false;\r
359                 }\r
360         }\r
361         else if(nMsgId==WH_MSG_RELOADNS6)\r
362         {\r
363                 if(gbNav6)\r
364                         gnReload++;\r
365                 return false;\r
366         }\r
367         else if(nMsgId==WH_MSG_GETCMD)\r
368         {\r
369                 oMsg.oParam=gnCmd;\r
370                 return false;\r
371         }\r
372         else if(nMsgId==WH_MSG_GETPANE)\r
373         {\r
374                 if (gsBtns!="invalid" && oMsg.oParam.sName)\r
375                 {\r
376                         if(gsBtns.indexOf(oMsg.oParam.sName) != -1)\r
377                                 oMsg.oParam.bEnable=true;\r
378                         else\r
379                                 oMsg.oParam.bEnable=false;\r
380                 }\r
381                 else\r
382                         oMsg.oParam.bEnable=true;\r
383                 return false;\r
384         }\r
385         else if(nMsgId==WH_MSG_GETDEFPANE)\r
386         {\r
387                 if (gsDefaultBtn!="invalid")\r
388                 {\r
389                         oMsg.oParam=gsDefaultBtn;\r
390                 }\r
391                 return false;\r
392         }\r
393         return true;\r
394 }\r
395 \r
396 function transferANToPN2(sAN)\r
397 {\r
398         if (sAN =="toc")\r
399                 return "toc";\r
400         else if (sAN =="ndx")\r
401                 return "idx";\r
402         else if (sAN =="nls")\r
403                 return "fts";\r
404         else if (sAN =="gls")\r
405                 return "glo";\r
406         else if (sAN =="WebSearch")\r
407                 return "websearch";\r
408         else if (sAN.indexOf("custom_")==0);\r
409                 return "custom" + sAN.substring(7);\r
410         return sAN;\r
411 }\r
412 \r
413 function transferAgentNameToPaneName(sAgentName)\r
414 {\r
415         if (sAgentName =="toc")\r
416                 return "toc";\r
417         else if (sAgentName =="ndx")\r
418                 return "idx";\r
419         else if (sAgentName =="nls")\r
420                 return "fts";\r
421         else if (sAgentName =="gls")\r
422                 return "glo";\r
423         return "";\r
424 }\r
425 \r
426 function isAPane(sPaneName)\r
427 {\r
428         if (sPaneName == "toc" || sPaneName == "idx" || sPaneName == "fts" || sPaneName == "glo")\r
429                 return true;\r
430         else\r
431                 return false;\r
432 }