X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.spreadsheet%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fsynchronization%2FLineUpdater.java;fp=bundles%2Forg.simantics.spreadsheet%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fsynchronization%2FLineUpdater.java;h=78a6bd08fbc9f1a312853b95981780fd5f03c595;hb=c07a3818f0024e932a27eb85cbfd3f2291475a65;hp=0000000000000000000000000000000000000000;hpb=6c99e980d250fb9201aba93be7dcb1f55564dccd;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/synchronization/LineUpdater.java b/bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/synchronization/LineUpdater.java new file mode 100644 index 000000000..78a6bd08f --- /dev/null +++ b/bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/synchronization/LineUpdater.java @@ -0,0 +1,50 @@ +package org.simantics.spreadsheet.synchronization; + +import java.util.Collection; +import java.util.Map; + +import org.simantics.databoard.adapter.AdaptException; +import org.simantics.databoard.binding.mutable.Variant; +import org.simantics.spreadsheet.solver.SheetLineComponent; +import org.simantics.structural.synchronization.base.CommandBuilder; +import org.simantics.structural.synchronization.base.ModuleUpdateContext; +import org.simantics.structural.synchronization.base.ModuleUpdaterBase; +import org.simantics.structural.synchronization.base.PropertyUpdateRule; + +public class LineUpdater extends ModuleUpdaterBase { + + public LineUpdater(String id) { + super(id); + addPropertyUpdateRule(new PropertyUpdateRule() { + @Override + public String getPropertyName() { + return "content"; + } + @Override + public void apply(ModuleUpdateContext context, boolean isCreating, + Map propertyMap, Map> connectionMap, Variant value) { + System.err.println("LineUpdater.apply " + value); + LineCommandBuilder builder = context.getConcreteCommand(); + try { + LineContentBean valuee = (LineContentBean) value.getValue(LineContentBean.BINDING); + builder.bean = valuee; + } catch (AdaptException e) { + e.printStackTrace(); + } catch (ClassCastException e) { + e.printStackTrace(); + } + } + }); + } + + @Override + public CommandBuilder createAddCommandBuilder(String name) { + return new LineCommandBuilder(name, false); + } + + @Override + public CommandBuilder createUpdateCommandBuilder(String name) { + return new LineCommandBuilder(name, true); + } + +} \ No newline at end of file