# Package com.google.gwt.uibinder.client

Classes used to generate user interfaces using declarative ui.xml files.

This package contains the classes and interfaces that allow you to define user interfaces from ui.xml template files, managed by generated implementations of the `UiBinder` interface. UiBinder templates allow you to lay out your widgets and design new ones via HTML, CSS and Image resources (the last two via generated `ClientBundles`) with a minimum of coding. They also have extensive support for internationalization, by generating `Messages`.

Follow the links below for general documentation. Specialized markup for individual widget types is described in their javadoc. In particular, see `UIObject` for markup that applies to all widgets.

See Also:
  Declarative Layout with UiBinder, Internationalization - UiBinder

- Interface Summary
  Interface | Description
  --- | ---
  UiBinder<U,​O> | Interface implemented by classes that generate DOM or Widget structures from ui.xml template files, and which inject portions of the generated UI into the fields of an owner.
  UiRenderer | Marker interface for classes whose implementation is to be provided via UiBinder code generation for SafeHtml rendering.

- Class Summary
  Class | Description
  --- | ---
  LazyDomElement<T extends Element> | Wraps a call to a DOM element.
  UiBinderUtil | Static helper methods used by UiBinder.
  UiBinderUtil.TempAttachment | Temporary attachment record that keeps track of where an element was before attachment.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  UiChild | Mark a method as the appropriate way to add a child widget to the parent class.
  UiConstructor | Marks a constructor that may be used as an alternative to a widget's zero args construtor in a `UiBinder` template.
  UiFactory | Marks a method that may be called as an alternative to a GWT.create call in a `UiBinder` template.
  UiField | Marks fields in a UiBinder client that must be filled by the binder's `UiBinder.createAndBindUi(O)` method.
  UiHandler | Marks a method to be automatically bound as an event handler.
  UiTemplate | Indicates the template from which to generate a `UiBinder`.