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