From 1a045d9ba4ec32ba7ec8e985b240590a5796d151 Mon Sep 17 00:00:00 2001 From: hneemann Date: Mon, 17 Jul 2017 12:44:53 +0200 Subject: [PATCH] added an additional library path --- distribution/Assembly.xml | 7 ++++ src/main/dig/{74xx/lib => lib/74xx}/7489.dig | 0 .../dig/{74xx/lib => lib/74xx}/ReadMe.txt | 0 .../lib => lib/74xx}/arithmetic/74147.dig | 0 .../lib => lib/74xx}/arithmetic/74148.dig | 0 .../lib => lib/74xx}/arithmetic/74198.dig | 0 .../lib => lib/74xx}/arithmetic/74682.dig | 0 .../lib => lib/74xx}/arithmetic/7483.dig | 0 .../lib => lib/74xx}/arithmetic/7483Real.dig | 0 .../lib => lib/74xx}/arithmetic/7485.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7400.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7402.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7404.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7408.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7410.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7411.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7413.dig | 0 .../{74xx/lib => lib/74xx}/basic/74133.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7414.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7420.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7421.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7425.dig | 0 .../{74xx/lib => lib/74xx}/basic/74260.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7427.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7430.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7432.dig | 0 .../{74xx/lib => lib/74xx}/basic/744075.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7451.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7454.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7455.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7458.dig | 0 .../dig/{74xx/lib => lib/74xx}/basic/7486.dig | 0 .../{74xx/lib => lib/74xx}/counter/74160.dig | 0 .../{74xx/lib => lib/74xx}/counter/74161.dig | 0 .../{74xx/lib => lib/74xx}/counter/74162.dig | 0 .../lib => lib/74xx}/counter/74162Real.dig | 0 .../{74xx/lib => lib/74xx}/counter/74163.dig | 0 .../{74xx/lib => lib/74xx}/counter/74590.dig | 0 .../{74xx/lib => lib/74xx}/display/7447.dig | 0 .../{74xx/lib => lib/74xx}/display/7448.dig | 0 .../{74xx/lib => lib/74xx}/driver/7407.dig | 0 .../{74xx/lib => lib/74xx}/driver/74244.dig | 0 .../{74xx/lib => lib/74xx}/driver/74540.dig | 0 .../{74xx/lib => lib/74xx}/driver/74541.dig | 0 .../lib => lib/74xx}/flipflops/74107.dig | 0 .../lib => lib/74xx}/flipflops/74116.dig | 0 .../lib => lib/74xx}/flipflops/74174.dig | 0 .../{74xx/lib => lib/74xx}/flipflops/7474.dig | 0 .../{74xx/lib => lib/74xx}/flipflops/7476.dig | 0 .../{74xx/lib => lib/74xx}/plexers/74138.dig | 0 .../{74xx/lib => lib/74xx}/plexers/74139.dig | 0 .../{74xx/lib => lib/74xx}/plexers/74150.dig | 0 .../{74xx/lib => lib/74xx}/plexers/74151.dig | 0 .../{74xx/lib => lib/74xx}/plexers/74153.dig | 0 .../{74xx/lib => lib/74xx}/plexers/74154.dig | 0 .../{74xx/lib => lib/74xx}/plexers/74157.dig | 0 .../{74xx/lib => lib/74xx}/plexers/74238.dig | 0 .../{74xx/lib => lib/74xx}/plexers/74253.dig | 0 .../{74xx/lib => lib/74xx}/plexers/7442.dig | 0 .../lib => lib/74xx}/shift register/74164.dig | 0 .../builder/tt2/StartATF1502Fitter.java | 2 +- .../de/neemann/digital/core/element/Key.java | 34 +++++++++++++++++++ .../de/neemann/digital/core/element/Keys.java | 8 ++++- .../digital/draw/library/ElementLibrary.java | 24 ++++++++----- .../java/de/neemann/digital/gui/Settings.java | 1 + .../digital/gui/components/EditorFactory.java | 8 +++++ src/main/resources/lang/lang_de.xml | 6 ++-- src/main/resources/lang/lang_en.xml | 6 ++-- 68 files changed, 81 insertions(+), 15 deletions(-) rename src/main/dig/{74xx/lib => lib/74xx}/7489.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/ReadMe.txt (100%) rename src/main/dig/{74xx/lib => lib/74xx}/arithmetic/74147.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/arithmetic/74148.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/arithmetic/74198.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/arithmetic/74682.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/arithmetic/7483.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/arithmetic/7483Real.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/arithmetic/7485.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7400.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7402.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7404.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7408.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7410.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7411.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7413.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/74133.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7414.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7420.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7421.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7425.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/74260.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7427.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7430.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7432.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/744075.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7451.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7454.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7455.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7458.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/basic/7486.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/counter/74160.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/counter/74161.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/counter/74162.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/counter/74162Real.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/counter/74163.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/counter/74590.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/display/7447.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/display/7448.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/driver/7407.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/driver/74244.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/driver/74540.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/driver/74541.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/flipflops/74107.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/flipflops/74116.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/flipflops/74174.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/flipflops/7474.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/flipflops/7476.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/plexers/74138.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/plexers/74139.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/plexers/74150.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/plexers/74151.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/plexers/74153.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/plexers/74154.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/plexers/74157.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/plexers/74238.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/plexers/74253.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/plexers/7442.dig (100%) rename src/main/dig/{74xx/lib => lib/74xx}/shift register/74164.dig (100%) diff --git a/distribution/Assembly.xml b/distribution/Assembly.xml index 296e7e295..d3c94bd69 100644 --- a/distribution/Assembly.xml +++ b/distribution/Assembly.xml @@ -35,6 +35,13 @@ ${basedir}/src/main/dig/74xx /examples/74xx/ + + *.dig + + + + ${basedir}/src/main/dig/lib + /examples/lib/ **/*.dig **/*.txt diff --git a/src/main/dig/74xx/lib/7489.dig b/src/main/dig/lib/74xx/7489.dig similarity index 100% rename from src/main/dig/74xx/lib/7489.dig rename to src/main/dig/lib/74xx/7489.dig diff --git a/src/main/dig/74xx/lib/ReadMe.txt b/src/main/dig/lib/74xx/ReadMe.txt similarity index 100% rename from src/main/dig/74xx/lib/ReadMe.txt rename to src/main/dig/lib/74xx/ReadMe.txt diff --git a/src/main/dig/74xx/lib/arithmetic/74147.dig b/src/main/dig/lib/74xx/arithmetic/74147.dig similarity index 100% rename from src/main/dig/74xx/lib/arithmetic/74147.dig rename to src/main/dig/lib/74xx/arithmetic/74147.dig diff --git a/src/main/dig/74xx/lib/arithmetic/74148.dig b/src/main/dig/lib/74xx/arithmetic/74148.dig similarity index 100% rename from src/main/dig/74xx/lib/arithmetic/74148.dig rename to src/main/dig/lib/74xx/arithmetic/74148.dig diff --git a/src/main/dig/74xx/lib/arithmetic/74198.dig b/src/main/dig/lib/74xx/arithmetic/74198.dig similarity index 100% rename from src/main/dig/74xx/lib/arithmetic/74198.dig rename to src/main/dig/lib/74xx/arithmetic/74198.dig diff --git a/src/main/dig/74xx/lib/arithmetic/74682.dig b/src/main/dig/lib/74xx/arithmetic/74682.dig similarity index 100% rename from src/main/dig/74xx/lib/arithmetic/74682.dig rename to src/main/dig/lib/74xx/arithmetic/74682.dig diff --git a/src/main/dig/74xx/lib/arithmetic/7483.dig b/src/main/dig/lib/74xx/arithmetic/7483.dig similarity index 100% rename from src/main/dig/74xx/lib/arithmetic/7483.dig rename to src/main/dig/lib/74xx/arithmetic/7483.dig diff --git a/src/main/dig/74xx/lib/arithmetic/7483Real.dig b/src/main/dig/lib/74xx/arithmetic/7483Real.dig similarity index 100% rename from src/main/dig/74xx/lib/arithmetic/7483Real.dig rename to src/main/dig/lib/74xx/arithmetic/7483Real.dig diff --git a/src/main/dig/74xx/lib/arithmetic/7485.dig b/src/main/dig/lib/74xx/arithmetic/7485.dig similarity index 100% rename from src/main/dig/74xx/lib/arithmetic/7485.dig rename to src/main/dig/lib/74xx/arithmetic/7485.dig diff --git a/src/main/dig/74xx/lib/basic/7400.dig b/src/main/dig/lib/74xx/basic/7400.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7400.dig rename to src/main/dig/lib/74xx/basic/7400.dig diff --git a/src/main/dig/74xx/lib/basic/7402.dig b/src/main/dig/lib/74xx/basic/7402.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7402.dig rename to src/main/dig/lib/74xx/basic/7402.dig diff --git a/src/main/dig/74xx/lib/basic/7404.dig b/src/main/dig/lib/74xx/basic/7404.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7404.dig rename to src/main/dig/lib/74xx/basic/7404.dig diff --git a/src/main/dig/74xx/lib/basic/7408.dig b/src/main/dig/lib/74xx/basic/7408.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7408.dig rename to src/main/dig/lib/74xx/basic/7408.dig diff --git a/src/main/dig/74xx/lib/basic/7410.dig b/src/main/dig/lib/74xx/basic/7410.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7410.dig rename to src/main/dig/lib/74xx/basic/7410.dig diff --git a/src/main/dig/74xx/lib/basic/7411.dig b/src/main/dig/lib/74xx/basic/7411.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7411.dig rename to src/main/dig/lib/74xx/basic/7411.dig diff --git a/src/main/dig/74xx/lib/basic/7413.dig b/src/main/dig/lib/74xx/basic/7413.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7413.dig rename to src/main/dig/lib/74xx/basic/7413.dig diff --git a/src/main/dig/74xx/lib/basic/74133.dig b/src/main/dig/lib/74xx/basic/74133.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/74133.dig rename to src/main/dig/lib/74xx/basic/74133.dig diff --git a/src/main/dig/74xx/lib/basic/7414.dig b/src/main/dig/lib/74xx/basic/7414.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7414.dig rename to src/main/dig/lib/74xx/basic/7414.dig diff --git a/src/main/dig/74xx/lib/basic/7420.dig b/src/main/dig/lib/74xx/basic/7420.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7420.dig rename to src/main/dig/lib/74xx/basic/7420.dig diff --git a/src/main/dig/74xx/lib/basic/7421.dig b/src/main/dig/lib/74xx/basic/7421.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7421.dig rename to src/main/dig/lib/74xx/basic/7421.dig diff --git a/src/main/dig/74xx/lib/basic/7425.dig b/src/main/dig/lib/74xx/basic/7425.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7425.dig rename to src/main/dig/lib/74xx/basic/7425.dig diff --git a/src/main/dig/74xx/lib/basic/74260.dig b/src/main/dig/lib/74xx/basic/74260.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/74260.dig rename to src/main/dig/lib/74xx/basic/74260.dig diff --git a/src/main/dig/74xx/lib/basic/7427.dig b/src/main/dig/lib/74xx/basic/7427.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7427.dig rename to src/main/dig/lib/74xx/basic/7427.dig diff --git a/src/main/dig/74xx/lib/basic/7430.dig b/src/main/dig/lib/74xx/basic/7430.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7430.dig rename to src/main/dig/lib/74xx/basic/7430.dig diff --git a/src/main/dig/74xx/lib/basic/7432.dig b/src/main/dig/lib/74xx/basic/7432.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7432.dig rename to src/main/dig/lib/74xx/basic/7432.dig diff --git a/src/main/dig/74xx/lib/basic/744075.dig b/src/main/dig/lib/74xx/basic/744075.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/744075.dig rename to src/main/dig/lib/74xx/basic/744075.dig diff --git a/src/main/dig/74xx/lib/basic/7451.dig b/src/main/dig/lib/74xx/basic/7451.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7451.dig rename to src/main/dig/lib/74xx/basic/7451.dig diff --git a/src/main/dig/74xx/lib/basic/7454.dig b/src/main/dig/lib/74xx/basic/7454.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7454.dig rename to src/main/dig/lib/74xx/basic/7454.dig diff --git a/src/main/dig/74xx/lib/basic/7455.dig b/src/main/dig/lib/74xx/basic/7455.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7455.dig rename to src/main/dig/lib/74xx/basic/7455.dig diff --git a/src/main/dig/74xx/lib/basic/7458.dig b/src/main/dig/lib/74xx/basic/7458.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7458.dig rename to src/main/dig/lib/74xx/basic/7458.dig diff --git a/src/main/dig/74xx/lib/basic/7486.dig b/src/main/dig/lib/74xx/basic/7486.dig similarity index 100% rename from src/main/dig/74xx/lib/basic/7486.dig rename to src/main/dig/lib/74xx/basic/7486.dig diff --git a/src/main/dig/74xx/lib/counter/74160.dig b/src/main/dig/lib/74xx/counter/74160.dig similarity index 100% rename from src/main/dig/74xx/lib/counter/74160.dig rename to src/main/dig/lib/74xx/counter/74160.dig diff --git a/src/main/dig/74xx/lib/counter/74161.dig b/src/main/dig/lib/74xx/counter/74161.dig similarity index 100% rename from src/main/dig/74xx/lib/counter/74161.dig rename to src/main/dig/lib/74xx/counter/74161.dig diff --git a/src/main/dig/74xx/lib/counter/74162.dig b/src/main/dig/lib/74xx/counter/74162.dig similarity index 100% rename from src/main/dig/74xx/lib/counter/74162.dig rename to src/main/dig/lib/74xx/counter/74162.dig diff --git a/src/main/dig/74xx/lib/counter/74162Real.dig b/src/main/dig/lib/74xx/counter/74162Real.dig similarity index 100% rename from src/main/dig/74xx/lib/counter/74162Real.dig rename to src/main/dig/lib/74xx/counter/74162Real.dig diff --git a/src/main/dig/74xx/lib/counter/74163.dig b/src/main/dig/lib/74xx/counter/74163.dig similarity index 100% rename from src/main/dig/74xx/lib/counter/74163.dig rename to src/main/dig/lib/74xx/counter/74163.dig diff --git a/src/main/dig/74xx/lib/counter/74590.dig b/src/main/dig/lib/74xx/counter/74590.dig similarity index 100% rename from src/main/dig/74xx/lib/counter/74590.dig rename to src/main/dig/lib/74xx/counter/74590.dig diff --git a/src/main/dig/74xx/lib/display/7447.dig b/src/main/dig/lib/74xx/display/7447.dig similarity index 100% rename from src/main/dig/74xx/lib/display/7447.dig rename to src/main/dig/lib/74xx/display/7447.dig diff --git a/src/main/dig/74xx/lib/display/7448.dig b/src/main/dig/lib/74xx/display/7448.dig similarity index 100% rename from src/main/dig/74xx/lib/display/7448.dig rename to src/main/dig/lib/74xx/display/7448.dig diff --git a/src/main/dig/74xx/lib/driver/7407.dig b/src/main/dig/lib/74xx/driver/7407.dig similarity index 100% rename from src/main/dig/74xx/lib/driver/7407.dig rename to src/main/dig/lib/74xx/driver/7407.dig diff --git a/src/main/dig/74xx/lib/driver/74244.dig b/src/main/dig/lib/74xx/driver/74244.dig similarity index 100% rename from src/main/dig/74xx/lib/driver/74244.dig rename to src/main/dig/lib/74xx/driver/74244.dig diff --git a/src/main/dig/74xx/lib/driver/74540.dig b/src/main/dig/lib/74xx/driver/74540.dig similarity index 100% rename from src/main/dig/74xx/lib/driver/74540.dig rename to src/main/dig/lib/74xx/driver/74540.dig diff --git a/src/main/dig/74xx/lib/driver/74541.dig b/src/main/dig/lib/74xx/driver/74541.dig similarity index 100% rename from src/main/dig/74xx/lib/driver/74541.dig rename to src/main/dig/lib/74xx/driver/74541.dig diff --git a/src/main/dig/74xx/lib/flipflops/74107.dig b/src/main/dig/lib/74xx/flipflops/74107.dig similarity index 100% rename from src/main/dig/74xx/lib/flipflops/74107.dig rename to src/main/dig/lib/74xx/flipflops/74107.dig diff --git a/src/main/dig/74xx/lib/flipflops/74116.dig b/src/main/dig/lib/74xx/flipflops/74116.dig similarity index 100% rename from src/main/dig/74xx/lib/flipflops/74116.dig rename to src/main/dig/lib/74xx/flipflops/74116.dig diff --git a/src/main/dig/74xx/lib/flipflops/74174.dig b/src/main/dig/lib/74xx/flipflops/74174.dig similarity index 100% rename from src/main/dig/74xx/lib/flipflops/74174.dig rename to src/main/dig/lib/74xx/flipflops/74174.dig diff --git a/src/main/dig/74xx/lib/flipflops/7474.dig b/src/main/dig/lib/74xx/flipflops/7474.dig similarity index 100% rename from src/main/dig/74xx/lib/flipflops/7474.dig rename to src/main/dig/lib/74xx/flipflops/7474.dig diff --git a/src/main/dig/74xx/lib/flipflops/7476.dig b/src/main/dig/lib/74xx/flipflops/7476.dig similarity index 100% rename from src/main/dig/74xx/lib/flipflops/7476.dig rename to src/main/dig/lib/74xx/flipflops/7476.dig diff --git a/src/main/dig/74xx/lib/plexers/74138.dig b/src/main/dig/lib/74xx/plexers/74138.dig similarity index 100% rename from src/main/dig/74xx/lib/plexers/74138.dig rename to src/main/dig/lib/74xx/plexers/74138.dig diff --git a/src/main/dig/74xx/lib/plexers/74139.dig b/src/main/dig/lib/74xx/plexers/74139.dig similarity index 100% rename from src/main/dig/74xx/lib/plexers/74139.dig rename to src/main/dig/lib/74xx/plexers/74139.dig diff --git a/src/main/dig/74xx/lib/plexers/74150.dig b/src/main/dig/lib/74xx/plexers/74150.dig similarity index 100% rename from src/main/dig/74xx/lib/plexers/74150.dig rename to src/main/dig/lib/74xx/plexers/74150.dig diff --git a/src/main/dig/74xx/lib/plexers/74151.dig b/src/main/dig/lib/74xx/plexers/74151.dig similarity index 100% rename from src/main/dig/74xx/lib/plexers/74151.dig rename to src/main/dig/lib/74xx/plexers/74151.dig diff --git a/src/main/dig/74xx/lib/plexers/74153.dig b/src/main/dig/lib/74xx/plexers/74153.dig similarity index 100% rename from src/main/dig/74xx/lib/plexers/74153.dig rename to src/main/dig/lib/74xx/plexers/74153.dig diff --git a/src/main/dig/74xx/lib/plexers/74154.dig b/src/main/dig/lib/74xx/plexers/74154.dig similarity index 100% rename from src/main/dig/74xx/lib/plexers/74154.dig rename to src/main/dig/lib/74xx/plexers/74154.dig diff --git a/src/main/dig/74xx/lib/plexers/74157.dig b/src/main/dig/lib/74xx/plexers/74157.dig similarity index 100% rename from src/main/dig/74xx/lib/plexers/74157.dig rename to src/main/dig/lib/74xx/plexers/74157.dig diff --git a/src/main/dig/74xx/lib/plexers/74238.dig b/src/main/dig/lib/74xx/plexers/74238.dig similarity index 100% rename from src/main/dig/74xx/lib/plexers/74238.dig rename to src/main/dig/lib/74xx/plexers/74238.dig diff --git a/src/main/dig/74xx/lib/plexers/74253.dig b/src/main/dig/lib/74xx/plexers/74253.dig similarity index 100% rename from src/main/dig/74xx/lib/plexers/74253.dig rename to src/main/dig/lib/74xx/plexers/74253.dig diff --git a/src/main/dig/74xx/lib/plexers/7442.dig b/src/main/dig/lib/74xx/plexers/7442.dig similarity index 100% rename from src/main/dig/74xx/lib/plexers/7442.dig rename to src/main/dig/lib/74xx/plexers/7442.dig diff --git a/src/main/dig/74xx/lib/shift register/74164.dig b/src/main/dig/lib/74xx/shift register/74164.dig similarity index 100% rename from src/main/dig/74xx/lib/shift register/74164.dig rename to src/main/dig/lib/74xx/shift register/74164.dig diff --git a/src/main/java/de/neemann/digital/builder/tt2/StartATF1502Fitter.java b/src/main/java/de/neemann/digital/builder/tt2/StartATF1502Fitter.java index 9ffa043d4..938d76004 100644 --- a/src/main/java/de/neemann/digital/builder/tt2/StartATF1502Fitter.java +++ b/src/main/java/de/neemann/digital/builder/tt2/StartATF1502Fitter.java @@ -23,7 +23,7 @@ public class StartATF1502Fitter implements ExpressionToFileExporter.PostProcess private static File getFitterExe(String fitterName) { File fitter = Settings.getInstance().get(Keys.SETTINGS_ATF1502_FITTER); - return new File(fitter.getParentFile(), fitterName); + return new File(fitter, fitterName); } /** diff --git a/src/main/java/de/neemann/digital/core/element/Key.java b/src/main/java/de/neemann/digital/core/element/Key.java index 471be05d3..f202b4b03 100644 --- a/src/main/java/de/neemann/digital/core/element/Key.java +++ b/src/main/java/de/neemann/digital/core/element/Key.java @@ -2,6 +2,8 @@ package de.neemann.digital.core.element; import de.neemann.digital.lang.Lang; +import java.io.File; + /** * Class is used to define the keys used to access the models attributes * @@ -147,6 +149,38 @@ public class Key { } } + /** + * Stores a file + */ + public static final class KeyFile extends Key { + + + private boolean directoryOnly; + + KeyFile(String key, File def) { + super(key, def); + setDirectoryOnly(false); + } + + /** + * Set the directory only mode + * + * @param directoryOnly if true you can select only directories + * @return this for chained calls + */ + public KeyFile setDirectoryOnly(boolean directoryOnly) { + this.directoryOnly = directoryOnly; + return this; + } + + /** + * @return true if you can select only directories + */ + public boolean isDirectoryOnly() { + return directoryOnly; + } + } + /** * Used to store enum values * diff --git a/src/main/java/de/neemann/digital/core/element/Keys.java b/src/main/java/de/neemann/digital/core/element/Keys.java index e249f8d6b..d8f104c3e 100644 --- a/src/main/java/de/neemann/digital/core/element/Keys.java +++ b/src/main/java/de/neemann/digital/core/element/Keys.java @@ -6,6 +6,7 @@ import de.neemann.digital.core.arithmetic.LeftRightFormat; import de.neemann.digital.core.io.InValue; import de.neemann.digital.core.io.IntFormat; import de.neemann.digital.core.memory.DataField; +import de.neemann.digital.draw.library.ElementLibrary; import de.neemann.digital.draw.model.InverterConfig; import de.neemann.gui.Screen; import de.neemann.gui.language.Language; @@ -336,7 +337,7 @@ public final class Keys { * Fitter for the atf1502 */ public static final Key SETTINGS_ATF1502_FITTER - = new Key<>("atf1502Fitter", new File("c:/Wincupl/WinCupl/Fitters/fit1502.exe")); + = new Key.KeyFile("atf1502Fitter", new File("c:/Wincupl/WinCupl/Fitters")).setDirectoryOnly(true); /** * A pin number, empty means no pin assigned @@ -416,4 +417,9 @@ public final class Keys { public static final Key ACTIVE_LOW = new Key<>("activeLow", false); + /** + * Fitter for the atf1502 + */ + public static final Key SETTINGS_LIBRARY_PATH + = new Key.KeyFile("libraryPath", ElementLibrary.getLibPath()).setDirectoryOnly(true); } 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 81b02dae0..417357640 100644 --- a/src/main/java/de/neemann/digital/draw/library/ElementLibrary.java +++ b/src/main/java/de/neemann/digital/draw/library/ElementLibrary.java @@ -17,6 +17,7 @@ import de.neemann.digital.draw.elements.Circuit; import de.neemann.digital.draw.elements.PinException; import de.neemann.digital.draw.elements.Tunnel; import de.neemann.digital.draw.shapes.ShapeFactory; +import de.neemann.digital.gui.Settings; import de.neemann.digital.gui.components.data.DummyElement; import de.neemann.digital.gui.components.graphics.GraphicCard; import de.neemann.digital.gui.components.graphics.LedMatrix; @@ -48,16 +49,16 @@ public class ElementLibrary implements Iterable /** * @return the additional library path */ - public static String getLibPath() { + public static File 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"; + return new File(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"; + return new File(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 new File(path.substring(0, path.length() - 12) + "/examples/lib"); - return null; + return new File("noLibFound"); } private final HashMap map = new HashMap<>(); @@ -291,9 +292,11 @@ public class ElementLibrary implements Iterable private void rescanFolder() throws IOException { LOGGER.debug("rescan folder"); - LOGGER.info("library " + getLibPath()); + File libPath = Settings.getInstance().get(Keys.SETTINGS_LIBRARY_PATH); + if (libPath != null && !libPath.exists()) libPath = null; + LibraryNode changedNode = null; - if (rootLibraryPath != null) { + if (rootLibraryPath != null || libPath != null) { if (customNode == null) { customNode = new LibraryNode(Lang.get("menu_custom")); root.add(customNode); @@ -302,8 +305,11 @@ public class ElementLibrary implements Iterable customNode.removeAll(); changedNode = customNode; } - - int num = scanFolder(rootLibraryPath, customNode); + int num = 0; + if (libPath != null) + num += scanFolder(libPath, customNode); + if (rootLibraryPath != null) + num += scanFolder(rootLibraryPath, customNode); LOGGER.debug("found " + num + " files"); } else if (customNode != null) { root.remove(customNode); diff --git a/src/main/java/de/neemann/digital/gui/Settings.java b/src/main/java/de/neemann/digital/gui/Settings.java index 6f07d8404..724529025 100644 --- a/src/main/java/de/neemann/digital/gui/Settings.java +++ b/src/main/java/de/neemann/digital/gui/Settings.java @@ -44,6 +44,7 @@ public final class Settings implements AttributeListener { intList.add(Keys.SETTINGS_EXPRESSION_FORMAT); intList.add(Keys.SETTINGS_DEFAULT_TREESELECT); intList.add(Keys.SETTINGS_ATF1502_FITTER); + intList.add(Keys.SETTINGS_LIBRARY_PATH); intList.add(Keys.SETTINGS_FONT_SCALING); settingsKeys = Collections.unmodifiableList(intList); diff --git a/src/main/java/de/neemann/digital/gui/components/EditorFactory.java b/src/main/java/de/neemann/digital/gui/components/EditorFactory.java index 374ea72b0..46a498d34 100644 --- a/src/main/java/de/neemann/digital/gui/components/EditorFactory.java +++ b/src/main/java/de/neemann/digital/gui/components/EditorFactory.java @@ -300,14 +300,22 @@ public final class EditorFactory { private final JPanel panel; private final JTextField textField; + private final boolean directoryOnly; public FileEditor(File value, Key key) { + if (key instanceof Key.KeyFile) + directoryOnly = ((Key.KeyFile) key).isDirectoryOnly(); + else + directoryOnly = false; + panel = new JPanel(new BorderLayout()); textField = new JTextField(value.getPath(), 20); JButton button = new JButton(new AbstractAction("...") { @Override public void actionPerformed(ActionEvent e) { JFileChooser fc = new MyFileChooser(FileEditor.this.getValue()); + if (directoryOnly) + fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); if (fc.showOpenDialog(panel) == JFileChooser.APPROVE_OPTION) textField.setText(fc.getSelectedFile().getPath()); } diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml index b8a2d16de..184fb10b3 100644 --- a/src/main/resources/lang/lang_de.xml +++ b/src/main/resources/lang/lang_de.xml @@ -676,8 +676,8 @@ Sind evtl. die Namen der Variablen nicht eindeutig? Die Schaltfrequenz in der Simulation kann nicht so hoch werden, dass das menschliche Auge kein Flimmern mehr wahrnimmt. Um dennoch das Flackern zu unterdrücken, kann bei den LEDs mit dieser Option ein "nachleuchten" eingeschaltet werden. - ATF1502 Fitter - Pfad zum Fitter für den ATF1502. Geben Sie hier den vollen Pfad zur Datei fit1502.exe an. Diese Datei wird von ATMEL zu Verfügung gestellt. + ATF15xx Fitter + Pfad zum Fitter für den ATF15xx. Geben Sie hier das Verzeichnis an, welches die Dateien fit15xx.exe enthält. Diese Datei wird von ATMEL zu Verfügung gestellt. Pinnummer Ist das Feld leer bedeutet das, dass dieses Signal keinem Pin zugewiesen ist. Zeilen @@ -710,6 +710,8 @@ Sind evtl. die Namen der Variablen nicht eindeutig? Modus in manchen CMOS-Schaltungen erforderlich sein. Active Low Wenn gesetzt, ist der Ausgang im aktiven Zustand Low. + Bibliothek + Bibliothek mit vordefinierten Schaltungen. Enthält z.B. die ICs der 74xx Reihe. Leitung eingefügt. Aus Zwischenablage eingefügt. diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml index 3d0b0f9ca..cb795528a 100644 --- a/src/main/resources/lang/lang_en.xml +++ b/src/main/resources/lang/lang_en.xml @@ -664,8 +664,8 @@ The names of the variables may not be unique. It is not possible to increase the frequency so much that the flickering disappears. With this option you can stabilize the display by keeping the LEDs on until the common cathode goes down again. This simulates a frequency above the critical flicker fusion frequency. - ATF1502 Fitter - Path to the fitter for the ATF1502. Enter the full path to the file fit1502.exe provided by ATMEL. + ATF15xx Fitter + Path to the fitter for the ATF15xx. Enter the directory which countains the fit15xx.exe files provided by ATMEL. Pin number An empty field means this signal is not assigned to a pin. Rows @@ -697,6 +697,8 @@ The names of the variables may not be unique. simulate certain CMOS circuits. Active Low If selected the output is low if the component is active. + Library + Library with predefined subcircuits. Contains, for example, the components of the 74xx series. Inserted wire. Insert from clipboard.