add createPreprocessor() to JavaEditor, so it can be overriden in the

editor of other modes
This commit is contained in:
codeanticode
2016-03-03 01:04:39 -05:00
parent 1bcce8b052
commit d4d86d4ac1
3 changed files with 26 additions and 15 deletions

View File

@@ -33,6 +33,7 @@ import processing.mode.java.pdex.ErrorCheckerService;
import processing.mode.java.pdex.LineMarker;
import processing.mode.java.pdex.JavaTextArea;
import processing.mode.java.pdex.Problem;
import processing.mode.java.preproc.PdePreprocessor;
import processing.mode.java.runner.Runner;
import processing.mode.java.tweak.ColorControlBox;
import processing.mode.java.tweak.Handle;
@@ -136,17 +137,7 @@ public class JavaEditor extends Editor {
hasJavaTabs = checkForJavaTabs();
//initializeErrorChecker();
{ // Init error checker
errorCheckerService = new ErrorCheckerService(this);
for (SketchCode code : getSketch().getCode()) {
Document document = code.getDocument();
if (document != null) {
errorCheckerService.addListener(document);
}
}
errorCheckerService.start();
errorCheckerService.request();
}
initErrorChecker();
// hack to add a JPanel to the right-hand side of the text area
JPanel textAndError = new JPanel();
@@ -180,7 +171,25 @@ public class JavaEditor extends Editor {
});
}
public PdePreprocessor createPreprocessor(final String sketchName) {
return new PdePreprocessor(sketchName);
}
protected void initErrorChecker() {
errorCheckerService = new ErrorCheckerService(this);
for (SketchCode code : getSketch().getCode()) {
Document document = code.getDocument();
if (document != null) {
errorCheckerService.addListener(document);
}
}
errorCheckerService.start();
errorCheckerService.request();
}
protected JEditTextArea createTextArea() {
return new JavaTextArea(new PdeTextAreaDefaults(mode), this);
}

View File

@@ -1336,7 +1336,8 @@ public class ASTGenerator {
//log("Doesn't exist in (code folder) imp package: " + impS.getImportName());
}
PdePreprocessor p = new PdePreprocessor(null);
// PdePreprocessor p = new PdePreprocessor(null);
PdePreprocessor p = editor.createPreprocessor(null);
for (String impS : p.getCoreImports()) {
tehClass = loadClass(impS.substring(0,impS.length()-1) + className);
if (tehClass != null) {

View File

@@ -54,9 +54,10 @@ public class XQPreprocessor {
public XQPreprocessor(ErrorCheckerService ecs) {
this.ecs = ecs;
// get parameters from the main preproc
PdePreprocessor p = new PdePreprocessor(null);
// PdePreprocessor p = new PdePreprocessor(null);
PdePreprocessor p = ecs.editor.createPreprocessor(null);
defaultImports = p.getDefaultImports();
coreImports = p.getCoreImports();
}