<?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"?> 
<?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 SYSTEM "chrome://editor/locale/editor.dtd"> 

<window id="main-window" 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()"
        contenttitlesettting="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="text/javascript" src="chrome://editor/content/editor.js"/>
<!-- 
  Loaded by editorOverlay.js
  <script type="text/javascript" src="chrome://editor/content/ComposerCommands.js"/>
-->
  <script type="text/javascript" src="chrome://editor/content/EditorCommandsDebug.js"/>
  <script type="text/javascript" src="chrome://editor/content/EditorContextMenu.js"/>
  <script type="text/javascript" src="chrome://global/content/strres.js"/>
  <script type="text/javascript" src="chrome://communicator/content/contentAreaUtils.js"/>
  <script type="text/javascript" src="chrome://communicator/content/contentAreaDD.js"/>
  <script type="text/javascript" src="chrome://global/content/nsJSSupportsUtils.js"/>
  <script type="text/javascript" src="chrome://global/content/nsJSComponentManager.js"/>
  <script type="text/javascript" src="chrome://global/content/nsTransferable.js"/>
  <script type="text/javascript" src="chrome://global/content/nsDragAndDrop.js"/>

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

  <commands id="commands">
    <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"/>
  </commands>

  <!-- Use this when we abandon the default startup page -->
  <!-- broadcaster id="args" value="about:blank"/ -->
  <broadcaster id="args" value="chrome://editor/content/EditorInitPage.html"/>
  <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')"/>
  
  <!-- command nodes are appended here from the overlays -->
  <broadcasterset id="broadcasterset">
    <broadcaster id="Editor:Throbber" busy="false"/>
  </broadcasterset>

	<!-- keys are appended from the overlay -->
  <keyset id="keyset"/>

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

    <menu id="viewMenu" value="&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" value="&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">
    <button id="newButton"/>
    <button id="openButton"/>
    <button id="saveButton"/>
    <button id="previewButton"/>
    <menubutton id="printButton" />
    <button id="spellingButton"/>
    <spring style="width: 8px"/>
    <button id="imageButton"/>
    <button id="hlineButton"/>
    <button id="tableButton"/>
    <button id="linkButton"/>
    <button id="namedAnchorButton"/>
    <spring flex="1"/>

    <button id="navigator-throbber" oncommand="goClickThrobber('editor.throbber.url')">
      <!-- tooltip="aTooltip" tooltiptext="&throbber.tooltip; -->
      <observes element="Editor:Throbber" attribute="busy"/>
    </button>
  </toolbar>
  <toolbar id="FormatToolbar" persist="collapsed" tbautostretch="always">
    <!-- We need this else menulists get stretched -->
    <box autostretch="never">
      <!-- from editorOverlay -->
      <menulist id="ParagraphSelect"/>
      <stack id="ColorButtons"/>
    </box>

    <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 -->
<box id="sidebar-parent" flex="1">
  <!-- From sidebarOverlay.xul -->
  <box id="sidebar-box" class="chromeclass-extrachrome" hidden="true"/>
  <splitter id="sidebar-splitter" class="chromeclass-extrachrome" hidden="true"/>

  <box id="appcontent" orient="vertical" 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>
      <textfield class="source-editor plain" id="content-source" multiline="true" rows="1"
                 flex="1" style="width:1em; height:1em;"/>
    </deck>

    <box id="EditModeToolbar" hidden="true" autostretch="never" valign="middle" persist="hidden collapsed">
      <tabbox id="EditModeTabbox" class="tabbox-bottom" flex="1">
     	<tab id="NormalModeButton"/>
      	<tab id="TagModeButton"/>
      	<tab id="SourceModeButton"/>
      	<tab id="PreviewModeButton"/>
	  </tabbox>
    </box>

    <!-- Some of this is from globarOverlay.xul -->
    <statusbar id="status-bar">
      <statusbarpanel class="statusbarpanel-icononly" id="offline-status"/>
      <progressmeter class="progressmeter-statusbar" statusbar="true" id="statusbar-icon" mode="normal" value="0">
          <observes element="Editor:Throbber" attribute="busy"/>
      </progressmeter>
      <statusbarpanel id="statusText" value="&statusText.label;" flex="1" crop="right"/>
    </statusbar>
    
  </box> <!-- appcontent -->
</box><!-- sidebar-parent -->

<box id="taskbar" class="toolbox-bottom"/>

</window>
