blob: ecb1a6f457ff458321223514a0062c34fec88122 [file] [log] [blame]
package org.eclipse.osbp.vaaclipse.addons.softwarefactory.problems;
import java.util.Locale;
import org.eclipse.e4.core.contexts.IEclipseContext;
import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService;
import org.eclipse.osbp.ui.api.user.IUser;
import com.vaadin.server.ClientConnector.DetachListener;
import com.vaadin.ui.Window;
public class ProblemsPopup extends Window implements DetachListener, IUser.UserLocaleListener {
/**
*
*/
private static final long serialVersionUID = -1106131179854247707L;
private ProblemsViewContent problemsViewContent;
private transient IDSLMetadataService dslMetadataService;
public ProblemsPopup(IEclipseContext eclipseContext, IUser user) {
super();
dslMetadataService = eclipseContext.get(IDSLMetadataService.class);
super.setLocale(user.getLocale());
this.addDetachListener(this);
setClosable(true);
setModal(false);
setCaption(dslMetadataService.translate(user.getLocale().toLanguageTag(), "validationReport"));
problemsViewContent = new ProblemsViewContent();
setContent(problemsViewContent.createComponents(eclipseContext, user.getLocale(), this));
user.addUserLocaleListener(this);
}
@Override
public void detach(DetachEvent event) {
problemsViewContent.setVisible(false);
}
@Override
public void localeChanged(Locale locale) {
super.setLocale(locale);
setCaption(dslMetadataService.translate(locale.toLanguageTag(), "validationReport"));
if(problemsViewContent != null) {
problemsViewContent.setLocale(locale);
}
}
}