<?xml version="1.0"?> 

<!--
   - The contents of this file are subject to the Netscape 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/NPL/
   -  
   - 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 Mozilla Communicator client code, released
   - March 31, 1998.
   - 
   - The Initial Developer of the Original Code is Netscape
   - Communications Corporation. Portions created by Netscape are
   - Copyright (C) 1999-2000 Netscape Communications Corporation. All
   - Rights Reserved.
   - 
   - Contributor(s):
   -    Ben Goodger
   -    Michael Lowe
   -    Sammy Ford
  -->

<?xml-stylesheet href="chrome://editor/skin/" type="text/css"?> 

<?xml-stylesheet href="chrome://editor/skin/editorPrimaryToolbar.css" type="text/css"?> 
<?xml-stylesheet href="chrome://editor/skin/editorFormatToolbar.css" type="text/css"?> 
<?xml-stylesheet href="chrome://editor/skin/editorModeToolbar.css" type="text/css"?> 
<?xul-overlay href="chrome://editor/content/editorOverlay.xul"?>
<?xul-overlay href="chrome://editor/content/EditorContextMenuOverlay.xul"?>
<?xul-overlay href="chrome://global/content/globalOverlay.xul"?>
<?xul-overlay href="chrome://global/content/charsetOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/utilityOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/tasksOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/sidebar/sidebarOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/communicatorOverlay.xul"?>

<!DOCTYPE window [
<!ENTITY % editorDTD SYSTEM "chrome://editor/locale/editor.dtd" >
%editorDTD;
<!ENTITY % editorOverlayDTD SYSTEM "chrome://editor/locale/editorOverlay.dtd" >
%editorOverlayDTD;
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" >
%brandDTD;
]> 

<window id="editorWindow" xmlns:html="http://www.w3.org/1999/xhtml"
        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        onload="EditorOnLoad()"
        onunload="EditorShutdown()"
        onclose="return EditorCanClose()"
        onfocus="EditorOnFocus()"
        contenttitlesetting="true"
        titlemodifier="&editorWindow.titlemodifier;"
        titlemenuseparator="&editorWindow.titlemodifiermenuseparator;"
        windowtype="composer:html"
        orient="vertical"
        width="640" height="480"
        screenX="10" screenY="10"
        persist="screenX screenY width height sizemode"
        >

  <script type="application/x-javascript" src="chrome://editor/content/editor.js"/>
<!-- 
  Loaded by editorOverlay.js
  <script type="application/x-javascript" src="chrome://editor/content/ComposerCommands.js"/>
-->
  <script type="application/x-javascript" src="chrome://editor/content/EditorCommandsDebug.js"/>
  <script type="application/x-javascript" src="chrome://editor/content/EditorContextMenu.js"/>
  <script type="application/x-javascript" src="chrome://global/content/strres.js"/>
  <script type="application/x-javascript" src="chrome://communicator/content/contentAreaUtils.js"/>
  <script type="application/x-javascript" src="chrome://communicator/content/contentAreaDD.js"/>
  <script type="application/x-javascript" src="chrome://communicator/content/contentAreaClick.js"/>
  <script type="application/x-javascript" src="chrome://global/content/nsJSSupportsUtils.js"/>
  <script type="application/x-javascript" src="chrome://global/content/nsJSComponentManager.js"/>
  <script type="application/x-javascript" src="chrome://global/content/nsTransferable.js"/>
  <script type="application/x-javascript" src="chrome://global/content/nsDragAndDrop.js"/>

  <resourcebundle id="resource_bundle_editor" />


  <popupset id="aTooltipSet">
    <popupset id="editorContentContextSet"/>
    <popup id="sidebarPopup"/>
  </popupset>

  <commandset id="tasksCommands">
    <commandset id="globalEditMenuItems"/>
    <commandset id="selectEditMenuItems"/>
    <commandset id="undoEditMenuItems"/>
    <commandset id="clipboardEditMenuItems"/>
    
    <commandset id="commonEditorMenuItems"/>
    <commandset id="composerMenuItems"/>
    <commandset id="composerEditMenuItems"/>
    <commandset id="composerSaveMenuItems"/>    
    <commandset id="composerStyleMenuItems"/>
    <commandset id="composerTableMenuItems"/>
    <commandset id="composerListMenuItems"/>
    <command id="toggleSidebar"/>
  </commandset>

  <broadcaster id="args" value="about:blank"/>
  <broadcaster id="canPrint"/>
  
  <!-- Interim hack to transition from nsIXULWindowCallbacks/ShowWindowWithArgs
  <broadcaster id="dialog.start" ready="false"/>
  <observes element="dialog.start" attribute="ready" onbroadcast="EditorStartup('html')"/>
-->
  <broadcasterset id="broadcasterset">
    <broadcaster id="Editor:Throbber" busy="false"/>
    <broadcaster id="Communicator:WorkMode"/>
  </broadcasterset>

  <!-- keys are appended from the overlay -->
  <keyset id="editorKeys">
    <keyset id="tasksKeys"/>
    <key id="showHideSidebar"/>
  </keyset>

  <toolbox class="toolbox-top" id="EditorToolbox">
  <menubar id="main-menubar" class="chromeclass-menubar" persist="collapsed">
    <menu id="fileMenu"/>
    <menu id="editMenu"/>

    <menu id="viewMenu" label="&viewMenu.label;" accesskey="&viewmenu.accesskey;">
    <!-- id pulls in "Show Sidebar" item from sidebarOverlay -->
    <menupopup id="menu_View_Popup">
      <menu id="viewToolbar"/>
      <menuseparator id="viewSep1"/>
      <menuitem id="viewNormalMode" checked="true"/>
      <menuitem id="viewAllTagsMode"/>
      <menuitem id="viewSourceMode"/>
      <menuitem id="viewPreviewMode"/>
      <menuseparator  id="viewSep1"/>
      <menu id = "composerCharsetMenu" />
    </menupopup>
    </menu>
 
    <menu id="insertMenu"/>

    <menu id="formatMenu" label="&formatMenu.label;" accesskey="&formatmenu.accesskey;">
      <menupopup id="formatMenuPopup">
        <menuitem id="objectProperties"/>
        <menuitem id="colorsAndBackground"/>
        <menuitem id="pageProperties"/>
      </menupopup>
    </menu>

    <menu id="tableMenu"/>

    <!-- tasks menu filled from tasksOverlay -->
    <menu id="tasksMenu" accesskey="t"/>

    <!-- DEBUG only -->
    <menu id="debugMenu" /> 
    <!-- end DEBUG only -->
  
    <!-- help menu filled from globalOverlay -->
    <menu id="menu_Help"/>

    <spring flex="1"/>
  </menubar>

  <!-- toolbar filled out from editorOverlay -->
  <!-- add  class="standard" for dark blue background (icons need rework first) -->
  <toolbar class="toolbar-primary" id="EditToolbar" persist="collapsed" tbalign="stretch">
    <button id="newButton"/>
    <button id="openButton"/>
    <button id="saveButton"/>
    <button id="previewButton"/>
    <menubutton id="printButton" />
    <button id="spellingButton"/>
    <toolbarseparator class="toolbarseparator-primary"/>
    <button id="imageButton"/>
    <button id="hlineButton"/>
    <button id="tableButton"/>
    <button id="linkButton"/>
    <button id="namedAnchorButton"/>
    <spring flex="1"/>
    <hbox id="throbber-box" autostretch="never">
      <button id="navigator-throbber" oncommand="goClickThrobber('editor.throbber.url')" tooltip="aTooltip" tooltiptext="&throbber.tooltip;">
        <observes element="Editor:Throbber" attribute="busy"/>
      </button>
    </hbox> 
  </toolbar>
  <toolbar id="FormatToolbar" persist="collapsed" tbalign="center">
    <!-- We need this else menulists get stretched -->
    <hbox autostretch="never">
      <!-- from editorOverlay -->
      <menulist id="ParagraphSelect"/>
      <stack id="ColorButtons"/>
    </hbox>

    <button id="DecreaseFontSizeButton"/>
    <button id="IncreaseFontSizeButton"/>

    <toolbarseparator class="toolbarseparator-standard"/>

    <button id="boldButton"/>
    <button id="italicButton"/>
    <button id="underlineButton"/>

    <toolbarseparator class="toolbarseparator-standard"/>
    
    <button id="ulButton"/>
    <button id="olButton"/>
    <button id="outdentButton"/>
    <button id="indentButton"/>

    <toolbarseparator class="toolbarseparator-standard"/>

    <button id="align-left-button"/>
    <button id="align-center-button"/>
    <button id="align-right-button"/>
    <button id="align-justify-button"/>

    <!-- TODO: Change to a menulist? -->
    <!-- menu>
      <button id="AlignPopupButton"/>
      <menupopup id="AlignmentPopup"/>
    </menu -->


    <spring flex="1"/>
  </toolbar>
</toolbox>

<!-- sidebar/toolbar/content/status -->
<hbox id="sidebar-parent" flex="1">
  <!-- From sidebarOverlay.xul -->
  <vbox id="sidebar-box" class="chromeclass-extrachrome" hidden="true"/>
  <splitter id="sidebar-splitter" class="chromeclass-extrachrome" hidden="true"/>

  <vbox id="appcontent" flex="1">
    <deck id="ContentWindowDeck" index="0" flex="1">
      <!-- KLUDGE:  Temporary fix for bug 34414:
           The current editor tag doesn't have a view, 
           which breaks deck frame-hiding mechanism 
       -->
      <stack>
        <editor type="content-primary" id="content-frame" src="about:blank" context="editorContentContext" flex="1"/>
      </stack>
      <vbox>
        <text class="label" id="doctype-text" style="width:1em" crop="right"/>
        <textbox class="source-editor plain" id="content-source" multiline="true" rows="1"
                   flex="1" style="width:1em; height:1em;"/>
      </vbox>
    </deck>

    <hbox id="EditModeToolbar" hidden="false" autostretch="never" valign="middle" persist="collapsed">
      <tabs id="EditModeTabs" class="tabs-bottom" flex="1">
        <tab id="NormalModeButton"/>
        <tab id="TagModeButton"/>
        <tab id="SourceModeButton"/>
        <tab id="PreviewModeButton"/>
    </tabs>
    </hbox>

  </vbox> <!-- appcontent -->
</hbox><!-- sidebar-parent -->

    <!-- Some of this is from globarOverlay.xul -->
    <statusbar id="status-bar">
      <hbox id="component-bar"/>
      <statusbarpanel id="statusText" label="&statusText.label;" flex="1" crop="right"/>
      <statusbarpanel class="statusbarpanel-icononly" id="offline-status"/>
    </statusbar>
    


</window>
