The final restructured version for automatic build using maven tycho
[Mograsim.git] / plugins / net.mograsim.plugin.core / src / net / mograsim / plugin / tables / RadixSelector.java
1 package net.mograsim.plugin.tables;
2
3 import org.eclipse.swt.SWT;
4 import org.eclipse.swt.events.SelectionEvent;
5 import org.eclipse.swt.events.SelectionListener;
6 import org.eclipse.swt.widgets.Combo;
7 import org.eclipse.swt.widgets.Composite;
8 import org.eclipse.swt.widgets.Label;
9
10 import net.mograsim.plugin.asm.AsmNumberUtil.NumberType;
11
12 public class RadixSelector
13 {
14         private final Composite parent;
15         private final DisplaySettings target;
16         private Label label;
17         private Combo combo;
18
19         public RadixSelector(Composite parent, DisplaySettings target)
20         {
21                 this.parent = parent;
22                 this.target = target;
23                 setupRadixSelector();
24         }
25
26         private void setupRadixSelector()
27         {
28                 label = new Label(parent, SWT.NONE);
29                 label.setText("Radix: ");
30                 combo = new Combo(parent, SWT.READ_ONLY);
31
32                 String entries[] = new String[] { "Binary", "Octal", "Decimal", "Hexadecimal" };
33                 NumberType corTypes[] = new NumberType[] { NumberType.BINARY, NumberType.OCTAL, NumberType.DECIMAL, NumberType.HEXADECIMAL };
34                 combo.setItems(entries);
35                 combo.select(3);
36                 combo.addSelectionListener(new SelectionListener()
37                 {
38                         @Override
39                         public void widgetSelected(SelectionEvent e)
40                         {
41                                 int index = combo.getSelectionIndex();
42                                 if (index == -1)
43                                         target.setDataNumberType(NumberType.HEXADECIMAL);
44                                 else
45                                 {
46                                         target.setDataNumberType(corTypes[index]);
47                                 }
48                         }
49
50                         @Override
51                         public void widgetDefaultSelected(SelectionEvent e)
52                         {
53                                 widgetSelected(e);
54                         }
55                 });
56         }
57
58         public Label getLabel()
59         {
60                 return label;
61         }
62
63         public Combo getCombo()
64         {
65                 return combo;
66         }
67 }