/* * Copyright 2010-2015 Institut Pasteur. * * This file is part of Icy. * * Icy is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Icy is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Icy. If not, see <http://www.gnu.org/licenses/>. */ package icy.gui.plugin; import icy.gui.frame.TitledFrame; import icy.gui.frame.error.ErrorReportFrame; import icy.gui.frame.progress.ProgressFrame; import icy.plugin.PluginDescriptor; import icy.system.IcyExceptionHandler; import icy.util.StringUtil; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.text.BadLocationException; import javax.swing.text.Document; /** * @deprecated Use {@link ErrorReportFrame} instead. */ @Deprecated public class PluginErrorReportFrame extends TitledFrame { // GUI PluginErrorReportPanel panel; /** * Create the panel. */ PluginErrorReportFrame(PluginDescriptor plugin, String devId, String title, String message) { super("Bug report", true, true, true, true); panel = new PluginErrorReportPanel(plugin, devId, title, message); panel.reportButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final ProgressFrame progressFrame = new ProgressFrame("Sending report..."); try { final Document commentDoc = panel.commentTextPane.getDocument(); final String comment = commentDoc.getText(0, commentDoc.getLength()); String error; if (!StringUtil.isEmpty(comment)) error = "Comment:\n" + comment; else error = ""; final Document errorDoc = panel.errorMessageTextPane.getDocument(); error = error + "\n\n" + errorDoc.getText(0, errorDoc.getLength()); IcyExceptionHandler.report(panel.plugin, panel.devId, error); } catch (BadLocationException ex) { System.err.println("Error while reporting error :"); IcyExceptionHandler.showErrorMessage(ex, true); } finally { progressFrame.close(); } close(); } }); panel.closeButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { close(); } }); mainPanel.add(panel, BorderLayout.CENTER); addToDesktopPane(); setSize(new Dimension(520, 450)); setVisible(true); requestFocus(); center(); } /** * @return the plugin */ public PluginDescriptor getPlugin() { return panel.plugin; } public String getDevId() { return panel.devId; } }