Controllers (#1068)

* initial

* more components

* fixes

* Update TreePanel.java

* fix boost converter

* Improve wrapping of component names

* Update ULN2003Driver.java

* Update NRF24L01Transceiver.java

* imp

* updates

* improvements

* more components

* arduino

* uno

* icon

* cleanup

* mega

* mega

* improveent

* nano

* esp boards

* esp

* esp32

* esp32

* Update ESP8266NodeMCU.java

* d1

* Update WemosD1Mini.java

* pi

* consolidate esp32

* pi pico updates

* pi zero

* Update RaspberryPiZero.java

* pi pico

* cleanup

* pi improvements

* consolidate pins

* antenna consolidation

* improve solder pads

* teensy

* headers

* teensy fix, test cleanup

* s3

* Update ESP32DevKit.java

* usb standardization

* pico w

* button standardization

* arduino improvements

* Update AbstractMakerBoard.java

* Update RaspberryPiZero.java

* Update RaspberryPi.java

* pi 3

* pi 5 improvements

* Update RaspberryPiZero.java

* fix tests

* esp pinout fix

* Update ESP32DevKit.java

* pin name improvements

* Create tier-1-modern-boards.md

* new versions

* pinouts

* nano improvements

* sanitize node names

* label improvements

* minima fixes

* arduino uno labels

* nano labels

* Update ArduinoNano.java

* mega

* mega

* comment out future stuff

* release prep

* Update RaspberryPiPico.java

* Refactor abstract class

* labeling improvement

* label offset fixes

* Update Teensy.java

* consolidate tests

* micro variants

* Update RaspberryPi.java
This commit is contained in:
Bane Stojkovic
2026-09-11 11:08:15 +02:00
committed by GitHub
parent 8080b8d70b
commit 89ce96b6c8
81 changed files with 19542 additions and 15 deletions
@@ -468,6 +468,20 @@ public class TreePanel extends JPanel {
private static final long serialVersionUID = 1L;
public ComponentCellRenderer() {
setVerticalAlignment(SwingConstants.CENTER);
setVerticalTextPosition(SwingConstants.CENTER);
}
@Override
public Dimension getPreferredSize() {
Dimension d = super.getPreferredSize();
if (d != null) {
d.height = Math.max(d.height, 20);
}
return d;
}
@SuppressWarnings("unchecked")
@Override
public Component getTreeCellRendererComponent(final JTree tree, final Object value,
@@ -479,19 +493,17 @@ public class TreePanel extends JPanel {
Object obj = value;
if (obj != null && obj.getClass().equals(TreeNode.class)) {
TreeNode payload = (TreeNode) obj;
setPreferredSize(null);
if (payload.getComponentType() == null) {
setToolTipText(null);
if (leaf)
setIcon(IconLoader.Component.getIcon());
setPreferredSize(new Dimension(250, 20));
} else {
setToolTipText("<html><b>" + payload.getComponentType().getName() + "</b><br>"
+ payload.getComponentType().getDescription() + "<br>Author: "
+ payload.getComponentType().getAuthor() + "<br><br>" + CLICK_TO_INSTANTIATE
+ "</html>");
setIcon(payload.getComponentType().getIcon());
setPreferredSize(new Dimension(250, 32));
}
String shortCutHtml = "";
@@ -528,11 +540,25 @@ public class TreePanel extends JPanel {
}
}
int viewportWidth = tree.getVisibleRect().width;
if (viewportWidth <= 0 && tree.getParent() != null) {
viewportWidth = tree.getParent().getWidth();
}
if (viewportWidth <= 0 && tree.getWidth() > 0) {
viewportWidth = tree.getWidth();
}
if (viewportWidth <= 0) {
viewportWidth = 240;
}
int overhead = (payload.getComponentType() != null) ? 95 : 45;
int wrapWidth = Math.max(100, viewportWidth - overhead);
// translate categories
setText("<html>"
setText("<html><div style=\"width: " + wrapWidth + "px;\">"
+ (payload.getComponentType() == null ? LangUtil.translate(payload.forDisplay())
: payload.forDisplay())
+ shortCutHtml + variantsHtml + "</html>");
+ shortCutHtml + variantsHtml + "</div></html>");
}
return this;