package org.reldb.dbrowser.ui.content.rel.var.grids;
import org.eclipse.jface.window.Window;
import org.eclipse.nebula.widgets.nattable.edit.gui.AbstractDialogCellEditor;
import org.eclipse.nebula.widgets.nattable.selection.SelectionLayer.MoveDirectionEnum;
public class AttributeDesignerCellEditor extends AbstractDialogCellEditor {
private boolean dialogIsClosed = false;
private Designer parentDesigner;
public AttributeDesignerCellEditor(Designer designer) {
this.parentDesigner = designer;
}
@Override
public int open() {
if (Window.OK == getDialogInstance().open()) {
commit(MoveDirectionEnum.NONE);
this.dialogIsClosed = true;
return Window.OK;
} else {
this.dialogIsClosed = true;
return Window.CANCEL;
}
}
@Override
public AttributeDesignerDialog createDialogInstance() {
dialogIsClosed = false;
return new AttributeDesignerDialog(parent.getShell(), parentDesigner.connection);
}
@Override
public AttributeDesignerDialog getDialogInstance() {
return (AttributeDesignerDialog) dialog;
}
@Override
public Object getEditorValue() {
return getDialogInstance().getHeadingDefinition();
}
@Override
public void setEditorValue(Object value) {
getDialogInstance().setHeadingDefinition(value.toString());
}
@Override
public void close() {
getDialogInstance().close();
}
@Override
public boolean isClosed() {
return this.dialogIsClosed;
}
}