Changed mnemonic X to use BitVector X; added X for integer immediates
[Mograsim.git] / plugins / net.mograsim.plugin.core / src / net / mograsim / plugin / tables / memory / MemoryCellEditingSupport.java
1 package net.mograsim.plugin.tables.memory;
2
3 import java.math.BigInteger;
4
5 import org.eclipse.jface.viewers.TableViewer;
6 import org.eclipse.swt.widgets.Control;
7
8 import net.mograsim.plugin.tables.DisplaySettings;
9 import net.mograsim.plugin.tables.NumberCellEditingSupport;
10
11 public class MemoryCellEditingSupport extends NumberCellEditingSupport
12 {
13         public MemoryCellEditingSupport(TableViewer viewer, DisplaySettings displaySettings)
14         {
15                 // TODO maybe allow X here too?
16                 super(viewer, displaySettings, false);
17         }
18
19         @Override
20         protected void setAsBigInteger(Object element, BigInteger value)
21         {
22                 MemoryTableRow row = (MemoryTableRow) element;
23                 row.getMemory().setCellAsBigInteger(row.address, value);
24         }
25
26         @Override
27         protected BigInteger getAsBigInteger(Object element)
28         {
29                 MemoryTableRow row = (MemoryTableRow) element;
30                 return row.getMemory().getCellAsBigInteger(row.address);
31         }
32
33         @Override
34         public int getBitLength(Object element)
35         {
36                 return ((MemoryTableRow) element).getMemory().getDefinition().getCellWidth();
37         }
38
39         public Control getCellEditorControl()
40         {
41                 return editor.getControl();
42         }
43 }