X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Ftables%2Fmi%2FMnemonicEditingSupport.java;h=1140e6838e91e40b6ab5ced72caa9dc2f889f99c;hb=95b1269b5d1ff51f4321e2182d3c37efa6ae093a;hp=765e434388d7b85a9feb2174d821f0c76a4aa161;hpb=e7c51111e07a9e499eb3a17d784addd426e0ca43;p=Mograsim.git diff --git a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/mi/MnemonicEditingSupport.java b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/mi/MnemonicEditingSupport.java index 765e4343..1140e683 100644 --- a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/mi/MnemonicEditingSupport.java +++ b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/mi/MnemonicEditingSupport.java @@ -6,7 +6,9 @@ import org.eclipse.jface.viewers.EditingSupport; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.swt.SWT; +import net.mograsim.machine.mi.MicroInstruction; import net.mograsim.machine.mi.MicroInstructionDefinition; +import net.mograsim.machine.mi.parameters.MicroInstructionParameter; import net.mograsim.machine.mi.parameters.Mnemonic; import net.mograsim.machine.mi.parameters.MnemonicFamily; @@ -43,14 +45,17 @@ public class MnemonicEditingSupport extends EditingSupport @Override protected Object getValue(Object element) { - return ((Mnemonic) ((InstructionTableRow) element).data.getParameter(index)).ordinal(); + InstructionTableRow row = ((InstructionTableRow) element); + return ((Mnemonic) row.data.getCell(row.address).getParameter(index)).ordinal(); } @Override protected void setValue(Object element, Object value) { InstructionTableRow row = ((InstructionTableRow) element); - row.data.setParameter(index, family.get((Integer) value)); + MicroInstructionParameter[] params = row.data.getCell(row.address).getParameters(); + params[index] = family.get((Integer) value); + row.data.setCell(row.address, MicroInstruction.create(params)); provider.update(row.address); }