<?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:u='urn:import:com.google.gerrit.client.ui'
    xmlns:g='urn:import:com.google.gwt.user.client.ui'>
  <ui:with field='res' type='com.google.gerrit.client.change.Resources'/>
  <ui:style gss='false'>
    .cancel { float: right; }
  </ui:style>
  <g:HTMLPanel>
    <div class='{res.style.section}'>
      <ui:msg>Path: <u:RemoteSuggestBox ui:field='path' visibleLength='86'/></ui:msg>
    </div>
    <div class='{res.style.section}'>
      <g:Button ui:field='delete'
          title='Delete file from the repository'
          styleName='{res.style.button}'>
        <ui:attribute name='title'/>
        <div><ui:msg>Delete</ui:msg></div>
      </g:Button>
      <g:Button ui:field='cancel'
          styleName='{res.style.button}'
          addStyleNames='{style.cancel}'>
          <div>Cancel</div>
      </g:Button>
    </div>
  </g:HTMLPanel>
</ui:UiBinder>
