X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Ftables%2Fmi%2FInstructionTableContentProvider.java;h=b8021b74a31e7d91e30e9ce8ca3c537f52b2809e;hb=8bed58cd47f4e53a0a83e066d38864aa6875502f;hp=00a6f196eb3e67102aaab571996a99b837648e39;hpb=b6235ae81c28ddf0ddb585a21236df1541d1e7fb;p=Mograsim.git diff --git a/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/mi/InstructionTableContentProvider.java b/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/mi/InstructionTableContentProvider.java index 00a6f196..b8021b74 100644 --- a/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/mi/InstructionTableContentProvider.java +++ b/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/mi/InstructionTableContentProvider.java @@ -4,25 +4,35 @@ import org.eclipse.jface.viewers.ILazyContentProvider; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.Viewer; -import net.mograsim.machine.mi.MicroprogramMemory; +import net.mograsim.machine.mi.MicroInstructionMemory; public class InstructionTableContentProvider implements ILazyContentProvider { private TableViewer viewer; - private MicroprogramMemory memory; + private MicroInstructionMemory memory; + private long minAddr = 0; @Override public void updateElement(int index) { - viewer.replace(memory.getCell(index), index); + long address = memory.getDefinition().getMinimalAddress() + index; + viewer.replace(new InstructionTableRow(address, memory.getCell(address)), index); } @Override public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { this.viewer = (TableViewer) viewer; - this.memory = (MicroprogramMemory) newInput; + this.memory = (MicroInstructionMemory) newInput; if (this.memory != null) + { this.viewer.setItemCount((int) memory.size()); + this.minAddr = memory.getDefinition().getMinimalAddress(); + } + } + + public void update(long address) + { + updateElement((int) (address - minAddr)); } }