1 sdump('D_WIN','Loading win.js\n');
4 // alert() replacement, intended to stop barcode scanners from "scanning through" the dialog
6 // get a reference to the prompt service component.
7 var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
8 .getService(Components.interfaces.nsIPromptService);
10 // set the buttons that will appear on the dialog. It should be
11 // a set of constants multiplied by button position constants. In this case,
12 // three buttons appear, Save, Cancel and a custom button.
13 //var flags=promptService.BUTTON_TITLE_OK * promptService.BUTTON_POS_0 +
14 // promptService.BUTTON_TITLE_CANCEL * promptService.BUTTON_POS_1 +
15 // promptService.BUTTON_TITLE_IS_STRING * promptService.BUTTON_POS_2;
16 var flags = promptService.BUTTON_TITLE_IS_STRING * promptService.BUTTON_POS_0;
18 // display the dialog box. The flags set above are passed
19 // as the fourth argument. The next three arguments are custom labels used for
20 // the buttons, which are used if BUTTON_TITLE_IS_STRING is assigned to a
21 // particular button. The last two arguments are for an optional check box.
23 sdump('D_WIN','s_alert: ' + s);
24 var rv = promptService.confirmEx(window,"ALERT",
28 "Check this box to confirm this message",
38 function yns_alert(s,a,b,c) {
39 // alert() replacement, intended to stop barcode scanners from "scanning through" the dialog
45 // get a reference to the prompt service component.
46 var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
47 .getService(Components.interfaces.nsIPromptService);
49 // set the buttons that will appear on the dialog. It should be
50 // a set of constants multiplied by button position constants. In this case,
51 // three buttons appear, Save, Cancel and a custom button.
52 //var flags=promptService.BUTTON_TITLE_OK * promptService.BUTTON_POS_0 +
53 // promptService.BUTTON_TITLE_CANCEL * promptService.BUTTON_POS_1 +
54 // promptService.BUTTON_TITLE_IS_STRING * promptService.BUTTON_POS_2;
55 var flags = promptService.BUTTON_TITLE_IS_STRING * promptService.BUTTON_POS_0 +
56 promptService.BUTTON_TITLE_CANCEL * promptService.BUTTON_POS_1 +
57 promptService.BUTTON_TITLE_IS_STRING * promptService.BUTTON_POS_2;
59 // display the dialog box. The flags set above are passed
60 // as the fourth argument. The next three arguments are custom labels used for
61 // the buttons, which are used if BUTTON_TITLE_IS_STRING is assigned to a
62 // particular button. The last two arguments are for an optional check box.
64 sdump('D_WIN','yns_alert: ' + s);
65 var rv = promptService.confirmEx(window,"ALERT",
69 "Check this box to confirm this message",
74 return yns_alert(s,a,b,c);
79 function new_window(chrome,params) {
80 var name = self.name + '_' + ++mw.G['window_name_increment'];
81 var options = 'chrome,resizable=yes,scrollbars=yes,width=800,height=600,fullscreen=yes';
84 if (params['window_name']) { name = params.window_name; }
85 if (params['window_options']) { options = params.window_options; }
89 //var w = window.open(
90 var w = SafeWindowOpen(
97 w.parentWindow = self;
101 w.am_i_a_top_level_tab = false;
110 // From: Bryan White on netscape.public.mozilla.xpfe, Oct 13, 2004
111 // Message-ID: <ckjh7a$18q1@ripley.netscape.com>
112 // Modified to return window handler, and do errors differently
113 function SafeWindowOpen(url,title,features)
117 netscape.security.PrivilegeManager
118 .enablePrivilege("UniversalXPConnect");
119 const CI = Components.interfaces;
121 Components.classes["@mozilla.org/preferences-service;1"]
122 .getService(CI.nsIPrefBranch);
127 // pref 'dom.disable_open_during_load' is the main popup
128 // blocker preference
129 blocked = PB.getBoolPref("dom.disable_open_during_load");
131 PB.setBoolPref("dom.disable_open_during_load",false);
132 w = window.open(url,title,features);
136 //alert("SafeWindowOpen error:\n\n" + e);
140 PB.setBoolPref("dom.disable_open_during_load",true);
145 function register_AppShell(w) {
146 sdump('D_WIN',arg_dump(arguments,{0:true}));
147 mw.G.appshell_list.push(w);
150 function unregister_AppShell(w) {
151 sdump('D_WIN',arg_dump(arguments,{0:true}));
152 mw.G.appshell_list = filter_list( mw.G.appshell_list, function(e){return(e!=w);} );
155 function register_window(w) {
156 sdump('D_WIN',arg_dump(arguments,{0:true}));
157 mw.G.win_list.push(w);
159 sdump('D_TRACE_EXIT',arg_dump(arguments));
162 function unregister_window(w) {
163 sdump('D_WIN',arg_dump(arguments,{0:true}));
164 mw.G.win_list = filter_list( mw.G.win_list, function(e){return(e!=w);} );
165 mw.G.last_win = mw.G.win_list[ mw.G.win_list.length - 1 ];
166 sdump('D_TRACE_EXIT',arg_dump(arguments));
169 function close_all_windows() {
170 sdump('D_WIN',arg_dump(arguments));
172 for (var i in mw.G.appshell_list) {
173 sdump('D_WIN','\tconsidering ' + i + '...');
174 if (mw.G.appshell_list[i] != mw) {
175 sdump('D_WIN','closing');
176 var w = mw.G.appshell_list[i];
177 try { w.close(); } catch (E) {}
181 sdump('D_TRACE_EXIT',arg_dump(arguments));
185 function register_document(d) {
186 sdump('D_WIN',arg_dump(arguments,{0:true}));
187 mw.G.doc_list[d.toString()] = d;
191 function unregister_document(d) {
192 sdump('D_WIN',arg_dump(arguments,{0:true}));
193 try { delete mw.G.doc_list[d.toString()]; } catch(E) { mw.G.doc_list[d.toString()] = false; }