deaabe26abe118bc7a956d8f4cf2dba049df7323
[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
7 import net.mograsim.plugin.tables.DisplaySettings;
8 import net.mograsim.plugin.tables.NumberCellEditingSupport;
9
10 public class MemoryCellEditingSupport extends NumberCellEditingSupport
11 {
12         public MemoryCellEditingSupport(TableViewer viewer, DisplaySettings displaySettings)
13         {
14                 super(viewer, displaySettings);
15         }
16
17         @Override
18         protected void setAsBigInteger(Object element, BigInteger value)
19         {
20                 MemoryTableRow row = (MemoryTableRow) element;
21                 row.getMemory().setCellAsBigInteger(row.address, value);
22         }
23
24         @Override
25         protected BigInteger getAsBigInteger(Object element)
26         {
27                 MemoryTableRow row = (MemoryTableRow) element;
28                 return row.getMemory().getCellAsBigInteger(row.address);
29         }
30
31         @Override
32         public int getBitLength(Object element)
33         {
34                 return ((MemoryTableRow) element).getMemory().getDefinition().getCellWidth();
35         }
36 }