package br.com.etyllica.gui.label;
import java.util.Map;
import br.com.etyllica.core.Configuration;
import br.com.etyllica.core.event.GUIEvent;
import br.com.etyllica.core.i18n.Language;
/**
*
* @author yuripourre
*
*/
public class MultiLangLabel extends TextLabel {
private Map<Language,String> texts;
public MultiLangLabel(Map<Language,String> texts) {
this(0, 0, texts);
}
public MultiLangLabel(int x, int y, Map<Language,String> texts) {
this(x,y,0,texts);
}
public MultiLangLabel(int x, int y, int w, Map<Language,String> texts) {
super(x, y, w);
this.texts = texts;
Language lang = Configuration.getInstance().getLanguage();
reloadText(lang);
}
@Override
public void updateEvent(GUIEvent event){
if(event==GUIEvent.LOST_FOCUS){
onFocus = false;
}else if(event==GUIEvent.GAIN_FOCUS){
onFocus = true;
}else if(event==GUIEvent.LANGUAGE_CHANGED){
reloadText(Configuration.getInstance().getLanguage());
}
}
public Map<Language, String> getTexts() {
return texts;
}
public void setTexts(Map<Language, String> texts) {
this.texts = texts;
}
private void reloadText(Language lang){
if(texts.containsKey(lang)){
setText(texts.get(lang));
}else{
setText(texts.get(Language.ENGLISH_US));
}
}
}