package jetbrains.mps.lang.editor.test.generation.editor;
/*Generated by MPS */
import jetbrains.mps.editor.runtime.descriptor.AbstractEditorBuilder;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.mps.openapi.model.SNode;
import jetbrains.mps.openapi.editor.EditorContext;
import jetbrains.mps.openapi.editor.cells.EditorCell;
import jetbrains.mps.nodeEditor.cellProviders.CellProviderWithRole;
import jetbrains.mps.lang.editor.cellProviders.PropertyCellProvider;
import jetbrains.mps.nodeEditor.cells.EditorCell_Property;
import jetbrains.mps.nodeEditor.cells.ModelAccessor;
import jetbrains.mps.nodeEditor.cells.TransactionalPropertyAccessor;
import jetbrains.mps.nodeEditor.EditorManager;
/*package*/ class TransactionalProperty_Default_ComponentBuilder_a extends AbstractEditorBuilder {
@NotNull
private SNode myNode;
public TransactionalProperty_Default_ComponentBuilder_a(@NotNull EditorContext context, @NotNull SNode node) {
super(context);
myNode = node;
}
@NotNull
@Override
public SNode getNode() {
return myNode;
}
/*package*/ EditorCell createCell() {
return createTransactionalProperty_huu55s_a();
}
private EditorCell createTransactionalProperty_huu55s_a() {
CellProviderWithRole provider = new PropertyCellProvider(myNode, getEditorContext());
provider.setRole("theProperty");
EditorCell_Property editorCell = null;
{
ModelAccessor modelAccessor = new TransactionalPropertyAccessor(myNode, "theProperty", false, false, getEditorContext()) {
public void doCommit(final String oldValue, final String newValue) {
doCommitImpl(oldValue, newValue);
}
public void doCommitImpl(final String oldValue, final String newValue) {
}
};
editorCell = EditorCell_Property.create(getEditorContext(), modelAccessor, myNode);
editorCell.setCellId("TransactionalProperty_huu55s_a");
editorCell.setDefaultText("<no theProperty>");
editorCell.setCommitInCommand(false);
}
SNode attributeConcept = provider.getRoleAttribute();
if (attributeConcept != null) {
EditorManager manager = EditorManager.getInstanceFromContext(getEditorContext());
return manager.createNodeRoleAttributeCell(attributeConcept, provider.getRoleAttributeKind(), editorCell);
} else
return editorCell;
}
}