<!--                                                                        -->
<!-- Copyright 2009 Google Inc.                                             -->
<!-- Licensed under the Apache License, Version 2.0 (the "License"); you    -->
<!-- may not use this file except in compliance with the License. You may   -->
<!-- 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. 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:m="urn:import:com.google.gwt.missingplugin.client">


  <ui:style>
    .actionTable {
      margin: 10px 0 0 30px;
      font-size: 100%;
    }

    .allDownloadsLink {
      margin-top: 2px;
      margin-right: 8px;
      text-align: right; 
      font-size: 80%; 
      display: block; 
      color: black;
    }

  </ui:style>
  <g:HTMLPanel>
    <table class="{style.actionTable}" cellspacing="0" cellpadding="0">
      <tr>
        <td>
         <m:DownloadBox ui:field="downloadBox"/>
        </td>
      </tr>
      <tr>
      <td>
        <g:Anchor ui:field="allDownloadsLink" styleName="{style.allDownloadsLink}">plugins for other systems</g:Anchor>
      </td>
      </tr>
    </table>
  </g:HTMLPanel>
</ui:UiBinder>

 