package org.isatools.isacreator.gui.menu; import org.isatools.errorreporter.model.ISAFileErrorReport; import org.isatools.errorreporter.ui.ErrorReporterView; import org.isatools.isacreator.managers.ApplicationManager; import org.isatools.isacreator.settings.ISAcreatorProperties; import java.awt.*; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; /** * Created by the ISATeam. * User: agbeltran * Date: 26/10/2012 * Time: 12:12 * * @author <a href="mailto:alejandra.gonzalez.beltran@gmail.com">Alejandra Gonzalez-Beltran</a> */ public class ErrorMenu extends MenuUIComponent { private java.util.List<ISAFileErrorReport> errors = null; boolean showContinue = false; private MenuUIComponent nextMenu = null; public ErrorMenu(ISAcreatorMenu menu){ super(menu); } public ErrorMenu(ISAcreatorMenu menu, java.util.List<ISAFileErrorReport> errorList, boolean showC, MenuUIComponent next){ super(menu); errors = errorList; showContinue = showC; nextMenu = next; } @Override public void createGUI() { ErrorReporterView view = new ErrorReporterView(errors, true); view.createGUI(); ErrorReportWrapper errorReportWithControls = new ErrorReportWrapper(view, showContinue); errorReportWithControls.createGUI(); errorReportWithControls.setPreferredSize(new Dimension(400, 400)); errorReportWithControls.addPropertyChangeListener(ErrorReportWrapper.BACK_BUTTON_CLICKED_EVENT, new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent propertyChangeEvent) { menu.changeView(nextMenu); revalidate(); } }); if (showContinue) { errorReportWithControls.addPropertyChangeListener(ErrorReportWrapper.CONTINUE_BUTTON_CLICKED_EVENT, new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent propertyChangeEvent) { ApplicationManager.getCurrentApplicationInstance().getDataEntryEnvironment().getInvestigation().setLastConfigurationUsed( ISAcreatorProperties.getProperty(ISAcreatorProperties.CURRENT_CONFIGURATION)); menu.hideGlassPane(); ApplicationManager.getCurrentApplicationInstance().setCurrentPage(ApplicationManager.getCurrentApplicationInstance().getDataEntryEnvironment()); } }); } menu.stopProgressIndicator(); menu.resetViewAfterProgress(); menu.changeView(errorReportWithControls); revalidate(); } }