1 package net.mograsim.plugin.tables.mi;
3 import org.eclipse.jface.viewers.ILazyContentProvider;
4 import org.eclipse.jface.viewers.TableViewer;
5 import org.eclipse.jface.viewers.Viewer;
7 import net.mograsim.machine.mi.MicroInstructionMemory;
9 public class InstructionTableContentProvider implements ILazyContentProvider
11 private TableViewer viewer;
12 private MicroInstructionMemory memory;
13 private long minAddr = 0;
16 public void updateElement(int index)
18 long address = memory.getDefinition().getMinimalAddress() + index;
19 viewer.replace(new InstructionTableRow(address, memory.getCell(address)), index);
23 public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
25 this.viewer = (TableViewer) viewer;
26 this.memory = (MicroInstructionMemory) newInput;
27 if (this.memory != null)
29 this.viewer.setItemCount((int) memory.size());
30 this.minAddr = memory.getDefinition().getMinimalAddress();
34 public void update(long address)
36 updateElement((int) (address - minAddr));