diff --git a/java/src/processing/mode/java/DebugTree.java b/java/src/processing/mode/java/ASTViewer.java similarity index 98% rename from java/src/processing/mode/java/DebugTree.java rename to java/src/processing/mode/java/ASTViewer.java index 7bccaadd0..a321f7c4a 100644 --- a/java/src/processing/mode/java/DebugTree.java +++ b/java/src/processing/mode/java/ASTViewer.java @@ -24,13 +24,13 @@ import processing.app.ui.ZoomTreeCellRenderer; import processing.mode.java.PreprocessedSketch.SketchInterval; -class DebugTree { +class ASTViewer { final JDialog window; final JTree tree; final Consumer updateListener; - DebugTree(JavaEditor editor, PreprocessingService pps) { + ASTViewer(JavaEditor editor, PreprocessingService pps) { updateListener = this::buildAndUpdateTree; window = new JDialog(editor); diff --git a/java/src/processing/mode/java/JavaEditor.java b/java/src/processing/mode/java/JavaEditor.java index 3cb9f959d..85459b235 100644 --- a/java/src/processing/mode/java/JavaEditor.java +++ b/java/src/processing/mode/java/JavaEditor.java @@ -90,6 +90,10 @@ public class JavaEditor extends Editor { protected PreprocessingService preprocessingService; protected PDEX pdex; + // set true to show AST debugging window + static private final boolean SHOW_AST_VIEWER = false; + private ASTViewer astViewer; + protected JavaEditor(Base base, String path, EditorState state, Mode mode) throws EditorException { @@ -128,6 +132,10 @@ public class JavaEditor extends Editor { preprocessingService = new PreprocessingService(this); pdex = new PDEX(this, preprocessingService); + if (SHOW_AST_VIEWER) { + astViewer = new ASTViewer(this, preprocessingService); + } + Toolkit.setMenuMnemonics(textarea.getRightClickPopup()); // ensure completion is hidden when editor loses focus @@ -1338,6 +1346,9 @@ public class JavaEditor extends Editor { } preprocessingService.dispose(); pdex.dispose(); + if (astViewer != null) { + astViewer.dispose(); + } super.dispose(); } diff --git a/java/src/processing/mode/java/PDEX.java b/java/src/processing/mode/java/PDEX.java index 4778f331c..03b2a5379 100644 --- a/java/src/processing/mode/java/PDEX.java +++ b/java/src/processing/mode/java/PDEX.java @@ -8,8 +8,6 @@ import processing.app.SketchCode; public class PDEX { - static private final boolean SHOW_DEBUG_TREE = false; - private boolean enabled = true; private ErrorChecker errorChecker; @@ -17,7 +15,6 @@ public class PDEX { private InspectMode inspect; private ShowUsage usage; private Rename rename; - private DebugTree debugTree; private PreprocessingService pps; @@ -33,10 +30,6 @@ public class PDEX { inspect = new InspectMode(editor, pps, usage); rename = new Rename(editor, pps, usage); - if (SHOW_DEBUG_TREE) { - debugTree = new DebugTree(editor, pps); - } - for (SketchCode code : editor.getSketch().getCode()) { Document document = code.getDocument(); addDocumentListener(document); @@ -47,28 +40,27 @@ public class PDEX { public void addDocumentListener(Document doc) { - if (doc != null) doc.addDocumentListener(sketchChangedListener); + if (doc != null) { + doc.addDocumentListener(new DocumentListener() { + @Override + public void insertUpdate(DocumentEvent e) { + sketchChanged(); + } + + @Override + public void removeUpdate(DocumentEvent e) { + sketchChanged(); + } + + @Override + public void changedUpdate(DocumentEvent e) { + sketchChanged(); + } + }); + } } - final DocumentListener sketchChangedListener = new DocumentListener() { - @Override - public void insertUpdate(DocumentEvent e) { - sketchChanged(); - } - - @Override - public void removeUpdate(DocumentEvent e) { - sketchChanged(); - } - - @Override - public void changedUpdate(DocumentEvent e) { - sketchChanged(); - } - }; - - public void sketchChanged() { errorChecker.notifySketchChanged(); pps.notifySketchChanged(); @@ -94,9 +86,6 @@ public class PDEX { errorChecker.dispose(); usage.dispose(); rename.dispose(); - if (debugTree != null) { - debugTree.dispose(); - } }