Salome HOME
PAL 14158 Add the Octree and OctreeNode classes to accelerate detection of close...
[modules/smesh.git] / doc / salome / gui / SMESH / whghost.js
1 //      WebHelp 5.10.004\r
2 var gbXML=false;\r
3 var gaDef=new Array();\r
4 var gsBgColor="#ffffff";\r
5 var gsBgImage="";\r
6 var goFont=null;\r
7 var goHoverFont=null;\r
8 var gsMargin="2pt";\r
9 var gsIndent="2pt";\r
10 var gsActiveBgColor="#cccccc";\r
11 var gbWhGHost=false;\r
12 var gbShowDef=true;\r
13 var gsGloId="Glo_"\r
14 \r
15 function setBackground(sBgImage)\r
16 {\r
17         gsBgImage=sBgImage;\r
18 }\r
19 \r
20 function setBackgroundcolor(sBgColor)\r
21 {\r
22         gsBgColor=sBgColor;\r
23 }\r
24 \r
25 function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration)\r
26 {\r
27         var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration);\r
28         if(sType=="Normal")\r
29                 goFont=vFont;\r
30         else if(sType=="Hover")\r
31                 goHoverFont=vFont;\r
32 }\r
33 \r
34 function setActiveBgColor(sBgColor)\r
35 {\r
36         gsActiveBgColor=sBgColor;\r
37 }\r
38 \r
39 function setMargin(sMargin)\r
40 {\r
41         gsMargin=sMargin;\r
42 }\r
43 \r
44 function setIndent(sIndent)\r
45 {\r
46         gsIndent=sIndent;\r
47 }\r
48 \r
49 function insertDef(sKName,sDef)\r
50 {\r
51         var nLength=gaDef.length\r
52         var oGlo=new nameDefPair(sKName,sDef);\r
53         gaDef[nLength]=oGlo;\r
54         return nLength;\r
55 }\r
56 \r
57 function showDef(nDef)\r
58 {\r
59         if(nDef<gaDef.length)\r
60         {       \r
61                 HighLight(nDef);\r
62                 var oParam=gaDef[nDef];\r
63                 var oMsg=new whMessage(WH_MSG_SHOWGLODEF,this,1,oParam);\r
64                 SendMessage(oMsg);\r
65         }\r
66 }\r
67 \r
68 function nameDefPair(sName,sDef)\r
69 {\r
70         this.sName=sName;\r
71         this.sDef=sDef;\r
72 }\r
73 \r
74 function mergeItems(oHTML,bDown,aDataCon,aCurIdxSet,nLength,aPos,nLevel)\r
75 {\r
76         var sHTML="";\r
77         var nIdxSet=aCurIdxSet[0];\r
78         var nIIdx=aPos[nIdxSet];\r
79         var sRawKName = getItemName(aDataCon,nIdxSet,nIIdx);\r
80         var sKName=_textToHtml(sRawKName);\r
81         var sDText=_textToHtml_nonbsp(getDef(aDataCon,nIdxSet,nIIdx));\r
82         var sDef=sDText;\r
83         for(var i=1;i<nLength;i++)\r
84         {\r
85                 var nIdxSeti=aCurIdxSet[i];\r
86                 var nIIdxi=aPos[nIdxSeti];\r
87                 var sRawKNamei = getItemName(aDataCon,nIdxSeti,nIIdxi);\r
88                 var sKNamei=_textToHtml(sRawKNamei);\r
89                 var sDTexti=_textToHtml_nonbsp(getDef(aDataCon,nIdxSeti,nIIdxi));\r
90                 if (compare(sKNamei,sKName)==0)\r
91                 {\r
92                         if (sDText!=sDTexti)\r
93                                 sDef+="<br>"+sDTexti;\r
94                 }\r
95         }\r
96         var nIndex=insertDef(sKName,sDef);\r
97         if(nLevel==1)\r
98         {\r
99                 sHTML+="<p><nobr id=\""+getGloId(nIndex)+"\">";\r
100                 sHTML+="<a alt=\""+sKName+"\" href=\"javascript:void(0);\" onfocus=\"HighLight("+nIndex+");\" onclick=\"showDef("+nIndex+");return false;\">"+sKName+"</a></nobr></p>";\r
101                 oHTML.addHTML(sHTML,nLength,bDown,true,sRawKName);\r
102                 if(gbShowDef)\r
103                 {\r
104                         setTimeout("showDef(0);",100);\r
105                         gbShowDef = false;\r
106                 }\r
107         }\r
108 }\r
109 \r
110 function HighLight(nIndex)\r
111 {\r
112         var oObj=getElement(getGloId(nIndex));\r
113         if(oObj)\r
114                 HighLightElement(oObj,gsActiveBgColor,"transparent");\r
115 }\r
116 \r
117 function getGloId(nIndex)\r
118 {\r
119         return gsGloId+nIndex;\r
120 }\r
121 \r
122 function adjustPosition(bDown,aDataCon,aCurIdxSet,nLength,aPos)\r
123 {\r
124         if(bDown)\r
125         {\r
126                 for(var i=0;i<nLength;i++)\r
127                         aPos[aCurIdxSet[i]]++;\r
128         }\r
129         else{\r
130                 for(var i=0;i<nLength;i++)\r
131                         aPos[aCurIdxSet[i]]--;\r
132         }\r
133 }\r
134 \r
135 function getDef(aDataCon,nIdxSet,nIIdx)\r
136 {\r
137         if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
138                 return aDataCon[nIdxSet].aKs[nIIdx].sDef;\r
139         else\r
140                 return null;\r
141 }\r
142 \r
143 function getItemName(aDataCon,nIdxSet,nIIdx)\r
144 {\r
145         if(nIdxSet<aDataCon.length&&aDataCon[nIdxSet].aKs.length>nIIdx)\r
146                 return aDataCon[nIdxSet].aKs[nIIdx].sName;\r
147         else\r
148                 return null;\r
149 }\r
150 \r
151 function window_OnLoad()\r
152 {\r
153         if(gsBgImage&&gsBgImage.length>0)\r
154                 document.body.background=gsBgImage;\r
155         if(gsBgColor&&gsBgColor.length>0)\r
156                 document.body.bgColor=gsBgColor;\r
157         document.body.insertAdjacentHTML("beforeEnd",writeLoadingDiv());\r
158         loadGlo();\r
159         var oMsg=new whMessage(WH_MSG_SHOWGLO,this,1,null)\r
160         SendMessage(oMsg);\r
161 }\r
162 \r
163 function loadGlo()\r
164 {\r
165         if(!gbReady)\r
166         {\r
167                 var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null);\r
168                 if(SendMessage(oResMsg)&&oResMsg.oParam)\r
169                 {\r
170                         gbReady=true;\r
171                         var oProj=oResMsg.oParam;\r
172                         var aProj=oProj.aProj;\r
173                         gbXML=oProj.bXML;\r
174                         if(aProj.length>0)\r
175                         {\r
176                                 var sLangId=aProj[0].sLangId;\r
177                                 for(var i=0;i<aProj.length;i++)\r
178                                 {\r
179                                         if(aProj[i].sGlo&&aProj[i].sLangId==sLangId)\r
180                                                 addProjInfo(aProj[i].sPPath,aProj[i].sDPath,aProj[i].sGlo);\r
181                                 }\r
182                         }\r
183                         writeDataIFrame();\r
184                         enEvt();\r
185                 }               \r
186         }\r
187 }\r
188 \r
189 function findCKInDom()\r
190 {\r
191         return true;\r
192 }\r
193 \r
194 function GloWriteClassStyle()\r
195 {\r
196         var sStyle="<STYLE TYPE='text/css'>\n";\r
197         if (gsBgImage)\r
198                 sStyle+="body {border-top:"+gsBgColor+" 1px solid;}\n";\r
199         else\r
200                 sStyle+="body {border-top:black 1px solid;}\n";\r
201         sStyle+="P {"+getFontStyle(goFont)+"margin-top:"+gsMargin+";margin-bottom:"+gsMargin+";margin-left:"+gsIndent+";}\n";\r
202         sStyle+="A:link {"+getFontStyle(goFont)+"}\n";\r
203         sStyle+="A:visited {"+getFontStyle(goFont)+"}\n";\r
204         sStyle+="A:active {background-color:"+gsActiveBgColor+";}\n";\r
205         sStyle+="A:hover {"+getFontStyle(goHoverFont)+"}\n";\r
206         sStyle+="</STYLE>";     \r
207         document.write(sStyle);\r
208 }\r
209 \r
210 function window_Unload()\r
211 {\r
212         UnRegisterListener2(this,WH_MSG_PROJECTREADY);\r
213         UnRegisterListener2(this,WH_MSG_SHOWGLO);\r
214 }\r
215 \r
216 function onSendMessage(oMsg)\r
217 {\r
218         if(oMsg)\r
219         {\r
220                 var nMsgId=oMsg.nMessageId;\r
221                 if(nMsgId==WH_MSG_SHOWGLO)\r
222                 {\r
223                         if(!gbNav6)\r
224                                 document.body.focus();\r
225                 }\r
226                 else if(nMsgId==WH_MSG_PROJECTREADY)\r
227                 {\r
228                         loadGlo();\r
229                 }\r
230         }\r
231         return true;\r
232 }\r
233 \r
234 if (window.gbWhUtil&&window.gbWhProxy&&window.gbWhVer&&window.gbWhLang&&window.gbWhMsg&&window.gbWhHost)\r
235 {\r
236         RegisterListener2(this,WH_MSG_PROJECTREADY);\r
237         RegisterListener2(this,WH_MSG_SHOWGLO);\r
238         goFont=new whFont("Verdana","8pt","#000000","normal","normal","none");\r
239         goHoverFont=new whFont("Verdana","8pt","#007f00","normal","normal","underline");\r
240         window.onload=window_OnLoad;\r
241         window.onbeforeunload=window_BUnload;\r
242         window.onunload=window_Unload;\r
243         gbWhGHost=true;\r
244 }\r
245 else\r
246         document.location.reload();\r
247 \r