/* * FindBugs - Find bugs in Java programs * Copyright (C) 2003-2005, University of Maryland * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * AnalysisErrorDialog.java * * Created on June 5, 2003, 3:20 PM */ package edu.umd.cs.findbugs.gui; import edu.umd.cs.findbugs.BugReporter; import edu.umd.cs.findbugs.L10N; /** * A dialog to report errors that occured during analysis. * * @author David Hovemeyer */ public class AnalysisErrorDialog extends javax.swing.JDialog { private BugReporter reporter; /** * Creates new form AnalysisErrorDialog */ public AnalysisErrorDialog(java.awt.Frame parent, boolean modal, BugReporter reporter) { super(parent, modal); this.reporter = reporter; initComponents(); } public void generateContents() { reporter.reportQueuedErrors(); } /** * This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ private void initComponents() {//GEN-BEGIN:initComponents java.awt.GridBagConstraints gridBagConstraints; errorLabel = new javax.swing.JLabel(); errorMessageScrollPane = new javax.swing.JScrollPane(); errorMessageTextArea = new javax.swing.JTextPane(); jSeparator1 = new javax.swing.JSeparator(); leftSpacer = new javax.swing.JLabel(); rightSpacer = new javax.swing.JLabel(); okButton = new javax.swing.JButton(); analysisMenuBar = new javax.swing.JMenuBar(); editMenu = new javax.swing.JMenu(); selectAllMenuItem = new javax.swing.JMenuItem(); copyMenuItem = new javax.swing.JMenuItem(); getContentPane().setLayout(new java.awt.GridBagLayout()); setTitle("Analysis Errors"); setTitle(L10N.getLocalString("dlg.analysiserrors_ttl", "Analysis Errors")); addWindowListener(new java.awt.event.WindowAdapter() { @Override public void windowClosing(java.awt.event.WindowEvent evt) { closeDialog(evt); } }); errorLabel.setFont(new java.awt.Font("Dialog", 0, 12)); errorLabel.setText("Errors occured during the analysis:"); errorLabel.setText(L10N.getLocalString("dlg.analysiserror_lbl", "Errors occurred during analysis:")); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 3; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(6, 6, 3, 0); getContentPane().add(errorLabel, gridBagConstraints); errorMessageTextArea.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.LOWERED)); errorMessageTextArea.setEditable(false); errorMessageScrollPane.setViewportView(errorMessageTextArea); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(4, 6, 4, 6); getContentPane().add(errorMessageScrollPane, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; getContentPane().add(jSeparator1, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.weightx = 0.5; getContentPane().add(leftSpacer, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 3; gridBagConstraints.weightx = 0.5; getContentPane().add(rightSpacer, gridBagConstraints); okButton.setMnemonic('O'); okButton.setText("OK"); okButton.setText(L10N.getLocalString("dlg.ok_btn", "OK")); okButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { okButtonActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 3; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 0); getContentPane().add(okButton, gridBagConstraints); analysisMenuBar.setFont(new java.awt.Font("Dialog", 0, 12)); editMenu.setText("Edit"); editMenu.setFont(new java.awt.Font("Dialog", 0, 12)); L10N.localiseButton(editMenu, "menu.edit_menu", "&Edit", true); editMenu.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { editMenuActionPerformed(evt); } }); selectAllMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_A, java.awt.event.InputEvent.CTRL_MASK)); selectAllMenuItem.setFont(new java.awt.Font("Dialog", 0, 12)); selectAllMenuItem.setText("Select All"); L10N.localiseButton(selectAllMenuItem, "menu.selectall_item", "Select &All", true); selectAllMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { selectAllItemActionListener(evt); } }); editMenu.add(selectAllMenuItem); copyMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.CTRL_MASK)); copyMenuItem.setFont(new java.awt.Font("Dialog", 0, 12)); copyMenuItem.setText("Copy"); L10N.localiseButton(copyMenuItem, "menu.copy_item", "Copy", true); copyMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { copyMenuItemActionPerformed(evt); } }); editMenu.add(copyMenuItem); analysisMenuBar.add(editMenu); setJMenuBar(analysisMenuBar); pack(); }//GEN-END:initComponents private void copyMenuItemActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_copyMenuItemActionPerformed errorMessageTextArea.copy(); }//GEN-LAST:event_copyMenuItemActionPerformed private void selectAllItemActionListener(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_selectAllItemActionListener errorMessageTextArea.selectAll(); }//GEN-LAST:event_selectAllItemActionListener private void editMenuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editMenuActionPerformed // TODO add your handling code here: }//GEN-LAST:event_editMenuActionPerformed private void okButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okButtonActionPerformed closeDialog(null); }//GEN-LAST:event_okButtonActionPerformed /** * Closes the dialog */ private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog setVisible(false); dispose(); }//GEN-LAST:event_closeDialog private StringBuilder buf = new StringBuilder(); public void addLine(String line) { //System.out.println("Appending: " + line); int start = 0; int end = line.length() - 1; while(line.substring(start, end).length() - 100 > 50) { buf.append(line.substring(start, start + 99) + "-"); buf.append('\n'); start += 99; } buf.append(line.substring(start, end)); buf.append('\n'); } public void clear() { errorMessageTextArea.setText(""); } public void finish() { errorMessageTextArea.setText(buf.toString()); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JMenuBar analysisMenuBar; private javax.swing.JMenuItem copyMenuItem; private javax.swing.JMenu editMenu; private javax.swing.JLabel errorLabel; private javax.swing.JScrollPane errorMessageScrollPane; private javax.swing.JTextPane errorMessageTextArea; private javax.swing.JSeparator jSeparator1; private javax.swing.JLabel leftSpacer; private javax.swing.JButton okButton; private javax.swing.JLabel rightSpacer; private javax.swing.JMenuItem selectAllMenuItem; // End of variables declaration//GEN-END:variables }