});
type.setValue(String.class, null);
type.setRealm(new Realm<Class<?>>(
EditorUtility.SUPPORTED_TYPES));
final ComboEnumeratedValueSelector ce = new ComboEnumeratedValueSelector(
type);
final CompositeEditor c1 = new CompositeEditor();
c1.setLayoutManager(new OneElementOnLineLayouter());
c1.add(ce);
final Binding multi = tmpBinding.getBinding("multi");
multi.setReadOnly(false);
multi.setName("Multivalue");
multi.setValue(false, null);
ButtonSelector multiB = new ButtonSelector(multi,
SWT.CHECK);
c1.add(multiB);
final Binding kk = tmpBinding.getBinding("KeyKind");
kk.setName("Kind");
kk.setValue(e.getKind(), null);
kk.setReadOnly(false);
kk.setRequired(false);
final OneLineTextElement<String> keyKind = new OneLineTextElement<String>(
kk);
type.addValueListener(new IValueListener<Class<?>>() {
public void valueChanged(Class<?> oldValue,
Class<?> newValue) {
if (newValue == Key.class) {
c1.add(1, keyKind);
c1.getControl().getShell().pack(true);
} else if (oldValue == Key.class) {
c1.remove(keyKind);
c1.getControl().getShell().pack(true);
}
}
});
CompositeEditor c2 = new CompositeEditor();
c2.setLayoutManager(new HorizontalLayouter());
ButtonSelector ok = new ButtonSelector();
ok.setText("submit");
ButtonSelector canc = new ButtonSelector();
canc.setText("cancel");
c2.add(ok);
c2.add(canc);
CompositeEditor finall = new CompositeEditor(tmpBinding);
finall.setLayoutManager(new OneElementOnLineLayouter());
finall.add(c1);
finall.add(c2);
final InputElementDialog ied = new InputElementDialog(
finall);
ok.setValue(new Runnable() {
public void run() {
IStructuredSelection iss = ce.getSelection();
if (!iss.isEmpty()) {
Object fe = iss.getFirstElement();
Class choosen = (Class) fe;
ied.close();
ed.getParent().remove(ed);// remove(bs);