Added address column to instruction editor
[Mograsim.git] / net.mograsim.plugin.core / src / net / mograsim / plugin / tables / mi / InstructionTableContentProvider.java
1 package net.mograsim.plugin.tables.mi;
2
3 import org.eclipse.jface.viewers.ILazyContentProvider;
4 import org.eclipse.jface.viewers.TableViewer;
5 import org.eclipse.jface.viewers.Viewer;
6
7 import net.mograsim.machine.mi.MicroInstructionMemory;
8
9 public class InstructionTableContentProvider implements ILazyContentProvider
10 {
11         private TableViewer viewer;
12         private MicroInstructionMemory memory;
13
14         @Override
15         public void updateElement(int index)
16         {
17                 long address = memory.getDefinition().getMinimalAddress() + index;
18                 viewer.replace(new InstructionTableRow(address, memory.getCell(address)), index);
19         }
20
21         @Override
22         public void inputChanged(Viewer viewer, Object oldInput, Object newInput)
23         {
24                 this.viewer = (TableViewer) viewer;
25                 this.memory = (MicroInstructionMemory) newInput;
26                 if (this.memory != null)
27                         this.viewer.setItemCount((int) memory.size());
28         }
29 }