package com.gx.obe.component.text;

import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;

import com.gx.obe.bind.view.ChangeListener;
import com.gx.obe.bind.view.RView;
import com.gx.obe.component.verify.IntegerVerifyListener;

public class IntegerText extends Text implements RView<Integer> {
	
	public IntegerText(Composite parent, int style) {
		super(parent, style);
		addVerifyListener(new IntegerVerifyListener(false));
	}
	
	@Override
	public void addChangeListener(ChangeListener changeListener) {
		addModifyListener(e -> changeListener.change());
	}
	
	@Override
	public Integer get() {
		String text = getText();
		if (text.isEmpty()) return null;
		return Integer.valueOf(text);
	}
	
	@Override
	protected void checkSubclass() {}
	
}