mirror of
https://github.com/processing/processing4.git
synced 2026-06-16 04:26:26 +02:00
Merge pull request #4491 from JakubValtar/error-check-toggle
Return of the error check toggle
This commit is contained in:
@@ -65,7 +65,7 @@ public class PreferencesFrame {
|
||||
|
||||
ColorChooser selector;
|
||||
|
||||
// JCheckBox errorCheckerBox;
|
||||
JCheckBox errorCheckerBox;
|
||||
JCheckBox warningsCheckerBox;
|
||||
JCheckBox codeCompletionBox;
|
||||
JCheckBox importSuggestionsBox;
|
||||
@@ -270,8 +270,11 @@ public class PreferencesFrame {
|
||||
|
||||
// [ ] Continuously check for errors - PDE X
|
||||
|
||||
// errorCheckerBox =
|
||||
// new JCheckBox(Language.text("preferences.continuously_check"));
|
||||
errorCheckerBox =
|
||||
new JCheckBox(Language.text("preferences.continuously_check"));
|
||||
errorCheckerBox.addItemListener(e -> {
|
||||
warningsCheckerBox.setEnabled(errorCheckerBox.isSelected());
|
||||
});
|
||||
|
||||
|
||||
// [ ] Show Warnings - PDE X
|
||||
@@ -407,9 +410,9 @@ public class PreferencesFrame {
|
||||
.addComponent(presentColor, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
|
||||
.addComponent(editorAntialiasBox)
|
||||
.addComponent(inputMethodBox)
|
||||
// .addGroup(layout.createSequentialGroup()
|
||||
// .addComponent(errorCheckerBox)
|
||||
// .addComponent(warningsCheckerBox))
|
||||
.addGroup(layout.createSequentialGroup()
|
||||
.addComponent(errorCheckerBox)
|
||||
.addComponent(warningsCheckerBox))
|
||||
.addComponent(warningsCheckerBox)
|
||||
.addComponent(codeCompletionBox)
|
||||
.addComponent(importSuggestionsBox)
|
||||
@@ -465,10 +468,9 @@ public class PreferencesFrame {
|
||||
.addComponent(presentColor))
|
||||
.addComponent(editorAntialiasBox)
|
||||
.addComponent(inputMethodBox)
|
||||
// .addGroup(layout.createParallelGroup()
|
||||
// .addComponent(errorCheckerBox)
|
||||
// .addComponent(warningsCheckerBox))
|
||||
.addComponent(warningsCheckerBox)
|
||||
.addGroup(layout.createParallelGroup()
|
||||
.addComponent(errorCheckerBox)
|
||||
.addComponent(warningsCheckerBox))
|
||||
.addComponent(codeCompletionBox)
|
||||
.addComponent(importSuggestionsBox)
|
||||
.addGroup(layout.createParallelGroup(GroupLayout.Alignment.CENTER)
|
||||
@@ -655,7 +657,7 @@ public class PreferencesFrame {
|
||||
autoAssociateBox.isSelected());
|
||||
}
|
||||
|
||||
// Preferences.setBoolean("pdex.errorCheckEnabled", errorCheckerBox.isSelected());
|
||||
Preferences.setBoolean("pdex.errorCheckEnabled", errorCheckerBox.isSelected());
|
||||
Preferences.setBoolean("pdex.warningsEnabled", warningsCheckerBox.isSelected());
|
||||
Preferences.setBoolean("pdex.completion", codeCompletionBox.isSelected());
|
||||
// Preferences.setBoolean("pdex.completion.trigger", codeCompletionTriggerBox.isSelected());
|
||||
@@ -670,8 +672,9 @@ public class PreferencesFrame {
|
||||
public void showFrame() {
|
||||
editorAntialiasBox.setSelected(Preferences.getBoolean("editor.smooth")); //$NON-NLS-1$
|
||||
inputMethodBox.setSelected(Preferences.getBoolean("editor.input_method_support")); //$NON-NLS-1$
|
||||
// errorCheckerBox.setSelected(Preferences.getBoolean("pdex.errorCheckEnabled"));
|
||||
errorCheckerBox.setSelected(Preferences.getBoolean("pdex.errorCheckEnabled"));
|
||||
warningsCheckerBox.setSelected(Preferences.getBoolean("pdex.warningsEnabled"));
|
||||
warningsCheckerBox.setEnabled(errorCheckerBox.isSelected());
|
||||
codeCompletionBox.setSelected(Preferences.getBoolean("pdex.completion"));
|
||||
//codeCompletionTriggerBox.setSelected(Preferences.getBoolean("pdex.completion.trigger"));
|
||||
//codeCompletionTriggerBox.setEnabled(codeCompletionBox.isSelected());
|
||||
|
||||
@@ -306,7 +306,7 @@ public class JavaMode extends Mode {
|
||||
// }
|
||||
|
||||
|
||||
// static public volatile boolean errorCheckEnabled = true;
|
||||
static public volatile boolean errorCheckEnabled = true;
|
||||
static public volatile boolean warningsEnabled = true;
|
||||
static public volatile boolean codeCompletionsEnabled = true;
|
||||
static public volatile boolean debugOutputEnabled = false;
|
||||
@@ -325,7 +325,7 @@ public class JavaMode extends Mode {
|
||||
*/
|
||||
volatile public static int codeCompletionTriggerLength = 1;
|
||||
|
||||
// static public final String prefErrorCheck = "pdex.errorCheckEnabled";
|
||||
static public final String prefErrorCheck = "pdex.errorCheckEnabled";
|
||||
static public final String prefWarnings = "pdex.warningsEnabled";
|
||||
static public final String prefDebugOP = "pdex.dbgOutput";
|
||||
static public final String prefErrorLogs = "pdex.writeErrorLogs";
|
||||
@@ -351,7 +351,7 @@ public class JavaMode extends Mode {
|
||||
public void loadPreferences() {
|
||||
Messages.log("Load PDEX prefs");
|
||||
ensurePrefsExist();
|
||||
// errorCheckEnabled = Preferences.getBoolean(prefErrorCheck);
|
||||
errorCheckEnabled = Preferences.getBoolean(prefErrorCheck);
|
||||
warningsEnabled = Preferences.getBoolean(prefWarnings);
|
||||
codeCompletionsEnabled = Preferences.getBoolean(COMPLETION_PREF);
|
||||
// DEBUG = Preferences.getBoolean(prefDebugOP);
|
||||
@@ -370,7 +370,7 @@ public class JavaMode extends Mode {
|
||||
|
||||
public void savePreferences() {
|
||||
Messages.log("Saving PDEX prefs");
|
||||
// Preferences.setBoolean(prefErrorCheck, errorCheckEnabled);
|
||||
Preferences.setBoolean(prefErrorCheck, errorCheckEnabled);
|
||||
Preferences.setBoolean(prefWarnings, warningsEnabled);
|
||||
Preferences.setBoolean(COMPLETION_PREF, codeCompletionsEnabled);
|
||||
// Preferences.setBoolean(prefDebugOP, DEBUG);
|
||||
@@ -429,8 +429,8 @@ public class JavaMode extends Mode {
|
||||
|
||||
public void ensurePrefsExist() {
|
||||
//TODO: Need to do a better job of managing prefs. Think lists.
|
||||
// if (Preferences.get(prefErrorCheck) == null)
|
||||
// Preferences.setBoolean(prefErrorCheck, errorCheckEnabled);
|
||||
if (Preferences.get(prefErrorCheck) == null)
|
||||
Preferences.setBoolean(prefErrorCheck, errorCheckEnabled);
|
||||
if (Preferences.get(prefWarnings) == null)
|
||||
Preferences.setBoolean(prefWarnings, warningsEnabled);
|
||||
if (Preferences.get(COMPLETION_PREF) == null)
|
||||
|
||||
@@ -152,6 +152,7 @@ public class PDEX {
|
||||
|
||||
|
||||
public void preferencesChanged() {
|
||||
errorChecker.preferencesChanged();
|
||||
sketchChanged();
|
||||
}
|
||||
|
||||
@@ -1026,16 +1027,22 @@ public class PDEX {
|
||||
private ScheduledExecutorService scheduler;
|
||||
private volatile ScheduledFuture<?> scheduledUiUpdate = null;
|
||||
private volatile long nextUiUpdate = 0;
|
||||
private volatile boolean enabled = true;
|
||||
|
||||
private final Consumer<PreprocessedSketch> errorHandlerListener = this::handleSketchProblems;
|
||||
|
||||
private JavaEditor editor;
|
||||
private PreprocessingService pps;
|
||||
|
||||
|
||||
public ErrorChecker(JavaEditor editor, PreprocessingService pps) {
|
||||
this.editor = editor;
|
||||
this.pps = pps;
|
||||
scheduler = Executors.newSingleThreadScheduledExecutor();
|
||||
pps.registerListener(errorHandlerListener);
|
||||
this.enabled = JavaMode.errorCheckEnabled;
|
||||
if (enabled) {
|
||||
pps.registerListener(errorHandlerListener);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1044,6 +1051,20 @@ public class PDEX {
|
||||
}
|
||||
|
||||
|
||||
public void preferencesChanged() {
|
||||
if (enabled != JavaMode.errorCheckEnabled) {
|
||||
enabled = JavaMode.errorCheckEnabled;
|
||||
if (enabled) {
|
||||
pps.registerListener(errorHandlerListener);
|
||||
} else {
|
||||
pps.unregisterListener(errorHandlerListener);
|
||||
editor.setProblemList(Collections.emptyList());
|
||||
nextUiUpdate = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void dispose() {
|
||||
if (scheduler != null) {
|
||||
scheduler.shutdownNow();
|
||||
|
||||
Reference in New Issue
Block a user