1 sdump('D_TRACE','Loading clam_shell.js\n');
3 function clam_shell_init(p) {
4 sdump('D_CLAM',"TESTING: clam_shell.js: " + mw.G['main_test_variable'] + '\n');
5 sdump('D_CONSTRUCTOR',arg_dump(arguments));
8 // This code breaks the splitter, so don't use
10 sdump('D_CLAM','Setting horizontal\n');
11 p.node.orient = 'horizontal';
12 } else if (p.vertical) {
13 sdump('D_CLAM','Setting vertical\n');
14 p.node.orient = 'vertical';
17 p.splitter_node = p.node.childNodes[1];
18 if (p.hide_splitter) {
19 sdump('D_CLAM','Hiding splitter\n');
20 p.splitter_node.hidden = true;
22 sdump('D_CLAM','Showing splitter\n');
23 p.splitter_node.hidden = false;
28 p.first_deck = p.node.firstChild;
29 p.second_deck = p.node.lastChild;
31 p.get_card_in_first_deck = function (idx) {
33 return first_deck.childNodes[ idx ];
35 return first_deck.selectedPanel;
38 p.get_card_in_second_deck = function (idx) {
40 return second_deck.childNodes[ idx ];
42 return second_deck.selectedPanel;
45 p.set_first_deck = function (idx) { return p.first_deck.selectedIndex = idx; };
47 p.set_second_deck = function (idx) { return p.second_deck.selectedIndex = idx; };
49 p.replace_card_in_first_deck = function (idx,chrome,params) {
50 return replace_card_in_deck(p.first_deck,idx,chrome,params);
53 p.replace_card_in_second_deck = function (idx,chrome,params) {
54 return replace_card_in_deck(p.second_deck,idx,chrome,params);
57 p.new_card_in_first_deck = function (chrome,params) {
58 return new_card_in_deck(p.first_deck,chrome,params);
60 p.new_card_in_second_deck = function (chrome,params) {
61 return new_card_in_deck(p.second_deck,chrome,params);
67 function new_card_in_deck(deck,chrome,params) {
68 sdump('D_CLAM',arg_dump(arguments));
69 var new_card = deck.ownerDocument.createElement('iframe');
70 deck.appendChild(new_card);
71 new_card.setAttribute('flex','1');
72 new_card.setAttribute('src',chrome);
73 new_card.setAttribute('id','card_'+(deck.childNodes.length-1));
74 new_card.contentWindow.mw = mw;
75 return new_card.contentWindow;
78 function replace_card_in_deck(deck,idx,chrome,params) {
79 sdump('D_CLAM',arg_dump(arguments));
80 var old_card = deck.childNodes[ idx ];
81 var new_card = deck.ownerDocument.createElement('iframe');
82 new_card.setAttribute('flex','1');
83 new_card.setAttribute('src',chrome);
84 deck.appendChild(new_card);
85 deck.replaceChild(new_card,old_card);
86 new_card.setAttribute('id','card_'+idx);
87 new_card.contentWindow.mw = mw;
89 new_card.contentWindow.params = params;
90 return new_card.contentWindow;