Add Zoom support to browser views
[working/Evergreen.git] / Open-ILS / xul / staff_client / chrome / content / util / rbrowser.xul
1 <?xml version="1.0"?>
2 <!-- Application: Evergreen Staff Client -->
3 <!-- Screen: Patron Display -->
4
5 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
6 <!-- STYLESHEETS -->
7 <?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
8 <?xml-stylesheet href="chrome://open_ils_staff_client/skin/global.css" type="text/css"?>
9 <?xml-stylesheet href="/xul/server/skin/global.css" type="text/css"?>
10
11 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
12 <!-- LOCALIZATION -->
13 <!DOCTYPE window PUBLIC "" ""[
14     <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
15 ]>
16
17 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
18 <!-- OVERLAYS -->
19 <?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
20
21 <window id="util_browser_win" 
22     onload="try { my_init(); font_helper(); } catch(E) { alert(E); }"
23     xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
24
25     <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
26     <!-- BEHAVIOR -->
27         <script type="text/javascript">
28         var myPackageDir = 'open_ils_staff_client'; var IAMXUL = true; var g = {};
29     </script>
30         <scripts id="openils_util_scripts"/>
31
32     <script type="text/javascript" src="/xul/server/main/JSAN.js"/>
33     <script>
34     <![CDATA[
35
36         function my_init() {
37             try {
38                         if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
39                 JSAN.errorLevel = "die"; // none, warn, or die
40                 JSAN.addRepository('/xul/server/');
41                 JSAN.use('util.error'); g.error = new util.error();
42                 g.error.sdump('D_TRACE','my_init() for util_browser.xul');
43
44                 var name = xul_param('tab_name') || xul_param('name') || null;
45                 var url; try { url = xul_param('url'); } catch(E) { dump(E + '\n'); };
46                 if (!url) url = urls.browser;
47
48                 if (!g.browser) {
49                     JSAN.use('util.browser'); g.browser = new util.browser();
50                 }
51
52                 var push_xulG = true;
53                 if (xul_param('no_xulG')) push_xulG = false;
54
55                 var p = { 
56                     'url' : url,
57                     'push_xulG' : push_xulG,
58                     'printer_context' : xul_param('printer_context'),
59                     'html_source' : xul_param('html_source'),
60                     'debug_label' : 'debug'
61                 } 
62                 if (typeof window.xulG == 'object' && typeof window.xulG.passthru_content_params == 'object') {
63                     p.passthru_content_params = window.xulG.passthru_content_params;
64                 }
65                 if (typeof window.xulG == 'object' && typeof window.xulG.on_url_load == 'function') {
66                     p.on_url_load = window.xulG.on_url_load;
67                 }
68
69                 g.browser.init( p );
70
71                 if (typeof window.xulG == 'object' && typeof window.xulG.set_tab_name == 'function') {
72                     if (name) try { window.xulG.set_tab_name(name); } catch(E) { alert(E); }
73                 }
74                 if (xul_param('show_nav_buttons')) {
75                     document.getElementById('back').hidden = false;
76                     document.getElementById('forward').hidden = false;
77                 }
78                 if (xul_param('show_print_button')) {
79                     document.getElementById('browser_print').hidden = false;
80                 }
81
82                 if (xul_param('show_toolbar')) {
83                     document.getElementById('browser_toolbar').hidden = xul_param('show_toolbar');
84                 }
85
86                 if (xul_param('title')) {
87                     try { document.title = xul_param('title'); } catch(E) {}
88                     try { window.title = xul_param('title'); } catch(E) {}
89                 }
90
91             } catch(E) {
92                 var err_msg = "!! This software has encountered an error.  Please tell your friendly " +
93                     "system administrator or software developer the following:\n" + E + '\n';
94                 try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
95                 alert(err_msg);
96             }
97         }
98
99         function default_focus() {
100             try {
101                 dump('entering rbrowser.xul, default_focus()\n');
102                 g.browser.updateNavButtons();
103             } catch(E) {
104                 dump('Error in rbrowser.xul, default_focus(): ' + E + '\n');
105             }
106         }
107
108     ]]>
109     </script>
110
111     <commandset id="util_browser_cmds">
112         <command id="cmd_broken" />
113         <command id="cmd_print" label="&common.browser.print.label;" accesskey="&common.browser.print.accesskey;" />
114         <command id="cmd_debug" />
115         <command id="cmd_view_source" />
116         <command id="cmd_find" />
117         <command id="cmd_back" label="&common.browser.backward.label;" accesskey="&common.browser.backward.accesskey;" />
118         <command id="cmd_reload" label="&common.browser.reload.label;" accesskey="&common.browser.reload.accesskey;" />
119         <command id="cmd_forward" label="&common.browser.forward.label;" accesskey="&common.browser.forward.accesskey;" />
120         <command id="cmd_zoom_in" oncommand="g.browser.controller.view.browser_browser.markupDocumentViewer.fullZoom += 0.1;" />
121         <command id="cmd_zoom_out" oncommand="g.browser.controller.view.browser_browser.markupDocumentViewer.fullZoom -= 0.1;" />
122         <command id="cmd_zoom_reset" oncommand="g.browser.controller.view.browser_browser.markupDocumentViewer.fullZoom = 1;" />
123     </commandset>
124
125     <keyset>
126         <key key="-" command="cmd_zoom_out"   modifiers="accel"/>
127         <key key="+" command="cmd_zoom_in"    modifiers="accel"/>
128         <key key="=" command="cmd_zoom_in"    modifiers="accel"/>
129         <key key="0" command="cmd_zoom_reset" modifiers="accel"/>
130     </keyset>
131
132     <popupset>
133         <menupopup id="debug_popup">
134             <menuitem label="&common.browser.view_source.label;" accesskey="&common.browser.view_source.accesskey;" command="cmd_view_source" />
135             <menuitem label="&common.browser.set_url.label;" accesskey="&common.browser.set_url.accesskey;" command="cmd_debug" />
136             <menuitem label="&common.browser.find.label;" accesskey="&common.browser.find.accesskey;" command="cmd_find" />
137         </menupopup>
138     </popupset>
139
140     <vbox flex="1">
141         <hbox id="browser_toolbar">
142             <button id="back" command="cmd_back" disabled="true" hidden="true"/>
143             <button id="reload" command="cmd_reload" disabled="false" hidden="false"/>
144             <button id="forward" command="cmd_forward" disabled="true" hidden="true"/>
145             <spacer flex="1"/>
146             <label id="debug" value="&common.debug.menu.btn;" disabled="true" popup="debug_popup" />
147             <button id="browser_print" command="cmd_print" hidden="true"/>
148         </hbox>
149         <browser id="browser_browser" flex="1" autoscroll="false" type="content" oils_force_external="true" />
150     </vbox>
151
152 </window>
153