more untying of PDEX

This commit is contained in:
Ben Fry
2020-01-28 10:48:34 -05:00
parent 69718c6f29
commit 117e3f9516
2 changed files with 24 additions and 36 deletions

View File

@@ -90,6 +90,10 @@ public class JavaEditor extends Editor {
protected PreprocessingService preprocessingService;
protected PDEX pdex;
private boolean pdexEnabled = true;
private ErrorChecker errorChecker;
// set true to show AST debugging window
static private final boolean SHOW_AST_VIEWER = false;
private ASTViewer astViewer;
@@ -132,10 +136,14 @@ public class JavaEditor extends Editor {
preprocessingService = new PreprocessingService(this);
pdex = new PDEX(this, preprocessingService);
pdexEnabled = !hasJavaTabs();
if (SHOW_AST_VIEWER) {
astViewer = new ASTViewer(this, preprocessingService);
}
errorChecker = new ErrorChecker(this, preprocessingService);
Toolkit.setMenuMnemonics(textarea.getRightClickPopup());
// ensure completion is hidden when editor loses focus
@@ -181,7 +189,11 @@ public class JavaEditor extends Editor {
if (preprocessingService != null) {
if (hasJavaTabsChanged) {
preprocessingService.handleHasJavaTabsChange(hasJavaTabs);
pdex.hasJavaTabsChanged(hasJavaTabs);
pdexEnabled = !hasJavaTabs;
if (!pdexEnabled) {
pdex.usage.hide();
}
if (hasJavaTabs) {
setProblemList(Collections.emptyList());
}
@@ -190,7 +202,7 @@ public class JavaEditor extends Editor {
int currentTabCount = sketch.getCodeCount();
if (currentTabCount != previousTabCount) {
previousTabCount = currentTabCount;
pdex.sketchChanged();
pdex.sketchChangedX();
}
}
}
@@ -1346,6 +1358,7 @@ public class JavaEditor extends Editor {
}
preprocessingService.dispose();
pdex.dispose();
errorChecker.dispose();
if (astViewer != null) {
astViewer.dispose();
}
@@ -2238,7 +2251,7 @@ public class JavaEditor extends Editor {
Document newDoc = code.getDocument();
if (oldDoc != newDoc && pdex != null) {
pdex.documentChanged(newDoc);
pdex.addDocumentListener(newDoc);
}
// set line background colors for tab
@@ -2481,7 +2494,9 @@ public class JavaEditor extends Editor {
jmode.loadPreferences();
Messages.log("Applying prefs");
// trigger it once to refresh UI
pdex.preferencesChanged();
//pdex.preferencesChanged();
errorChecker.preferencesChanged();
pdex.sketchChangedX();
}
}

View File

@@ -8,9 +8,6 @@ import processing.app.SketchCode;
public class PDEX {
private boolean enabled = true;
private ErrorChecker errorChecker;
private InspectMode inspect;
private ShowUsage usage;
@@ -22,10 +19,6 @@ public class PDEX {
public PDEX(JavaEditor editor, PreprocessingService pps) {
this.pps = pps;
this.enabled = !editor.hasJavaTabs();
errorChecker = new ErrorChecker(editor, pps);
usage = new ShowUsage(editor, pps);
inspect = new InspectMode(editor, pps, usage);
rename = new Rename(editor, pps, usage);
@@ -35,7 +28,7 @@ public class PDEX {
addDocumentListener(document);
}
sketchChanged();
sketchChangedX();
}
@@ -44,52 +37,32 @@ public class PDEX {
doc.addDocumentListener(new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
sketchChanged();
sketchChangedX();
}
@Override
public void removeUpdate(DocumentEvent e) {
sketchChanged();
sketchChangedX();
}
@Override
public void changedUpdate(DocumentEvent e) {
sketchChanged();
sketchChangedX();
}
});
}
}
public void sketchChanged() {
public void sketchChangedX() {
errorChecker.notifySketchChanged();
pps.notifySketchChanged();
}
public void preferencesChanged() {
errorChecker.preferencesChanged();
sketchChanged();
}
public void hasJavaTabsChanged(boolean hasJavaTabs) {
enabled = !hasJavaTabs;
if (!enabled) {
usage.hide();
}
}
public void dispose() {
inspect.dispose();
errorChecker.dispose();
usage.dispose();
rename.dispose();
}
public void documentChanged(Document newDoc) {
addDocumentListener(newDoc);
}
}