Better component value render in explorer

This commit is contained in:
Bane Stojkovic
2022-12-12 21:57:17 +01:00
parent c7d5fe3cf4
commit f181109ac7
@@ -78,9 +78,9 @@ public class ExplorerPane extends JPanel {
gbc.weighty = 0; gbc.weighty = 0;
gbc.gridwidth = 1; gbc.gridwidth = 1;
// add(getTitleLabel(), gbc); // add(getTitleLabel(), gbc);
// //
// gbc.gridy++; // gbc.gridy++;
add(getSearchField(), gbc); add(getSearchField(), gbc);
@@ -107,7 +107,7 @@ public class ExplorerPane extends JPanel {
if (titleLabel == null) { if (titleLabel == null) {
titleLabel = new JLabel(getName()); titleLabel = new JLabel(getName());
titleLabel.setHorizontalAlignment(SwingConstants.CENTER); titleLabel.setHorizontalAlignment(SwingConstants.CENTER);
// titleLabel.setFont(titleLabel.getFont().deriveFont(Font.BOLD)); // titleLabel.setFont(titleLabel.getFont().deriveFont(Font.BOLD));
} }
return titleLabel; return titleLabel;
} }
@@ -345,16 +345,16 @@ public class ExplorerPane extends JPanel {
private static class ComponentListCellRenderer implements ListCellRenderer<IDIYComponent<?>> { private static class ComponentListCellRenderer implements ListCellRenderer<IDIYComponent<?>> {
// private static Color[] layerColors = new Color[] { Color.gray, Color.decode("#ff6363"), Color.decode("#293462"), Color.decode("#138588"), // private static Color[] layerColors = new Color[] { Color.gray, Color.decode("#ff6363"),
// Color.decode("#c0ca03"), Color.decode("#990000") }; // Color.decode("#293462"), Color.decode("#138588"),
// Color.decode("#c0ca03"), Color.decode("#990000") };
protected DefaultListCellRenderer defaultRenderer = new DefaultListCellRenderer(); protected DefaultListCellRenderer defaultRenderer = new DefaultListCellRenderer();
private Map<String, ComponentType> componentTypes; private Map<String, ComponentType> componentTypes;
public ComponentListCellRenderer(Map<String, List<ComponentType>> componentTypeMap) { public ComponentListCellRenderer(Map<String, List<ComponentType>> componentTypeMap) {
this.componentTypes = componentTypeMap.values().stream() this.componentTypes = componentTypeMap.values().stream().flatMap(x -> x.stream())
.flatMap(x -> x.stream())
.collect(Collectors.toMap(x -> x.getInstanceClass().getCanonicalName(), x -> x)); .collect(Collectors.toMap(x -> x.getInstanceClass().getCanonicalName(), x -> x));
} }
@@ -367,10 +367,26 @@ public class ExplorerPane extends JPanel {
JLabel renderer = (JLabel) defaultRenderer.getListCellRendererComponent(list, value, index, JLabel renderer = (JLabel) defaultRenderer.getListCellRendererComponent(list, value, index,
isSelected, cellHasFocus); isSelected, cellHasFocus);
int layerId = (int)Math.round(componentType.getZOrder()); int layerId = (int) Math.round(componentType.getZOrder());
String valueForDisplay = value.getValueForDisplay();
renderer.setText(String.format("<html><font color='#c0c0c0'>[L%s]</font> %s (<font color='#666666'>%s</font>)</html>", layerId, value.getName(), value.getValueForDisplay())); if (isSelected) {
if (valueForDisplay == null || valueForDisplay.trim().isEmpty()) {
renderer.setText(String.format("[L%s] %s", layerId, value.getName()));
} else {
renderer
.setText(String.format("[L%s] %s (%s)", layerId, value.getName(), valueForDisplay));
}
} else {
if (valueForDisplay == null || valueForDisplay.trim().isEmpty()) {
renderer.setText(String.format("<html><font color='#c0c0c0'>[L%s]</font> %s</html>",
layerId, value.getName()));
} else {
renderer.setText(String.format(
"<html><font color='#c0c0c0'>[L%s]</font> %s (<font color='#666666'>%s</font>)</html>",
layerId, value.getName(), valueForDisplay));
}
}
return renderer; return renderer;
} }