Fixed a bug in Am2900; created dlatch8/80; relayouted some components
[Mograsim.git] / net.mograsim.plugin.core / src / net / mograsim / plugin / tables / mi / InstructionView.java
index 68e8329..3af070f 100644 (file)
@@ -69,6 +69,7 @@ public class InstructionView extends ViewPart implements ContextObserver
 
                displaySettings.addObserver(() -> viewer.refresh());
                MachineContext.getInstance().registerObserver(this);
+               setMachine(Optional.ofNullable(MachineContext.getInstance().getMachine()));
        }
 
        public void highlight(int index)
@@ -130,12 +131,14 @@ public class InstructionView extends ViewPart implements ContextObserver
 
        private void createColumns()
        {
+               int size = miDef.size();
+               columns = new TableViewerColumn[size + 1];
+
                TableViewerColumn col = createTableViewerColumn("Address", 200);
+               columns[0] = col;
                col.setLabelProvider(new AddressLabelProvider());
 
-               int size = miDef.size();
                int bit = 0;
-               columns = new TableViewerColumn[size];
                ParameterClassification[] classes = miDef.getParameterClassifications();
 
                for (int i = 0; i < size; i++)
@@ -145,9 +148,10 @@ public class InstructionView extends ViewPart implements ContextObserver
                        String name = startBit == endBit ? Integer.toString(startBit) : startBit + "..." + endBit;
                        int bounds = 20 + 20 * classes[i].getExpectedBits();
 
-                       createEditingAndLabel(createTableViewerColumn(name, bounds), miDef, i);
+                       col = createTableViewerColumn(name, bounds);
+                       columns[i + 1] = col;
+                       createEditingAndLabel(col, miDef, i);
                }
-
        }
 
        private void createEditingAndLabel(TableViewerColumn col, MicroInstructionDefinition miDef, int index)