Fixed an issue: InstructionView now updates when immediates are modified
[Mograsim.git] / net.mograsim.plugin.core / src / net / mograsim / plugin / tables / mi / IntegerEditingSupport.java
index 0a7ad28..c8f7e08 100644 (file)
@@ -14,18 +14,26 @@ public class IntegerEditingSupport extends NumberCellEditingSupport
 {
        private IntegerClassification classification;
        private int index;
+       private TableViewer viewer;
+       private InstructionTableContentProvider provider;
 
-       public IntegerEditingSupport(TableViewer viewer, MicroInstructionDefinition miDef, int index, DisplaySettings displaySettings)
+       public IntegerEditingSupport(TableViewer viewer, MicroInstructionDefinition miDef, int index, DisplaySettings displaySettings,
+                       InstructionTableContentProvider provider)
        {
                super(viewer, displaySettings);
                classification = (IntegerClassification) miDef.getParameterClassifications()[index];
                this.index = index;
+               this.viewer = viewer;
+               this.provider = provider;
        }
 
        @Override
        protected void setAsBigInteger(Object element, BigInteger value)
        {
-               ((InstructionTableRow) element).data.setParameter(index, new IntegerImmediate(value, classification.getExpectedBits()));
+               InstructionTableRow row = ((InstructionTableRow) element);
+               row.data.setParameter(index, new IntegerImmediate(value, classification.getExpectedBits()));
+               provider.update(row.address);
+//             viewer.update(element, null); Does not do anything for some reason
        }
 
        @Override