<!--                                                                        -->
<!-- Copyright 2011 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:gwt="urn:import:com.google.gwt.user.client.ui"
  xmlns:test="urn:import:com.google.gwt.uibinder.test.client"
  >
  <gwt:RenderablePanel ui:field="top" styleName="test">
    <div ui:field="outerDiv" class="ble">Outer div</div>
    <test:SimpleRenderable ui:field="outerRenderable">Outer renderable</test:SimpleRenderable>
    <gwt:Label ui:field="outerLabel">Outer label</gwt:Label>
    <test:RenderableComposite ui:field="outerComposite"/>

    <ui:msg description="A photo promo">
      Outer i18n image
      <gwt:Image ui:field="outerI18nImage" styleName="ble" />
      while browsing your photos.
    </ui:msg>

    <gwt:RenderablePanel ui:field="childPanel" styleName="test">
      <div ui:field="innerDiv" class="ble">Inner div</div>
      <test:SimpleRenderable ui:field="innerRenderable">Inner renderable</test:SimpleRenderable>
      <gwt:Label ui:field="innerLabel">Inner label</gwt:Label>
      <test:RenderableComposite ui:field="innerComposite"/>

      <ui:msg description="A photo promo">
        Inner i18n image
        <gwt:Image ui:field="innerI18nImage" styleName="ble" />
        while browsing your photos.
      </ui:msg>
    </gwt:RenderablePanel>

  </gwt:RenderablePanel>
</ui:UiBinder>
