mirror of https://github.com/noisymime/Arduino.git
Merge remote-tracking branch 'cmaglie/port-on-statusbar' into new-extension
This commit is contained in:
commit
365d4acf6e
|
@ -993,6 +993,13 @@ public class Base {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void onBoardOrPortChange() {
|
||||||
|
for (Editor editor : editors) {
|
||||||
|
editor.onBoardOrPortChange();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void rebuildBoardsMenu(JMenu menu) {
|
public void rebuildBoardsMenu(JMenu menu) {
|
||||||
//System.out.println("rebuilding boards menu");
|
//System.out.println("rebuilding boards menu");
|
||||||
menu.removeAll();
|
menu.removeAll();
|
||||||
|
@ -1005,6 +1012,7 @@ public class Base {
|
||||||
//System.out.println("Switching to " + target + ":" + board);
|
//System.out.println("Switching to " + target + ":" + board);
|
||||||
Preferences.set("target", (String) getValue("target"));
|
Preferences.set("target", (String) getValue("target"));
|
||||||
Preferences.set("board", (String) getValue("board"));
|
Preferences.set("board", (String) getValue("board"));
|
||||||
|
onBoardOrPortChange();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
action.putValue("target", target.getName());
|
action.putValue("target", target.getName());
|
||||||
|
|
|
@ -908,6 +908,7 @@ public class Editor extends JFrame implements RunnerListener {
|
||||||
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
selectSerialPort(((JCheckBoxMenuItem)e.getSource()).getText());
|
selectSerialPort(((JCheckBoxMenuItem)e.getSource()).getText());
|
||||||
|
base.onBoardOrPortChange();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2624,6 +2625,13 @@ public class Editor extends JFrame implements RunnerListener {
|
||||||
|
|
||||||
// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
|
// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
|
||||||
|
|
||||||
|
protected void onBoardOrPortChange() {
|
||||||
|
Map<String, String> boardPreferences = Base.getBoardPreferences();
|
||||||
|
lineStatus.setBoardName(boardPreferences.get("name"));
|
||||||
|
lineStatus.setSerialPort(Preferences.get("serial.port"));
|
||||||
|
lineStatus.repaint();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the edit popup menu.
|
* Returns the edit popup menu.
|
||||||
|
|
|
@ -25,6 +25,9 @@ package processing.app;
|
||||||
import processing.app.syntax.*;
|
import processing.app.syntax.*;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
import java.awt.geom.Rectangle2D;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
|
|
||||||
|
@ -39,10 +42,14 @@ public class EditorLineStatus extends JComponent {
|
||||||
|
|
||||||
Color foreground;
|
Color foreground;
|
||||||
Color background;
|
Color background;
|
||||||
|
Color messageForeground;
|
||||||
|
|
||||||
Font font;
|
Font font;
|
||||||
int high;
|
int high;
|
||||||
|
|
||||||
String text = "";
|
String text = "";
|
||||||
|
String name = "";
|
||||||
|
String serialport = "";
|
||||||
|
|
||||||
|
|
||||||
public EditorLineStatus(JEditTextArea textarea) {
|
public EditorLineStatus(JEditTextArea textarea) {
|
||||||
|
@ -87,6 +94,11 @@ public class EditorLineStatus extends JComponent {
|
||||||
|
|
||||||
|
|
||||||
public void paintComponent(Graphics g) {
|
public void paintComponent(Graphics g) {
|
||||||
|
if (name=="" && serialport=="") {
|
||||||
|
Map<String, String> boardPreferences = Base.getBoardPreferences();
|
||||||
|
setBoardName(boardPreferences.get("name"));
|
||||||
|
setSerialPort(Preferences.get("serial.port"));
|
||||||
|
}
|
||||||
g.setColor(background);
|
g.setColor(background);
|
||||||
Dimension size = getSize();
|
Dimension size = getSize();
|
||||||
g.fillRect(0, 0, size.width, size.height);
|
g.fillRect(0, 0, size.width, size.height);
|
||||||
|
@ -96,11 +108,20 @@ public class EditorLineStatus extends JComponent {
|
||||||
int baseline = (high + g.getFontMetrics().getAscent()) / 2;
|
int baseline = (high + g.getFontMetrics().getAscent()) / 2;
|
||||||
g.drawString(text, 6, baseline);
|
g.drawString(text, 6, baseline);
|
||||||
|
|
||||||
|
g.setColor(messageForeground);
|
||||||
|
String tmp = "board: " + name + " on " + serialport;
|
||||||
|
|
||||||
|
Rectangle2D bounds = g.getFontMetrics().getStringBounds(tmp, null);
|
||||||
|
|
||||||
|
g.drawString(tmp, size.width - (int) bounds.getWidth() -20 , baseline);
|
||||||
|
|
||||||
if (Base.isMacOS()) {
|
if (Base.isMacOS()) {
|
||||||
g.drawImage(resize, size.width - 20, 0, this);
|
g.drawImage(resize, size.width - 20, 0, this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setBoardName(String name) { this.name = name; }
|
||||||
|
public void setSerialPort(String serialport) { this.serialport = serialport; }
|
||||||
|
|
||||||
public Dimension getPreferredSize() {
|
public Dimension getPreferredSize() {
|
||||||
return new Dimension(300, high);
|
return new Dimension(300, high);
|
||||||
|
|
Loading…
Reference in New Issue