From 9baf1a5b8293d0d9e335c47b924559d8f9acc965 Mon Sep 17 00:00:00 2001 From: hneemann Date: Mon, 17 Jul 2017 08:58:26 +0200 Subject: [PATCH] added an experimental library path --- .../digital/draw/library/ElementLibrary.java | 18 +++++++++++++++++- src/main/java/de/neemann/digital/gui/Main.java | 2 +- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/neemann/digital/draw/library/ElementLibrary.java b/src/main/java/de/neemann/digital/draw/library/ElementLibrary.java index 343312e39..81b02dae0 100644 --- a/src/main/java/de/neemann/digital/draw/library/ElementLibrary.java +++ b/src/main/java/de/neemann/digital/draw/library/ElementLibrary.java @@ -45,6 +45,21 @@ import java.util.*; public class ElementLibrary implements Iterable { private static final Logger LOGGER = LoggerFactory.getLogger(ElementLibrary.class); + /** + * @return the additional library path + */ + public static String getLibPath() { + String path = ElementLibrary.class.getProtectionDomain().getCodeSource().getLocation().getPath().replace('\\', '/'); + if (path.endsWith("/target/classes/")) + return path.substring(0, path.length() - 16) + "/src/main/dig/lib"; + if (path.endsWith("/target/Digital.jar")) + return path.substring(0, path.length() - 19) + "/src/main/dig/lib"; + if (path.endsWith("Digital.jar")) + return path.substring(0, path.length() - 12) + "/examples/lib"; + + return null; + } + private final HashMap map = new HashMap<>(); private final HashSet isProgrammable = new HashSet<>(); private final ArrayList listeners = new ArrayList<>(); @@ -276,6 +291,7 @@ public class ElementLibrary implements Iterable private void rescanFolder() throws IOException { LOGGER.debug("rescan folder"); + LOGGER.info("library " + getLibPath()); LibraryNode changedNode = null; if (rootLibraryPath != null) { if (customNode == null) { @@ -311,7 +327,7 @@ public class ElementLibrary implements Iterable l.libraryChanged(node); } - private int scanFolder(File path, LibraryNode node) { + private static int scanFolder(File path, LibraryNode node) { int num = 0; File[] list = path.listFiles(); if (list != null) { diff --git a/src/main/java/de/neemann/digital/gui/Main.java b/src/main/java/de/neemann/digital/gui/Main.java index 8cd43b03e..e67b0ced5 100644 --- a/src/main/java/de/neemann/digital/gui/Main.java +++ b/src/main/java/de/neemann/digital/gui/Main.java @@ -234,7 +234,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS getContentPane().add(toolBar, BorderLayout.NORTH); setJMenuBar(menuBar); - JMenu help = InfoDialog.getInstance().addToFrame(this, MESSAGE); + JMenu help = InfoDialog.getInstance().addToFrame(this, MESSAGE+"\n\nlib: "+ElementLibrary.getLibPath()); help.add(new ToolTipAction(Lang.get("menu_help_elements")) { @Override public void actionPerformed(ActionEvent actionEvent) {