mirror of
https://github.com/processing/processing4.git
synced 2026-01-30 20:01:09 +01:00
finish merging PDEX into Editor and untangling refs
This commit is contained in:
@@ -88,7 +88,10 @@ public class JavaEditor extends Editor {
|
||||
private boolean javaTabWarned;
|
||||
|
||||
protected PreprocessingService preprocessingService;
|
||||
protected PDEX pdex;
|
||||
|
||||
private InspectMode inspect;
|
||||
private ShowUsage usage;
|
||||
private Rename rename;
|
||||
|
||||
private boolean pdexEnabled = true;
|
||||
|
||||
@@ -134,16 +137,26 @@ public class JavaEditor extends Editor {
|
||||
*/
|
||||
|
||||
preprocessingService = new PreprocessingService(this);
|
||||
pdex = new PDEX(this, preprocessingService);
|
||||
|
||||
pdexEnabled = !hasJavaTabs();
|
||||
|
||||
usage = new ShowUsage(this, preprocessingService);
|
||||
inspect = new InspectMode(this, preprocessingService, usage);
|
||||
rename = new Rename(this, preprocessingService, usage);
|
||||
|
||||
if (SHOW_AST_VIEWER) {
|
||||
astViewer = new ASTViewer(this, preprocessingService);
|
||||
}
|
||||
|
||||
errorChecker = new ErrorChecker(this, preprocessingService);
|
||||
|
||||
for (SketchCode code : getSketch().getCode()) {
|
||||
Document document = code.getDocument();
|
||||
addDocumentListener(document);
|
||||
}
|
||||
|
||||
sketchChangedX();
|
||||
|
||||
Toolkit.setMenuMnemonics(textarea.getRightClickPopup());
|
||||
|
||||
// ensure completion is hidden when editor loses focus
|
||||
@@ -191,7 +204,7 @@ public class JavaEditor extends Editor {
|
||||
preprocessingService.handleHasJavaTabsChange(hasJavaTabs);
|
||||
pdexEnabled = !hasJavaTabs;
|
||||
if (!pdexEnabled) {
|
||||
pdex.usage.hide();
|
||||
usage.hide();
|
||||
}
|
||||
|
||||
if (hasJavaTabs) {
|
||||
@@ -202,7 +215,7 @@ public class JavaEditor extends Editor {
|
||||
int currentTabCount = sketch.getCodeCount();
|
||||
if (currentTabCount != previousTabCount) {
|
||||
previousTabCount = currentTabCount;
|
||||
pdex.sketchChangedX();
|
||||
sketchChangedX();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1319,6 +1332,34 @@ public class JavaEditor extends Editor {
|
||||
}
|
||||
|
||||
|
||||
public void sketchChangedX() {
|
||||
errorChecker.notifySketchChanged();
|
||||
preprocessingService.notifySketchChanged();
|
||||
}
|
||||
|
||||
|
||||
public void addDocumentListener(Document doc) {
|
||||
if (doc != null) {
|
||||
doc.addDocumentListener(new DocumentListener() {
|
||||
@Override
|
||||
public void insertUpdate(DocumentEvent e) {
|
||||
sketchChangedX();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeUpdate(DocumentEvent e) {
|
||||
sketchChangedX();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void changedUpdate(DocumentEvent e) {
|
||||
sketchChangedX();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void statusError(String what) {
|
||||
super.statusError(what);
|
||||
// new Exception("deactivating RUN").printStackTrace();
|
||||
@@ -1357,7 +1398,11 @@ public class JavaEditor extends Editor {
|
||||
inspector.dispose();
|
||||
}
|
||||
preprocessingService.dispose();
|
||||
pdex.dispose();
|
||||
|
||||
inspect.dispose();
|
||||
usage.dispose();
|
||||
rename.dispose();
|
||||
|
||||
errorChecker.dispose();
|
||||
if (astViewer != null) {
|
||||
astViewer.dispose();
|
||||
@@ -2250,8 +2295,8 @@ public class JavaEditor extends Editor {
|
||||
super.setCode(code);
|
||||
|
||||
Document newDoc = code.getDocument();
|
||||
if (oldDoc != newDoc && pdex != null) {
|
||||
pdex.addDocumentListener(newDoc);
|
||||
if (oldDoc != newDoc) {
|
||||
addDocumentListener(newDoc);
|
||||
}
|
||||
|
||||
// set line background colors for tab
|
||||
@@ -2496,7 +2541,7 @@ public class JavaEditor extends Editor {
|
||||
// trigger it once to refresh UI
|
||||
//pdex.preferencesChanged();
|
||||
errorChecker.preferencesChanged();
|
||||
pdex.sketchChangedX();
|
||||
sketchChangedX();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
package processing.mode.java;
|
||||
|
||||
import javax.swing.event.DocumentEvent;
|
||||
import javax.swing.event.DocumentListener;
|
||||
import javax.swing.text.Document;
|
||||
|
||||
import processing.app.SketchCode;
|
||||
|
||||
|
||||
public class PDEX {
|
||||
|
||||
private InspectMode inspect;
|
||||
private ShowUsage usage;
|
||||
private Rename rename;
|
||||
|
||||
private PreprocessingService pps;
|
||||
|
||||
|
||||
public PDEX(JavaEditor editor, PreprocessingService pps) {
|
||||
this.pps = pps;
|
||||
|
||||
usage = new ShowUsage(editor, pps);
|
||||
inspect = new InspectMode(editor, pps, usage);
|
||||
rename = new Rename(editor, pps, usage);
|
||||
|
||||
for (SketchCode code : editor.getSketch().getCode()) {
|
||||
Document document = code.getDocument();
|
||||
addDocumentListener(document);
|
||||
}
|
||||
|
||||
sketchChangedX();
|
||||
}
|
||||
|
||||
|
||||
public void addDocumentListener(Document doc) {
|
||||
if (doc != null) {
|
||||
doc.addDocumentListener(new DocumentListener() {
|
||||
@Override
|
||||
public void insertUpdate(DocumentEvent e) {
|
||||
sketchChangedX();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeUpdate(DocumentEvent e) {
|
||||
sketchChangedX();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void changedUpdate(DocumentEvent e) {
|
||||
sketchChangedX();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void sketchChangedX() {
|
||||
errorChecker.notifySketchChanged();
|
||||
pps.notifySketchChanged();
|
||||
}
|
||||
|
||||
|
||||
public void dispose() {
|
||||
inspect.dispose();
|
||||
usage.dispose();
|
||||
rename.dispose();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user