Salome HOME
PAL 14158 Add the Octree and OctreeNode classes to accelerate detection of close...
[modules/smesh.git] / doc / salome / gui / SMESH / whstub.js
1 //      WebHelp 5.10.002\r
2 window.whname="wh_stub";\r
3 function getframehandle(frames,framename)\r
4 {\r
5         var frame=null;\r
6         if(null==frames) return null;\r
7         for(var i=0;i<frames.length;i++)\r
8         {\r
9                 if(typeof(frames[i].name)!="unknown")\r
10                 {\r
11                         if(frames[i].name==framename)\r
12                                 return frames[i];\r
13                 }\r
14                 if(frames[i].frames.length>0)\r
15                 {\r
16                         frame=getframehandle(frames[i].frames,framename);\r
17                         if(null!=frame)\r
18                                 return frame;\r
19                 }\r
20         }\r
21         return frame;\r
22 }\r
23 \r
24 function AddToArray(arr,obj)\r
25 {\r
26         var bFound=false;\r
27         for(var i=0;i<arr.length;i++){\r
28                 if(arr[i]==obj){\r
29                         bFound=true;\r
30                         break;\r
31                 }\r
32                 else if(arr[i]==null){\r
33                         break;\r
34                 }\r
35         }\r
36         if(!bFound) arr[i]=obj;\r
37 }\r
38 \r
39 var gArrayRegistedMessage=new Array();\r
40 var gArrayCompoentsArray=new Array();\r
41 \r
42 function GetComponentsArray(nMessageId)\r
43 {\r
44         var len=gArrayRegistedMessage.length;\r
45         for(var i=0;i<len;i++)\r
46         {\r
47                 if(gArrayRegistedMessage[i]==nMessageId){\r
48                         if(gArrayCompoentsArray.length>i)\r
49                                 return gArrayCompoentsArray[i];\r
50                         else\r
51                                 return null;\r
52                 }\r
53         }\r
54         return null;\r
55 }\r
56 \r
57 function CreateComponentsArray(nMessageId)\r
58 {\r
59         var len=gArrayRegistedMessage.length;\r
60         gArrayRegistedMessage[len]=nMessageId;\r
61         gArrayCompoentsArray[len]=new Array();\r
62         return gArrayCompoentsArray[len];\r
63 }\r
64 \r
65 function listener(sName,oWindow)\r
66 {\r
67         this.sName=sName;\r
68         this.oWindow=oWindow;\r
69 }\r
70 \r
71 function RegisterListener(windowName,nMessageId)\r
72 {\r
73         var arrayComponents=GetComponentsArray(nMessageId);\r
74         if(arrayComponents==null)\r
75                 arrayComponents=CreateComponentsArray(nMessageId);\r
76         \r
77         if(arrayComponents!=null)\r
78         {\r
79                 for (var i=0;i<arrayComponents.length;i++)\r
80                 {\r
81                         if (arrayComponents[i].sName == windowName)\r
82                                 return false;\r
83                 }\r
84                 var oListener=new listener(windowName,null);\r
85                 AddToArray(arrayComponents,oListener);\r
86                 return true;\r
87         }\r
88         else\r
89                 return false;\r
90 }\r
91 \r
92 function RegisterListener2(oWindow,nMessageId)\r
93 {\r
94         var arrayComponents=GetComponentsArray(nMessageId);\r
95         if(arrayComponents==null)\r
96                 arrayComponents=CreateComponentsArray(nMessageId);\r
97         \r
98         if(arrayComponents!=null)\r
99         {\r
100                 var oListener=new listener("",oWindow);\r
101                 AddToArray(arrayComponents,oListener);\r
102                 return true;\r
103         }\r
104         else\r
105                 return false;\r
106 }\r
107 \r
108 function UnRegisterListener2(oWindow,nMessageId)\r
109 {\r
110         var arrayComponents=GetComponentsArray(nMessageId);\r
111         if(arrayComponents!=null)\r
112         {\r
113                 for(var i=0;i<arrayComponents.length;i++)\r
114                 {\r
115                         if(arrayComponents[i].oWindow==oWindow)\r
116                         {\r
117                                 removeItemFromArray(arrayComponents,i);\r
118                                 return true;\r
119                         }\r
120                 }\r
121         }\r
122         else\r
123                 return false;\r
124 }\r
125 \r
126 function SendMessage(oMessage)\r
127 {\r
128         var bDelivered=false;\r
129         var arrayComponents=GetComponentsArray(oMessage.nMessageId);\r
130         if(arrayComponents!=null&&arrayComponents.length>0){\r
131                 for(var i=0;i<arrayComponents.length;i++)\r
132                 {\r
133                         if(null!=arrayComponents[i])\r
134                         {\r
135                                 var pFrame;\r
136                                 if(arrayComponents[i].oWindow==null)\r
137                                         pFrame=getframehandle(frames,arrayComponents[i].sName);\r
138                                 else\r
139                                         pFrame=arrayComponents[i].oWindow;\r
140                                 if(null!=pFrame)\r
141                                 {\r
142                                         if(pFrame.onSendMessageX)\r
143                                         {\r
144                                                 bDelivered=true;\r
145                                                 if(!pFrame.onSendMessageX(oMessage))\r
146                                                         break;\r
147                                         }\r
148                                         if(pFrame.onSendMessage)\r
149                                         {\r
150                                                 bDelivered=true;\r
151                                                 if(!pFrame.onSendMessage(oMessage))\r
152                                                         break;\r
153                                         }\r
154                                 }\r
155                         }\r
156                 }\r
157         }\r
158         return bDelivered;\r
159 }