diff --git a/app/src/processing/app/ui/Editor.java b/app/src/processing/app/ui/Editor.java
index 048e0d22e..380980df1 100644
--- a/app/src/processing/app/ui/Editor.java
+++ b/app/src/processing/app/ui/Editor.java
@@ -40,9 +40,11 @@ import processing.app.syntax.*;
import processing.core.*;
import java.awt.BorderLayout;
+import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.EventQueue;
+import java.awt.Font;
import java.awt.Frame;
import java.awt.Image;
import java.awt.Point;
@@ -2836,6 +2838,47 @@ public abstract class Editor extends JFrame implements RunnerListener {
// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
+ static Font font;
+ static Color textColor;
+ static Color bgColorWarning;
+ static Color bgColorError;
+
+
+ /*
+ public void toolTipError(JComponent comp, String message) {
+ setToolTip(comp, message, true);
+ }
+
+
+ public void toolTipWarning(JComponent comp, String message) {
+ setToolTip(comp, message, false);
+ }
+ */
+
+
+ public void statusToolTip(JComponent comp, String message, boolean error) {
+ if (font == null) {
+ font = Toolkit.getSansFont(9, Font.PLAIN);
+ textColor = mode.getColor("errors.selection.fgcolor");
+ bgColorWarning = mode.getColor("errors.selection.warning.bgcolor");
+ bgColorError = mode.getColor("errors.selection.error.bgcolor");
+ }
+
+ Color bgColor = error ? //text.startsWith(Language.text("editor.status.error")) ?
+ bgColorError : bgColorWarning;
+ String content = "" +
+ "
" + message + "
";
+ //System.out.println(content);
+ comp.setToolTipText(content);
+ }
+
+
+ // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
+
+
/**
* Returns the edit popup menu.
*/
diff --git a/app/src/processing/app/ui/EditorStatus.java b/app/src/processing/app/ui/EditorStatus.java
index aab3b99ee..73269775c 100644
--- a/app/src/processing/app/ui/EditorStatus.java
+++ b/app/src/processing/app/ui/EditorStatus.java
@@ -24,14 +24,19 @@
package processing.app.ui;
-import java.awt.*;
+import java.awt.Color;
+import java.awt.Cursor;
+import java.awt.Dimension;
+import java.awt.Font;
+import java.awt.FontMetrics;
+import java.awt.Graphics;
+import java.awt.Image;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.plaf.basic.BasicSplitPaneDivider;
import javax.swing.plaf.basic.BasicSplitPaneUI;
-import processing.app.Language;
import processing.app.Mode;
import processing.app.Platform;
import processing.core.PApplet;
diff --git a/java/src/processing/mode/java/MarkerColumn.java b/java/src/processing/mode/java/MarkerColumn.java
index fc63d7dbd..8d5a0c86a 100644
--- a/java/src/processing/mode/java/MarkerColumn.java
+++ b/java/src/processing/mode/java/MarkerColumn.java
@@ -42,7 +42,6 @@ import processing.app.Util;
import processing.core.PApplet;
import processing.mode.java.pdex.LineMarker;
import processing.mode.java.pdex.Problem;
-import processing.app.Language;
/**
@@ -186,10 +185,11 @@ public class MarkerColumn extends JPanel {
LineMarker m = findClosestMarker(y);
if (m != null) {
Problem p = m.getProblem();
- String kind = p.isError() ?
- Language.text("editor.status.error") :
- Language.text("editor.status.warning");
- setToolTipText(kind + ": " + p.getMessage());
+// String kind = p.isError() ?
+// Language.text("editor.status.error") :
+// Language.text("editor.status.warning");
+// setToolTipText(kind + ": " + p.getMessage());
+ editor.statusToolTip(MarkerColumn.this, p.getMessage(), p.isError());
setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
}
return null;
diff --git a/java/src/processing/mode/java/pdex/JavaTextAreaPainter.java b/java/src/processing/mode/java/pdex/JavaTextAreaPainter.java
index f51e79193..74ae6f714 100644
--- a/java/src/processing/mode/java/pdex/JavaTextAreaPainter.java
+++ b/java/src/processing/mode/java/pdex/JavaTextAreaPainter.java
@@ -137,7 +137,10 @@ public class JavaTextAreaPainter extends TextAreaPainter
if (x >= getJavaTextArea().offsetToX(line, startOffset) &&
x <= getJavaTextArea().offsetToX(line, stopOffset)) {
- setToolTipText(problem.getMessage());
+ //setToolTipText(problem.getMessage());
+ getJavaEditor().statusToolTip(JavaTextAreaPainter.this,
+ problem.getMessage(),
+ problem.isError());
evt.consume();
}
}
diff --git a/todo.txt b/todo.txt
index 34260920c..66200374c 100644
--- a/todo.txt
+++ b/todo.txt
@@ -13,6 +13,9 @@ X https://github.com/processing/processing/issues/3882
X https://github.com/processing/processing/pull/3884
X Hide useless error in error checker
X https://github.com/processing/processing/pull/3887
+X grab bag of CM work from Jakub
+X https://github.com/processing/processing/issues/3895
+X https://github.com/processing/processing/pull/3897
gui
X distinguish errors and warnings
@@ -36,7 +39,14 @@ X selecting a warning should also show the warning in the status area
X https://github.com/processing/processing/pull/3907
X clicking an error or warning should give the focus back to the editor
X https://github.com/processing/processing/pull/3905
-
+X replace startup/about screen (1x and 2x versions)
+X change 'alpha' to correct name
+X also change the revision in the "about processing" dialog
+X https://github.com/processing/processing/issues/3665
+X implement splash screen on OS X
+X also implement special retina version
+X implement custom tooltip for error/warning hover
+X applies to both MarkerColumn and JavaTextAreaPainter
earlier
X list with contrib types separated is really wonky
@@ -61,9 +71,6 @@ _ mouse events (i.e. toggle breakpoint) seem to be firing twice
_ https://github.com/processing/processing/milestones/3.0%20final
_ JavaEditor has several null colors, remove color support
_ once the design is complete and we for sure do not need color
-_ grab bag of CM work from Jakub
-_ https://github.com/processing/processing/issues/3895
-X https://github.com/processing/processing/pull/3897
gui / James
_ make gutter of console match error list
@@ -73,16 +80,10 @@ _ remove extra border around the outside
_ change font
_ change selection highlight color
_ put some margin around it
-_ implement custom tooltip for error/warning hover
-_ applies to both MarkerColumn and
_ Fix placement and visual design when showing error on hover
_ https://github.com/processing/processing/issues/3173
_ import suggestions box needs design review
_ https://github.com/processing/processing/issues/3407
-_ replace startup/about screen (1x and 2x versions)
-_ change 'alpha' to correct name
-_ also change the revision in the "about processing" dialog
-_ https://github.com/processing/processing/issues/3665
_ different design of squiggly line
_ easy to do inside JavaTextAreaPainter.paintSquiggle()