make error status open browser when url is present (fixes #3471)

This commit is contained in:
Ben Fry
2015-08-08 13:19:19 -04:00
parent 6281eb5035
commit f9c91d678c
2 changed files with 35 additions and 0 deletions
@@ -24,11 +24,15 @@
package processing.app.ui;
import java.awt.*;
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.Base;
import processing.app.Mode;
import processing.core.PApplet;
/**
@@ -58,6 +62,7 @@ public class EditorStatus extends BasicSplitPaneDivider { //JPanel {
int mode;
String message;
String url;
Font font;
FontMetrics metrics;
@@ -82,6 +87,29 @@ public class EditorStatus extends BasicSplitPaneDivider { //JPanel {
this.editor = editor;
empty();
updateMode();
addMouseListener(new MouseAdapter() {
public void mouseEntered(MouseEvent e) {
if (url != null) {
setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
}
}
public void mousePressed(MouseEvent e) {
if (url != null) {
Base.openURL(url);
}
}
});
}
static String findURL(String message) {
String[] m = PApplet.match(message, "http\\S+");
if (m != null) {
return m[0];
}
return null;
}
@@ -107,6 +135,7 @@ public class EditorStatus extends BasicSplitPaneDivider { //JPanel {
public void empty() {
mode = NOTICE;
message = NO_MESSAGE;
url = null;
repaint();
}
@@ -114,6 +143,7 @@ public class EditorStatus extends BasicSplitPaneDivider { //JPanel {
public void notice(String message) {
mode = NOTICE;
this.message = message;
url = findURL(message);
repaint();
}
@@ -126,6 +156,7 @@ public class EditorStatus extends BasicSplitPaneDivider { //JPanel {
public void error(String message) {
mode = ERR;
this.message = message;
url = findURL(message);
repaint();
}
+4
View File
@@ -7,6 +7,10 @@ X Cannot find "processing.core" library. Line 12 in tab sketch_150704a
X also happens with "import to com.jogamp.opengl.GL2"
X https://github.com/processing/processing/issues/3547
X clean up the advanced opengl wiki page
X Initialize the Find dialog with the current selection
X https://github.com/processing/processing/issues/3457
X Links in error bar are not selectable nor clickable
X https://github.com/processing/processing/issues/3471
export
X save export settings to preferences