X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Ftables%2Fmemory%2FMemoryTableContentProvider.java;h=90ad7885c172640b26e70f24022730685868d5c2;hb=76c2b3eab6cec47490bb75713356152deb5d07ed;hp=aaecc754fcdbd6f08ee510be6b5f568f3ba66f88;hpb=58babf45ae7d259a296656451d796dbe601377a4;p=Mograsim.git diff --git a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/memory/MemoryTableContentProvider.java b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/memory/MemoryTableContentProvider.java index aaecc754..90ad7885 100644 --- a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/memory/MemoryTableContentProvider.java +++ b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/memory/MemoryTableContentProvider.java @@ -6,9 +6,9 @@ import org.eclipse.jface.viewers.Viewer; import org.eclipse.swt.widgets.Display; import net.mograsim.machine.MainMemory; -import net.mograsim.machine.MemoryObserver; +import net.mograsim.machine.Memory.MemoryCellModifiedListener; -public class MemoryTableContentProvider implements ILazyContentProvider, MemoryObserver +public class MemoryTableContentProvider implements ILazyContentProvider, MemoryCellModifiedListener { private long lower; private TableViewer viewer; @@ -65,15 +65,16 @@ public class MemoryTableContentProvider implements ILazyContentProvider, MemoryO this.viewer = (TableViewer) viewer; this.memory = (MainMemory) newInput; if (oldInput != null) - ((MainMemory) oldInput).deregisterObserver(this); + ((MainMemory) oldInput).deregisterCellModifiedListener(this); if (memory != null) - memory.registerObserver(this); + memory.registerCellModifiedListener(this); setLowerBound(0L); } @Override public void update(long address) { - Display.getDefault().asyncExec(() -> updateElement((int) (address - lower))); + // TODO check if viewer.refresh() does what we expect + Display.getDefault().asyncExec(address == -1 ? viewer::refresh : () -> updateElement((int) (address - lower))); } }