<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2010 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<ui:UiBinder
  xmlns:ui='urn:ui:com.google.gwt.uibinder'
  xmlns:g='urn:import:com.google.gwt.user.client.ui'
  xmlns:my='urn:import:com.google.gerrit.client.ui'
  ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
  ui:generateKeys='com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator'
  ui:generateLocales='default,en'
  >
<ui:style>
  @external .gwt-TextBox;
  @external .gwt-ListBox;

  @def fontSize 8pt;

  .controls {
    border: none;
    border-collapse: separate;
    border-spacing: 0;
  }

  .controls td {
    font-size: fontSize;
    padding: 0;
    white-space: nowrap;
  }

  .controls .gwt-TextBox {
    font-size: fontSize;
    padding: 0;
    text-align: right;
  }

  .controls .gwt-ListBox {
    font-size: fontSize;
    padding: 0;
  }

  .updateButton {
    margin-left: 1em;
    margin-right: 1em;
    font-size: fontSize;
  }
</ui:style>

<g:HTMLPanel>
<table class='{style.controls}'>
  <tr valign='top'>
    <td colspan='2'>
      <ui:msg>
      Ignore Whitespace:
      <g:ListBox
        ui:field='ignoreWhitespace'
        visibleItemCount='1'
        tabIndex='1'/>
      </ui:msg>
    </td>

    <td rowspan='2'>
      <g:CheckBox
          ui:field='syntaxHighlighting'
          text='Syntax Coloring'
          tabIndex='4'>
        <ui:attribute name='text'/>
      </g:CheckBox>
      <br/>
      <g:CheckBox
          ui:field='intralineDifference'
          text='Intraline Difference'
          tabIndex='5'>
        <ui:attribute name='text'/>
      </g:CheckBox>
      <br/>
      <g:CheckBox
          ui:field='showFullFile'
          text='Show Full File'
          tabIndex='6'>
        <ui:attribute name='text'/>
      </g:CheckBox>
    </td>

    <td rowspan='2'>
      <g:CheckBox
          ui:field='whitespaceErrors'
          text='Whitespace Errors'
          tabIndex='7'>
        <ui:attribute name='text'/>
      </g:CheckBox>
      <br/>
      <g:CheckBox
          ui:field='showTabs'
          text='Show Tabs'
          tabIndex='8'>
        <ui:attribute name='text'/>
      </g:CheckBox>
    </td>

    <td valign='bottom' rowspan='2'>
      <g:Button
          ui:field='update'
          text='Update'
          styleName='{style.updateButton}'
          tabIndex='9'>
        <ui:attribute name='text'/>
      </g:Button>
    </td>

    <td>
      <g:CheckBox
          ui:field='reviewed'
          text='Reviewed'
          tabIndex='10'>
        <ui:attribute name='text'/>
      </g:CheckBox>
    </td>
  </tr>

  <tr valign='top'>
    <td>
      <ui:msg>Tab Width:
      <my:NpIntTextBox
        ui:field='tabWidth'
        width='2em'
        visibleLength='2'
        maxLength='2'
        tabIndex='2'/>
      </ui:msg>
    </td>

    <td>
      <ui:msg>Columns:
      <my:NpIntTextBox
        ui:field='colWidth'
        width='2.5em'
        visibleLength='3'
        maxLength='3'
        tabIndex='3'/>
      </ui:msg>
    </td>
  </tr>    
</table>
</g:HTMLPanel>
</ui:UiBinder>
