<?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:c='urn:import:com.google.gerrit.client.ui'
    xmlns:g='urn:import:com.google.gwt.user.client.ui'>
  <ui:style gss='false'>
    .box {
      position: relative;
    }
    .location {
      position: absolute;
      top: 0;
      left: 0;
      font-weight: bold;
    }
    .message {
      margin-left: 135px;
    }
  </ui:style>

  <g:HTMLPanel styleName='{style.box}'>
    <div class='{style.location}'>
      <span ui:field='psLoc'><ui:msg>PS<span ui:field='psNum'/>, </ui:msg></span>
      <span ui:field='fileLoc'><ui:msg>File Comment</ui:msg></span>
      <span ui:field='lineLoc'><ui:msg>Line <c:InlineHyperlink ui:field='line'/>:</ui:msg></span>
    </div>
    <div class='{style.message}' ui:field='message'/>
  </g:HTMLPanel>
</ui:UiBinder>
