<?xml version="1.0"?>
#ifdef 0
<!-- ***** BEGIN LICENSE BLOCK *****
   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
   -
   - The contents of this file are subject to the Mozilla Public License Version
   - 1.1 (the "License"); you may not use this file except in compliance with
   - the License. You may obtain a copy of the License at
   - http://www.mozilla.org/MPL/
   -
   - Software distributed under the License is distributed on an "AS IS" basis,
   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   - for the specific language governing rights and limitations under the
   - License.
   -
   - The Original Code is Scratchpad.
   -
   - The Initial Developer of the Original Code is
   - The Mozilla Foundation.
   - Portions created by the Initial Developer are Copyright (C) 2011
   - the Initial Developer. All Rights Reserved.
   -
   - Contributor(s):
   -   Rob Campbell <robcee@mozilla.com> (original author)
   -   Mihai Sucan <mihai.sucan@gmail.com>
   -   Erik Vold <erikvvold@gmail.com>
   -
   - Alternatively, the contents of this file may be used under the terms of
   - either the GNU General Public License Version 2 or later (the "GPL"), or
   - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   - in which case the provisions of the GPL or the LGPL are applicable instead
   - of those above. If you wish to allow use of your version of this file only
   - under the terms of either the GPL or the LGPL, and not to allow others to
   - use your version of this file under the terms of the MPL, indicate your
   - decision by deleting the provisions above and replace them with the notice
   - and other provisions required by the GPL or the LGPL. If you do not delete
   - the provisions above, a recipient may use your version of this file under
   - the terms of any one of the MPL, the GPL or the LGPL.
   -
   - ***** END LICENSE BLOCK ***** -->
#endif
<!DOCTYPE window [
<!ENTITY % scratchpadDTD SYSTEM "chrome://browser/locale/scratchpad.dtd" >
 %scratchpadDTD;
]>
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<?xul-overlay href="chrome://global/content/editMenuOverlay.xul"?>

<window id="main-window"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        title="&window.title;"
        windowtype="devtools:scratchpad"
        screenX="4" screenY="4"
        width="640" height="480"
        persist="screenX screenY width height sizemode">

<script type="application/javascript" src="chrome://global/content/globalOverlay.js"/>
<script type="application/javascript" src="chrome://browser/content/scratchpad.js"/>

<commandset id="editMenuCommands"/>

<commandset id="sp-commandset">
  <command id="sp-cmd-newWindow" oncommand="Scratchpad.openScratchpad();"/>
  <command id="sp-cmd-openFile" oncommand="Scratchpad.openFile();"/>
  <command id="sp-cmd-save" oncommand="Scratchpad.saveFile();"/>
  <command id="sp-cmd-saveas" oncommand="Scratchpad.saveFileAs();"/>

  <!-- TODO: bug 650340 - implement printFile()
  <command id="sp-cmd-printFile" oncommand="Scratchpad.printFile();" disabled="true"/>
 -->

  <command id="sp-cmd-close" oncommand="window.close();"/>
  <command id="sp-cmd-run" oncommand="Scratchpad.run();"/>
  <command id="sp-cmd-inspect" oncommand="Scratchpad.inspect();"/>
  <command id="sp-cmd-display" oncommand="Scratchpad.display();"/>
  <command id="sp-cmd-contentContext" oncommand="Scratchpad.setContentContext();"/>
  <command id="sp-cmd-browserContext" oncommand="Scratchpad.setBrowserContext();" disabled="true"/>
  <command id="sp-cmd-resetContext" oncommand="Scratchpad.resetContext();"/>
  <command id="sp-cmd-errorConsole" oncommand="Scratchpad.openErrorConsole();" disabled="true"/>
  <command id="sp-cmd-webConsole" oncommand="Scratchpad.openWebConsole();"/>
  <command id="sp-cmd-undo" oncommand="Scratchpad.undo();" disabled="true"/>
  <command id="sp-cmd-redo" oncommand="Scratchpad.redo();" disabled="true"/>
</commandset>

<keyset id="sp-keyset">
  <key id="sp-key-window"
       key="&newWindowCmd.commandkey;"
       command="sp-cmd-newWindow"
       modifiers="accel"/>
  <key id="sp-key-open"
       key="&openFileCmd.commandkey;"
       command="sp-cmd-openFile"
       modifiers="accel"/>
  <key id="sp-key-save"
       key="&saveFileCmd.commandkey;"
       command="sp-cmd-save"
       modifiers="accel"/>
  <key id="sp-key-close"
       key="&closeCmd.key;"
       command="sp-cmd-close"
       modifiers="accel"/>

  <!-- TODO: bug 650340 - implement printFile
  <key id="sp-key-printFile"
       key="&printCmd.commandkey;"
       command="sp-cmd-printFile"
       modifiers="accel"/>
  -->

  <key id="key_cut"
       key="&cutCmd.key;"
       modifiers="accel"/>

  <key id="key_copy"
       key="&copyCmd.key;"
       modifiers="accel"/>
  <key id="key_paste"
       key="&pasteCmd.key;"
       modifiers="accel"/>
  <key id="key_selectAll" key="&selectAllCmd.key;" modifiers="accel"/>
  <key id="key_undo" key="&undoCmd.key;" modifiers="accel"
       oncommand="Scratchpad.undo();"/>
  <key id="key_redo" key="&undoCmd.key;" modifiers="accel,shift"
       oncommand="Scratchpad.redo();"/>
  <key id="sp-key-run"
       key="&run.key;"
       command="sp-cmd-run"
       modifiers="accel"/>
  <key id="sp-key-inspect"
       key="&inspect.key;"
       command="sp-cmd-inspect"
       modifiers="accel"/>
  <key id="sp-key-display"
       key="&display.key;"
       command="sp-cmd-display"
       modifiers="accel"/>
  <key id="sp-key-errorConsole"
       key="&errorConsoleCmd.commandkey;"
       command="sp-cmd-errorConsole"
       modifiers="accel,shift"/>
  <key id="sp-key-webConsole"
       key="&webConsoleCmd.commandkey;"
       command="sp-cmd-webConsole"
       modifiers="accel,shift"/>
</keyset>


<menubar id="sp-menubar">
  <menu id="sp-file-menu" label="&fileMenu.label;"
        accesskey="&fileMenu.accesskey;">
    <menupopup id="sp-menu-filepopup">
      <menuitem id="sp-menu-newscratchpad"
                label="&newWindowCmd.label;"
                accesskey="&newWindowCmd.accesskey;"
                key="sp-key-window"
                command="sp-cmd-newWindow"/>
      <menuseparator/>
      <menuitem id="sp-menu-open"
                label="&openFileCmd.label;"
                command="sp-cmd-openFile"
                key="sp-key-open"
                accesskey="&openFileCmd.accesskey;"/>
      <menuitem id="sp-menu-save"
                label="&saveFileCmd.label;"
                accesskey="&saveFileCmd.accesskey;"
                key="sp-key-save"
                command="sp-cmd-save"/>
      <menuitem id="sp-menu-saveas"
                label="&saveFileAsCmd.label;"
                accesskey="&saveFileAsCmd.accesskey;"
                command="sp-cmd-saveas"/>
      <menuseparator/>

      <!-- TODO: bug 650340 - implement printFile
      <menuitem id="sp-menu-print"
                label="&printCmd.label;"
                accesskey="&printCmd.accesskey;"
                command="sp-cmd-printFile"/>
      <menuseparator/>
      -->

      <menuitem id="sp-menu-close"
                label="&closeCmd.label;"
                key="sp-key-close"
                accesskey="&closeCmd.accesskey;"
                command="sp-cmd-close"/>
    </menupopup>
  </menu>

  <menu id="sp-edit-menu" label="&editMenu.label;"
        accesskey="&editMenu.accesskey;">
    <menupopup id="sp-menu_editpopup"
               onpopupshowing="Scratchpad.onEditPopupShowing()">
      <menuitem id="sp-menu-undo"
                label="&undoCmd.label;"
                key="key_undo"
                accesskey="&undoCmd.accesskey;"
                command="sp-cmd-undo"/>
      <menuitem id="sp-menu-redo"
                label="&redoCmd.label;"
                key="key_redo"
                accesskey="&redoCmd.accesskey;"
                command="sp-cmd-redo"/>
      <menuseparator/>
      <menuitem id="sp-menu-cut"
                label="&cutCmd.label;"
                key="key_cut"
                accesskey="&cutCmd.accesskey;"
                command="cmd_cut"/>
      <menuitem id="sp-menu-copy"
                label="&copyCmd.label;"
                key="key_copy"
                accesskey="&copyCmd.accesskey;"
                command="cmd_copy"/>
      <menuitem id="sp-menu-paste"
                label="&pasteCmd.label;"
                key="key_paste"
                accesskey="&pasteCmd.accesskey;"
                command="cmd_paste"/>
      <menuseparator/>
      <menuitem id="sp-menu-selectAll"
                label="&selectAllCmd.label;"
                key="key_selectAll"
                accesskey="&selectAllCmd.accesskey;"
                command="cmd_selectAll"/>

      <!-- TODO: bug 650345 - implement search and replace
      <menuitem id="sp-menu-find"
                label="&findOnCmd.label;"
                accesskey="&findOnCmd.accesskey;"
                key="key_find"
                disabled="true"
                command="cmd_find"/>
      <menuitem id="sp-menu-findAgain"
                label="&findAgainCmd.label;"
                accesskey="&findAgainCmd.accesskey;"
                key="key_findAgain"
                disabled="true"
                command="cmd_findAgain"/>
      <menuseparator id="sp-execute-separator"/>
      -->

    </menupopup>
  </menu>

  <menu id="sp-execute-menu" label="&executeMenu.label;"
        accesskey="&executeMenu.accesskey;">
    <menupopup id="sp-menu_executepopup">
      <menuitem id="sp-text-run"
                label="&run.label;"
                accesskey="&run.accesskey;"
                key="sp-key-run"
                command="sp-cmd-run"/>
      <menuitem id="sp-text-inspect"
                label="&inspect.label;"
                accesskey="&inspect.accesskey;"
                key="sp-key-inspect"
                command="sp-cmd-inspect"/>
      <menuitem id="sp-text-display"
                label="&display.label;"
                accesskey="&display.accesskey;"
                key="sp-key-display"
                command="sp-cmd-display"/>
    </menupopup>
  </menu>

  <menu id="sp-environment-menu"
        label="&environmentMenu.label;"
        accesskey="&environmentMenu.accesskey;">
    <menupopup id="sp-menu-environment">
      <menuitem id="sp-menu-content"
                label="&contentContext.label;"
                accesskey="&contentContext.accesskey;"
                command="sp-cmd-contentContext"
                checked="true"
                type="radio"/>
      <menuitem id="sp-menu-browser" hidden="true"
                command="sp-cmd-browserContext"
                label="&browserContext.label;"
                accesskey="&browserContext.accesskey;"
                type="radio"/>
      <menuseparator/>
      <menuitem id="sp-menu-resetContext"
                command="sp-cmd-resetContext"
                label="&resetContext.label;"
                accesskey="&resetContext.accesskey;"/>
    </menupopup>
  </menu>

  <menu id="sp-tools-menu"
        label="&toolsMenu.label;"
        accesskey="&toolsMenu.accesskey;">
    <menupopup id="sp-menu-tools">
      <menuitem id="sp-menu-errorConsole" hidden="true"
                label="&errorConsoleCmd.label;"
                accesskey="&errorConsoleCmd.accesskey;"
                key="sp-key-errorConsole"
                command="sp-cmd-errorConsole"/>
      <menuitem id="sp-menu-webConsole"
                label="&webConsoleCmd.label;"
                accesskey="&webConsoleCmd.accesskey;"
                key="sp-key-webConsole"
                command="sp-cmd-webConsole"/>
    </menupopup>
  </menu>
</menubar>

<popupset id="scratchpad-popups">
  <menupopup id="scratchpad-text-popup">
    <menuitem id="menu_cut"/>
    <menuitem id="menu_copy"/>
    <menuitem id="menu_paste"/>
    <menuitem id="menu_delete"/>
    <menuseparator/>
    <menuitem id="menu_selectAll"/>
    <menuseparator/>
    <menuitem id="sp-text-run"
              label="&run.label;"
              accesskey="&run.accesskey;"
              key="sp-key-run"
              command="sp-cmd-run"/>
    <menuitem id="sp-text-inspect"
              label="&inspect.label;"
              accesskey="&inspect.accesskey;"
              key="sp-key-inspect"
              command="sp-cmd-inspect"/>
    <menuitem id="sp-text-display"
              label="&display.label;"
              accesskey="&display.accesskey;"
              key="sp-key-display"
              command="sp-cmd-display"/>
  </menupopup>
</popupset>

<hbox id="scratchpad-editor" flex="1" context="scratchpad-text-popup" />

<statusbar id="scratchpad-statusbar" align="end">
  <statusbarpanel id="scratchpad-status"
                  label="&contentContext.label;"
                  class="statusbarpanel-iconic-text"/>
  <spacer flex="1"/>
</statusbar>
</window>
