<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder
  xmlns:ui="urn:ui:com.google.gwt.uibinder"
  xmlns:g="urn:import:com.google.gwt.user.client.ui"
  xmlns:c="urn:import:com.google.gwt.user.cellview.client"
  ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
  ui:generateLocales='default'>

  <ui:with
    field='res'
    type='com.google.gwt.sample.showcase.client.ShowcaseResources' />

  <ui:style>
    .linkBar {
      padding: 2px 22px 2px 0px;
      background: white;
      text-align: right;
    }
    
    .link {
      font-size: 8pt;
      line-height: 10pt;
    }
    
    .titleBar {
      padding: 0 10px;
      border-bottom: 1px solid #C3C3C3;
    }
    
    .title {
      color: #7b8fae;
      font-size: 20pt;
      font-weight: bold;
      text-shadow: #ddd 3px 3px 1px;
      margin: 0;
      padding: 0 0 0 4px;
    }
    
    .subtitle {
      color: #888;
      font-size: 16pt;
      margin: 0;
      padding: 0 0 0 6px;
    }
    
    .options {
      padding: 6px 10px 0 0;
    }
    
    .localeBox {
      color: blue;
      font-size: 8pt;
      margin-left: 4px;
    }
    
    .styleSelectionButton {
      width: 36px;
      height: 16px;
      margin: 3px 0px 0px 10px;
      padding: 0px;
    }
    
    .styleSelectionStandard {
      background: #d0e4f6;
    }
    
    .styleSelectionChrome {
      background: #ccc;
    }
    
    .styleSelectionDark {
      background: #3d3d3d;
    }
    
    .mainMenu {
      background-color: #d7dde8;
      border-right: 1px solid #c3c3c3;
    }
    
    .contentButtons {
      background-color: #d7dde8;
      border-bottom: 1px solid #c3c3c3;
      padding: 0px 10px;
    }
    
    .contentButton {
      margin-right: 20px;
      color: #888888;
      font-weight: bold;
      cursor: hand;
      cursor: pointer;
      line-height: 20pt;
      vertical-align: middle;
    }
    
    .contentButton:hover {
      color: #4B4A4A;
      text-decoration: underline;
    }
    
    .contentButtonSource {
      margin-right: 4px;
    }
    
    .contentList {
      font-size: 8pt;
      color: #4B4A4A;
      direction: ltr;
    }
  </ui:style>

  <g:DockLayoutPanel
    unit='PT'>

    <!-- Links Bar. -->
    <g:north
      size='12'>
      <g:HTMLPanel
        styleName='{style.linkBar}'>
        <table
          ui:field='linkCell'
          cellpadding='0'
          cellspacing='0'
          align='right'>
          <tr>
            <td
              class='{style.link}'>
              <a
                href='http://code.google.com/webtoolkit/'>
                <ui:msg
                  key='mainLinkHomepage'>GWT Homepage</ui:msg>
              </a>
            </td>
            <td
              class='{style.link}'>&nbsp;|&nbsp;
            </td>
            <td
              class='{style.link}'>
              <a
                href='http://code.google.com/webtoolkit/examples/'>
                <ui:msg
                  key='mainLinkExamples'>More Examples</ui:msg>
              </a>
            </td>
          </tr>
        </table>
      </g:HTMLPanel>
    </g:north>

    <!-- Title Bar. -->
    <g:north
      size='55'>
      <g:HTMLPanel
        styleName='{style.titleBar}'>
        <table
          cellpadding='0'
          cellspacing='0'
          width='100%'>
          <tr>
            <td>
              <table
                cellpadding='0'
                cellspacing='0'>
                <tr>
                  <td
                    style='line-height:0px'>
                    <!-- Logo Image. -->
                    <g:Image
                      resource='{res.gwtLogo}' />
                  </td>
                  <td>
                    <!-- Title and subtitle. -->
                    <h1
                      class='{style.title}'>
                      <ui:msg
                        key='mainTitle'>Google Web Toolkit</ui:msg>
                    </h1>
                    <h2
                      class='{style.subtitle}'>
                      <ui:msg
                        key='mainSubTitle'>Showcase of Features</ui:msg>
                    </h2>
                  </td>
                </tr>
              </table>
            </td>
            <td
              ui:field='localeSelectionCell'
              align='right'
              valign='top'
              class='{style.options}'>
              <!-- Locale selection. -->
              <table
                cellpadding='0'
                cellspacing='0'>
                <tr>
                  <td
                    valign='middle'>
                    <g:Image
                      resource='{res.locale}' />
                  </td>
                  <td
                    valign='middle'>
                    <g:ListBox
                      addStyleNames='{style.localeBox}'
                      ui:field='localeBox' />
                  </td>
                </tr>
              </table>
            </td>
          </tr>
        </table>
      </g:HTMLPanel>
    </g:north>

    <g:center>
      <g:DockLayoutPanel
        unit='PX'>
        <!-- Main menu tree. -->
        <g:lineStart
          size='225'>
          <g:ScrollPanel
            styleName='{style.mainMenu}'>
            <c:CellTree
              ui:field='mainMenu' />
          </g:ScrollPanel>
        </g:lineStart>

        <!-- Main content area. -->
        <g:center>
          <g:DockLayoutPanel
            unit='PT'>
            <g:north
              size='20'>
              <g:FlowPanel
                ui:field='contentButtons'
                styleName='{style.contentButtons}'>
                <g:Anchor
                  ui:field='tabExample'
                  addStyleNames='{style.contentButton}'>
                  <ui:msg
                    key='contentWidgetExample'>Example</ui:msg>
                </g:Anchor>
                <g:Anchor
                  ui:field='tabStyle'
                  addStyleNames='{style.contentButton}'>
                  <ui:msg
                    key='contentWidgetStyle'>CSS Style</ui:msg>
                </g:Anchor>
                <g:Anchor
                  ui:field='tabSource'
                  addStyleNames='{style.contentButton} {style.contentButtonSource}'>
                  <ui:msg
                    key='contentWidgetSource'>Source Code</ui:msg>
                </g:Anchor>
                <g:ListBox
                  ui:field='tabSourceList'
                  addStyleNames='{style.contentList}' />
              </g:FlowPanel>
            </g:north>

            <g:center>
              <g:SimpleLayoutPanel
                ui:field='contentPanel' />
            </g:center>
          </g:DockLayoutPanel>
        </g:center>
      </g:DockLayoutPanel>
    </g:center>

  </g:DockLayoutPanel>

</ui:UiBinder> 