gridData.horizontalAlignment = SWT.LEFT;
gridData.verticalAlignment = SWT.TOP;
addButton(buttonsBar, "button.add", new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
ValidatorConfig config = ValidatorDefinitionRegistry.getGlobalDefinition().create(ValidatorConfig.GLOBAL_FIELD_ID);
validatorConfigs.add(config);
validatorsTableViewer.refresh(true);
validatorsTableViewer.setSelection(new StructuredSelection(config));
}
});
deleteButton = addButton(buttonsBar, "button.delete", new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
ValidatorConfig config = (ValidatorConfig) ((IStructuredSelection) validatorsTableViewer.getSelection()).getFirstElement();
if (config == null) {
infoGroup.setVisible(false);
return;
}
validatorConfigs.remove(config);
validatorsTableViewer.refresh(true);
}
});
deleteButton.setEnabled(false);
validatorsTableViewer.setLabelProvider(new LabelProvider() {
@Override
public String getText(Object element) {
return ((ValidatorConfig) element).getMessage();
}
});
validatorsTableViewer.setContentProvider(new ArrayContentProvider());
validatorsTableViewer.setInput(validatorConfigs);
validatorsTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
ValidatorConfig config = (ValidatorConfig) ((IStructuredSelection) validatorsTableViewer.getSelection()).getFirstElement();
deleteButton.setEnabled(config != null);
ValidatorDefinition def = null;
if (config != null) {
def = ValidationUtil.getValidatorDefinition(config.getType());
}
infoGroup.setConfig(ValidatorConfig.GLOBAL_FIELD_ID, def, config);
}
});