--- /dev/null
+<?xml version="1.0"?>
+<!-- Modified by Jason for Evergreen -->
+
+<overlay id="openils_util_overlay"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+ <scripts id="openils_util_scripts">
+ <script type="text/javascript" src="/opac/common/js/utils.js" />
+ <script type="text/javascript" src="/opac/common/js/md5.js" />
+ <script type="text/javascript" src="/opac/common/js/JSON.js" />
+ <script type="text/javascript" src="/opac/common/js/fmall.js" />
+ <script type="text/javascript" src="/opac/common/js/fmgen.js" />
+ <script type="text/javascript" src="/opac/common/js/RemoteRequest.js" />
+ <script type="text/javascript" src="/opac/common/js/OrgTree.js" />
+ <script type="text/javascript" src="/opac/common/js/org_utils.js" />
+ </scripts>
+
+</overlay>
+
--- /dev/null
+/*
+
+*/
+
+var JSAN = function () { JSAN.addRepository(arguments) }
+
+JSAN.VERSION = 0.10;
+
+/*
+
+*/
+
+JSAN.globalScope = self;
+JSAN.includePath = ['.', 'lib'];
+JSAN.errorLevel = "die";
+JSAN.errorMessage = "";
+JSAN.loaded = {};
+
+/*
+
+*/
+
+JSAN.use = function () {
+ var classdef = JSAN.require(arguments[0]);
+ if (!classdef) return null;
+
+ var importList = JSAN._parseUseArgs.apply(JSAN, arguments).importList;
+ JSAN.exporter(classdef, importList);
+
+ return classdef;
+}
+
+/*
+
+*/
+
+JSAN.require = function (pkg) {
+ var path = JSAN._convertPackageToPath(pkg);
+ if (JSAN.loaded[path]) {
+ return JSAN.loaded[path];
+ }
+
+ try {
+ var classdef = eval(pkg);
+ if (typeof classdef != 'undefined') return classdef;
+ } catch (e) { /* nice try, eh? */ }
+
+
+ for (var i = 0; i < JSAN.includePath.length; i++) {
+ var js;
+ try{
+ var url = JSAN._convertPathToUrl(path, JSAN.includePath[i]);
+ js = JSAN._loadJSFromUrl(url);
+ } catch (e) {
+ if (i == JSAN.includePath.length - 1) throw e;
+ }
+ if (js != null) {
+ var classdef = JSAN._createScript(js, pkg);
+ JSAN.loaded[path] = classdef;
+ return classdef;
+ }
+ }
+ return false;
+
+}
+
+/*
+
+*/
+
+JSAN.exporter = function () {
+ JSAN._exportItems.apply(JSAN, arguments);
+}
+
+/*
+
+*/
+
+JSAN.addRepository = function () {
+ var temp = JSAN._flatten( arguments );
+ // Need to go in reverse to do something as simple as unshift( @foo, @_ );
+ for ( var i = temp.length - 1; i >= 0; i-- )
+ JSAN.includePath.unshift(temp[i]);
+ return JSAN;
+}
+
+JSAN._flatten = function( list1 ) {
+ var list2 = new Array();
+ for ( var i = 0; i < list1.length; i++ ) {
+ if ( typeof list1[i] == 'object' ) {
+ list2 = JSAN._flatten( list1[i], list2 );
+ }
+ else {
+ list2.push( list1[i] );
+ }
+ }
+ return list2;
+};
+
+JSAN._findMyPath = function () {
+ if (document) {
+ var scripts = document.getElementsByTagName('script');
+ for ( var i = 0; i < scripts.length; i++ ) {
+ var src = scripts[i].getAttribute('src');
+ if (src) {
+ var inc = src.match(/^(.*?)\/?JSAN.js/);
+ if (inc && inc[1]) {
+ var repo = inc[1];
+ for (var j = 0; j < JSAN.includePath.length; j++) {
+ if (JSAN.includePath[j] == repo) {
+ return;
+ }
+ }
+ JSAN.addRepository(repo);
+ }
+ }
+ }
+ }
+}
+JSAN._findMyPath();
+
+JSAN._convertPathToUrl = function (path, repository) {
+ return repository.concat('/' + path);
+};
+
+
+JSAN._convertPackageToPath = function (pkg) {
+ var path = pkg.replace(/\./g, '/');
+ path = path.concat('.js');
+ return path;
+}
+
+JSAN._parseUseArgs = function () {
+ var pkg = arguments[0];
+ var importList = [];
+
+ for (var i = 1; i < arguments.length; i++)
+ importList.push(arguments[i]);
+
+ return {
+ pkg: pkg,
+ importList: importList
+ }
+}
+
+JSAN._loadJSFromUrl = function (url) {
+ return new JSAN.Request().getText(url);
+}
+
+JSAN._findExportInList = function (list, request) {
+ if (list == null) return false;
+ for (var i = 0; i < list.length; i++)
+ if (list[i] == request)
+ return true;
+ return false;
+}
+
+JSAN._findExportInTag = function (tags, request) {
+ if (tags == null) return [];
+ for (var i in tags)
+ if (i == request)
+ return tags[i];
+ return [];
+}
+
+JSAN._exportItems = function (classdef, importList) {
+ var exportList = new Array();
+ var EXPORT = classdef.EXPORT;
+ var EXPORT_OK = classdef.EXPORT_OK;
+ var EXPORT_TAGS = classdef.EXPORT_TAGS;
+
+ if (importList.length > 0) {
+ importList = JSAN._flatten( importList );
+
+ for (var i = 0; i < importList.length; i++) {
+ var request = importList[i];
+ if ( JSAN._findExportInList(EXPORT, request)
+ || JSAN._findExportInList(EXPORT_OK, request)) {
+ exportList.push(request);
+ continue;
+ }
+ var list = JSAN._findExportInTag(EXPORT_TAGS, request);
+ for (var i = 0; i < list.length; i++) {
+ exportList.push(list[i]);
+ }
+ }
+ } else {
+ exportList = EXPORT;
+ }
+ JSAN._exportList(classdef, exportList);
+}
+
+JSAN._exportList = function (classdef, exportList) {
+ if (typeof(exportList) != 'object') return null;
+ for (var i = 0; i < exportList.length; i++) {
+ var name = exportList[i];
+
+ if (JSAN.globalScope[name] == null)
+ JSAN.globalScope[name] = classdef[name];
+ }
+}
+
+JSAN._makeNamespace = function(js, pkg) {
+ var spaces = pkg.split('.');
+ var parent = JSAN.globalScope;
+ eval(js);
+ var classdef = eval(pkg);
+ for (var i = 0; i < spaces.length; i++) {
+ var name = spaces[i];
+ if (i == spaces.length - 1) {
+ if (typeof parent[name] == 'undefined') {
+ parent[name] = classdef;
+ if ( typeof classdef['prototype'] != 'undefined' ) {
+ parent[name].prototype = classdef.prototype;
+ }
+ }
+ } else {
+ if (parent[name] == undefined) {
+ parent[name] = {};
+ }
+ }
+
+ parent = parent[name];
+ }
+ return classdef;
+}
+
+JSAN._handleError = function (msg, level) {
+ if (!level) level = JSAN.errorLevel;
+ JSAN.errorMessage = msg;
+
+ switch (level) {
+ case "none":
+ break;
+ case "warn":
+ alert(msg);
+ break;
+ case "die":
+ default:
+ throw new Error(msg);
+ break;
+ }
+}
+
+JSAN._createScript = function (js, pkg) {
+ try {
+ return JSAN._makeNamespace(js, pkg);
+ } catch (e) {
+ JSAN._handleError("Could not create namespace[" + pkg + "]: " + e);
+ }
+ return null;
+}
+
+
+JSAN.prototype = {
+ use: function () { JSAN.use.apply(JSAN, arguments) }
+};
+
+
+// Low-Level HTTP Request
+JSAN.Request = function (jsan) {
+ if (JSAN.globalScope.XMLHttpRequest) {
+ this._req = new XMLHttpRequest();
+ } else {
+ this._req = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+}
+
+JSAN.Request.prototype = {
+ _req: null,
+
+ getText: function (url) {
+ this._req.open("GET", url, false);
+ try {
+ this._req.send(null);
+ if (this._req.status == 200 || this._req.status == 0)
+ return this._req.responseText;
+ } catch (e) {
+ JSAN._handleError("File not found: " + url);
+ return null;
+ };
+
+ JSAN._handleError("File not found: " + url);
+ return null;
+ }
+};
+
+/*
+
+*/
--- /dev/null
+dump('entering main/menu.js\n');
+
+if (typeof main == 'undefined') main = {};
+main.menu = function () {
+
+ JSAN.use('util.error'); this.error = new util.error();
+ this.error.sdump('D_ERROR',window);
+
+}
+
+main.menu.prototype = {
+
+ 'init' : function() {
+
+ var obj = this;
+
+ var cmd_close_window = window.document.getElementById('cmd_close_window');
+ if (cmd_close_window) {
+ this.error.sdump('D_TRACE', 'cmd_close_window = ' + cmd_close_window );
+ cmd_close_window.addEventListener('command', function() { dump('hiccup\n'); alert('help'); window.close(); }, false);
+ }
+
+ var test_button = window.document.getElementById('cmd_test_button');
+ if (test_button) {
+ this.error.sdump('D_TRACE', 'test_button = ' + test_button );
+ test_button.addEventListener('command', function() { dump('hiccup\n'); alert('help'); window.close(); }, false);
+ }
+
+ var cmd_new_window = window.document.getElementById('cmd_new_window');
+ if (cmd_new_window)
+ cmd_new_window.addEventListener('command', function() { alert('Not Yet Implemented'); }, false);
+
+ var cmd_broken = window.document.getElementById('cmd_broken');
+ if (cmd_broken)
+ cmd_broken.addEventListener('command', function() { alert('Not Yet Implemented'); }, false);
+
+ },
+
+ 'close_tab' : function (t_idx) {
+ }
+
+}
+
+dump('exiting main/menu.js\n');
--- /dev/null
+<?xml version="1.0"?>
+<!-- Application: Evergreen Staff Client -->
+<!-- Screen: Main, Menu and Tab Navigation -->
+
+<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+<!-- STYLESHEETS -->
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+<?xml-stylesheet href="/xul/server/skin/evergreen.css" type="text/css"?>
+<?xml-stylesheet href="/xul/server/skin/menu_frame.css" type="text/css"?>
+
+<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+<!-- LOCALIZATION -->
+<!DOCTYPE window SYSTEM "/xul/server/locale/menu_frame.dtd">
+
+<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+<!-- OVERLAYS -->
+<?xul-overlay href="/xul/server/main/menu_frame_overlay.xul"?>
+<?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
+
+<window id="menu_frame_win"
+ onload="my_init()"
+ orient="vertical" style="overflow: auto" width="800" height="500"
+ sizemode="maximized" persist="width height"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+ <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+ <!-- BEHAVIOR -->
+ <script type="text/javascript">var myPackageDir = 'evergreen'; var IAMXUL = true; var g = {};</script>
+ <scripts id="openils_util_scripts"/>
+
+ <script type="text/javascript" src="/xul/server/main/JSAN.js"/>
+ <script type="text/javascript">
+ <![CDATA[
+ function my_init() {
+ try {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+ if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
+ JSAN.errorLevel = "die"; // none, warn, or die
+ JSAN.addRepository('/xul/server/');
+ JSAN.use('util.error'); g.error = new util.error();
+ g.error.sdump('D_TRACE','my_init() for menu_frame.xul');
+
+ JSAN.use('main.menu'); g.menu = new main.menu();
+ g.menu.init();
+
+ } catch(E) {
+ var err_msg = "!! This software has encountered an error. Please tell your friendly " +
+ "system administrator or software developer the following:\n" + E + '\n';
+ try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
+ alert(err_msg);
+ }
+ }
+ ]]>
+ </script>
+
+ <commandset id="universal_cmds">
+ <command id="cmd_test_button" oncommand="alert('beep');" />
+ </commandset>
+
+ <keyset id="menu_frame_keys" />
+
+ <popupset id="universal_popupset" />
+
+ <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
+ <!-- CONTENT -->
+
+ <box id="menu_frame_main" />
+
+ <button id="test_button2" label="test" command="cmd_close_window" />
+
+</window>
+
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE overlay SYSTEM "/xul/server/locale/menu_frame.dtd">
+<overlay id="menu_frame_menus_overlay"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+<!-- The File menu on the main menu -->
+<menu id="main.menu.file" label="&main.menu.file.label;" accesskey="&main.menu.file.key;" >
+ <menupopup id="main.menu.file.popup">
+ <menuitem label="&main.menu.file.new.label;" accesskey="&main.menu.file.new.key;" key="file-new-key" observes="cmd_new_window"/>
+ <menuitem label="&main.menu.file.new_tab.label;" accesskey="&main.menu.file.new_tab.key;" key="file-new-tab-key" observes="cmd_new_tab"/>
+ <menuseparator />
+ <!--
+ <menuitem label="&main.menu.file.open.label;" accesskey="&main.menu.file.open.key;" key="file-open-key" observes="cmd_broken" disabled="true"/>
+ <menuitem label="&main.menu.file.save.label;" accesskey="&main.menu.file.save.key;" key="file-save-key" observes="cmd_broken"/>
+ <menuseparator />
+ -->
+ <menuitem label="&main.menu.file.close_tab.label;" accesskey="&main.menu.file.close_tab.key;" key="file-close-tab-key" observes="cmd_close_tab"/>
+ <menuitem label="&main.menu.file.close.label;" accesskey="&main.menu.file.close.key;" key="file-close-key" observes="cmd_close_window"/>
+ </menupopup>
+</menu>
+
+<!-- The Edit menu on the main menu -->
+<menu id="main.menu.edit" label="&main.menu.edit.label;" accesskey="&main.menu.edit.key;">
+ <menupopup id="main.menu.edit.popup">
+ <menuitem label="stub"/>
+ <!--
+ <menuitem label="&main.menu.edit.undo.label;" accesskey="&main.menu.edit.undo.key;" key="edit-undo-key" observes="cmd_broken"/>
+ <menuitem label="&main.menu.edit.redo.label;" accesskey="&main.menu.edit.redo.key;" key="edit-redo-key" observes="cmd_broken"/>
+ <menuseparator />
+ <menuitem label="&main.menu.edit.cut.label;" accesskey="&main.menu.edit.cut.key;" key="edit-cut-key" observes="cmd_broken"/>
+ <menuitem label="&main.menu.edit.copy.label;" accesskey="&main.menu.edit.copy.key;" key="edit-copy-key" observes="cmd_broken"/>
+ <menuitem label="&main.menu.edit.paste.label;" accesskey="&main.menu.edit.paste.key;" key="edit-paste-key" observes="cmd_broken"/>
+ <menuitem label="&main.menu.edit.delete.label;" accesskey="&main.menu.edit.delete.key;" key="edit-delete-key" observes="cmd_broken"/>
+ <menuseparator />
+ <menuitem label="&main.menu.edit.buckets.label;" accesskey="&main.menu.edit.buckets.key;" observes="cmd_broken"/>
+ <menuseparator />
+ <menuitem label="&main.menu.edit.select_all.label;" accesskey="&main.menu.edit.select_all.key;" key="edit-select-all-key" observes="cmd_broken"/>
+ <menuseparator />
+ <menuitem label="&main.menu.edit.find.label;" accesskey="&main.menu.edit.find.key;" key="edit-find-key" observes="cmd_broken"/>
+ <menuitem label="&main.menu.edit.find_again.label;" accesskey="&main.menu.edit.find_again.key;" key="edit-find-again-key" observes="cmd_broken"/>
+ -->
+ </menupopup>
+</menu>
+
+<!-- The Circulation menu on the main menu -->
+<menu id="main.menu.circ" label="&main.menu.circ.label;" accesskey="&main.menu.circ.key;">
+ <menupopup id="main.menu.circ.popup">
+ <menuitem label="&main.menu.circ.checkout.label;" accesskey="&main.menu.circ.checkout.key;" observes="cmd_circ_checkout"/>
+ <menuitem label="&main.menu.circ.checkin.label;" accesskey="&main.menu.circ.checkin.key;" observes="cmd_circ_checkin"/>
+ <menuitem label="&main.menu.circ.hold_capture.label;" accesskey="&main.menu.circ.hold_capture.key;" observes="cmd_circ_hold_capture"/>
+ <!--
+ <menu id="special-circ-menu" label="&main.menu.circ.special.label;" accesskey="&main.menu.circ.special.key;" observes="cmd_broken"/>
+ <menuseparator />
+ <menuitem label="&main.menu.circ.place_hold.label;" accesskey="&main.menu.circ.place_hold.key;" key="circ-place-hold-key" observes="cmd_broken"/>
+ -->
+ <menuseparator />
+ <menuitem label="&main.menu.circ.copy_status.label;" accesskey="&main.menu.circ.copy_status.key;" observes="cmd_broken"/>
+ <menuitem label="&main.menu.circ.patron_status.label;" accesskey="&main.menu.circ.patron_status.key;" observes="cmd_circ_checkout"/>
+ <menuseparator />
+ <menuitem label="&main.menu.circ.patron_registration.label;" accesskey="&main.menu.circ.patron_registration.key;" observes="cmd_patron_register"/>
+ </menupopup>
+</menu>
+
+<!-- The Special Circulation submenu in the Circulation menu -->
+<menu id="special-circ-menu">
+ <menupopup id="special-circ-popup">
+ <menuitem label="&main.menu.circ.mark_used.label;" accesskey="&main.menu.circ.mark_used.key;" observes="cmd_broken"/>
+ <menuitem label="&main.menu.circ.lost.label;" accesskey="&main.menu.circ.lost.key;" observes="cmd_broken"/>
+ <menuitem label="&main.menu.circ.missing.label;" accesskey="&main.menu.circ.missing.key;" observes="cmd_broken"/>
+ <menuitem label="&main.menu.circ.found.label;" accesskey="&main.menu.circ.found.key;" observes="cmd_broken"/>
+ <menuitem label="&main.menu.circ.claimed_returned.label;" accesskey="&main.menu.circ.claimed_returned.key;" observes="cmd_broken"/>
+ <menuitem label="&main.menu.circ.quick_add.label;" accesskey="&main.menu.circ.quick_add.key;" observes="cmd_broken"/>
+ </menupopup>
+</menu>
+
+<!-- The Cataloging menu on the main menu -->
+<menu id="main.menu.cat" label="&main.menu.cat.label;" accesskey="&main.menu.cat.key;">
+ <menupopup id="main.menu.cat.popup">
+ <menuitem label="&main.menu.cat.bib_search.label;" accesskey="&main.menu.cat.bib_search.key;" observes="cmd_search_opac"/>
+ <menuseparator />
+ <menuitem disabled="true" label="&main.menu.cat.dedup.label;" accesskey="&main.menu.cat.dedup.key;" observes="cmd_broken"/>
+ <menuitem label="Create New Marc Record" accesskey="n" observes="cmd_create_new_marc_book"/>
+ <menuitem label="Z39.50 Import" accesskey="Z" observes="cmd_z39_50_import"/>
+ </menupopup>
+</menu>
+
+<!-- The Search menu on the main menu -->
+<menu id="main.menu.search" label="&main.menu.search.label;" accesskey="&main.menu.search.key;">
+ <menupopup id="main.menu.search.popup">
+ <menuitem label="Catalog" accesskey="C" observes="cmd_search_opac" />
+ <menuitem label="Patrons" accesskey="P" observes="cmd_patron_search" />
+ </menupopup>
+</menu>
+
+<!-- The Serials menu on the main menu -->
+<menu id="main.menu.serials" label="&main.menu.serials.label;" accesskey="&main.menu.serials.key;">
+ <menupopup id="main.menu.serials.popup">
+ <menuitem label="stub" />
+ </menupopup>
+</menu>
+
+<!-- The Acquisitions menu on the main menu -->
+<menu id="main.menu.acquisitions" label="&main.menu.acquisitions.label;" accesskey="&main.menu.acquisitions.key;">
+ <menupopup id="main.menu.acquisitions.popup">
+ <menuitem label="stub" />
+ </menupopup>
+</menu>
+
+<!-- The Reports menu on the main menu -->
+<menu id="main.menu.reports" label="&main.menu.reports.label;" accesskey="&main.menu.reports.key;">
+ <menupopup id="main.menu.reports.popup">
+ <menuitem label="stub" />
+ </menupopup>
+</menu>
+
+<!-- The Help menu on the main menu -->
+<menu id="main.menu.help" label="&main.menu.help.label;" accesskey="&main.menu.help.key;">
+ <menupopup id="main.menu.help.popup">
+ <menuitem label="stub" />
+ </menupopup>
+</menu>
+
+<!-- The Help menu on the main menu -->
+<menu id="main.menu.admin" label="&main.menu.admin.label;" accesskey="&main.menu.admin.key;">
+ <menupopup id="main.menu.admin.popup">
+ <menuitem label="Receipt Template Editor" accesskey="R" observes="cmd_receipt_template_editor"/>
+ <menuitem label="Survey Wizard" accesskey="S" observes="cmd_survey_wizard"/>
+ <menuitem label="Copy Stat-Cat Editor" accesskey="C" observes="cmd_copy_stat_cat_edit"/>
+ <menuitem label="Patron Stat-Cat Editor" accesskey="P" observes="cmd_patron_stat_cat_edit"/>
+ <menuseparator />
+ <menuitem label="Test Module" accesskey="T" observes="cmd_test"/>
+ <menuitem label="XUL Test" accesskey="X" observes="cmd_xuleditor"/>
+ <menuitem label="Fieldmapper" accesskey="m" observes="cmd_fieldmapper"/>
+ <menuitem label="Filterable Console" accesskey="F" observes="cmd_filter_console"/>
+ <menuitem label="Javscript Console" accesskey="J" observes="cmd_console"/>
+ <menuitem label="Javscript Shell" accesskey="H" observes="cmd_shell"/>
+ </menupopup>
+</menu>
+
+
+</overlay>
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE overlay SYSTEM "/xul/server/locale/menu_frame.dtd">
+<?xul-overlay href="/xul/server/main/menu_frame_menus.xul"?>
+<overlay id="menu_frame_overlay"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+
+<commandset id="universal_cmds">
+ <command id="cmd_close_window" key="close-window-key" />
+ <command id="cmd_new_window" key="new-window-key" />
+ <command id="cmd_new_tab" key="new-tab-key" />
+ <command id="cmd_close_tab" key="close-tab-key" />
+
+ <command id="cmd_cat_main" key="cat-main-key" />
+ <command id="cmd_circ_checkout" key="circ-checkout-key" />
+ <command id="cmd_patron_search" key="patron-search-key" />
+ <command id="cmd_circ_checkin" key="circ-checkin-key" />
+ <command id="cmd_circ_hold_capture" key="circ-hold-capture-key" />
+ <command id="cmd_search_opac" key="search-opac-key" />
+ <command id="cmd_patron_register" key="patron-register-key" />
+ <command id="cmd_survey_wizard" />
+ <command id="cmd_copy_stat_cat_edit" />
+ <command id="cmd_patron_stat_cat_edit" />
+ <command id="cmd_receipt_template_editor" />
+ <command id="cmd_z39_50_import" />
+ <command id="cmd_create_new_marc_book" />
+
+ <command id="cmd_console" />
+ <command id="cmd_shell" />
+ <command id="cmd_xuleditor" />
+ <command id="cmd_filter_console" />
+ <command id="cmd_fieldmapper" />
+
+ <command id="cmd_test" disabled="true" />
+ <command id="cmd_broken" disabled="true" />
+</commandset>
+
+<!-- Accelerator Keys (Accessor Keys are in DTD's) -->
+<keyset id="menu_frame_keys">
+ <key id="new-window-key" modifiers="accel" key="N" command="cmd_new_window"/>
+ <key id="new-tab-key" modifiers="accel" key="T" command="cmd_new_tab"/>
+ <key id="open-key" modifiers="accel" key="O" command=""/>
+ <key id="save-key" modifiers="accel" key="S" command=""/>
+ <key id="close-tab-key" modifiers="accel" key="W" command="cmd_close_tab"/>
+ <key id="close-window-key" modifiers="accel" key="Q" command="cmd_close_window"/>
+ <!--
+ <key id="edit-undo-key" modifiers="accel" key="Z" command=""/>
+ <key id="edit-redo-key" modifiers="accel" key="Y" command=""/>
+ <key id="edit-cut-key" modifiers="accel" key="X" command=""/>
+ <key id="edit-copy-key" modifiers="accel" key="C" command=""/>
+ <key id="edit-paste-key" modifiers="accel" key="V" command=""/>
+ <key id="edit-delete-key" modifiers="" keycode="VK_DELETE" command=""/>
+ <key id="edit-select-all-key" modifiers="accel" key="A" command=""/>
+ <key id="edit-find-key" modifiers="accel" key="F" command=""/>
+ <key id="edit-find-again-key" modifiers="accel" key="G" command=""/>
+
+ <key id="circ-patron-status-key" keycode="VK_F11" command="cmd_circ_display"/>
+ <key id="circ-copy-status-key" keycode="VK_F9" command=""/>
+ <key id="circ-check-in-key" keycode="VK_F2" command="cmd_circ_checkin"/>
+ <key id="circ-renew-key" keycode="VK_F3" command=""/>
+ <key id="circ-mark-used-key" keycode="VK_F4" command=""/>
+ <key id="circ-place-hold-key" keycode="VK_F5" command=""/>
+ <key id="circ-patron-registration-key" keycode="VK_F12" command=""/>
+ -->
+ <key id="circ-checkout-key" keycode="VK_F1" command="cmd_circ_checkout"/>
+ <key id="circ-checkin-key" keycode="VK_F2" command="cmd_circ_checkin"/>
+ <key id="search-opac-key" keycode="VK_F3" command="cmd_search_opac"/>
+ <key id="patron-search-key" keycode="VK_F4" command="cmd_patron_search"/>
+ <key id="circ-hold-capture-key" keycode="VK_F5" command="cmd_circ_hold_capture"/>
+ <key id="patron-register-key" keycode="VK_F12" command="cmd_patron_registration"/>
+</keyset>
+
+<!-- The top level widget for the staff client -->
+<box id="menu_frame_main" flex="1" orient="vertical">
+ <toolbox id="main_toolbox"/>
+ <tabbox id="main_tabbox" flex="1" eventnode="window" handleCtrlTab="true">
+ <tabs id="main_tabs" closebutton="true">
+ <tab id="tab_1" accesskey="1" label="Tab 1" hidden="true" />
+ <tab id="tab_2" accesskey="2" label="Tab 2" hidden="true" />
+ <tab id="tab_3" accesskey="3" label="Tab 3" hidden="true" />
+ <tab id="tab_4" accesskey="4" label="Tab 4" hidden="true" />
+ <tab id="tab_5" accesskey="5" label="Tab 5" hidden="true" />
+ <tab id="tab_6" accesskey="6" label="Tab 6" hidden="true" />
+ <tab id="tab_7" accesskey="7" label="Tab 7" hidden="true" />
+ <tab id="tab_8" accesskey="8" label="Tab 8" hidden="true" />
+ <tab id="tab_9" accesskey="9" label="Tab 9" hidden="true" />
+ </tabs>
+ <tabpanels id="main_panels" flex="1">
+ <tabpanel id="panel_1"><label value="panel_1"/></tabpanel>
+ <tabpanel id="panel_2"><label value="panel_2"/></tabpanel>
+ <tabpanel id="panel_3"><label value="panel_3"/></tabpanel>
+ <tabpanel id="panel_4"><label value="panel_4"/></tabpanel>
+ <tabpanel id="panel_5"><label value="panel_5"/></tabpanel>
+ <tabpanel id="panel_6"><label value="panel_6"/></tabpanel>
+ <tabpanel id="panel_7"><label value="panel_7"/></tabpanel>
+ <tabpanel id="panel_8"><label value="panel_8"/></tabpanel>
+ <tabpanel id="panel_9"><label value="panel_9"/></tabpanel>
+ </tabpanels>
+ </tabbox>
+ <toolbox id="entity_toolbox"/>
+</box>
+
+<!-- The main top level menubar -->
+<toolbox id="main_toolbox">
+ <menubar id="main_menubar">
+ <menu id="main.menu.file" />
+ <menu id="main.menu.edit" />
+ <menu id="main.menu.search" />
+ <menu id="main.menu.circ" />
+ <menu id="main.menu.cat" />
+ <menu id="main.menu.serials" />
+ <menu id="main.menu.acquisitions" />
+ <menu id="main.menu.reports" />
+ <spacer flex="1" />
+ <menu id="main.menu.admin" />
+ <menu id="main.menu.help" />
+ </menubar>
+</toolbox>
+
+<!-- The Entity top level menubar -->
+<!--
+<toolbox id="entity_toolbox">
+ <menubar id="entity_menubar">
+ <menu id="patron-menu" label="&main.menu.entity.patron.label;" accesskey="&main.menu.entity.patron.key;" command="cmd_broken"/>
+ <menu id="copy-menu" label="&main.menu.entity.copy.label;" accesskey="&main.menu.entity.copy.key;" command="cmd_broken"/>
+ <menu id="volume-menu" label="&main.menu.entity.volume.label;" accesskey="&main.menu.entity.volume.key;" command="cmd_broken"/>
+ <menu id="bib-menu" label="&main.menu.entity.bib.label;" accesskey="&main.menu.entity.bib.key;" command="cmd_broken"/>
+ </menubar>
+</toolbox>
+-->
+
+<!-- The Patron menu on the Entity menubar -->
+<!--
+<menu id="patron-menu">
+ <menupopup id="patron-popup">
+ <menuitem label="&main.menu.circ.patron_registration.label;" accesskey="&main.menu.entity.patron.register.key;" command="cmd_patron_register"/>
+ <menuitem label="stub" />
+ <menuitem label="stub" />
+ </menupopup>
+</menu>
+-->
+
+<!-- The Items menu on the Entity menubar -->
+<!--
+<menu id="copy-menu">
+ <menupopup id="copy-popup">
+ <menuitem label="stub" />
+ <menuitem label="stub" />
+ <menuitem label="stub" />
+ </menupopup>
+</menu>
+-->
+
+<!-- The Volumes menu on the Entity menubar -->
+<!--
+<menu id="volume-menu">
+ <menupopup id="volume-popup">
+ <menuitem label="stub" />
+ <menuitem label="stub" />
+ <menuitem label="stub" />
+ </menupopup>
+</menu>
+-->
+
+<!-- The Bib Records menu on the Entity menubar -->
+<!--
+<menu id="bib-menu">
+ <menupopup id="bib-popup">
+ <menuitem label="stub" />
+ <menuitem label="stub" />
+ <menuitem label="stub" />
+ </menupopup>
+</menu>
+-->
+
+</overlay>