<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2013 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'>
  <ui:with field='res' type='com.google.gerrit.client.change.Resources'/>
  <ui:style type='com.google.gerrit.client.change.RevisionsBox.Style'>
    @eval selectionColor com.google.gerrit.client.Gerrit.getTheme().selectionColor;

    .revisionBox {
      min-width: 300px;
      margin: 10px 0px 5px 5px;
    }

    .scroll {
      min-width: 300px;
      height: 200px;
    }

    .table {
      border-spacing: 0;
      width: 100%;
    }

    .table td, .table th {
      padding-left: 5px;
      padding-right: 5px;
      border-right: 2px solid #ddd;
      white-space: nowrap;
    }

    .table tr.current {
      background-color: selectionColor;
    }
    .table tr.current a {
      pointer-events: none;
      color: #000;
    }

    .legacy_id {
      min-width: 50px;
      text-align: right;
      font-weight: bold;
    }

    .commit {
      font-family: monospace;
    }

    .draft_comment {
      margin: 0 2px 0 0;
      width: 16px;
      height: 16px;
      vertical-align: bottom;
    }
  </ui:style>
  <g:HTMLPanel styleName='{style.revisionBox}'>
    <g:ScrollPanel styleName='{style.scroll}'>
      <g:FlexTable ui:field='table' styleName='{style.table}'/>
    </g:ScrollPanel>
  </g:HTMLPanel>
</ui:UiBinder>
