pde x prefs now saved to the main preferences.txt

This commit is contained in:
Manindra Moharana
2013-09-15 21:56:02 +05:30
parent 69405772a8
commit 96c4fc1846
6 changed files with 37 additions and 26 deletions
+2 -1
View File
@@ -145,7 +145,8 @@ x boolean warningsEnabled - made it volatile
General Stuff
=============
* Consult Ben on where to save preferences - main preferences.txt or custom one
x Consult Ben on where to save preferences - main preferences.txt or custom one. - Main prefs file
x Save preferences to main preference.txt
x Hide breakpoint markers when Debugger isn't active
x Ensure gutter mouse handler is taken care of when hiding Debugger breakpoint bar.
x Ensure all editor windows are closed when editor is closed.
@@ -156,7 +156,6 @@ public class ASTGenerator {
//addCompletionPopupListner();
addListeners();
//loadJavaDoc();
predictionsEnabled = new AtomicBoolean(true);
}
protected void setupGUI(){
@@ -326,6 +326,7 @@ public class DebugEditor extends JavaEditor implements ActionListener {
// Added temporarily to dump error log. TODO: Remove this later
public void internalCloseRunner(){
dmode.savePreferences();
if(ExperimentalMode.errorLogsEnabled) writeErrorsToFile();
super.internalCloseRunner();
}
@@ -521,7 +522,6 @@ public class DebugEditor extends JavaEditor implements ActionListener {
// XQMode menu items
JCheckBoxMenuItem item;
final DebugEditor thisEditor = this;
item = new JCheckBoxMenuItem("Error Checker Enabled");
item.setSelected(ExperimentalMode.errorCheckEnabled);
item.addActionListener(new ActionListener() {
@@ -529,23 +529,7 @@ public class DebugEditor extends JavaEditor implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
ExperimentalMode.errorCheckEnabled = ((JCheckBoxMenuItem) e.getSource()).isSelected();
if (!((JCheckBoxMenuItem) e.getSource()).isSelected()) {
// unticked Menu Item
errorCheckerService.pauseThread();
System.out.println(thisEditor.getSketch().getName()
+ " - Error Checker paused.");
errorBar.errorPoints.clear();
errorCheckerService.problemsList.clear();
errorCheckerService.updateErrorTable();
errorCheckerService.updateEditorStatus();
getTextArea().repaint();
errorBar.repaint();
} else {
errorCheckerService.resumeThread();
System.out.println(thisEditor.getSketch().getName()
+ " - Error Checker resumed.");
errorCheckerService.runManualErrorCheck();
}
errorCheckerService.handleErrorCheckingToggle();
}
});
debugMenu.add(item);
@@ -582,7 +566,7 @@ public class DebugEditor extends JavaEditor implements ActionListener {
debugMenu.add(showWarnings);
completionsEnabled = new JCheckBoxMenuItem("Code Completion Enabled");
completionsEnabled.setSelected(true);
completionsEnabled.setSelected(ExperimentalMode.codeCompletionsEnabled);
completionsEnabled.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
@@ -612,7 +596,8 @@ public class DebugEditor extends JavaEditor implements ActionListener {
writeErrorLog.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ExperimentalMode.errorLogsEnabled = !ExperimentalMode.errorLogsEnabled;
ExperimentalMode.errorLogsEnabled = ((JCheckBoxMenuItem) e
.getSource()).isSelected();
}
});
debugMenu.add(writeErrorLog);
@@ -19,6 +19,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.table.DefaultTableModel;
import org.eclipse.jdt.core.JavaCore;
@@ -262,6 +263,7 @@ public class ErrorCheckerService implements Runnable{
// Completion wouldn't be complete, but it'd be still something
// better than nothing
astGenerator.buildAST(cu);
handleErrorCheckingToggle();
while (!stopThread.get()) {
try {
// Take a nap.
@@ -1399,6 +1401,26 @@ public class ErrorCheckerService implements Runnable{
return new String(p2, 0, index);
}
public void handleErrorCheckingToggle(){
if (!ExperimentalMode.errorCheckEnabled) {
// unticked Menu Item
pauseThread();
log(editor.getSketch().getName()
+ " - Error Checker paused.");
editor.errorBar.errorPoints.clear();
problemsList.clear();
updateErrorTable();
updateEditorStatus();
editor.getTextArea().repaint();
editor.errorBar.repaint();
} else {
resumeThread();
log(editor.getSketch().getName()
+ " - Error Checker resumed.");
runManualErrorCheck();
}
}
/**
* Stops the Error Checker Service thread
*/
@@ -100,6 +100,7 @@ public class ExperimentalMode extends JavaMode {
// String titleAndVersion = p.getImplementationTitle() + " (v" + p.getImplementationVersion() + ")";
// //log(titleAndVersion);
// Logger.getLogger(ExperimentalMode.class.getName()).log(Level.INFO, titleAndVersion);
loadPreferences();
loadIcons();
}
@@ -125,19 +126,21 @@ public class ExperimentalMode extends JavaMode {
prefDebugOP = "pdex.dbgOutput", prefErrorLogs = "pdex.writeErrorLogs";
public void loadPreferences(){
log("Load PDEX prefs");
ensurePrefsExist();
errorCheckEnabled = Preferences.getBoolean(prefErrorCheck);
warningsEnabled = Preferences.getBoolean(prefWarnings);
codeCompletionsEnabled = Preferences.getBoolean(prefCodeCompletionEnabled);
debugOutputEnabled = Preferences.getBoolean(prefDebugOP);
errorCheckEnabled = Preferences.getBoolean(prefErrorLogs);
DEBUG = Preferences.getBoolean(prefDebugOP);
errorLogsEnabled = Preferences.getBoolean(prefErrorLogs);
}
public void savePreferences(){
log("Saving PDEX prefs");
Preferences.setBoolean(prefErrorCheck, errorCheckEnabled);
Preferences.setBoolean(prefWarnings, warningsEnabled);
Preferences.setBoolean(prefCodeCompletionEnabled, codeCompletionsEnabled);
Preferences.setBoolean(prefDebugOP, debugOutputEnabled);
Preferences.setBoolean(prefDebugOP, DEBUG);
Preferences.setBoolean(prefErrorLogs,errorLogsEnabled);
}
@@ -149,7 +152,7 @@ public class ExperimentalMode extends JavaMode {
if(Preferences.get(prefCodeCompletionEnabled) == null)
Preferences.setBoolean(prefCodeCompletionEnabled,codeCompletionsEnabled);
if(Preferences.get(prefDebugOP) == null)
Preferences.setBoolean(prefDebugOP,debugOutputEnabled);
Preferences.setBoolean(prefDebugOP,DEBUG);
if(Preferences.get(prefErrorLogs) == null)
Preferences.setBoolean(prefErrorLogs,errorLogsEnabled);
}
@@ -185,6 +185,7 @@ public class TextArea extends JEditTextArea {
protected Object doInBackground() throws Exception {
errorCheckerService.runManualErrorCheck();
// Provide completions only if it's enabled
if(ExperimentalMode.codeCompletionsEnabled)
log(" Typing: " + fetchPhrase(evt2) + " "
+ (evt2.getKeyChar() == KeyEvent.VK_ENTER));
return null;