[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.platform] Re: [Databinding} Mess with tables/ Validation in structured Beans

Matthew Hall wrote:
TableViewer addressViewer = ...
ObservableListContentProvider cp = new ObservableListContentProvider();
final IObservableMap[] maps =  BeansObservables.observeMaps(
    cp.getKnownElements,
    Address.class,
    new String[] {"street", "street2", "city", "province", "code" } );
addressViewer.setLabelProvider(new ObservableMapLabelProvider(maps));

MultiValidator addressValidator = new MultiValidator(realm) {
  protected IStatus validate() {
    Set addresses = maps[0].keySet();
    IStatus status = ValidationStatus.ok();
    for (Iterator it = addresses.iterator(); it.hasNext(); ) {
      Address address = (Address) it.next();
      // validate address, update status variable if more severe
      // than current value
    }
    return status;
  }
}

Forgot to say, you need to add the MultiValidator to the DataBindingContext:

dbc.addValidationStatusProvider(addressValidator);

Matthew