X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Ftables%2Fmi%2FBooleanEditingSupport.java;fp=net.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Ftables%2Fmi%2FBooleanEditingSupport.java;h=813857d9272772d575d2fd77ef8978c563fe76bf;hb=62d703a95cafb4e98b4c3ffc305fb0224a6aec71;hp=7d2171465a5cbec58ddca858bc85420b4cf8c1f6;hpb=8604106a28c3de0b93e46b406a74dc3611e7bca5;p=Mograsim.git diff --git a/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/mi/BooleanEditingSupport.java b/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/mi/BooleanEditingSupport.java index 7d217146..813857d9 100644 --- a/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/mi/BooleanEditingSupport.java +++ b/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/mi/BooleanEditingSupport.java @@ -5,19 +5,23 @@ import org.eclipse.jface.viewers.CheckboxCellEditor; import org.eclipse.jface.viewers.EditingSupport; import org.eclipse.jface.viewers.TableViewer; +import net.mograsim.logic.core.types.Bit; import net.mograsim.machine.mi.MicroInstruction; -import net.mograsim.machine.mi.parameters.BooleanImmediate; +import net.mograsim.machine.mi.MicroInstructionDefinition; +import net.mograsim.machine.mi.parameters.BooleanClassification; public class BooleanEditingSupport extends EditingSupport { private final CheckboxCellEditor editor; + private final BooleanClassification boolClass; private final TableViewer viewer; private final int index; - public BooleanEditingSupport(TableViewer viewer, int index) + public BooleanEditingSupport(TableViewer viewer, MicroInstructionDefinition definition, int index) { super(viewer); this.viewer = viewer; + this.boolClass = (BooleanClassification) definition.getParameterClassification(index); editor = new CheckboxCellEditor(viewer.getTable()); this.index = index; } @@ -37,13 +41,13 @@ public class BooleanEditingSupport extends EditingSupport @Override protected Object getValue(Object element) { - return ((BooleanImmediate) ((MicroInstruction) element).getParameter(index)).getBooleanValue(); + return ((MicroInstruction) element).getParameter(index).getValue().getMSBit(0).equals(Bit.ONE); } @Override protected void setValue(Object element, Object value) { - ((MicroInstruction) element).setParameter(index, new BooleanImmediate((Boolean) value)); + ((MicroInstruction) element).setParameter(index, boolClass.get((Boolean) value)); viewer.update(element, null); }