1 package net.mograsim.plugin.tables.mi;
3 import org.eclipse.jface.viewers.TableViewer;
4 import org.eclipse.jface.viewers.Viewer;
6 import net.mograsim.machine.mi.MicroInstructionMemory;
8 public class InstructionTableLazyContentProvider implements InstructionTableContentProvider
10 private TableViewer viewer;
11 private MicroInstructionMemory memory;
12 private long minAddr = 0;
15 public void updateElement(int index)
17 long address = memory.getDefinition().getMinimalAddress() + index;
18 viewer.replace(new InstructionTableRow(address, memory), index);
22 public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
24 this.viewer = (TableViewer) viewer;
25 this.memory = (MicroInstructionMemory) newInput;
26 if (this.memory != null)
28 this.viewer.setItemCount((int) memory.size());
29 this.minAddr = memory.getDefinition().getMinimalAddress();
34 public void update(long address)
36 updateElement((int) (address - minAddr));