| package org.eclipse.osbp.utils.vaadin.problems; |
| |
| import java.util.Locale; |
| |
| import org.eclipse.e4.core.contexts.IEclipseContext; |
| import org.eclipse.osbp.runtime.common.event.EventDispatcherEvent; |
| import org.eclipse.osbp.runtime.common.event.EventDispatcherEvent.EventDispatcherCommand; |
| import org.eclipse.osbp.runtime.common.event.IEventDispatcher; |
| import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService; |
| |
| import com.vaadin.server.ClientConnector.DetachListener; |
| import com.vaadin.ui.Window; |
| |
| public class ProblemsPopup extends Window implements DetachListener { |
| /** |
| * |
| */ |
| private static final long serialVersionUID = -1106131179854247707L; |
| private transient IEventDispatcher eventDispatcher; |
| private ProblemsViewContent problemsViewContent; |
| private String sender; |
| private String topic; |
| private transient IDSLMetadataService dslMetadataService; |
| |
| public ProblemsPopup(IEclipseContext eclipseContext, Locale locale, String sender, String topic) { |
| super(); |
| eventDispatcher = eclipseContext.get(IEventDispatcher.class); |
| dslMetadataService = eclipseContext.get(IDSLMetadataService.class); |
| this.sender = sender; |
| this.topic = topic; |
| super.setLocale(locale); |
| this.addDetachListener(this); |
| setClosable(true); |
| setModal(false); |
| setCaption(dslMetadataService.translate(locale.toLanguageTag(), "validationReport")); |
| problemsViewContent = new ProblemsViewContent(); |
| setContent(problemsViewContent.createComponents(eclipseContext, locale, sender, topic)); |
| setWidth("550px"); |
| } |
| |
| @Override |
| public void setLocale(Locale locale) { |
| super.setLocale(locale); |
| setCaption(dslMetadataService.translate(locale.toLanguageTag(), "validationReport")); |
| if(problemsViewContent != null) { |
| problemsViewContent.setLocale(locale); |
| } |
| } |
| |
| @Override |
| public void detach(DetachEvent event) { |
| EventDispatcherEvent evt = new EventDispatcherEvent(EventDispatcherCommand.CLOSE, topic, sender); |
| eventDispatcher.sendEvent(evt); |
| } |
| |
| } |