From 0acca63ccd02ae63e8779ae9dd269a7cf52e23df Mon Sep 17 00:00:00 2001 From: Branislav Stojkovic Date: Sat, 9 Feb 2019 09:47:13 +0100 Subject: [PATCH] prettier variant and block display --- .../src/org/diylc/presenter/Presenter.java | 4 ++-- diylc/diylc-library/lib/diylc-core.jar | Bin 249348 -> 249348 bytes diylc/diylc-swing/lib/diylc-core.jar | Bin 249348 -> 249348 bytes .../swing/plugins/statusbar/StatusBar.java | 2 +- .../toolbox/ComponentButtonFactory.java | 16 +++++++++++++++- .../diylc/swing/plugins/tree/TreePanel.java | 17 ++++++++++++++++- 6 files changed, 34 insertions(+), 5 deletions(-) diff --git a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java index 912f7451..ccc145c5 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java +++ b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java @@ -2592,7 +2592,7 @@ public class Presenter implements IPlugInPort { variantMap.put(entry.getKey(), templates); } for (Template t : entry.getValue()) { - templates.add(new Template(t.getName() + " by " + pkg.getOwner(), t.getValues(), t.getPoints())); + templates.add(new Template(t.getName() + " [" + pkg.getOwner() + "]", t.getValues(), t.getPoints())); } } @@ -2624,7 +2624,7 @@ public class Presenter implements IPlugInPort { } for (Map.Entry>> entry : pkg.getBlocks().entrySet()) { - blocks.put(entry.getKey() + " by " + pkg.getOwner(), entry.getValue()); + blocks.put(entry.getKey() + " [" + pkg.getOwner() + "]", entry.getValue()); } ConfigurationManager.getInstance().writeValue(BLOCKS_KEY, blocks); diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index 6772b7dbe12b58ba8f747d4cc0b1a6854c09014f..451e3b51be9ecac34db3b1e4a3050eecac234e47 100644 GIT binary patch delta 4327 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 delta 4327 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 diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index 6772b7dbe12b58ba8f747d4cc0b1a6854c09014f..451e3b51be9ecac34db3b1e4a3050eecac234e47 100644 GIT binary patch delta 4327 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 delta 4327 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 diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java index 7f7d9fff..d017a70f 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/statusbar/StatusBar.java @@ -310,7 +310,7 @@ public class StatusBar extends JPanel implements IPlugIn { private JLabel getPositionLabel() { if (positionLabel == null) { positionLabel = new JLabel(); - positionLabel.setBorder(BorderFactory.createEmptyBorder(0, 4, 0, 0)); + positionLabel.setBorder(BorderFactory.createEmptyBorder(0, 4, 0, 4)); } return positionLabel; } diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/toolbox/ComponentButtonFactory.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/toolbox/ComponentButtonFactory.java index dace3c1b..6f9a1cc7 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/toolbox/ComponentButtonFactory.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/toolbox/ComponentButtonFactory.java @@ -28,6 +28,8 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.ArrayList; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import javax.swing.BorderFactory; import javax.swing.JButton; @@ -105,10 +107,22 @@ public class ComponentButtonFactory { }); return button; } + + private static final Pattern contributedPattern = Pattern.compile("^(.*)\\[(.*)\\]"); public static JMenuItem createVariantItem(final IPlugInPort plugInPort, final Template variant, final ComponentType componentType) { - final JMenuItem item = new JMenuItem(variant.getName()) { + + String display = variant.getName(); + + Matcher match = contributedPattern.matcher(display); + if (match.find()) { + String name = match.group(1); + String owner = match.group(2); + display = "" + name + "[" + owner + "]"; + } + + final JMenuItem item = new JMenuItem(display) { private static final long serialVersionUID = 1L; diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreePanel.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreePanel.java index ab5fe433..bc6547f4 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreePanel.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/tree/TreePanel.java @@ -44,6 +44,8 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import javax.swing.AbstractAction; import javax.swing.Icon; @@ -669,6 +671,8 @@ public class TreePanel extends JPanel { private String category; private boolean isVisible; private MouseListener clickListener; + + private final Pattern contributedPattern = Pattern.compile("^(.*)\\[(.*)\\]"); public Payload(ComponentType componentType, MouseListener clickListener) { super(); @@ -699,10 +703,21 @@ public class TreePanel extends JPanel { public MouseListener getClickListener() { return clickListener; } + + private String categoryForDisplay() { + String display = category; + Matcher match = contributedPattern.matcher(display); + if (match.find()) { + String name = match.group(1); + String owner = match.group(2); + display = name + "[" + owner + "]"; + } + return display; + } @Override public String toString() { - return componentType == null ? category : componentType.getName(); + return componentType == null ? categoryForDisplay() : componentType.getName(); } }