Changed mnemonic X to use BitVector X; added X for integer immediates
[Mograsim.git] / plugins / net.mograsim.plugin.core / src / net / mograsim / plugin / tables / NumberColumnLabelProvider.java
1 package net.mograsim.plugin.tables;
2
3 import java.math.BigInteger;
4
5 import org.eclipse.jface.viewers.ColumnLabelProvider;
6
7 import net.mograsim.plugin.asm.AsmNumberUtil;
8
9 public abstract class NumberColumnLabelProvider extends ColumnLabelProvider
10 {
11         private final DisplaySettings displaySettings;
12
13         public NumberColumnLabelProvider(DisplaySettings displaySettings)
14         {
15                 this.displaySettings = displaySettings;
16         }
17
18         @Override
19         public String getText(Object element)
20         {
21                 BigInteger bi = getAsBigInteger(element);
22                 return bi == null ? "X" : AsmNumberUtil.toString(bi, displaySettings.getDataNumberType(), getBitLength(element));
23         }
24
25         public abstract BigInteger getAsBigInteger(Object element);
26
27         public abstract int getBitLength(Object element);
28 }