more ErrorTable into processing.app.ui

This commit is contained in:
Ben Fry
2015-08-22 14:57:19 -04:00
parent 6c01bd3471
commit 30145b3540
4 changed files with 47 additions and 69 deletions
+22 -3
View File
@@ -110,7 +110,7 @@ public abstract class Editor extends JFrame implements RunnerListener {
protected JSplitPane splitPane;
protected EditorFooter footer;
protected EditorConsole console;
// protected EditorLineStatus lineStatus;
protected ErrorTable errorTable;
// currently opened program
protected Sketch sketch;
@@ -433,8 +433,7 @@ public abstract class Editor extends JFrame implements RunnerListener {
public EditorFooter createFooter() {
EditorFooter ef = new EditorFooter(this);
console = new EditorConsole(this);
ef.addPanel(console, Language.text("editor.footer.console"), "/lib/footer/console");
addConsole(); // console is required
return ef;
/*
@@ -457,6 +456,21 @@ public abstract class Editor extends JFrame implements RunnerListener {
}
public void addConsole() {
console = new EditorConsole(this);
footer.addPanel(console, Language.text("editor.footer.console"), "/lib/footer/console");
}
public void addErrorTable() {
JScrollPane errorTableScrollPane = new JScrollPane();
errorTable = new ErrorTable(this);
errorTableScrollPane.setBorder(BorderFactory.createEmptyBorder());
errorTableScrollPane.setViewportView(errorTable);
footer.addPanel(errorTableScrollPane, Language.text("editor.footer.errors"), "/lib/footer/error");
}
public EditorState getEditorState() {
return state;
}
@@ -2900,6 +2914,11 @@ public abstract class Editor extends JFrame implements RunnerListener {
// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
public ErrorTable getErrorTable() {
return errorTable;
}
/**
* Called by ErrorTable when a row is selected. Action taken is specific
* to each Mode, based on the object passed in.
@@ -18,7 +18,7 @@
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
package processing.mode.java.pdex;
package processing.app.ui;
import java.awt.Color;
import java.awt.Component;
@@ -43,7 +43,7 @@ import processing.app.Mode;
import processing.app.ui.Editor;
public class XQErrorTable extends JTable {
public class ErrorTable extends JTable {
Editor editor;
static final String[] columnNames = {
@@ -67,28 +67,7 @@ public class XQErrorTable extends JTable {
Color rowBgColor;
/*
class Item {
String message;
String filename;
int line;
}
*/
public void clear() {
DefaultTableModel dtm = (DefaultTableModel) getModel();
dtm.setRowCount(0);
}
public void append(Object data, String message, String filename, String line) {
DefaultTableModel dtm = (DefaultTableModel) getModel();
dtm.addRow(new Object[] { data, message, filename, line });
}
public XQErrorTable(final Editor editor) {
public ErrorTable(final Editor editor) {
super(new DefaultTableModel(columnNames, 0));
this.editor = editor;
@@ -114,7 +93,7 @@ public class XQErrorTable extends JTable {
@Override
synchronized public void mouseClicked(MouseEvent e) {
try {
int row = ((XQErrorTable) e.getSource()).getSelectedRow();
int row = ((ErrorTable) e.getSource()).getSelectedRow();
Object data = getModel().getValueAt(row, 0);
int clickCount = e.getClickCount();
if (clickCount == 1) {
@@ -190,6 +169,18 @@ public class XQErrorTable extends JTable {
}
public void clearRows() {
DefaultTableModel dtm = (DefaultTableModel) getModel();
dtm.setRowCount(0);
}
public void addRow(Object data, String message, String filename, String line) {
DefaultTableModel dtm = (DefaultTableModel) getModel();
dtm.addRow(new Object[] { data, message, filename, line });
}
@Override
public boolean isCellEditable(int rowIndex, int colIndex) {
return false; // Disallow the editing of any cell
+5 -38
View File
@@ -14,10 +14,7 @@ import java.util.logging.Logger;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;
import javax.swing.event.*;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
@@ -26,23 +23,11 @@ import org.eclipse.jdt.core.compiler.IProblem;
import processing.core.PApplet;
import processing.data.StringList;
import processing.app.*;
import processing.app.contrib.AvailableContribution;
import processing.app.contrib.Contribution;
import processing.app.contrib.ContributionListing;
import processing.app.contrib.ContributionManager;
import processing.app.contrib.ToolContribution;
import processing.app.contrib.*;
import processing.app.syntax.JEditTextArea;
import processing.app.syntax.PdeTextAreaDefaults;
import processing.app.ui.About;
import processing.app.ui.ColorChooser;
import processing.app.ui.Editor;
import processing.app.ui.EditorException;
import processing.app.ui.EditorFooter;
import processing.app.ui.EditorHeader;
import processing.app.ui.EditorState;
import processing.app.ui.EditorToolbar;
import processing.app.ui.*;
import processing.app.ui.Toolkit;
import processing.app.ui.Welcome;
import processing.mode.java.debug.LineBreakpoint;
import processing.mode.java.debug.LineHighlight;
import processing.mode.java.debug.LineID;
@@ -51,7 +36,6 @@ import processing.mode.java.pdex.LineMarker;
import processing.mode.java.pdex.ErrorMessageSimplifier;
import processing.mode.java.pdex.JavaTextArea;
import processing.mode.java.pdex.Problem;
import processing.mode.java.pdex.XQErrorTable;
import processing.mode.java.runner.Runner;
import processing.mode.java.tweak.ColorControlBox;
import processing.mode.java.tweak.Handle;
@@ -87,8 +71,6 @@ public class JavaEditor extends Editor {
private MarkerColumn errorColumn;
protected JScrollPane errorTableScrollPane;
protected XQErrorTable errorTable;
static final int ERROR_TAB_INDEX = 0;
private boolean hasJavaTabs;
@@ -212,17 +194,7 @@ public class JavaEditor extends Editor {
@Override
public EditorFooter createFooter() {
EditorFooter footer = super.createFooter();
// Adding Error Table in a scroll pane
errorTableScrollPane = new JScrollPane();
errorTable = new XQErrorTable(this);
// errorTableScrollPane.setBorder(new EmptyBorder(2, 2, 2, 2));
// errorTableScrollPane.setBorder(new EtchedBorder());
errorTableScrollPane.setBorder(BorderFactory.createEmptyBorder());
// errorTableScrollPane.setBorder(new EmptyBorder(0, Editor.LEFT_GUTTER, 0, 0));
errorTableScrollPane.setViewportView(errorTable);
footer.addPanel(errorTableScrollPane, Language.text("editor.footer.errors"), "/lib/footer/error");
addErrorTable();
return footer;
}
@@ -2561,11 +2533,6 @@ public class JavaEditor extends Editor {
// }
public XQErrorTable getErrorTable() {
return errorTable;
}
public void errorTableClick(Object item) {
Problem p = (Problem) item;
errorCheckerService.scrollToErrorLine(p);
@@ -2680,7 +2647,7 @@ public class JavaEditor extends Editor {
* the error button at the bottom of the PDE
*/
public void updateErrorToggle() {
footer.setNotification(errorTableScrollPane,
footer.setNotification(errorTable.getParent(), //errorTableScrollPane,
JavaMode.errorCheckEnabled &&
errorCheckerService.hasErrors());
// String title = Language.text("editor.footer.errors");
@@ -56,6 +56,7 @@ import processing.app.Util;
import processing.app.syntax.SyntaxDocument;
import processing.app.ui.Editor;
import processing.app.ui.EditorStatus;
import processing.app.ui.ErrorTable;
import processing.core.PApplet;
import processing.mode.java.JavaMode;
import processing.mode.java.JavaEditor;
@@ -918,8 +919,8 @@ public class ErrorCheckerService implements Runnable {
*/
public void updateErrorTable() {
try {
XQErrorTable table = editor.getErrorTable();
table.clear();
ErrorTable table = editor.getErrorTable();
table.clearRows();
// String[][] errorData = new String[problemsList.size()][3];
// int index = 0;
@@ -943,7 +944,7 @@ public class ErrorCheckerService implements Runnable {
}
}
table.append(p, message,
table.addRow(p, message,
sketch.getCode(p.getTabIndex()).getPrettyName(),
Integer.toString(p.getLineNumber() + 1));
// Added +1 because lineNumbers internally are 0-indexed