Fixed a bug in Am2900; created dlatch8/80; relayouted some components
[Mograsim.git] / net.mograsim.plugin.core / src / net / mograsim / plugin / tables / memory / NumberVerifyListener.java
1 package net.mograsim.plugin.tables.memory;
2
3 import org.eclipse.swt.events.VerifyEvent;
4 import org.eclipse.swt.events.VerifyListener;
5 import org.eclipse.swt.widgets.Text;
6
7 import net.mograsim.plugin.asm.AsmNumberUtil;
8 import net.mograsim.plugin.asm.AsmNumberUtil.NumberType;
9
10 public class NumberVerifyListener implements VerifyListener
11 {
12
13         @Override
14         public void verifyText(VerifyEvent e)
15         {
16                 String text = computeModifiedText(e);
17                 e.doit = !NumberType.NONE.equals(AsmNumberUtil.prefixOfType(text));
18         }
19
20         private static String computeModifiedText(VerifyEvent e)
21         {
22                 String modifiedText = ((Text) e.getSource()).getText();
23                 modifiedText = modifiedText.substring(0, e.start).concat(e.text).concat(modifiedText.substring(e.end));
24                 return modifiedText;
25         }
26 }