/* * codjo.net * * Common Apache License 2.0 */ package net.codjo.segmentation.gui.wizard; import net.codjo.gui.toolkit.util.ErrorDialog; import net.codjo.mad.client.request.Result; import net.codjo.mad.gui.framework.AbstractGuiAction; import net.codjo.mad.gui.framework.GuiContext; import net.codjo.mad.gui.framework.SimpleListGui; import java.awt.event.ActionEvent; import javax.swing.UIManager; import org.apache.log4j.Logger; /** * Action permettant d'afficher les erreurs de segmentation */ public class LogWindowAction extends AbstractGuiAction { private static final Logger APP = Logger.getLogger(ProgressStep.class); private Result anomalieResult; private final String preferenceId; private AnomalyLogWindowCustomizer customizer; public LogWindowAction(GuiContext ctxt, Result anomalieResult, String preferenceId, AnomalyLogWindowCustomizer customizer) { super(ctxt, "Anomalies segmentation", "Anomalies de segmentation"); this.anomalieResult = anomalieResult; this.preferenceId = preferenceId; this.customizer = customizer; } public void actionPerformed(ActionEvent event) { displayNewWindow(); } private void displayNewWindow() { try { LogWindowLogic logic = new LogWindowLogic(getGuiContext(), anomalieResult, preferenceId); if (customizer != null) { customizer.customizeWindow(logic); } SimpleListGui gui = logic.getGui(); gui.setFrameIcon(UIManager.getIcon("icon")); getDesktopPane().add(gui); gui.pack(); gui.setVisible(true); gui.setSelected(true); } catch (Exception ex) { String message = "Erreur lors de l'affichage des r�sultats de la segmentation."; APP.error(message, ex); ErrorDialog.show(getDesktopPane(), message, ex); } } }