package br.com.etyllica.gui.base;
import br.com.etyllica.core.event.GUIEvent;
import br.com.etyllica.core.graphics.Graphics;
import br.com.etyllica.gui.RadioGroup;
import br.com.etyllica.gui.label.BaseRadioLabel;
/**
* Radio Button component
*
* @author yuripourre
*
*/
public class BaseRadioButton extends BaseCheckBox {
private RadioGroup group;
private String value;
public BaseRadioButton(int x, int y) {
this(x,y, 22, 22);
}
public BaseRadioButton(int x, int y, int w, int h) {
super(x,y,w,h);
checker = new BaseRadioLabel(x, y, w, h);
}
@Override
protected void leftClick() {
check();
}
@Override
public void updateEvent(GUIEvent event) {
// TODO Auto-generated method stub
}
@Override
public void draw(Graphics g) {
g.setColor(getTheme().getBackgroundColor());
g.fillOval(x, y, w, h);
if(!mouseOver) {
g.setColor(getTheme().getTextFieldWithoutFocusColor());
}else{
g.setColor(getTheme().getTextFieldOnMouseColor());
}
g.drawOval(x, y, w, h);
g.setColor(getTheme().getTextFieldWithoutFocusColor());
if (isChecked()) {
g.fillCircle(x+w/2, y+h/2, w/5);
}
}
public RadioGroup getGroup() {
return group;
}
public void setGroup(RadioGroup group) {
this.group = group;
}
@Override
public boolean onMouse(int mx, int my) {
return colideCirclePoint(mx, my);
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
@Override
public boolean isChecked() {
if (group != null) {
return this == group.getChecked();
}
return checked;
}
public void check() {
if(!isChecked()) {
if (group != null) {
group.check(this);
}
}
}
}