code: private void buildUI() {
  
  		// Attribute select:
  		attributeSelect = new SelectItem("attributeItem");
  		attributeSelect.setWidth(140);
  		attributeSelect.setShowTitle(false);
  		attributeSelect.setValueMap(org.geomajas.gwt.client.widget.attribute.AttributeCriterionPane.
  				getSearchableAttributes(layer));
  		attributeSelect.setHint(I18nProvider.getSearch().gridChooseAttribute());
  		attributeSelect.setShowHintInField(true);
  
  		attributeSelect.setValidateOnChange(true);
  		attributeSelect.setShowErrorStyle(true);
  		attributeSelect.setRequired(true);
  
  		// Operator select:
  		operatorSelect = new SelectItem("operatorItem");
  		operatorSelect.setDisabled(true);
  		operatorSelect.setWidth(140);
  		operatorSelect.setShowTitle(false);
  
  		operatorSelect.setValidateOnChange(true);
  		operatorSelect.setShowErrorStyle(true);
  		operatorSelect.setRequired(true);
  
  		// Value form item:
  		valueItem = new AttributeFormItem("valueItem");
  		valueItem.setShowTitle(false);
  		valueItem.setDisabled(true);
  		valueItem.setWidth(150);
  
  		// Mechanisms:
  		attributeSelect.addChangedHandler(new ChangedHandler() {
  			public void onChanged(ChangedEvent event) {
  				attributeChanged();
  			}
  		});
  
  		// Finalize:
  		DynamicForm form = new DynamicForm();
  		form.setNumCols(6);
  		form.setHeight(26);
  		form.setFields(attributeSelect, operatorSelect, valueItem);
  		addChild(form);
  	}
docs: -------------------------------------------------------------------------