move debugging location and fix method names

This commit is contained in:
benfry
2012-11-24 18:14:48 +00:00
parent 7fd9ca848e
commit 8ca080d488
3 changed files with 111 additions and 131 deletions

View File

@@ -110,10 +110,10 @@ public class DebugEditor extends JavaEditor implements ActionListener {
// load settings from theme.txt
DebugMode theme = dmode;
breakpointColor = theme.loadColorFromTheme("breakpoint.bgcolor", breakpointColor);
breakpointMarkerColor = theme.loadColorFromTheme("breakpoint.marker.color", breakpointMarkerColor);
currentLineColor = theme.loadColorFromTheme("currentline.bgcolor", currentLineColor);
currentLineMarkerColor = theme.loadColorFromTheme("currentline.marker.color", currentLineMarkerColor);
breakpointColor = theme.getThemeColor("breakpoint.bgcolor", breakpointColor);
breakpointMarkerColor = theme.getThemeColor("breakpoint.marker.color", breakpointMarkerColor);
currentLineColor = theme.getThemeColor("currentline.bgcolor", currentLineColor);
currentLineMarkerColor = theme.getThemeColor("currentline.marker.color", currentLineMarkerColor);
// set breakpoints from marker comments
for (LineID lineID : stripBreakpointComments()) {

View File

@@ -35,14 +35,13 @@ import processing.mode.java.JavaMode;
* @author Martin Leopold <m@martinleopold.com>
*/
public class DebugMode extends JavaMode {
public static final boolean VERBOSE_LOGGING = true;
//public static final boolean VERBOSE_LOGGING = false;
public static final int LOG_SIZE = 512 * 1024; // max log file size (in bytes)
public static final boolean VERBOSE_LOGGING = true;
public static final int LOG_SIZE = 524288; // max log file size (in bytes)
// important inherited fields:
// protected Base base;
public DebugMode(Base base, File folder) {
super(base, folder);
public DebugMode(Base base, File folder) {
super(base, folder);
// use libraries folder from javamode. will make sketches using core libraries work, as well as import libraries and examples menus
// for (Mode m : base.getModeList()) {
@@ -54,125 +53,106 @@ public class DebugMode extends JavaMode {
// }
// }
// Fetch examples and reference from java mode
// thx to Manindra (https://github.com/martinleopold/DebugMode/issues/4)
examplesFolder = Base.getContentFile("modes/java/examples");
// https://github.com/martinleopold/DebugMode/issues/6
referenceFolder = Base.getContentFile("modes/java/reference");
// Fetch examples and reference from java mode
// thx to Manindra (https://github.com/martinleopold/DebugMode/issues/4)
examplesFolder = Base.getContentFile("modes/java/examples");
// https://github.com/martinleopold/DebugMode/issues/6
referenceFolder = Base.getContentFile("modes/java/reference");
// set logging level
Logger globalLogger = Logger.getLogger("");
//Logger logger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); // doesn't work on os x
if (VERBOSE_LOGGING) {
globalLogger.setLevel(Level.INFO);
} else {
globalLogger.setLevel(Level.WARNING);
}
// enable logging to file
try {
File logFile = getContentFile("logs/DebugMode.%g.log");
File logFolder = logFile.getParentFile();
if (!logFolder.exists()) {
logFolder.mkdir();
}
Handler handler = new FileHandler(logFile.getAbsolutePath(), LOG_SIZE, 10, false);
globalLogger.addHandler(handler);
} catch (IOException ex) {
Logger.getLogger(DebugMode.class.getName()).log(Level.SEVERE, null, ex);
} catch (SecurityException ex) {
Logger.getLogger(DebugMode.class.getName()).log(Level.SEVERE, null, ex);
}
// output version from manifest file
Package p = DebugMode.class.getPackage();
String titleAndVersion = p.getImplementationTitle() + " (v" + p.getImplementationVersion() + ")";
//System.out.println(titleAndVersion);
Logger.getLogger(DebugMode.class.getName()).log(Level.INFO, titleAndVersion);
// set logging level
Logger globalLogger = Logger.getLogger("");
//Logger logger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME); // doesn't work on os x
if (VERBOSE_LOGGING) {
globalLogger.setLevel(Level.INFO);
} else {
globalLogger.setLevel(Level.WARNING);
}
/**
* Return the pretty/printable/menu name for this mode. This is separate
* from the single word name of the folder that contains this mode. It could
* even have spaces, though that might result in sheer madness or total
* mayhem.
*/
@Override
public String getTitle() {
return "Debug";
}
/**
* Create a new editor associated with this mode.
*/
@Override
public processing.app.Editor createEditor(Base base, String path, EditorState state) {
return new DebugEditor(base, path, state, this);
}
/**
* Returns the default extension for this editor setup.
*/
/*
* @Override public String getDefaultExtension() { return null; }
*/
/**
* Returns a String[] array of proper extensions.
*/
/*
* @Override public String[] getExtensions() { return null; }
*/
/**
* Get array of file/directory names that needn't be copied during "Save
* As".
*/
/*
* @Override public String[] getIgnorable() { return null; }
*/
/**
* Load a String value from theme.txt
*
* @param attribute the attribute key to load
* @param defaultValue the default value
* @return the attributes value, or the default value if the attribute
* couldn't be loaded
*/
public String loadStringFromTheme(String attribute, String defaultValue) {
String newString = theme.get(attribute);
if (newString != null) {
return newString;
}
Logger.getLogger(DebugMode.class.getName()).log(Level.WARNING, "Error loading String: {0}", attribute);
return defaultValue;
}
/**
* Load a Color value from theme.txt
*
* @param attribute the attribute key to load
* @param defaultValue the default value
* @return the attributes value, or the default value if the attribute
* couldn't be loaded
*/
public Color loadColorFromTheme(String attribute, Color defaultValue) {
Color newColor = theme.getColor(attribute);
if (newColor != null) {
return newColor;
}
System.out.println("error loading color: " + attribute);
Logger.getLogger(DebugMode.class.getName()).log(Level.WARNING, "Error loading Color: {0}", attribute);
return defaultValue;
}
public ClassLoader getJavaModeClassLoader() {
//return super.getClassLoader();
for (Mode m : base.getModeList()) {
if (m.getClass() == JavaMode.class) {
JavaMode jMode = (JavaMode) m;
return jMode.getClassLoader();
}
// enable logging to file
try {
// settings is writable for built-in modes, mode folder is not writable
File logFolder = Base.getSettingsFile("debug");
if (!logFolder.exists()) {
logFolder.mkdir();
}
// badness
return null;
File logFile = new File(logFolder, "DebugMode.%g.log");
Handler handler = new FileHandler(logFile.getAbsolutePath(), LOG_SIZE, 10, false);
globalLogger.addHandler(handler);
} catch (IOException ex) {
Logger.getLogger(DebugMode.class.getName()).log(Level.SEVERE, null, ex);
} catch (SecurityException ex) {
Logger.getLogger(DebugMode.class.getName()).log(Level.SEVERE, null, ex);
}
// output version from manifest file
Package p = DebugMode.class.getPackage();
String titleAndVersion = p.getImplementationTitle() + " (v" + p.getImplementationVersion() + ")";
//System.out.println(titleAndVersion);
Logger.getLogger(DebugMode.class.getName()).log(Level.INFO, titleAndVersion);
}
@Override
public String getTitle() {
return "Experimental";
}
/**
* Create a new editor associated with this mode.
*/
@Override
public processing.app.Editor createEditor(Base base, String path, EditorState state) {
return new DebugEditor(base, path, state, this);
}
/**
* Load a String value from theme.txt
*
* @param attribute the attribute key to load
* @param defaultValue the default value
* @return the attributes value, or the default value if the attribute
* couldn't be loaded
*/
public String loadThemeString(String attribute, String defaultValue) {
String newString = theme.get(attribute);
if (newString != null) {
return newString;
}
Logger.getLogger(DebugMode.class.getName()).log(Level.WARNING, "Error loading String: {0}", attribute);
return defaultValue;
}
/**
* Load a Color value from theme.txt
*
* @param attribute the attribute key to load
* @param defaultValue the default value
* @return the attributes value, or the default value if the attribute
* couldn't be loaded
*/
public Color getThemeColor(String attribute, Color defaultValue) {
Color newColor = theme.getColor(attribute);
if (newColor != null) {
return newColor;
}
System.out.println("error loading color: " + attribute);
Logger.getLogger(DebugMode.class.getName()).log(Level.WARNING, "Error loading Color: {0}", attribute);
return defaultValue;
}
public ClassLoader getJavaModeClassLoader() {
for (Mode m : base.getModeList()) {
if (m.getClass() == JavaMode.class) {
JavaMode jMode = (JavaMode) m;
return jMode.getClassLoader();
}
}
// badness
return null;
}
}

View File

@@ -82,11 +82,11 @@ public class TextArea extends JEditTextArea {
// load settings from theme.txt
DebugMode theme = (DebugMode) editor.getMode();
gutterBgColor = theme.loadColorFromTheme("gutter.bgcolor", gutterBgColor);
gutterLineColor = theme.loadColorFromTheme("gutter.linecolor", gutterLineColor);
gutterBgColor = theme.getThemeColor("gutter.bgcolor", gutterBgColor);
gutterLineColor = theme.getThemeColor("gutter.linecolor", gutterLineColor);
gutterPadding = theme.getInteger("gutter.padding");
breakpointMarker = theme.loadStringFromTheme("breakpoint.marker", breakpointMarker);
currentLineMarker = theme.loadStringFromTheme("currentline.marker", currentLineMarker);
breakpointMarker = theme.loadThemeString("breakpoint.marker", breakpointMarker);
currentLineMarker = theme.loadThemeString("currentline.marker", currentLineMarker);
}
/**