package edu.vserver.exercises.math.essentials.layout;
import java.io.Serializable;
import com.vaadin.event.MouseEvents.ClickEvent;
import com.vaadin.event.MouseEvents.ClickListener;
import com.vaadin.ui.Panel;
public class ToggleButton extends Panel implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1027520780276478865L;
private boolean toggle = false;
private String onStyle, offStyle, onCaption, offCaption;
private static ClickListener cl = new ClickListener() {
/**
*
*/
private static final long serialVersionUID = 427222284615169728L;
@Override
public void click(ClickEvent event) {
ToggleButton btn = (ToggleButton) event.getComponent();
btn.toggle();
}
};
public ToggleButton(boolean toggle, String offStyle, String onStyle,
String onCaption, String offCaption) {
super((!toggle ? onCaption : offCaption));
this.toggle = !toggle;
this.onStyle = onStyle;
this.offStyle = offStyle;
this.onCaption = onCaption;
this.offCaption = offCaption;
addClickListener(cl);
toggle();
}
public boolean getToggle() {
return toggle;
}
public void toggle() {
toggle = !toggle;
if (toggle) {
setCaption(onCaption);
setStyleName(onStyle);
} else {
setCaption(offCaption);
setStyleName(offStyle);
}
}
}