<?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://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://global/content/charsetOverlay.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()"
        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"
        >

  <script language="JavaScript" src="chrome://editor/content/editor.js"/>
<!-- 
  Loaded by editorOverlay.js
  <script language="JavaScript" src="chrome://editor/content/ComposerCommands.js"/>
-->
  <script language="JavaScript" src="chrome://editor/content/EditorCommandsDebug.js"/>
  <script language="JavaScript" src="chrome://editor/content/EditorContextMenu.js"/>
  <script language="javascript" src="chrome://global/content/strres.js"/>
  <script language="JavaScript" src="chrome://navigator/content/nsContextMenu.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>

  <popupset>
    <popup id="BackColorPopup"/>
    <popup id="TextColorPopup"/>
  </popupset>
	
	<!-- keys are appended from the overlay -->
  <keyset id="defaultKeySet"/>

  <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/>
      <menuitem id="viewSourceMenuitem"/>
      <menuitem id="viewParagraphMarks"/>
      <menuseparator />
      <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="findButton"/>
    <button id="spellingButton"/>
    <spring class="separator_small"/>
    <button id="imageButton"/>
    <button id="hlineButton"/>
    <button id="tableButton"/>
    <button id="linkButton"/>
    <button id="namedAnchorButton"/>
    <spring flex="1"/>

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

    <button id="DecreaseFontSizeButton"/>
    <button id="IncreaseFontSizeButton"/>
    <button id="boldButton"/>
    <button id="italicButton"/>
    <button id="underlineButton"/>
    <spring class="separator_small"/>
    <button id="ulButton"/>
    <button id="olButton"/>
    <button id="outdentButton"/>
    <button id="indentButton"/>
    <spring class="separator_small"/>
    <!-- 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"/>
  <splitter id="sidebar-splitter" class="chromeclass-extrachrome"/>

  <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" id="content-source" multiline="true" rows="1"
                 flex="1" style="width:1em; height:1em;"/>
    </deck>

    <!-- TODO: Set collapsed="true" so default is to not show the editmode toolbar -->
    <toolbar id="EditModeToolbar" autostretch="never" valign="middle" collapsed="true" persist="collapsed">
      <text id="EditModeLabel" class="margin-left-right" value="&editMode.label;"/>
      <!-- From editorOverlay.xul -->
      <button id="NormalModeButton" persist="type"/>
      <button id="TagModeButton"/>
      <button id="SourceModeButton"/>
      <button id="PreviewModeButton"/>
      <spring flex="1"/>
      <image id="ToggleEditModeType"/>
    </toolbar>

    <!-- Some of this is from globarOverlay.xul -->
    <box id="status-bar" class="chromeclass-status">
      <box flex="1" style="min-width: 1px">
        <box orient="vertical" style="width:100px">
          <spring flex="1"/>
          <progressmeter class="progressmeter-statusbar" statusbar="true" id="statusbar-icon" mode="normal" value="0">
              <observes element="Editor:Throbber" attribute="busy"/>
          </progressmeter>
          <spring flex="1"/>
        </box>
        <spring style="width: 1em"/>
        <text id="statusText" class="status-bar" align="left" flex="1" 
          value="&statusText.label;"  style="min-width: 1px"/>
        <!-- This is used for buildID in browser --> 
        <text class="status-bar" align="left"/>
        <text id="lock-button" class="borderless" align="left"/>    
      </box>
    </box><!-- status-bar -->
  </box> <!-- appcontent -->
</box><!-- sidebar-parent -->
<toolbox id="taskbar" class="toolbox-bottom"/>

</window>
