diff --git a/java/src/processing/mode/java/JavaMode.java b/java/src/processing/mode/java/JavaMode.java index a05d7cb8e..04670b7c1 100644 --- a/java/src/processing/mode/java/JavaMode.java +++ b/java/src/processing/mode/java/JavaMode.java @@ -29,6 +29,8 @@ import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.Logger; +import javax.swing.ImageIcon; + import processing.app.*; import processing.mode.java.runner.Runner; import processing.mode.java.tweak.SketchParser; @@ -46,6 +48,17 @@ public class JavaMode extends Mode { initLogger(); loadPreferences(); + loadIcons(); + } + + /** + * Needed by code completion panel. See {@link processing.mode.java.pdex.CompletionPanel} + */ + private void loadIcons(){ + classIcon = loadIcon("theme/icon_class_obj.png"); + methodIcon = loadIcon("theme/icon_methpub_obj.png"); + fieldIcon = loadIcon("theme/icon_field_protected_obj.png"); + localVarIcon = loadIcon("theme/icon_field_default_obj.png"); } @@ -316,6 +329,11 @@ public class JavaMode extends Mode { static public final String prefImportSuggestEnabled = "pdex.importSuggestEnabled"; static volatile public boolean enableTweak = false; + + static public ImageIcon classIcon; + static public ImageIcon fieldIcon; + static public ImageIcon methodIcon; + static public ImageIcon localVarIcon; public void loadPreferences() { diff --git a/java/src/processing/mode/java/pdex/CompletionPanel.java b/java/src/processing/mode/java/pdex/CompletionPanel.java index 4920b3973..79ea3530a 100644 --- a/java/src/processing/mode/java/pdex/CompletionPanel.java +++ b/java/src/processing/mode/java/pdex/CompletionPanel.java @@ -54,6 +54,7 @@ import processing.app.Base; import processing.app.Mode; import processing.app.syntax.JEditTextArea; import processing.mode.java.JavaEditor; +import processing.mode.java.JavaMode; /** @@ -93,9 +94,6 @@ public class CompletionPanel { public static final int MOUSE_COMPLETION = 10, KEYBOARD_COMPLETION = 20; - ImageIcon classIcon, fieldIcon, methodIcon, localVarIcon; - - /** * Triggers the completion popup * @param textarea @@ -129,11 +127,6 @@ public class CompletionPanel { + location.y); //log("Suggestion shown: " + System.currentTimeMillis()); - Mode mode = editor.getMode(); - classIcon = mode.loadIcon("theme/icon_class_obj.png"); - methodIcon = mode.loadIcon("theme/icon_methpub_obj.png"); - fieldIcon = mode.loadIcon("theme/icon_field_protected_obj.png"); - localVarIcon = mode.loadIcon("theme/icon_field_default_obj.png"); } private void styleScrollPane() { @@ -210,7 +203,7 @@ public class CompletionPanel { int maxHeight = 250; FontMetrics fm = textarea.getGraphics().getFontMetrics(); float itemHeight = Math.max((fm.getHeight() + (fm.getDescent()) * 0.5f), - classIcon.getIconHeight() * 1.2f); + JavaMode.classIcon.getIconHeight() * 1.2f); if (horizontalScrollBarVisible) itemCount++; @@ -244,7 +237,7 @@ public class CompletionPanel { int w = Math.min((int) min, maxWidth); if(w == maxWidth) horizontalScrollBarVisible = true; - w += classIcon.getIconWidth(); // add icon width too! + w += JavaMode.classIcon.getIconWidth(); // add icon width too! w += fm.stringWidth(" "); // a bit of offset //log("popup width " + w); return w; // popup menu width @@ -556,19 +549,19 @@ public class CompletionPanel { CompletionCandidate cc = (CompletionCandidate) value; switch (cc.getType()) { case CompletionCandidate.LOCAL_VAR: - label.setIcon(localVarIcon); + label.setIcon(JavaMode.localVarIcon); break; case CompletionCandidate.LOCAL_FIELD: case CompletionCandidate.PREDEF_FIELD: - label.setIcon(fieldIcon); + label.setIcon(JavaMode.fieldIcon); break; case CompletionCandidate.LOCAL_METHOD: case CompletionCandidate.PREDEF_METHOD: - label.setIcon(methodIcon); + label.setIcon(JavaMode.methodIcon); break; case CompletionCandidate.LOCAL_CLASS: case CompletionCandidate.PREDEF_CLASS: - label.setIcon(classIcon); + label.setIcon(JavaMode.classIcon); break; default: diff --git a/java/src/processing/mode/java/pdex/ErrorMessageSimplifier.java b/java/src/processing/mode/java/pdex/ErrorMessageSimplifier.java index f834acf28..e770e2c07 100644 --- a/java/src/processing/mode/java/pdex/ErrorMessageSimplifier.java +++ b/java/src/processing/mode/java/pdex/ErrorMessageSimplifier.java @@ -87,12 +87,12 @@ public class ErrorMessageSimplifier { return null; IProblem iprob = problem.getIProblem(); String args[] = iprob.getArguments(); - Base.log("Simplifying message: " + problem.getMessage() + " ID: " - + getIDName(iprob.getID())); - Base.log("Arg count: " + args.length); - for (int i = 0; i < args.length; i++) { - Base.log("Arg " + args[i]); - } +// Base.log("Simplifying message: " + problem.getMessage() + " ID: " +// + getIDName(iprob.getID())); +// Base.log("Arg count: " + args.length); +// for (int i = 0; i < args.length; i++) { +// Base.log("Arg " + args[i]); +// } String result = null;