From 8be8c232133baea5b5fd6ef9a2e10bfe2197821d Mon Sep 17 00:00:00 2001 From: Branislav Stojkovic Date: Mon, 7 Jan 2019 10:35:55 +0100 Subject: [PATCH] Added visual indicator to the component tree showing how many variants, if any, exist for a component Rename multi-section cap class --- diylc/diylc-library/lib/diylc-core.jar | Bin 248549 -> 248549 bytes ...acitor.java => MultiSectionCapacitor.java} | 108 +++++++++--------- diylc/diylc-swing/lib/diylc-core.jar | Bin 248549 -> 248549 bytes diylc/diylc-swing/library/main.jar | Bin 462767 -> 462888 bytes .../diylc/swing/plugins/tree/TreePanel.java | 34 ++++-- diylc/diylc-swing/update.xml | 10 +- 6 files changed, 92 insertions(+), 60 deletions(-) rename diylc/diylc-library/src/org/diylc/components/passive/{ElectrolyticCanCapacitor.java => MultiSectionCapacitor.java} (90%) diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index 7f4f4ac5ef74fa726ead8fdbfe239cec5ace602c..c2e79b8aaed71b3ad3bf2c91a4bd0469c58386ab 100644 GIT binary patch delta 4331 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 delta 4331 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 { +public class MultiSectionCapacitor extends AbstractTransparentComponent { private static final long serialVersionUID = 1L; public static Color BODY_COLOR = Color.decode("#6B6DCE"); public static Color BASE_COLOR = Color.decode("#333333"); public static Color BORDER_COLOR = BODY_COLOR.darker(); - public static Color PIN_COLOR = Color.decode("#00B2EE"); - public static Color PIN_BORDER_COLOR = PIN_COLOR.darker(); + public static Color PIN_COLOR = METAL_COLOR;// Color.decode("#00B2EE"); +// public static Color PIN_BORDER_COLOR = PIN_COLOR.darker(); public static Color LABEL_COLOR = Color.white; public static Size PIN_SIZE = new Size(0.08d, SizeUnit.in); // public static Size PIN_SPACING = new Size(0.05d, SizeUnit.in); public static Size BODY_DIAMETER = new Size(1d, SizeUnit.in); - private static double RELATIVE_DIAMETER = 0.6d; + private static double[] RELATIVE_DIAMETERS = new double[] { 0.4d, 0.6d }; private static final Format format = new DecimalFormat("0.#####"); private Capacitance[] value = new Capacitance[3]; @@ -82,12 +82,13 @@ public class ElectrolyticCanCapacitor extends AbstractTransparentComponentTo+vaT=grWtBUp!i5NhE}n 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 delta 4331 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 blockNames = new ArrayList(newBlocks.keySet()); Collections.sort(blockNames); - refreshBlocks(blockNames); + refreshBuildingBlocks(blockNames); this.blocks = blockNames; } else { this.blocks = new ArrayList(); @@ -235,7 +244,7 @@ public class TreePanel extends JPanel { getTreeModel().nodeStructureChanged(getRecentNode()); } - private void refreshBlocks(List blocks) { + private void refreshBuildingBlocks(List blocks) { getBlocksNode().removeAllChildren(); for (final String block : blocks) { Payload payload = new Payload(block, new MouseAdapter() { @@ -597,6 +606,9 @@ public class TreePanel extends JPanel { else setPreferredSize(new Dimension(0, 0)); } + + String shortCutHtml = ""; + String variantsHtml = ""; if (payload.isVisible()) { HashMap shortcutMap = @@ -608,14 +620,22 @@ public class TreePanel extends JPanel { if (shortcutMap != null && shortcutMap.containsValue(identifier)) { for (String key : shortcutMap.keySet()) { if (shortcutMap.get(key).equals(identifier)) { - setText("" - + payload.toString() - + "  " - + key + " "); + shortCutHtml = "  " + + key + " "; } } } } + + if (payload.getComponentType() != null) { + List