1 | window.onload=LoadPage;
|
---|
2 | window.onunload=Window_Unload;
|
---|
3 | //window.onresize=ResizeWindow;
|
---|
4 | window.onbeforeprint = set_to_print;
|
---|
5 | window.onafterprint = reset_form;
|
---|
6 |
|
---|
7 | var languageFilter;
|
---|
8 | var data;
|
---|
9 | var tf;
|
---|
10 | var mf;
|
---|
11 | var lang = 'CSharp';
|
---|
12 |
|
---|
13 | var vbDeclaration;
|
---|
14 | var vbUsage;
|
---|
15 | var csLang;
|
---|
16 | var cLang;
|
---|
17 | var jsharpLang;
|
---|
18 | var jsLang;
|
---|
19 | var xamlLang;
|
---|
20 |
|
---|
21 | var scrollPos = 0;
|
---|
22 |
|
---|
23 | var inheritedMembers;
|
---|
24 | var protectedMembers;
|
---|
25 | var netcfMembersOnly;
|
---|
26 | var netXnaMembersOnly;
|
---|
27 |
|
---|
28 | // Initialize array of section states
|
---|
29 |
|
---|
30 | var sectionStates = new Array();
|
---|
31 | var sectionStatesInitialized = false;
|
---|
32 |
|
---|
33 | //Hide sample source in select element
|
---|
34 | function HideSelect()
|
---|
35 | {
|
---|
36 | var selectTags = document.getElementsByTagName("SELECT");
|
---|
37 | var spanEles = document.getElementsByTagName("span");
|
---|
38 | var i = 10;
|
---|
39 | var m;
|
---|
40 |
|
---|
41 | if (selectTags.length != null || selectTags.length >0)
|
---|
42 | {
|
---|
43 | for (n=0; n<selectTags.length; n++)
|
---|
44 | {
|
---|
45 | var lan = selectTags(n).getAttribute("id").substr("10");
|
---|
46 | //hide the first select that is on
|
---|
47 | switch (lan.toLowerCase())
|
---|
48 | {
|
---|
49 | case "visualbasic":
|
---|
50 | //alert(lan);
|
---|
51 | for (m=0; m<spanEles.length; m++)
|
---|
52 | {
|
---|
53 | if (spanEles[m].getAttribute("codeLanguage") == "VisualBasic" && spanEles[m].style.display != "none" && n <i)
|
---|
54 | i = n;
|
---|
55 | }
|
---|
56 | break;
|
---|
57 | case "visualbasicdeclaration":
|
---|
58 | for (m=0; m<spanEles.length; m++)
|
---|
59 | {
|
---|
60 | if (spanEles[m].getAttribute("codeLanguage") == "VisualBasicDeclaration" && spanEles[m].style.display != "none" && n < i)
|
---|
61 | i = n;
|
---|
62 | }
|
---|
63 | break;
|
---|
64 | case "visualbasicusage":
|
---|
65 | //alert(lan);
|
---|
66 | for (m=0; m<spanEles.length; m++)
|
---|
67 | {
|
---|
68 | if (spanEles[m].getAttribute("codeLanguage") == "VisualBasicUsage" && spanEles[m].style.display != "none" && n <i)
|
---|
69 | i = n;
|
---|
70 | }
|
---|
71 | break;
|
---|
72 | case "csharp":
|
---|
73 | for (m=0; m<spanEles.length; m++)
|
---|
74 | {
|
---|
75 | if (spanEles[m].getAttribute("codeLanguage") == "CSharp" && spanEles[m].style.display != "none" && n < i)
|
---|
76 | i = n;
|
---|
77 | }
|
---|
78 | break;
|
---|
79 | case "managedcplusplus":
|
---|
80 | for (m=0; m<spanEles.length; m++)
|
---|
81 | {
|
---|
82 | if (spanEles[m].getAttribute("codeLanguage") == "ManagedCPlusPlus" && spanEles[m].style.display != "none" && n < i)
|
---|
83 | i = n;
|
---|
84 | }
|
---|
85 | break;
|
---|
86 | case "jsharp":
|
---|
87 | for (m=0; m<spanEles.length; m++)
|
---|
88 | {
|
---|
89 | if (spanEles[m].getAttribute("codeLanguage") == "JSharp" && spanEles[m].style.display != "none" && n < i)
|
---|
90 | i = n;
|
---|
91 | }
|
---|
92 | break;
|
---|
93 | case "jscript":
|
---|
94 | for (m=0; m<spanEles.length; m++)
|
---|
95 | {
|
---|
96 | if (spanEles[m].getAttribute("codeLanguage") == "JScript" && spanEles[m].style.display != "none" && n < i)
|
---|
97 | i = n;
|
---|
98 | }
|
---|
99 | break;
|
---|
100 | case "xaml":
|
---|
101 | //alert(lan);
|
---|
102 | for (m=0; m<spanEles.length; m++)
|
---|
103 | {
|
---|
104 | if (spanEles[m].getAttribute("codeLanguage") == "XAML" && spanEles[m].style.display != "none" && n <i)
|
---|
105 | i = n;
|
---|
106 | }
|
---|
107 | break;
|
---|
108 | }
|
---|
109 | }
|
---|
110 | if (i != 10)
|
---|
111 | selectTags(i).style.visibility = "hidden";
|
---|
112 | }
|
---|
113 | else{ alert("Not found!");}
|
---|
114 | }
|
---|
115 |
|
---|
116 | function UnHideSelect()
|
---|
117 | {
|
---|
118 | var selectTags = document.getElementsByTagName("SELECT");
|
---|
119 | var n;
|
---|
120 |
|
---|
121 | //un-hide all the select sections
|
---|
122 | if (selectTags.length != null || selectTags.length >0)
|
---|
123 | {
|
---|
124 | for (n=0; n<selectTags.length; n++)
|
---|
125 | selectTags(n).style.visibility = "visible";
|
---|
126 | }
|
---|
127 | }
|
---|
128 |
|
---|
129 | function InitSectionStates()
|
---|
130 | {
|
---|
131 | sectionStatesInitialized = true;
|
---|
132 |
|
---|
133 | if (globals == null) globals = GetGlobals();
|
---|
134 |
|
---|
135 | // SectionStates has the format:
|
---|
136 | //
|
---|
137 | // firstSectionId:state;secondSectionId:state;thirdSectionId:state; ... ;lastSectionId:state
|
---|
138 | //
|
---|
139 | // where state is either "e" (expanded) or "c" (collapsed)
|
---|
140 |
|
---|
141 | // get the SectionStates from the previous topics
|
---|
142 | var states = Load("SectionStates");
|
---|
143 |
|
---|
144 | var start = 0;
|
---|
145 | var end;
|
---|
146 | var section;
|
---|
147 | var state;
|
---|
148 | var allCollapsed = false;
|
---|
149 | // copy the previous section states to the sectionStates array for the current page
|
---|
150 | if (states != null && states != "")
|
---|
151 | {
|
---|
152 | allCollapsed = true;
|
---|
153 | while (start < states.length)
|
---|
154 | {
|
---|
155 | end = states.indexOf(":", start);
|
---|
156 |
|
---|
157 | section = states.substring(start, end);
|
---|
158 |
|
---|
159 | start = end + 1;
|
---|
160 | end = states.indexOf(";", start);
|
---|
161 | if (end == -1) end = states.length;
|
---|
162 | state = states.substring(start, end);
|
---|
163 | sectionStates[section] = state;
|
---|
164 | allCollapsed = allCollapsed && (state == "c");
|
---|
165 | start = end + 1;
|
---|
166 | }
|
---|
167 | }
|
---|
168 |
|
---|
169 | // now set the state for any section ids in the current document that weren't in previous
|
---|
170 | var imgElements = document.getElementsByName("toggleSwitch");
|
---|
171 | var i;
|
---|
172 | for (i = 0; i < imgElements.length; ++i)
|
---|
173 | sectionStates[imgElements[i].id] = GetInitialSectionState(imgElements[i].id, allCollapsed);
|
---|
174 | }
|
---|
175 |
|
---|
176 | function GetInitialSectionState(itemId, allCollapsed)
|
---|
177 | {
|
---|
178 | // if the global state is "allCollapsed", set all section states to collapsed
|
---|
179 | if (allCollapsed) return "c";
|
---|
180 |
|
---|
181 | // generic <section> node ids begin with "sectionToggle", so the same id can refer to different sections in different topics
|
---|
182 | // we don't want to persist their state; set it to expanded
|
---|
183 | if (itemId.indexOf("sectionToggle", 0) == 0) return "e";
|
---|
184 |
|
---|
185 | // the default state for new section ids is expanded
|
---|
186 | if (sectionStates[itemId] == null) return "e";
|
---|
187 |
|
---|
188 | // otherwise, persist the passed in state
|
---|
189 | return sectionStates[itemId];
|
---|
190 | }
|
---|
191 |
|
---|
192 | var noReentry = false;
|
---|
193 |
|
---|
194 | function OnLoadImage(eventObj)
|
---|
195 | {
|
---|
196 | if (noReentry) return;
|
---|
197 |
|
---|
198 | if (!sectionStatesInitialized)
|
---|
199 | InitSectionStates();
|
---|
200 |
|
---|
201 | var elem;
|
---|
202 | if(document.all) elem = eventObj.srcElement;
|
---|
203 | else elem = eventObj.target;
|
---|
204 |
|
---|
205 |
|
---|
206 | if ((sectionStates[elem.id] == "e"))
|
---|
207 | ExpandSection(elem);
|
---|
208 | else if((sectionStates[elem.id] == "c"))
|
---|
209 | CollapseSection(elem);
|
---|
210 | }
|
---|
211 |
|
---|
212 | /*
|
---|
213 | **********
|
---|
214 | ********** Begin
|
---|
215 | **********
|
---|
216 | */
|
---|
217 |
|
---|
218 | function LoadPage()
|
---|
219 | {
|
---|
220 | // If not initialized, grab the DTE.Globals object
|
---|
221 | if (globals == null) globals = GetGlobals();
|
---|
222 |
|
---|
223 | // show correct language
|
---|
224 | LoadLanguages();
|
---|
225 | LoadMembersOptions();
|
---|
226 |
|
---|
227 | Set_up_checkboxes();
|
---|
228 |
|
---|
229 | DisplayLanguages();
|
---|
230 |
|
---|
231 | DisplayFilteredMembers();
|
---|
232 |
|
---|
233 | ChangeMembersOptionsFilterLabel();
|
---|
234 |
|
---|
235 | if (!sectionStatesInitialized)
|
---|
236 | InitSectionStates();
|
---|
237 | var imgElements = document.getElementsByName("toggleSwitch");
|
---|
238 |
|
---|
239 | for (i = 0; i < imgElements.length; i++)
|
---|
240 | {
|
---|
241 | if ((sectionStates[imgElements[i].id] == "e"))
|
---|
242 | ExpandSection(imgElements[i]);
|
---|
243 | else
|
---|
244 | CollapseSection(imgElements[i]);
|
---|
245 | }
|
---|
246 |
|
---|
247 | SetCollapseAll();
|
---|
248 |
|
---|
249 | // ResizeWindow();
|
---|
250 | // split screen
|
---|
251 | var screen = new SplitScreen('header', 'mainSection');
|
---|
252 |
|
---|
253 | // filtering dropdowns
|
---|
254 | if (document.getElementById('languageSpan') != null) {
|
---|
255 | var languageMenu = new Dropdown('languageFilterToolTip', 'languageSpan');
|
---|
256 | languageFilter = new Selector('languageSpan');
|
---|
257 | languageFilter.register(codeBlockHandler);
|
---|
258 | languageFilter.register(styleSheetHandler);
|
---|
259 | languageFilter.register(persistenceHandler);
|
---|
260 | languageFilter.register(languageHandler);
|
---|
261 | toggleLanguage('languageSpan', 'x-lang', 'CSharp');
|
---|
262 | toggleInlineStyle('cs');
|
---|
263 | }
|
---|
264 | if (document.getElementById('membersOptionsFilterToolTip') != null) {
|
---|
265 | var languageMenu = new Dropdown('membersOptionsFilterToolTip', 'membersOptionsSpan');
|
---|
266 | }
|
---|
267 |
|
---|
268 | data = new DataStore('docs');
|
---|
269 | registerEventHandler(window, 'load', function() {if (languageFilter != null) languageFilter.select(data)});
|
---|
270 |
|
---|
271 | // process tab behavior for syntax, snippets, type and member sections
|
---|
272 | tf = new TypeFilter();
|
---|
273 | mf = new MemberFilter();
|
---|
274 | setUpSyntax();
|
---|
275 | setUpSnippets();
|
---|
276 | setUpType();
|
---|
277 | setUpAllMembers();
|
---|
278 | var mainSection = document.getElementById("mainSection");
|
---|
279 |
|
---|
280 | // vs70.js did this to allow up/down arrow scrolling, I think
|
---|
281 | try { mainSection.setActive(); } catch(e) { }
|
---|
282 |
|
---|
283 | //set the scroll position
|
---|
284 | try{mainSection.scrollTop = scrollPos;}
|
---|
285 | catch(e){}
|
---|
286 | }
|
---|
287 |
|
---|
288 | function Window_Unload()
|
---|
289 | {
|
---|
290 | SaveLanguages();
|
---|
291 | SaveMembersOptions();
|
---|
292 | SaveSections();
|
---|
293 | }
|
---|
294 |
|
---|
295 | /*
|
---|
296 | function ResizeWindow()
|
---|
297 | {
|
---|
298 | if (document.body.clientWidth==0) return;
|
---|
299 | var header = document.all.item("header");
|
---|
300 | var mainSection = document.all.item("mainSection");
|
---|
301 | if (mainSection == null) return;
|
---|
302 |
|
---|
303 |
|
---|
304 | document.body.scroll = "no"
|
---|
305 | mainSection.style.overflow= "auto";
|
---|
306 | header.style.width= document.body.offsetWidth - 2;
|
---|
307 | //mainSection.style.paddingRight = "20px"; // Width issue code
|
---|
308 | mainSection.style.width= document.body.offsetWidth - 2;
|
---|
309 | mainSection.style.top=0;
|
---|
310 | if (document.body.offsetHeight > header.offsetHeight + 10)
|
---|
311 | mainSection.style.height= document.body.offsetHeight - (header.offsetHeight + 2);
|
---|
312 | else
|
---|
313 | mainSection.style.height=0;
|
---|
314 |
|
---|
315 | try
|
---|
316 | {
|
---|
317 | mainSection.setActive();
|
---|
318 | }
|
---|
319 | catch(e)
|
---|
320 | {
|
---|
321 | }
|
---|
322 | }
|
---|
323 | */
|
---|
324 |
|
---|
325 | function set_to_print()
|
---|
326 | {
|
---|
327 | //breaks out of divs to print
|
---|
328 | var i;
|
---|
329 |
|
---|
330 | if (window.text)document.all.text.style.height = "auto";
|
---|
331 |
|
---|
332 | for (i=0; i < document.all.length; i++)
|
---|
333 | {
|
---|
334 | if (document.all[i].tagName == "body")
|
---|
335 | {
|
---|
336 | document.all[i].scroll = "yes";
|
---|
337 | }
|
---|
338 | if (document.all[i].id == "header")
|
---|
339 | {
|
---|
340 | document.all[i].style.margin = "0px 0px 0px 0px";
|
---|
341 | document.all[i].style.width = "100%";
|
---|
342 | }
|
---|
343 | if (document.all[i].id == "mainSection")
|
---|
344 | {
|
---|
345 | document.all[i].style.overflow = "visible";
|
---|
346 | document.all[i].style.top = "5px";
|
---|
347 | document.all[i].style.width = "100%";
|
---|
348 | document.all[i].style.padding = "0px 10px 0px 30px";
|
---|
349 | }
|
---|
350 | }
|
---|
351 | }
|
---|
352 |
|
---|
353 | function reset_form()
|
---|
354 | {
|
---|
355 | //returns to the div nonscrolling region after print
|
---|
356 | document.location.reload();
|
---|
357 | }
|
---|
358 |
|
---|
359 | function Set_up_checkboxes()
|
---|
360 | {
|
---|
361 | var checkbox;
|
---|
362 |
|
---|
363 | checkbox = document.getElementById("vbDeclarationCheckbox");
|
---|
364 | if(checkbox != null)
|
---|
365 | {
|
---|
366 | if(vbDeclaration == "on")
|
---|
367 | checkbox.checked = true;
|
---|
368 | else
|
---|
369 | checkbox.checked = false;
|
---|
370 | }
|
---|
371 |
|
---|
372 | checkbox = document.getElementById("vbUsageCheckbox");
|
---|
373 | if(checkbox != null)
|
---|
374 | {
|
---|
375 | if(vbUsage == "on")
|
---|
376 | checkbox.checked = true;
|
---|
377 | else
|
---|
378 | checkbox.checked = false;
|
---|
379 | }
|
---|
380 |
|
---|
381 | checkbox = document.getElementById("csCheckbox");
|
---|
382 | if(checkbox != null)
|
---|
383 | {
|
---|
384 | if(csLang == "on")
|
---|
385 | checkbox.checked = true;
|
---|
386 | else
|
---|
387 | checkbox.checked = false;
|
---|
388 | }
|
---|
389 |
|
---|
390 | checkbox = document.getElementById("cCheckbox");
|
---|
391 | if(checkbox != null)
|
---|
392 | {
|
---|
393 | if(cLang == "on")
|
---|
394 | checkbox.checked = true;
|
---|
395 | else
|
---|
396 | checkbox.checked = false;
|
---|
397 | }
|
---|
398 |
|
---|
399 | checkbox = document.getElementById("jsharpCheckbox");
|
---|
400 | if(checkbox != null)
|
---|
401 | {
|
---|
402 | if(jsharpLang == "on")
|
---|
403 | checkbox.checked = true;
|
---|
404 | else
|
---|
405 | checkbox.checked = false;
|
---|
406 | }
|
---|
407 |
|
---|
408 | checkbox = document.getElementById("jsCheckbox");
|
---|
409 | if(checkbox != null)
|
---|
410 | {
|
---|
411 | if(jsLang == "on")
|
---|
412 | checkbox.checked = true;
|
---|
413 | else
|
---|
414 | checkbox.checked = false;
|
---|
415 | }
|
---|
416 |
|
---|
417 | checkbox = document.getElementById("xamlCheckbox");
|
---|
418 | if(checkbox != null)
|
---|
419 | {
|
---|
420 | if(xamlLang == "on")
|
---|
421 | checkbox.checked = true;
|
---|
422 | else
|
---|
423 | checkbox.checked = false;
|
---|
424 | }
|
---|
425 |
|
---|
426 | checkbox = document.getElementById("inheritedCheckbox");
|
---|
427 | if(checkbox != null)
|
---|
428 | {
|
---|
429 | if(inheritedMembers == "on")
|
---|
430 | checkbox.checked = true;
|
---|
431 | else
|
---|
432 | checkbox.checked = false;
|
---|
433 | }
|
---|
434 |
|
---|
435 | checkbox = document.getElementById("protectedCheckbox");
|
---|
436 | if(checkbox != null)
|
---|
437 | {
|
---|
438 | if(protectedMembers == "on")
|
---|
439 | checkbox.checked = true;
|
---|
440 | else
|
---|
441 | checkbox.checked = false;
|
---|
442 | }
|
---|
443 |
|
---|
444 | checkbox = document.getElementById("netcfCheckbox");
|
---|
445 | if(checkbox != null)
|
---|
446 | {
|
---|
447 | if(netcfMembersOnly == "on")
|
---|
448 | checkbox.checked = true;
|
---|
449 | else
|
---|
450 | checkbox.checked = false;
|
---|
451 | }
|
---|
452 |
|
---|
453 | checkbox = document.getElementById("netXnaCheckbox");
|
---|
454 | if(checkbox != null)
|
---|
455 | {
|
---|
456 | if(netXnaMembersOnly == "on")
|
---|
457 | checkbox.checked = true;
|
---|
458 | else
|
---|
459 | checkbox.checked = false;
|
---|
460 | }
|
---|
461 | }
|
---|
462 |
|
---|
463 | /*
|
---|
464 | **********
|
---|
465 | ********** End
|
---|
466 | **********
|
---|
467 | */
|
---|
468 |
|
---|
469 |
|
---|
470 | /*
|
---|
471 | **********
|
---|
472 | ********** Begin Language Filtering
|
---|
473 | **********
|
---|
474 | */
|
---|
475 |
|
---|
476 | function SetLanguage(key)
|
---|
477 | {
|
---|
478 | var i = 0;
|
---|
479 | if(vbDeclaration == "on")
|
---|
480 | i++;
|
---|
481 | if(vbUsage == "on")
|
---|
482 | i++;
|
---|
483 | if(csLang == "on")
|
---|
484 | i++;
|
---|
485 | if(cLang == "on")
|
---|
486 | i++;
|
---|
487 | if(jsharpLang == "on")
|
---|
488 | i++;
|
---|
489 | if(jsLang == "on")
|
---|
490 | i++;
|
---|
491 | if(xamlLang == "on")
|
---|
492 | i++;
|
---|
493 |
|
---|
494 | if(key.id == "vbDeclarationCheckbox")
|
---|
495 | {
|
---|
496 | if(vbDeclaration == "on")
|
---|
497 | {
|
---|
498 | if(i == 1)
|
---|
499 | {
|
---|
500 | key.checked = true;
|
---|
501 | return;
|
---|
502 | }
|
---|
503 | vbDeclaration = "off";
|
---|
504 | }
|
---|
505 | else
|
---|
506 | vbDeclaration = "on";
|
---|
507 | }
|
---|
508 | if(key.id == "vbUsageCheckbox")
|
---|
509 | {
|
---|
510 | if(vbUsage == "on")
|
---|
511 | {
|
---|
512 | if(i == 1)
|
---|
513 | {
|
---|
514 | key.checked = true;
|
---|
515 | return;
|
---|
516 | }
|
---|
517 |
|
---|
518 | vbUsage = "off";
|
---|
519 | }
|
---|
520 | else
|
---|
521 | vbUsage = "on";
|
---|
522 | }
|
---|
523 | if(key.id == "csCheckbox")
|
---|
524 | {
|
---|
525 | if(csLang == "on")
|
---|
526 | {
|
---|
527 | if(i == 1)
|
---|
528 | {
|
---|
529 | key.checked = true;
|
---|
530 | return;
|
---|
531 | }
|
---|
532 |
|
---|
533 | csLang = "off";
|
---|
534 | }
|
---|
535 | else
|
---|
536 | csLang = "on";
|
---|
537 | }
|
---|
538 | if(key.id == "cCheckbox")
|
---|
539 | {
|
---|
540 | if(cLang == "on")
|
---|
541 | {
|
---|
542 | if(i == 1)
|
---|
543 | {
|
---|
544 | key.checked = true;
|
---|
545 | return;
|
---|
546 | }
|
---|
547 |
|
---|
548 | cLang = "off";
|
---|
549 | }
|
---|
550 | else
|
---|
551 | cLang = "on";
|
---|
552 | }
|
---|
553 | if(key.id == "jsharpCheckbox")
|
---|
554 | {
|
---|
555 | if(jsharpLang == "on")
|
---|
556 | {
|
---|
557 | if(i == 1)
|
---|
558 | {
|
---|
559 | key.checked = true;
|
---|
560 | return;
|
---|
561 | }
|
---|
562 |
|
---|
563 | jsharpLang = "off";
|
---|
564 | }
|
---|
565 | else
|
---|
566 | jsharpLang = "on";
|
---|
567 | }
|
---|
568 | if(key.id == "jsCheckbox")
|
---|
569 | {
|
---|
570 | if(jsLang == "on")
|
---|
571 | {
|
---|
572 | if(i == 1)
|
---|
573 | {
|
---|
574 | key.checked = true;
|
---|
575 | return;
|
---|
576 | }
|
---|
577 |
|
---|
578 | jsLang = "off";
|
---|
579 | }
|
---|
580 | else
|
---|
581 | jsLang = "on";
|
---|
582 | }
|
---|
583 | if(key.id == "xamlCheckbox")
|
---|
584 | {
|
---|
585 | if(xamlLang == "on")
|
---|
586 | {
|
---|
587 | if(i == 1)
|
---|
588 | {
|
---|
589 | key.checked = true;
|
---|
590 | return;
|
---|
591 | }
|
---|
592 |
|
---|
593 | xamlLang = "off";
|
---|
594 | }
|
---|
595 | else
|
---|
596 | xamlLang = "on";
|
---|
597 | }
|
---|
598 |
|
---|
599 | DisplayLanguages();
|
---|
600 | }
|
---|
601 |
|
---|
602 | function DisplayLanguages()
|
---|
603 | {
|
---|
604 | var spanElements = document.getElementsByTagName("span");
|
---|
605 | var x = 0;
|
---|
606 | if(vbDeclaration == "on")
|
---|
607 | x++;
|
---|
608 | if(vbUsage == "on")
|
---|
609 | x++;
|
---|
610 | if(csLang == "on")
|
---|
611 | x++;
|
---|
612 | if(cLang == "on")
|
---|
613 | x++;
|
---|
614 | if(jsharpLang == "on")
|
---|
615 | x++;
|
---|
616 | if(jsLang == "on")
|
---|
617 | x++;
|
---|
618 | if(xamlLang == "on")
|
---|
619 | x++;
|
---|
620 |
|
---|
621 | var i;
|
---|
622 | for(i = 0; i < spanElements.length; ++i)
|
---|
623 | {
|
---|
624 | if(spanElements[i].getAttribute("codeLanguage") != null)
|
---|
625 | {
|
---|
626 | if(spanElements[i].getAttribute("codeLanguage") == "VisualBasic")
|
---|
627 | {
|
---|
628 | if(vbDeclaration == "on" || vbUsage == "on")
|
---|
629 | spanElements[i].style.display = "";
|
---|
630 | else
|
---|
631 | spanElements[i].style.display = "none";
|
---|
632 | }
|
---|
633 | if(spanElements[i].getAttribute("codeLanguage") == "VisualBasicDeclaration")
|
---|
634 | {
|
---|
635 |
|
---|
636 | if(vbDeclaration == "on")
|
---|
637 | spanElements[i].style.display = "";
|
---|
638 | else{
|
---|
639 |
|
---|
640 | spanElements[i].style.display = "none";
|
---|
641 | }
|
---|
642 | }
|
---|
643 | if(spanElements[i].getAttribute("codeLanguage") == "VisualBasicUsage")
|
---|
644 | {
|
---|
645 | if(vbUsage == "on")
|
---|
646 | spanElements[i].style.display = "";
|
---|
647 | else
|
---|
648 | spanElements[i].style.display = "none";
|
---|
649 | }
|
---|
650 | if(spanElements[i].getAttribute("codeLanguage") == "CSharp")
|
---|
651 | {
|
---|
652 | if(csLang == "on")
|
---|
653 | spanElements[i].style.display = "";
|
---|
654 | else
|
---|
655 | spanElements[i].style.display = "none";
|
---|
656 | }
|
---|
657 | if(spanElements[i].getAttribute("codeLanguage") == "ManagedCPlusPlus")
|
---|
658 | {
|
---|
659 | if(cLang == "on")
|
---|
660 | spanElements[i].style.display = "";
|
---|
661 | else
|
---|
662 | spanElements[i].style.display = "none";
|
---|
663 | }
|
---|
664 | if(spanElements[i].getAttribute("codeLanguage") == "JSharp")
|
---|
665 | {
|
---|
666 | if(jsharpLang == "on")
|
---|
667 | spanElements[i].style.display = "";
|
---|
668 | else
|
---|
669 | spanElements[i].style.display = "none";
|
---|
670 | }
|
---|
671 | if(spanElements[i].getAttribute("codeLanguage") == "JScript")
|
---|
672 | {
|
---|
673 | if(jsLang == "on")
|
---|
674 | spanElements[i].style.display = "";
|
---|
675 | else
|
---|
676 | spanElements[i].style.display = "none";
|
---|
677 | }
|
---|
678 | if(spanElements[i].getAttribute("codeLanguage") == "XAML")
|
---|
679 | {
|
---|
680 | if(xamlLang == "on")
|
---|
681 | spanElements[i].style.display = "";
|
---|
682 | else
|
---|
683 | spanElements[i].style.display = "none";
|
---|
684 | }
|
---|
685 |
|
---|
686 | if(spanElements[i].getAttribute("codeLanguage") == "NotVisualBasicUsage")
|
---|
687 | {
|
---|
688 | if((x == 1) && (vbUsage == "on"))
|
---|
689 | {
|
---|
690 | spanElements[i].style.display = "none";
|
---|
691 | }
|
---|
692 | else
|
---|
693 | {
|
---|
694 | spanElements[i].style.display = "";
|
---|
695 | }
|
---|
696 | }
|
---|
697 | }
|
---|
698 | }
|
---|
699 | ChangeLanguageFilterLabel();
|
---|
700 | }
|
---|
701 |
|
---|
702 | function ChangeLanguageFilterLabel()
|
---|
703 | {
|
---|
704 | var i = 0;
|
---|
705 | if(vbDeclaration == "on")
|
---|
706 | i++;
|
---|
707 | if(vbUsage == "on")
|
---|
708 | i++;
|
---|
709 | if(csLang == "on")
|
---|
710 | i++;
|
---|
711 | if(cLang == "on")
|
---|
712 | i++;
|
---|
713 | if(jsharpLang == "on")
|
---|
714 | i++;
|
---|
715 | if(jsLang == "on")
|
---|
716 | i++;
|
---|
717 | if(xamlLang == "on")
|
---|
718 | i++;
|
---|
719 |
|
---|
720 | var labelElement;
|
---|
721 |
|
---|
722 | labelElement = document.getElementById("showAllLabel");
|
---|
723 |
|
---|
724 | if(labelElement == null)
|
---|
725 | return;
|
---|
726 |
|
---|
727 | labelElement.style.display = "none";
|
---|
728 |
|
---|
729 | labelElement = document.getElementById("multipleLabel");
|
---|
730 | labelElement.style.display = "none";
|
---|
731 |
|
---|
732 | labelElement = document.getElementById("vbLabel");
|
---|
733 | labelElement.style.display = "none";
|
---|
734 |
|
---|
735 | labelElement = document.getElementById("csLabel");
|
---|
736 | labelElement.style.display = "none";
|
---|
737 |
|
---|
738 | labelElement = document.getElementById("cLabel");
|
---|
739 | labelElement.style.display = "none";
|
---|
740 |
|
---|
741 | labelElement = document.getElementById("jsharpLabel");
|
---|
742 | labelElement.style.display = "none";
|
---|
743 |
|
---|
744 | labelElement = document.getElementById("jsLabel");
|
---|
745 | labelElement.style.display = "none";
|
---|
746 |
|
---|
747 | labelElement = document.getElementById("xamlLabel");
|
---|
748 | labelElement.style.display = "none";
|
---|
749 |
|
---|
750 | if(i == 7)
|
---|
751 | {
|
---|
752 | labelElement = document.getElementById("showAllLabel");
|
---|
753 | labelElement.style.display = "inline";
|
---|
754 | }
|
---|
755 | else if ((i > 1) && (i < 7))
|
---|
756 | {
|
---|
757 | if((i == 2) && ((vbDeclaration == "on") && (vbUsage == "on")))
|
---|
758 | {
|
---|
759 | labelElement = document.getElementById("vbLabel");
|
---|
760 | labelElement.style.display = "inline";
|
---|
761 | }
|
---|
762 | else
|
---|
763 | {
|
---|
764 | labelElement = document.getElementById("multipleLabel");
|
---|
765 | labelElement.style.display = "inline";
|
---|
766 | }
|
---|
767 | }
|
---|
768 | else if (i == 1)
|
---|
769 | {
|
---|
770 | if(vbDeclaration == "on" || vbUsage == "on")
|
---|
771 | {
|
---|
772 | labelElement = document.getElementById("vbLabel");
|
---|
773 | labelElement.style.display = "inline";
|
---|
774 | }
|
---|
775 | if(csLang == "on")
|
---|
776 | {
|
---|
777 | labelElement = document.getElementById("csLabel");
|
---|
778 | labelElement.style.display = "inline";
|
---|
779 | }
|
---|
780 | if(cLang == "on")
|
---|
781 | {
|
---|
782 | labelElement = document.getElementById("cLabel");
|
---|
783 | labelElement.style.display = "inline";
|
---|
784 | }
|
---|
785 | if(jsharpLang == "on")
|
---|
786 | {
|
---|
787 | labelElement = document.getElementById("jsharpLabel");
|
---|
788 | labelElement.style.display = "inline";
|
---|
789 | }
|
---|
790 | if(jsLang == "on")
|
---|
791 | {
|
---|
792 | labelElement = document.getElementById("jsLabel");
|
---|
793 | labelElement.style.display = "inline";
|
---|
794 | }
|
---|
795 | if(xamlLang == "on")
|
---|
796 | {
|
---|
797 | labelElement = document.getElementById("xamlLabel");
|
---|
798 | labelElement.style.display = "inline";
|
---|
799 | }
|
---|
800 | }
|
---|
801 | }
|
---|
802 |
|
---|
803 | function LoadLanguages()
|
---|
804 | {
|
---|
805 | var value;
|
---|
806 | value = Load("vbDeclaration");
|
---|
807 | if(value == null)
|
---|
808 | vbDeclaration = "on";
|
---|
809 | else
|
---|
810 | vbDeclaration = value;
|
---|
811 |
|
---|
812 | value = Load("vbUsage");
|
---|
813 | if(value == null)
|
---|
814 | vbUsage = "on";
|
---|
815 | else
|
---|
816 | vbUsage = value;
|
---|
817 |
|
---|
818 | value = Load("csLang");
|
---|
819 | if(value == null)
|
---|
820 | csLang = "on";
|
---|
821 | else
|
---|
822 | csLang = value;
|
---|
823 |
|
---|
824 | value = Load("cLang");
|
---|
825 | if(value == null)
|
---|
826 | cLang = "on";
|
---|
827 | else
|
---|
828 | cLang = value;
|
---|
829 |
|
---|
830 | value = Load("jsharpLang");
|
---|
831 | if(value == null)
|
---|
832 | jsharpLang = "on";
|
---|
833 | else
|
---|
834 | jsharpLang = value;
|
---|
835 |
|
---|
836 | value = Load("jsLang");
|
---|
837 | if(value == null)
|
---|
838 | jsLang = "on";
|
---|
839 | else
|
---|
840 | jsLang = value;
|
---|
841 |
|
---|
842 | value = Load("xamlLang");
|
---|
843 | if(value == null)
|
---|
844 | xamlLang = "on";
|
---|
845 | else
|
---|
846 | xamlLang = value;
|
---|
847 | }
|
---|
848 |
|
---|
849 | function SaveLanguages()
|
---|
850 | {
|
---|
851 | Save("vbDeclaration", vbDeclaration);
|
---|
852 | Save("vbUsage", vbUsage);
|
---|
853 | Save("csLang", csLang);
|
---|
854 | Save("cLang", cLang);
|
---|
855 | Save("jsharpLang", jsharpLang);
|
---|
856 | Save("jsLang", jsLang);
|
---|
857 | Save("xamlLang", xamlLang);
|
---|
858 | }
|
---|
859 |
|
---|
860 | /*
|
---|
861 | **********
|
---|
862 | ********** End Language Filtering
|
---|
863 | **********
|
---|
864 | */
|
---|
865 |
|
---|
866 |
|
---|
867 | /*
|
---|
868 | **********
|
---|
869 | ********** Begin Members Options Filtering
|
---|
870 | **********
|
---|
871 | */
|
---|
872 |
|
---|
873 | function SetMembersOptions(key)
|
---|
874 | {
|
---|
875 | if(key.id == "inheritedCheckbox")
|
---|
876 | {
|
---|
877 | if(key.checked == true)
|
---|
878 | inheritedMembers = "on";
|
---|
879 | else
|
---|
880 | inheritedMembers = "off";
|
---|
881 | }
|
---|
882 | if(key.id == "protectedCheckbox")
|
---|
883 | {
|
---|
884 | if(key.checked == true)
|
---|
885 | protectedMembers = "on";
|
---|
886 | else
|
---|
887 | protectedMembers = "off";
|
---|
888 | }
|
---|
889 | if(key.id == "netcfCheckbox")
|
---|
890 | {
|
---|
891 | if(key.checked == true)
|
---|
892 | netcfMembersOnly = "on";
|
---|
893 | else
|
---|
894 | netcfMembersOnly = "off";
|
---|
895 | }
|
---|
896 | if(key.id == "netXnaCheckbox")
|
---|
897 | {
|
---|
898 | if(key.checked == true)
|
---|
899 | netXnaMembersOnly = "on";
|
---|
900 | else
|
---|
901 | netXnaMembersOnly = "off";
|
---|
902 | }
|
---|
903 | DisplayFilteredMembers();
|
---|
904 |
|
---|
905 | ChangeMembersOptionsFilterLabel();
|
---|
906 | }
|
---|
907 |
|
---|
908 | function DisplayFilteredMembers()
|
---|
909 | {
|
---|
910 | var iAllMembers = document.getElementsByTagName("tr");
|
---|
911 | var i;
|
---|
912 |
|
---|
913 | for(i = 0; i < iAllMembers.length; ++i)
|
---|
914 | {
|
---|
915 | if (((iAllMembers[i].getAttribute("protected") == "true") && (protectedMembers == "off")) ||
|
---|
916 | ((iAllMembers[i].notSupportedOnXna == "true") && (netXnaMembersOnly == "on")) ||
|
---|
917 | ((iAllMembers[i].getAttribute("name") == "inheritedMember") && (inheritedMembers == "off")) ||
|
---|
918 | ((iAllMembers[i].getAttribute("notSupportedOn") == "netcf") && (netcfMembersOnly == "on")))
|
---|
919 | iAllMembers[i].style.display = "none";
|
---|
920 | else
|
---|
921 | iAllMembers[i].style.display = "";
|
---|
922 | }
|
---|
923 | }
|
---|
924 |
|
---|
925 | function ChangeMembersOptionsFilterLabel()
|
---|
926 | {
|
---|
927 |
|
---|
928 | var showAllMembersLabelElement = document.getElementById("showAllMembersLabel");
|
---|
929 | var filteredMembersLabelElement = document.getElementById("filteredMembersLabel");
|
---|
930 |
|
---|
931 | if(showAllMembersLabelElement == null || filteredMembersLabelElement == null)
|
---|
932 | return;
|
---|
933 |
|
---|
934 | if ((inheritedMembers=="off") || (protectedMembers=="off") || (netXnaMembersOnly == "on") || (netcfMembersOnly=="on"))
|
---|
935 | {
|
---|
936 | filteredMembersLabelElement.style.display = "inline";
|
---|
937 | showAllMembersLabelElement.style.display = "none";
|
---|
938 | }
|
---|
939 | else
|
---|
940 | {
|
---|
941 | filteredMembersLabelElement.style.display = "none";
|
---|
942 | showAllMembersLabelElement.style.display = "inline";
|
---|
943 | }
|
---|
944 | }
|
---|
945 |
|
---|
946 | function LoadMembersOptions()
|
---|
947 | {
|
---|
948 | var value;
|
---|
949 | value = Load("inheritedMembers");
|
---|
950 | if(value == null)
|
---|
951 | inheritedMembers = "on";
|
---|
952 | else
|
---|
953 | inheritedMembers = value;
|
---|
954 |
|
---|
955 | value = Load("protectedMembers");
|
---|
956 | if(value == null)
|
---|
957 | protectedMembers = "on";
|
---|
958 | else
|
---|
959 | protectedMembers = value;
|
---|
960 |
|
---|
961 | value = Load("netcfMembersOnly");
|
---|
962 | if(value == null)
|
---|
963 | netcfMembersOnly = "off";
|
---|
964 | else
|
---|
965 | netcfMembersOnly = value;
|
---|
966 |
|
---|
967 | value = Load("netXnaMembersOnly");
|
---|
968 | if(value == null)
|
---|
969 | netXnaMembersOnly = "off";
|
---|
970 | else
|
---|
971 | netXnaMembersOnly = value;
|
---|
972 | }
|
---|
973 |
|
---|
974 | function SaveMembersOptions()
|
---|
975 | {
|
---|
976 | Save("inheritedMembers", inheritedMembers);
|
---|
977 | Save("protectedMembers", protectedMembers);
|
---|
978 | Save("netcfMembersOnly", netcfMembersOnly);
|
---|
979 | Save("netXnaMembersOnly", netXnaMembersOnly);
|
---|
980 | }
|
---|
981 |
|
---|
982 | /*
|
---|
983 | **********
|
---|
984 | ********** End Members Options Filtering
|
---|
985 | **********
|
---|
986 | */
|
---|
987 |
|
---|
988 |
|
---|
989 | /*
|
---|
990 | **********
|
---|
991 | ********** Begin Expand/Collapse
|
---|
992 | **********
|
---|
993 | */
|
---|
994 |
|
---|
995 | // expand or collapse a section
|
---|
996 | function ExpandCollapse(imageItem)
|
---|
997 | {
|
---|
998 | if (sectionStates[imageItem.id] == "e")
|
---|
999 | CollapseSection(imageItem);
|
---|
1000 | else
|
---|
1001 | ExpandSection(imageItem);
|
---|
1002 |
|
---|
1003 | SetCollapseAll();
|
---|
1004 | }
|
---|
1005 |
|
---|
1006 | // expand or collapse all sections
|
---|
1007 | function ExpandCollapseAll(imageItem)
|
---|
1008 | {
|
---|
1009 | var collapseAllImage = document.getElementById("collapseAllImage");
|
---|
1010 | var expandAllImage = document.getElementById("expandAllImage");
|
---|
1011 | if (imageItem == null || collapseAllImage == null || expandAllImage == null) return;
|
---|
1012 | noReentry = true; // Prevent entry to OnLoadImage
|
---|
1013 |
|
---|
1014 | var imgElements = document.getElementsByName("toggleSwitch");
|
---|
1015 | var i;
|
---|
1016 | var collapseAll = (imageItem.src == collapseAllImage.src);
|
---|
1017 | if (collapseAll)
|
---|
1018 | {
|
---|
1019 | imageItem.src = expandAllImage.src;
|
---|
1020 | imageItem.alt = expandAllImage.alt;
|
---|
1021 |
|
---|
1022 | for (i = 0; i < imgElements.length; ++i)
|
---|
1023 | {
|
---|
1024 | CollapseSection(imgElements[i]);
|
---|
1025 | }
|
---|
1026 | }
|
---|
1027 | else
|
---|
1028 | {
|
---|
1029 | imageItem.src = collapseAllImage.src;
|
---|
1030 | imageItem.alt = collapseAllImage.alt;
|
---|
1031 |
|
---|
1032 | for (i = 0; i < imgElements.length; ++i)
|
---|
1033 | {
|
---|
1034 | ExpandSection(imgElements[i]);
|
---|
1035 | }
|
---|
1036 | }
|
---|
1037 | SetAllSectionStates(collapseAll);
|
---|
1038 | SetToggleAllLabel(collapseAll);
|
---|
1039 |
|
---|
1040 | noReentry = false;
|
---|
1041 | }
|
---|
1042 |
|
---|
1043 | function ExpandCollapse_CheckKey(imageItem, eventObj)
|
---|
1044 | {
|
---|
1045 | if(eventObj.keyCode == 13)
|
---|
1046 | ExpandCollapse(imageItem);
|
---|
1047 | }
|
---|
1048 |
|
---|
1049 | function ExpandCollapseAll_CheckKey(imageItem, eventObj)
|
---|
1050 | {
|
---|
1051 | if(eventObj.keyCode == 13)
|
---|
1052 | ExpandCollapseAll(imageItem);
|
---|
1053 | }
|
---|
1054 |
|
---|
1055 | function SetAllSectionStates(collapsed)
|
---|
1056 | {
|
---|
1057 | for (var sectionId in sectionStates)
|
---|
1058 | sectionStates[sectionId] = (collapsed) ? "c" : "e";
|
---|
1059 | }
|
---|
1060 |
|
---|
1061 | function ExpandSection(imageItem)
|
---|
1062 | {
|
---|
1063 | noReentry = true; // Prevent re-entry to OnLoadImage
|
---|
1064 | try
|
---|
1065 | {
|
---|
1066 | var collapseImage = document.getElementById("collapseImage");
|
---|
1067 | imageItem.src = collapseImage.src;
|
---|
1068 | imageItem.alt = collapseImage.alt;
|
---|
1069 |
|
---|
1070 | imageItem.parentNode.parentNode.nextSibling.style.display = "";
|
---|
1071 | sectionStates[imageItem.id] = "e";
|
---|
1072 | }
|
---|
1073 | catch (e)
|
---|
1074 | {
|
---|
1075 | }
|
---|
1076 | noReentry = false;
|
---|
1077 | }
|
---|
1078 |
|
---|
1079 | function CollapseSection(imageItem)
|
---|
1080 | {
|
---|
1081 | noReentry = true; // Prevent re-entry to OnLoadImage
|
---|
1082 | var expandImage = document.getElementById("expandImage");
|
---|
1083 | imageItem.src = expandImage.src;
|
---|
1084 | imageItem.alt = expandImage.alt;
|
---|
1085 | imageItem.parentNode.parentNode.nextSibling.style.display = "none";
|
---|
1086 | sectionStates[imageItem.id] = "c";
|
---|
1087 | noReentry = false;
|
---|
1088 | }
|
---|
1089 |
|
---|
1090 | function AllCollapsed()
|
---|
1091 | {
|
---|
1092 | var imgElements = document.getElementsByName("toggleSwitch");
|
---|
1093 | var allCollapsed = true;
|
---|
1094 | var i;
|
---|
1095 |
|
---|
1096 | for (i = 0; i < imgElements.length; i++) allCollapsed = allCollapsed && (sectionStates[imgElements[i].id] == "c");
|
---|
1097 |
|
---|
1098 | return allCollapsed;
|
---|
1099 | }
|
---|
1100 |
|
---|
1101 | function SetCollapseAll()
|
---|
1102 | {
|
---|
1103 | var imageElement = document.getElementById("toggleAllImage");
|
---|
1104 | if (imageElement == null) return;
|
---|
1105 |
|
---|
1106 | var allCollapsed = AllCollapsed();
|
---|
1107 | if (allCollapsed)
|
---|
1108 | {
|
---|
1109 | var expandAllImage = document.getElementById("expandAllImage");
|
---|
1110 | if (expandAllImage == null) return;
|
---|
1111 | imageElement.src = expandAllImage.src;
|
---|
1112 | imageElement.alt = expandAllImage.alt;
|
---|
1113 | }
|
---|
1114 | else
|
---|
1115 | {
|
---|
1116 | var collapseAllImage = document.getElementById("collapseAllImage");
|
---|
1117 | if (collapseAllImage == null) return;
|
---|
1118 | imageElement.src = collapseAllImage.src;
|
---|
1119 | imageElement.alt = collapseAllImage.alt;
|
---|
1120 | }
|
---|
1121 |
|
---|
1122 | SetToggleAllLabel(allCollapsed);
|
---|
1123 | }
|
---|
1124 |
|
---|
1125 | function SetToggleAllLabel(allCollapsed)
|
---|
1126 | {
|
---|
1127 | var collapseLabelElement = document.getElementById("collapseAllLabel");
|
---|
1128 | var expandLabelElement = document.getElementById("expandAllLabel");
|
---|
1129 |
|
---|
1130 | if (collapseLabelElement == null || expandLabelElement == null) return;
|
---|
1131 |
|
---|
1132 | if (allCollapsed)
|
---|
1133 | {
|
---|
1134 | collapseLabelElement.style.display = "none";
|
---|
1135 | expandLabelElement.style.display = "inline";
|
---|
1136 | }
|
---|
1137 | else
|
---|
1138 | {
|
---|
1139 | collapseLabelElement.style.display = "inline";
|
---|
1140 | expandLabelElement.style.display = "none";
|
---|
1141 | }
|
---|
1142 | }
|
---|
1143 |
|
---|
1144 | function SaveSections()
|
---|
1145 | {
|
---|
1146 | try
|
---|
1147 | {
|
---|
1148 | var states = "";
|
---|
1149 |
|
---|
1150 | for (var sectionId in sectionStates) states += sectionId + ":" + sectionStates[sectionId] + ";";
|
---|
1151 |
|
---|
1152 | Save("SectionStates", states.substring(0, states.length - 1));
|
---|
1153 | }
|
---|
1154 | catch (e)
|
---|
1155 | {
|
---|
1156 | }
|
---|
1157 |
|
---|
1158 | }
|
---|
1159 |
|
---|
1160 | function OpenSection(imageItem)
|
---|
1161 | {
|
---|
1162 | if (sectionStates[imageItem.id] == "c") ExpandCollapse(imageItem);
|
---|
1163 | }
|
---|
1164 |
|
---|
1165 | /*
|
---|
1166 | **********
|
---|
1167 | ********** End Expand/Collapse
|
---|
1168 | **********
|
---|
1169 | */
|
---|
1170 |
|
---|
1171 |
|
---|
1172 |
|
---|
1173 | /*
|
---|
1174 | **********
|
---|
1175 | ********** Begin Copy Code
|
---|
1176 | **********
|
---|
1177 | */
|
---|
1178 |
|
---|
1179 | function CopyCode(key)
|
---|
1180 | {
|
---|
1181 | var trElements = document.getElementsByTagName("tr");
|
---|
1182 | var i;
|
---|
1183 | for(i = 0; i < trElements.length; ++i)
|
---|
1184 | {
|
---|
1185 | if(key.parentNode.parentNode.parentNode == trElements[i].parentNode)
|
---|
1186 | {
|
---|
1187 | if (window.clipboardData)
|
---|
1188 | {
|
---|
1189 | // the IE-manner
|
---|
1190 | window.clipboardData.setData("Text", trElements[i].innerText);
|
---|
1191 | }
|
---|
1192 | else if (window.netscape)
|
---|
1193 | {
|
---|
1194 | // Gives unrestricted access to browser APIs using XPConnect
|
---|
1195 | try
|
---|
1196 | {
|
---|
1197 | netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
---|
1198 | }
|
---|
1199 | catch(e)
|
---|
1200 | {
|
---|
1201 | alert("Universal Connect was refused, cannot copy to " +
|
---|
1202 | "clipboard. Go to about:config and set " +
|
---|
1203 | "signed.applets.codebase_principal_support to true to " +
|
---|
1204 | "enable clipboard support.");
|
---|
1205 | return;
|
---|
1206 | }
|
---|
1207 |
|
---|
1208 | // Creates an instance of nsIClipboard
|
---|
1209 | var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
|
---|
1210 | if (!clip) return;
|
---|
1211 |
|
---|
1212 | // Creates an instance of nsITransferable
|
---|
1213 | var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
|
---|
1214 | if (!trans) return;
|
---|
1215 |
|
---|
1216 | // register the data flavor
|
---|
1217 | trans.addDataFlavor('text/unicode');
|
---|
1218 |
|
---|
1219 | // Create object to hold the data
|
---|
1220 | var str = new Object();
|
---|
1221 |
|
---|
1222 | // Creates an instance of nsISupportsString
|
---|
1223 | var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
|
---|
1224 |
|
---|
1225 | //Assigns the data to be copied
|
---|
1226 | var copytext = trElements[i].textContent;
|
---|
1227 | str.data = copytext;
|
---|
1228 |
|
---|
1229 | // Add data objects to transferable
|
---|
1230 | trans.setTransferData("text/unicode",str,copytext.length*2);
|
---|
1231 | var clipid = Components.interfaces.nsIClipboard;
|
---|
1232 | if (!clip) return false;
|
---|
1233 |
|
---|
1234 | // Transfer the data to clipboard
|
---|
1235 | clip.setData(trans,null,clipid.kGlobalClipboard);
|
---|
1236 | }
|
---|
1237 | }
|
---|
1238 | }
|
---|
1239 | }
|
---|
1240 |
|
---|
1241 | function ChangeCopyCodeIcon(key)
|
---|
1242 | {
|
---|
1243 | var i;
|
---|
1244 | var imageElements = document.getElementsByName("ccImage")
|
---|
1245 | for(i=0; i<imageElements.length; ++i)
|
---|
1246 | {
|
---|
1247 | if(imageElements[i].parentNode == key)
|
---|
1248 | {
|
---|
1249 | if(imageElements[i].src == copyImage.src)
|
---|
1250 | {
|
---|
1251 | imageElements[i].src = copyHoverImage.src;
|
---|
1252 | imageElements[i].alt = copyHoverImage.alt;
|
---|
1253 | key.className = 'copyCodeOnHover';
|
---|
1254 | }
|
---|
1255 | else
|
---|
1256 | {
|
---|
1257 | imageElements[i].src = copyImage.src;
|
---|
1258 | imageElements[i].alt = copyImage.alt;
|
---|
1259 | key.className = 'copyCode';
|
---|
1260 | }
|
---|
1261 | }
|
---|
1262 | }
|
---|
1263 | }
|
---|
1264 |
|
---|
1265 | function CopyCode_CheckKey(key, eventObj)
|
---|
1266 | {
|
---|
1267 | if(eventObj.keyCode == 13)
|
---|
1268 | CopyCode(key);
|
---|
1269 | }
|
---|
1270 |
|
---|
1271 | /*
|
---|
1272 | **********
|
---|
1273 | ********** End Copy Code
|
---|
1274 | **********
|
---|
1275 | */
|
---|
1276 |
|
---|
1277 |
|
---|
1278 | /*
|
---|
1279 | **********
|
---|
1280 | ********** Begin Maintain Scroll Position
|
---|
1281 | **********
|
---|
1282 | */
|
---|
1283 |
|
---|
1284 | function loadAll(){
|
---|
1285 | try
|
---|
1286 | {
|
---|
1287 | scrollPos = allHistory.getAttribute("Scroll");
|
---|
1288 | }
|
---|
1289 | catch(e){}
|
---|
1290 | }
|
---|
1291 |
|
---|
1292 | function saveAll(){
|
---|
1293 | try
|
---|
1294 | {
|
---|
1295 | allHistory.setAttribute("Scroll", mainSection.scrollTop);
|
---|
1296 | }
|
---|
1297 | catch(e){}
|
---|
1298 | }
|
---|
1299 |
|
---|
1300 | /*
|
---|
1301 | **********
|
---|
1302 | ********** End Maintain Scroll Position
|
---|
1303 | **********
|
---|
1304 | */
|
---|
1305 |
|
---|
1306 |
|
---|
1307 | /*
|
---|
1308 | **********
|
---|
1309 | ********** Begin Send Mail
|
---|
1310 | **********
|
---|
1311 | */
|
---|
1312 |
|
---|
1313 | function formatMailToLink(anchor)
|
---|
1314 | {
|
---|
1315 | var release = "Release: " + anchor.doc_Release;
|
---|
1316 | var topicId = "Topic ID: " + anchor.doc_TopicID;
|
---|
1317 | var topicTitle = "Topic Title: " + anchor.doc_TopicTitle;
|
---|
1318 | var url = "URL: " + document.URL;
|
---|
1319 | var browser = "Browser: " + window.navigator.userAgent;
|
---|
1320 |
|
---|
1321 | var crlf = "%0d%0a";
|
---|
1322 | var body = release + crlf + topicId + crlf + topicTitle + crlf + url + crlf + browser + crlf + crlf + "Comments:" + crlf + crlf;
|
---|
1323 |
|
---|
1324 | anchor.href = anchor.href + "&body=" + body;
|
---|
1325 | }
|
---|
1326 |
|
---|
1327 | /*
|
---|
1328 | **********
|
---|
1329 | ********** End Send Mail
|
---|
1330 | **********
|
---|
1331 | */
|
---|
1332 |
|
---|
1333 |
|
---|
1334 | /*
|
---|
1335 | **********
|
---|
1336 | ********** Begin Persistence
|
---|
1337 | **********
|
---|
1338 | */
|
---|
1339 |
|
---|
1340 | var globals;
|
---|
1341 |
|
---|
1342 | function GetGlobals()
|
---|
1343 | {
|
---|
1344 | var tmp;
|
---|
1345 |
|
---|
1346 | // Try to get VS implementation
|
---|
1347 | try { tmp = window.external.Globals; }
|
---|
1348 | catch (e) { tmp = null; }
|
---|
1349 |
|
---|
1350 | // Try to get DExplore implementation
|
---|
1351 | try { if (tmp == null) tmp = window.external.GetObject("DTE", "").Globals; }
|
---|
1352 | catch (e) { tmp = null; }
|
---|
1353 |
|
---|
1354 | return tmp;
|
---|
1355 | }
|
---|
1356 |
|
---|
1357 | function Load(key)
|
---|
1358 | {
|
---|
1359 | try
|
---|
1360 | {
|
---|
1361 | return globals.VariableExists(key) ? globals.VariableValue(key) : null;
|
---|
1362 | }
|
---|
1363 | catch (e)
|
---|
1364 | {
|
---|
1365 | return null;
|
---|
1366 | }
|
---|
1367 | }
|
---|
1368 |
|
---|
1369 | function Save(key, value)
|
---|
1370 | {
|
---|
1371 | try
|
---|
1372 | {
|
---|
1373 | globals.VariableValue(key) = value;
|
---|
1374 | globals.VariablePersists(key) = true;
|
---|
1375 | }
|
---|
1376 | catch (e)
|
---|
1377 | {
|
---|
1378 | }
|
---|
1379 | }
|
---|
1380 |
|
---|
1381 | /*
|
---|
1382 | **********
|
---|
1383 | ********** End Persistence
|
---|
1384 | **********
|
---|
1385 | */
|
---|
1386 |
|
---|
1387 | /* This is the part for Glossary popups */
|
---|
1388 | // The method is called when the user positions the mouse cursor over a glossary term in a document.
|
---|
1389 | // Current implementation assumes the existence of an associative array (g_glossary).
|
---|
1390 | // The keys of the array correspond to the argument passed to this function.
|
---|
1391 |
|
---|
1392 | var bGlossary=true;
|
---|
1393 | var oDialog;
|
---|
1394 | var oTimeout="";
|
---|
1395 | var oTimein="";
|
---|
1396 | var iTimein=.5;
|
---|
1397 | var iTimeout=30;
|
---|
1398 | var oLastNode;
|
---|
1399 | var oNode;
|
---|
1400 | var bInit=false;
|
---|
1401 | var aTerms=new Array();
|
---|
1402 |
|
---|
1403 | // Called from mouseover and when the contextmenu behavior fires oncontextopen.
|
---|
1404 | function clearDef(eventObj){
|
---|
1405 | if(eventObj){
|
---|
1406 | var elem;
|
---|
1407 | if(document.all) elem = eventObj.toElement;
|
---|
1408 | else elem = eventObj.relatedTarget;
|
---|
1409 | if(elem!=null || elem!="undefined"){
|
---|
1410 | if(typeof(oTimein)=="number"){
|
---|
1411 | window.clearTimeout(oTimein);
|
---|
1412 | }
|
---|
1413 | if(oDialog.dlg_status==true){
|
---|
1414 | hideDef();
|
---|
1415 | }
|
---|
1416 | }
|
---|
1417 | }
|
---|
1418 | }
|
---|
1419 | function hideDef(eventObj){
|
---|
1420 | window.clearTimeout(oTimeout);
|
---|
1421 | oTimeout="";
|
---|
1422 | oDialog.style.display="none";
|
---|
1423 | oDialog.dlg_status=false;
|
---|
1424 | }
|
---|
1425 | function showDef(oSource){
|
---|
1426 | if(bInit==false){
|
---|
1427 | glossaryInit();
|
---|
1428 | bInit=true;
|
---|
1429 | }
|
---|
1430 | if(bGlossary==true){
|
---|
1431 | if(typeof(arguments[0])=="object"){
|
---|
1432 | oNode=oSource;
|
---|
1433 | }
|
---|
1434 | else{
|
---|
1435 | if(document.all) oNode = eventObj.srcElement;
|
---|
1436 | else oNode = eventObj.target;
|
---|
1437 | }
|
---|
1438 | var bStatus=oDialog.dlg_status; // BUGBUG: oDialog is null.
|
---|
1439 | if((oLastNode!=oNode)||(bStatus==false)){
|
---|
1440 | if((typeof(oTimein)=="number")&& eventObj){
|
---|
1441 |
|
---|
1442 | var elem;
|
---|
1443 | if(document.all) elem = eventObj.fromElement;
|
---|
1444 | else elem = eventObj.relatedTarget;
|
---|
1445 |
|
---|
1446 | if( elem != null || elem != "undefined")
|
---|
1447 | window.clearTimeout(oTimein);
|
---|
1448 | }
|
---|
1449 | oTimein=window.setTimeout("openDialog(oNode)",iTimein*1000);
|
---|
1450 | }
|
---|
1451 | }
|
---|
1452 | }
|
---|
1453 |
|
---|
1454 |
|
---|
1455 |
|
---|
1456 | function glossaryInit(){
|
---|
1457 | oDialog=fnCreateDialog(150,50);
|
---|
1458 | }
|
---|
1459 |
|
---|
1460 | function navigateTerm(eventObj){
|
---|
1461 | var oNode;
|
---|
1462 | if(document.all) oNode = eventObj.srcElement;
|
---|
1463 | else oNode = eventObj.target;
|
---|
1464 |
|
---|
1465 | var iTermID=oNode.termID;
|
---|
1466 | if(oNode!=aTerms[iTermID]){
|
---|
1467 | var iAbsTop=getAbsoluteTop(aTerms[iTermID]);
|
---|
1468 | if(iAbsTop<document.body.scrollTop){
|
---|
1469 | window.scrollTo(document.body.scrollLeft,getAbsoluteTop(aTerms[iTermID]));
|
---|
1470 | }
|
---|
1471 | openDialog(aTerms[iTermID]);
|
---|
1472 | }
|
---|
1473 | }
|
---|
1474 | function disableGlossary(eventObj){
|
---|
1475 | if(bGlossary==true){
|
---|
1476 | if(document.all) eventObj.srcElement.innerText="Enable Automatic Glossary";
|
---|
1477 | else eventObj.target.innerText="Enable Automatic Glossary";
|
---|
1478 | bGlossary=false;
|
---|
1479 | hideDef();
|
---|
1480 | }
|
---|
1481 | else{
|
---|
1482 | if(document.all) eventObj.srcElement.innerText="Disable Automatic Glossary";
|
---|
1483 | else eventObj.target.innerText="Disable Automatic Glossary";
|
---|
1484 | bGlossary=true;
|
---|
1485 | }
|
---|
1486 | }
|
---|
1487 | function openGlossary(){
|
---|
1488 |
|
---|
1489 | }
|
---|
1490 | function fnSetMenus(eventObj){
|
---|
1491 | var oNode;
|
---|
1492 | if(document.all) oNode = eventObj.srcElement;
|
---|
1493 | else oNode = eventObj.target;
|
---|
1494 |
|
---|
1495 | var oMenu=oNode.createMenu("SPAN","G_RID");
|
---|
1496 | var oSubItem1=oNode.createMenuItem("Glossary",fnStub,oMenu,true);
|
---|
1497 | document.body.createMenuItem("Open External Glossary",openGlossary,oSubItem1.subMenu);
|
---|
1498 | document.body.createMenuItem("Disable Automatic Glossary",disableGlossary,oSubItem1.subMenu);
|
---|
1499 | for(var i=0;i<aTerms.length;i++){
|
---|
1500 | var oItem=document.body.createMenuItem(aTerms[i].innerText,navigateTerm,oMenu);
|
---|
1501 | oItem.termID=i;
|
---|
1502 | }
|
---|
1503 | }
|
---|
1504 | // This is a bogus stub. It should be sniffed out rather than added in.
|
---|
1505 | function fnStub(){
|
---|
1506 |
|
---|
1507 | }
|
---|
1508 | function fnAttachMenus(aTips){
|
---|
1509 | // This walk is only necessary for the context menu.
|
---|
1510 | var aTips=document.getElementsByTagName("SPAN");
|
---|
1511 | for(var i=0;i<aTips.length;i++){
|
---|
1512 | var oNode=aTips[i];
|
---|
1513 | if(oNode.getAttribute("G_RID")){
|
---|
1514 | var sTerm=oNode.getAttribute("G_RID");
|
---|
1515 | if(typeof(g_glossary[sTerm])=="string"){
|
---|
1516 | // Removed client-side scripting to add events. This entire process should be singled out for IE 5 and later .. and, its only for the context menu.
|
---|
1517 | aTerms[aTerms.length]=oNode;
|
---|
1518 | }
|
---|
1519 | }
|
---|
1520 | }
|
---|
1521 | if(oBD.majorVer>=5){
|
---|
1522 | document.body.addBehavior(gsContextMenuPath);
|
---|
1523 | document.body.onbehaviorready="fnSetMenus()";
|
---|
1524 | document.body.oncontextopen="clearDef()";
|
---|
1525 | }
|
---|
1526 |
|
---|
1527 | }
|
---|
1528 | // Called by showDef. The showDef function sniffs for initialization.
|
---|
1529 | function openDialog(oNode,x,y){
|
---|
1530 | var bStatus=oDialog.dlg_status; // BUGBUG: This code assumes that oDialog has been initialized
|
---|
1531 | if(bStatus==false){
|
---|
1532 | oDialog.dlg_status=true;
|
---|
1533 | oDialog.style.display="block";
|
---|
1534 | }
|
---|
1535 | else{
|
---|
1536 | if(typeof(oTimeout)=="number"){
|
---|
1537 | window.clearTimeout(oTimeout);
|
---|
1538 | }
|
---|
1539 | }
|
---|
1540 |
|
---|
1541 | var sTerm=oNode.getAttribute("G_RID");
|
---|
1542 | var oDef=oNode.children(0);
|
---|
1543 | var sDef=oDef.text;
|
---|
1544 | sDef=sDef.substr(4,sDef.length-7); //Strips the html comment markers from the definition.
|
---|
1545 | oDialog.innerHTML=sDef
|
---|
1546 |
|
---|
1547 |
|
---|
1548 | //oDialog.innerHTML=g_glossary[sTerm];
|
---|
1549 |
|
---|
1550 | var iScrollLeft=document.body.scrollLeft;
|
---|
1551 | var iScrollTop=document.body.scrollTop;
|
---|
1552 | var iOffsetLeft=getAbsoluteLeft(oNode)// - iScrollLeft;
|
---|
1553 | var iOffsetWidth=oNode.offsetWidth;
|
---|
1554 | var oParent=oNode.parentNode;
|
---|
1555 | var iOffsetParentLeft=getAbsoluteLeft(oParent);
|
---|
1556 | var iOffsetTop=getAbsoluteTop(oNode); //- iScrollTop;
|
---|
1557 | var iOffsetDialogWidth=oDialog.offsetWidth;
|
---|
1558 |
|
---|
1559 |
|
---|
1560 | if((iOffsetLeft + iOffsetWidth) > (iOffsetParentLeft + oParent.offsetWidth)){
|
---|
1561 | iOffsetLeft=iOffsetParentLeft;
|
---|
1562 | if(iOffsetLeft - iOffsetDialogWidth>0){
|
---|
1563 | iOffsetTop+=oNode.offsetHeight;
|
---|
1564 | }
|
---|
1565 | }
|
---|
1566 | var iLeft=0;
|
---|
1567 | var iTop=0;
|
---|
1568 | if((iOffsetLeft + iOffsetWidth - iScrollLeft + iOffsetDialogWidth) < document.body.offsetWidth ){
|
---|
1569 | iLeft=iOffsetLeft + iOffsetWidth;
|
---|
1570 | }
|
---|
1571 | else{
|
---|
1572 | if(iOffsetLeft - iOffsetDialogWidth>0){
|
---|
1573 | iLeft=iOffsetLeft - iOffsetDialogWidth;
|
---|
1574 | }
|
---|
1575 | else{
|
---|
1576 | iLeft=iOffsetParentLeft;
|
---|
1577 | }
|
---|
1578 | }
|
---|
1579 | if(iOffsetTop - iScrollTop<oDialog.offsetHeight){
|
---|
1580 | iTop=iOffsetTop + oNode.offsetHeight;
|
---|
1581 | }
|
---|
1582 | else{
|
---|
1583 | iTop=iOffsetTop - oDialog.offsetHeight;
|
---|
1584 | }
|
---|
1585 | oDialog.style.top=iTop;
|
---|
1586 | oDialog.style.left=iLeft;
|
---|
1587 | oTimeout=window.setTimeout("hideDef()",iTimeout*1000);
|
---|
1588 | }
|
---|
1589 | function getAbsoluteTop(oNode){
|
---|
1590 | var oCurrentNode=oNode;
|
---|
1591 | var iTop=0;
|
---|
1592 | while(oCurrentNode.tagName!="BODY"){
|
---|
1593 | iTop+=oCurrentNode.offsetTop;
|
---|
1594 | oCurrentNode=oCurrentNode.offsetParent;
|
---|
1595 | }
|
---|
1596 | return iTop;
|
---|
1597 | }
|
---|
1598 | function getAbsoluteLeft(oNode){
|
---|
1599 | var oCurrentNode=oNode;
|
---|
1600 | var iLeft=0;
|
---|
1601 | while(oCurrentNode.tagName!="BODY"){
|
---|
1602 | iLeft+=oCurrentNode.offsetLeft;
|
---|
1603 | oCurrentNode=oCurrentNode.offsetParent;
|
---|
1604 | }
|
---|
1605 | return iLeft;
|
---|
1606 | }
|
---|
1607 | function fnCreateDialog(iWidth,iHeight){
|
---|
1608 | document.body.insertAdjacentHTML("BeforeEnd","<DIV></DIV>");
|
---|
1609 | oNewDialog=document.body.children(document.body.children.length-1);
|
---|
1610 | oNewDialog.className="clsTooltip";
|
---|
1611 | oNewDialog.style.width=iWidth;
|
---|
1612 | oNewDialog.dlg_status=false;
|
---|
1613 | return oNewDialog;
|
---|
1614 | }
|
---|
1615 |
|
---|
1616 | function sendfeedback(subject, id,alias){
|
---|
1617 | var rExp = /\"/gi;
|
---|
1618 | var url = location.href;
|
---|
1619 | // Need to replace the double quotes with single quotes for the mailto to work.
|
---|
1620 | var rExpSingleQuotes = /\'\'"/gi;
|
---|
1621 |
|
---|
1622 | var title;
|
---|
1623 | if(document.getElementsByTagName("TITLE")[0].innerText) title = document.getElementsByTagName("TITLE")[0].innerText.replace(rExp, "''")
|
---|
1624 | else title = document.getElementsByTagName("TITLE")[0].textContent.replace(rExp, "''");
|
---|
1625 | location.href = "mailto:" + alias + "?subject=" + subject + title + "&body=Topic%20ID:%20" + id + "%0d%0aURL:%20" + url + "%0d%0a%0d%0aComments:%20";
|
---|
1626 | }
|
---|
1627 |
|
---|
1628 | function setUpSyntax() {
|
---|
1629 | var syntaxSection = document.getElementById('syntaxCodeBlocks');
|
---|
1630 | if (syntaxSection == null) return;
|
---|
1631 |
|
---|
1632 | processSection(syntaxSection, 'x-lang', lang, true, true, true, true);
|
---|
1633 | }
|
---|
1634 |
|
---|
1635 | function setUpSnippets() {
|
---|
1636 | var divs = document.getElementsByTagName("DIV");
|
---|
1637 |
|
---|
1638 | for (var i = 0; i < divs.length; i++)
|
---|
1639 | {
|
---|
1640 | var name = divs[i].getAttribute("name");
|
---|
1641 | if (name == null || name != "snippetGroup") continue;
|
---|
1642 | processSection(divs[i], 'x-lang', lang, true, true, true, true);
|
---|
1643 | }
|
---|
1644 | }
|
---|
1645 |
|
---|
1646 | function setUpType() {
|
---|
1647 | var typeSection = document.getElementById("typeSection");
|
---|
1648 | if (typeSection == null) return;
|
---|
1649 |
|
---|
1650 | processSection(typeSection, 'value', 'all', true, false, true, false);
|
---|
1651 | }
|
---|
1652 |
|
---|
1653 | function setUpAllMembers() {
|
---|
1654 | var allMembersSection = document.getElementById("allMembersSection");
|
---|
1655 | if (allMembersSection == null) return;
|
---|
1656 |
|
---|
1657 | processSection(allMembersSection, 'value', 'all', true, false, true, false);
|
---|
1658 | }
|
---|
1659 |
|
---|
1660 | function processSection(section, attribute, value, toggleClassValue, toggleStyleValue, curvedToggleClassValue, registerValue) {
|
---|
1661 | var nodes = section.childNodes;
|
---|
1662 |
|
---|
1663 | var curvedTabId;
|
---|
1664 | var tabId;
|
---|
1665 | var blockId;
|
---|
1666 |
|
---|
1667 | if (nodes.length != 2) return;
|
---|
1668 |
|
---|
1669 | if (nodes[0].tagName == 'TABLE') {
|
---|
1670 | var rows = nodes[0].getElementsByTagName('tr');
|
---|
1671 |
|
---|
1672 | if (rows.length != 2) return;
|
---|
1673 |
|
---|
1674 | curvedTabId = rows[0].getAttribute('id');
|
---|
1675 | tabId = rows[1].getAttribute('id');
|
---|
1676 | }
|
---|
1677 |
|
---|
1678 | if(nodes[1].tagName == 'DIV') {
|
---|
1679 | blockId = nodes[1].getAttribute('id');
|
---|
1680 | }
|
---|
1681 |
|
---|
1682 | if (toggleClassValue) toggleClass(tabId,attribute,value,'activeTab','tab');
|
---|
1683 | if (toggleStyleValue) toggleStyle(blockId,attribute,value,'display','block','none');
|
---|
1684 | if (curvedToggleClassValue) curvedToggleClass(curvedTabId, attribute, value);
|
---|
1685 |
|
---|
1686 | if (languageFilter == null) return;
|
---|
1687 |
|
---|
1688 | if (registerValue) languageFilter.registerTabbedArea(curvedTabId, tabId, blockId);
|
---|
1689 | }
|
---|
1690 |
|
---|