6f689e7a29cd6d6b552042c1261f50efa989ec76
[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                 super(viewer, displaySettings);
16         }
17
18         @Override
19         protected void setAsBigInteger(Object element, BigInteger value)
20         {
21                 MemoryTableRow row = (MemoryTableRow) element;
22                 row.getMemory().setCellAsBigInteger(row.address, value);
23         }
24
25         @Override
26         protected BigInteger getAsBigInteger(Object element)
27         {
28                 MemoryTableRow row = (MemoryTableRow) element;
29                 return row.getMemory().getCellAsBigInteger(row.address);
30         }
31
32         @Override
33         public int getBitLength(Object element)
34         {
35                 return ((MemoryTableRow) element).getMemory().getDefinition().getCellWidth();
36         }
37
38         public Control getCellEditorControl()
39         {
40                 return editor.getControl();
41         }
42 }