mirror of
https://github.com/processing/processing4.git
synced 2026-02-02 13:21:07 +01:00
Remove dependencies on Error Checker Service
This commit is contained in:
@@ -1619,7 +1619,7 @@ public class JavaEditor extends Editor {
|
||||
item = Toolkit.newJMenuItem(Language.text("menu.debug.show_sketch_outline"), KeyEvent.VK_L);
|
||||
item.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
Base.log("Show Sketch Outline:");
|
||||
Messages.log("Show Sketch Outline:");
|
||||
errorCheckerService.getASTGenerator().showSketchOutline();
|
||||
}
|
||||
});
|
||||
@@ -1628,7 +1628,7 @@ public class JavaEditor extends Editor {
|
||||
item = Toolkit.newJMenuItem(Language.text("menu.debug.show_tabs_list"), KeyEvent.VK_Y);
|
||||
item.addActionListener(new ActionListener() {
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
Base.log("Show Tab Outline:");
|
||||
Messages.log("Show Tab Outline:");
|
||||
errorCheckerService.getASTGenerator().showTabOutline();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -28,7 +28,6 @@ import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.MouseMotionAdapter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import javax.swing.JPanel;
|
||||
|
||||
@@ -119,7 +119,7 @@ import com.google.classpath.RegExpResourceFilter;
|
||||
@SuppressWarnings({ "unchecked" })
|
||||
public class ASTGenerator {
|
||||
protected final ErrorCheckerService errorCheckerService;
|
||||
protected JavaEditor editor;
|
||||
protected final JavaEditor editor;
|
||||
public DefaultMutableTreeNode codeTree = new DefaultMutableTreeNode();
|
||||
|
||||
protected JFrame frmASTView;
|
||||
@@ -139,9 +139,9 @@ public class ASTGenerator {
|
||||
protected JLabel lblRefactorOldName;
|
||||
|
||||
|
||||
public ASTGenerator(ErrorCheckerService ecs) {
|
||||
public ASTGenerator(JavaEditor editor, ErrorCheckerService ecs) {
|
||||
this.editor = editor;
|
||||
this.errorCheckerService = ecs;
|
||||
this.editor = ecs.getEditor();
|
||||
setupGUI();
|
||||
//addCompletionPopupListner();
|
||||
addListeners();
|
||||
@@ -809,7 +809,6 @@ public class ASTGenerator {
|
||||
*/
|
||||
public List<CompletionCandidate> preparePredictions(final String pdePhrase,
|
||||
final int line) {
|
||||
ErrorCheckerService errorCheckerService = editor.getErrorChecker();
|
||||
ASTNode astRootNode = (ASTNode) errorCheckerService.getLatestCU().types().get(0);
|
||||
|
||||
// If the parsed code contains pde enhancements, take 'em out.
|
||||
@@ -1650,7 +1649,6 @@ public class ASTGenerator {
|
||||
int pdeLineNumber = lineNumber + errorCheckerService.mainClassOffset;
|
||||
// log("----getASTNodeAt---- CU State: "
|
||||
// + errorCheckerService.compilationUnitState);
|
||||
editor = errorCheckerService.getEditor();
|
||||
int codeIndex = editor.getSketch().getCodeIndex(editor.getCurrentTab());
|
||||
if (codeIndex > 0) {
|
||||
for (int i = 0; i < codeIndex; i++) {
|
||||
@@ -2349,15 +2347,15 @@ public class ASTGenerator {
|
||||
public void showSketchOutline() {
|
||||
if (editor.hasJavaTabs()) return;
|
||||
|
||||
sketchOutline = new SketchOutline(codeTree, errorCheckerService);
|
||||
sketchOutline = new SketchOutline(editor, codeTree);
|
||||
sketchOutline.show();
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
public void showTabOutline() {
|
||||
new TabOutline(errorCheckerService).show();
|
||||
new TabOutline(editor).show();
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
public int javaCodeOffsetToLineStartOffset(int line, int jOffset){
|
||||
|
||||
@@ -176,10 +176,11 @@ public class ErrorCheckerService {
|
||||
public static final String IMPORT_REGEX =
|
||||
"(?:^|;)\\s*(import\\s+)((?:static\\s+)?\\S+)(\\s*;)";
|
||||
|
||||
public ErrorCheckerService(JavaEditor debugEditor) {
|
||||
this.editor = debugEditor;
|
||||
xqpreproc = new XQPreprocessor(this);
|
||||
astGenerator = new ASTGenerator(this);
|
||||
|
||||
public ErrorCheckerService(JavaEditor editor) {
|
||||
this.editor = editor;
|
||||
xqpreproc = new XQPreprocessor(editor);
|
||||
astGenerator = new ASTGenerator(editor, this);
|
||||
loadCompClass = true;
|
||||
}
|
||||
|
||||
@@ -318,7 +319,7 @@ public class ErrorCheckerService {
|
||||
|
||||
|
||||
public void addListener(Document doc) {
|
||||
doc.addDocumentListener(sketchChangedListener);
|
||||
if (doc != null) doc.addDocumentListener(sketchChangedListener);
|
||||
}
|
||||
|
||||
|
||||
@@ -1516,10 +1517,6 @@ public class ErrorCheckerService {
|
||||
}
|
||||
|
||||
|
||||
public JavaEditor getEditor() {
|
||||
return editor;
|
||||
}
|
||||
|
||||
public ArrayList<ImportStatement> getProgramImports() {
|
||||
return programImports;
|
||||
}
|
||||
|
||||
@@ -61,21 +61,20 @@ import processing.mode.java.JavaEditor;
|
||||
|
||||
|
||||
public class SketchOutline {
|
||||
protected final JavaEditor editor;
|
||||
|
||||
protected JFrame frmOutlineView;
|
||||
protected ErrorCheckerService errorCheckerService;
|
||||
protected JScrollPane jsp;
|
||||
protected DefaultMutableTreeNode soNode, tempNode;
|
||||
protected final JTree soTree;
|
||||
protected JTextField searchField;
|
||||
protected JavaEditor editor;
|
||||
protected boolean internalSelection = false;
|
||||
|
||||
ImageIcon classIcon, fieldIcon, methodIcon;
|
||||
|
||||
|
||||
public SketchOutline(DefaultMutableTreeNode codeTree, ErrorCheckerService ecs) {
|
||||
errorCheckerService = ecs;
|
||||
editor = ecs.getEditor();
|
||||
public SketchOutline(JavaEditor editor, DefaultMutableTreeNode codeTree) {
|
||||
this.editor = editor;
|
||||
soNode = new DefaultMutableTreeNode();
|
||||
generateSketchOutlineTree(soNode, codeTree);
|
||||
soNode = (DefaultMutableTreeNode) soNode.getChildAt(0);
|
||||
@@ -95,7 +94,7 @@ public class SketchOutline {
|
||||
frmOutlineView = new JFrame();
|
||||
frmOutlineView.setAlwaysOnTop(true);
|
||||
frmOutlineView.setUndecorated(true);
|
||||
Point tp = errorCheckerService.getEditor().getTextArea().getLocationOnScreen();
|
||||
Point tp = editor.getTextArea().getLocationOnScreen();
|
||||
|
||||
int minWidth = (int) (editor.getMinimumSize().width * 0.7f);
|
||||
int maxWidth = (int) (editor.getMinimumSize().width * 0.9f);
|
||||
@@ -130,10 +129,10 @@ public class SketchOutline {
|
||||
frmOutlineView.add(panelBottom);
|
||||
frmOutlineView.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||
frmOutlineView.pack();
|
||||
frmOutlineView.setBounds(tp.x + errorCheckerService.getEditor().getTextArea().getWidth() - minWidth, tp.y, minWidth,
|
||||
frmOutlineView.setBounds(tp.x + editor.getTextArea().getWidth() - minWidth, tp.y, minWidth,
|
||||
Math.min(editor.getTextArea().getHeight(), frmOutlineView.getHeight()));
|
||||
frmOutlineView.setMinimumSize(new Dimension(minWidth, Math.min(errorCheckerService.getEditor().getTextArea().getHeight(), frmOutlineView.getHeight())));
|
||||
frmOutlineView.setLocation(tp.x + errorCheckerService.getEditor().getTextArea().getWidth()/2 - frmOutlineView.getWidth()/2,
|
||||
frmOutlineView.setMinimumSize(new Dimension(minWidth, Math.min(editor.getTextArea().getHeight(), frmOutlineView.getHeight())));
|
||||
frmOutlineView.setLocation(tp.x + editor.getTextArea().getWidth()/2 - frmOutlineView.getWidth()/2,
|
||||
frmOutlineView.getY() + (editor.getTextArea().getHeight() - frmOutlineView.getHeight()) / 2);
|
||||
addListeners();
|
||||
}
|
||||
@@ -221,7 +220,7 @@ public class SketchOutline {
|
||||
protected Object doInBackground() throws Exception {
|
||||
String text = searchField.getText().toLowerCase();
|
||||
tempNode = new DefaultMutableTreeNode();
|
||||
filterTree(text, tempNode, soNode);
|
||||
filterTree(text, tempNode, soNode); // TODO: is using soNode thread-safe? [jv]
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -63,13 +63,11 @@ public class TabOutline {
|
||||
protected JTextField searchField;
|
||||
protected JLabel lblCaption;
|
||||
protected JavaEditor editor;
|
||||
protected ErrorCheckerService errorCheckerService;
|
||||
protected boolean internalSelection = false;
|
||||
|
||||
|
||||
public TabOutline(ErrorCheckerService ecs) {
|
||||
errorCheckerService = ecs;
|
||||
editor = ecs.getEditor();
|
||||
public TabOutline(JavaEditor editor) {
|
||||
this.editor = editor;
|
||||
createGUI();
|
||||
}
|
||||
|
||||
@@ -78,7 +76,7 @@ public class TabOutline {
|
||||
frmOutlineView = new JFrame();
|
||||
frmOutlineView.setAlwaysOnTop(true);
|
||||
frmOutlineView.setUndecorated(true);
|
||||
Point tp = errorCheckerService.getEditor().getTextArea().getLocationOnScreen();
|
||||
Point tp = editor.getTextArea().getLocationOnScreen();
|
||||
lblCaption = new JLabel("Tabs List (type to filter)");
|
||||
int minWidth = estimateFrameWidth();
|
||||
int maxWidth = (int) (editor.getMinimumSize().width * 0.9f);
|
||||
@@ -108,14 +106,14 @@ public class TabOutline {
|
||||
frmOutlineView.add(panelBottom);
|
||||
frmOutlineView.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
|
||||
frmOutlineView.pack();
|
||||
frmOutlineView.setBounds(tp.x + errorCheckerService.getEditor().getTextArea().getWidth() - minWidth,
|
||||
frmOutlineView.setBounds(tp.x + editor.getTextArea().getWidth() - minWidth,
|
||||
tp.y,
|
||||
minWidth,
|
||||
estimateFrameHeight());
|
||||
frmOutlineView.setMinimumSize(new Dimension(minWidth, Math
|
||||
.min(errorCheckerService.getEditor().getTextArea().getHeight(),
|
||||
.min(editor.getTextArea().getHeight(),
|
||||
frmOutlineView.getHeight())));
|
||||
frmOutlineView.setLocation(tp.x + errorCheckerService.getEditor().getTextArea().getWidth()/2 - frmOutlineView.getWidth()/2,
|
||||
frmOutlineView.setLocation(tp.x + editor.getTextArea().getWidth()/2 - frmOutlineView.getWidth()/2,
|
||||
frmOutlineView.getY() + (editor.getTextArea().getHeight() - frmOutlineView.getHeight()) / 2);
|
||||
DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) tabTree.getCellRenderer();
|
||||
renderer.setLeafIcon(null);
|
||||
@@ -202,7 +200,7 @@ public class TabOutline {
|
||||
protected Object doInBackground() throws Exception {
|
||||
String text = searchField.getText().toLowerCase();
|
||||
tempNode = new DefaultMutableTreeNode();
|
||||
filterTree(text, tempNode, tabNode);
|
||||
filterTree(text, tempNode, tabNode); // TODO: is using tabNode thread-safe? [jv]
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ import org.eclipse.text.edits.TextEdit;
|
||||
|
||||
import processing.app.Util;
|
||||
import processing.data.StringList;
|
||||
import processing.mode.java.JavaEditor;
|
||||
import processing.mode.java.preproc.PdePreprocessor;
|
||||
|
||||
|
||||
@@ -47,17 +48,17 @@ import processing.mode.java.preproc.PdePreprocessor;
|
||||
public class XQPreprocessor {
|
||||
private ASTRewrite rewrite = null;
|
||||
private List<ImportStatement> extraImports;
|
||||
private ErrorCheckerService ecs;
|
||||
private final JavaEditor editor;
|
||||
private String[] coreImports;
|
||||
private String[] defaultImports;
|
||||
|
||||
|
||||
public XQPreprocessor(ErrorCheckerService ecs) {
|
||||
this.ecs = ecs;
|
||||
public XQPreprocessor(JavaEditor editor) {
|
||||
this.editor = editor;
|
||||
|
||||
// get parameters from the main preproc
|
||||
// PdePreprocessor p = new PdePreprocessor(null);
|
||||
PdePreprocessor p = ecs.editor.createPreprocessor(null);
|
||||
PdePreprocessor p = editor.createPreprocessor(null);
|
||||
defaultImports = p.getDefaultImports();
|
||||
coreImports = p.getCoreImports();
|
||||
}
|
||||
@@ -105,16 +106,16 @@ public class XQPreprocessor {
|
||||
for (String imp : defaultImports) {
|
||||
imports.append("import " + imp + ";");
|
||||
}
|
||||
if (ecs.getEditor().getSketch().getCodeFolder().exists()) {
|
||||
if (editor.getSketch().getCodeFolder().exists()) {
|
||||
StringList codeFolderPackages = null;
|
||||
String codeFolderClassPath = Util.contentsToClassPath(ecs.getEditor().getSketch().getCodeFolder());
|
||||
String codeFolderClassPath = Util.contentsToClassPath(editor.getSketch().getCodeFolder());
|
||||
codeFolderPackages = Util.packageListFromClassPath(codeFolderClassPath);
|
||||
if (codeFolderPackages != null) {
|
||||
ecs.codeFolderImports.clear();
|
||||
editor.getErrorChecker().codeFolderImports.clear();
|
||||
for (String item : codeFolderPackages) {
|
||||
// Messages.log("CF import " + item);
|
||||
imports.append("import " + item + ".*;");
|
||||
ecs.codeFolderImports.add(new ImportStatement("import " + item + ".*;",0,0));
|
||||
editor.getErrorChecker().codeFolderImports.add(new ImportStatement("import " + item + ".*;",0,0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user