diff --git a/src/main/dig/lib/74xx/arithmetic/74147.dig b/src/main/dig/lib/74xx/arithmetic/74147.dig index 4d0cb3502..760b13b46 100644 --- a/src/main/dig/lib/74xx/arithmetic/74147.dig +++ b/src/main/dig/lib/74xx/arithmetic/74147.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/lib/74xx/arithmetic/74148.dig b/src/main/dig/lib/74xx/arithmetic/74148.dig index a592b6569..6cd59a54d 100644 --- a/src/main/dig/lib/74xx/arithmetic/74148.dig +++ b/src/main/dig/lib/74xx/arithmetic/74148.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/arithmetic/74181.dig b/src/main/dig/lib/74xx/arithmetic/74181.dig index 2b9c69615..76cad6ab4 100644 --- a/src/main/dig/lib/74xx/arithmetic/74181.dig +++ b/src/main/dig/lib/74xx/arithmetic/74181.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/arithmetic/74198.dig b/src/main/dig/lib/74xx/arithmetic/74198.dig index 39897f545..99c6133d9 100644 --- a/src/main/dig/lib/74xx/arithmetic/74198.dig +++ b/src/main/dig/lib/74xx/arithmetic/74198.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/arithmetic/74280.dig b/src/main/dig/lib/74xx/arithmetic/74280.dig index ec0b27d83..f19e4ba46 100644 --- a/src/main/dig/lib/74xx/arithmetic/74280.dig +++ b/src/main/dig/lib/74xx/arithmetic/74280.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/arithmetic/74283.dig b/src/main/dig/lib/74xx/arithmetic/74283.dig index 55fc7f82b..1696abf3e 100644 --- a/src/main/dig/lib/74xx/arithmetic/74283.dig +++ b/src/main/dig/lib/74xx/arithmetic/74283.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/arithmetic/74682.dig b/src/main/dig/lib/74xx/arithmetic/74682.dig index 28e4d3bda..7dae0623a 100644 --- a/src/main/dig/lib/74xx/arithmetic/74682.dig +++ b/src/main/dig/lib/74xx/arithmetic/74682.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/arithmetic/74688.dig b/src/main/dig/lib/74xx/arithmetic/74688.dig index ce32dcd4a..d7dfae382 100644 --- a/src/main/dig/lib/74xx/arithmetic/74688.dig +++ b/src/main/dig/lib/74xx/arithmetic/74688.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/lib/74xx/arithmetic/7480.dig b/src/main/dig/lib/74xx/arithmetic/7480.dig index 55e54efe0..52f7328b8 100644 --- a/src/main/dig/lib/74xx/arithmetic/7480.dig +++ b/src/main/dig/lib/74xx/arithmetic/7480.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/arithmetic/7483.dig b/src/main/dig/lib/74xx/arithmetic/7483.dig index 29368e9f2..0cecc3047 100644 --- a/src/main/dig/lib/74xx/arithmetic/7483.dig +++ b/src/main/dig/lib/74xx/arithmetic/7483.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/arithmetic/7483Real.dig b/src/main/dig/lib/74xx/arithmetic/7483Real.dig index e4ec897b4..e8425de1a 100644 --- a/src/main/dig/lib/74xx/arithmetic/7483Real.dig +++ b/src/main/dig/lib/74xx/arithmetic/7483Real.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/arithmetic/7485.dig b/src/main/dig/lib/74xx/arithmetic/7485.dig index 1d1e5527a..c638c2ea2 100644 --- a/src/main/dig/lib/74xx/arithmetic/7485.dig +++ b/src/main/dig/lib/74xx/arithmetic/7485.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7400.dig b/src/main/dig/lib/74xx/basic/7400.dig index fa517e966..93429d66a 100644 --- a/src/main/dig/lib/74xx/basic/7400.dig +++ b/src/main/dig/lib/74xx/basic/7400.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7401.dig b/src/main/dig/lib/74xx/basic/7401.dig index 45d6d1fae..ef9cbf32e 100644 --- a/src/main/dig/lib/74xx/basic/7401.dig +++ b/src/main/dig/lib/74xx/basic/7401.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7402.dig b/src/main/dig/lib/74xx/basic/7402.dig index 0b6f49d65..ff7e6090d 100644 --- a/src/main/dig/lib/74xx/basic/7402.dig +++ b/src/main/dig/lib/74xx/basic/7402.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7403.dig b/src/main/dig/lib/74xx/basic/7403.dig index 34cf824dc..d2b053bc5 100644 --- a/src/main/dig/lib/74xx/basic/7403.dig +++ b/src/main/dig/lib/74xx/basic/7403.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7404.dig b/src/main/dig/lib/74xx/basic/7404.dig index b6a4ebfc7..979877070 100644 --- a/src/main/dig/lib/74xx/basic/7404.dig +++ b/src/main/dig/lib/74xx/basic/7404.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7405.dig b/src/main/dig/lib/74xx/basic/7405.dig index 419d3184f..4e11f7bd6 100644 --- a/src/main/dig/lib/74xx/basic/7405.dig +++ b/src/main/dig/lib/74xx/basic/7405.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7408.dig b/src/main/dig/lib/74xx/basic/7408.dig index de9246fc4..584159109 100644 --- a/src/main/dig/lib/74xx/basic/7408.dig +++ b/src/main/dig/lib/74xx/basic/7408.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7409.dig b/src/main/dig/lib/74xx/basic/7409.dig index 2387f3f0d..8d0e2a92d 100644 --- a/src/main/dig/lib/74xx/basic/7409.dig +++ b/src/main/dig/lib/74xx/basic/7409.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7410.dig b/src/main/dig/lib/74xx/basic/7410.dig index 58c18f356..8c9a5a349 100644 --- a/src/main/dig/lib/74xx/basic/7410.dig +++ b/src/main/dig/lib/74xx/basic/7410.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7411.dig b/src/main/dig/lib/74xx/basic/7411.dig index 8eb2a7321..32143f98c 100644 --- a/src/main/dig/lib/74xx/basic/7411.dig +++ b/src/main/dig/lib/74xx/basic/7411.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7412.dig b/src/main/dig/lib/74xx/basic/7412.dig index bce6fa726..a4dbbe77b 100644 --- a/src/main/dig/lib/74xx/basic/7412.dig +++ b/src/main/dig/lib/74xx/basic/7412.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7413.dig b/src/main/dig/lib/74xx/basic/7413.dig index 70ce64f5c..e2973fa51 100644 --- a/src/main/dig/lib/74xx/basic/7413.dig +++ b/src/main/dig/lib/74xx/basic/7413.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/74133.dig b/src/main/dig/lib/74xx/basic/74133.dig index a024a778b..daa4aca6d 100644 --- a/src/main/dig/lib/74xx/basic/74133.dig +++ b/src/main/dig/lib/74xx/basic/74133.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7414.dig b/src/main/dig/lib/74xx/basic/7414.dig index 501d713d5..27d6c0448 100644 --- a/src/main/dig/lib/74xx/basic/7414.dig +++ b/src/main/dig/lib/74xx/basic/7414.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7415.dig b/src/main/dig/lib/74xx/basic/7415.dig index 13f68fef9..86e78b1f1 100644 --- a/src/main/dig/lib/74xx/basic/7415.dig +++ b/src/main/dig/lib/74xx/basic/7415.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7420.dig b/src/main/dig/lib/74xx/basic/7420.dig index 627be8905..90717d008 100644 --- a/src/main/dig/lib/74xx/basic/7420.dig +++ b/src/main/dig/lib/74xx/basic/7420.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7421.dig b/src/main/dig/lib/74xx/basic/7421.dig index a67a98332..3b7c095b7 100644 --- a/src/main/dig/lib/74xx/basic/7421.dig +++ b/src/main/dig/lib/74xx/basic/7421.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7425.dig b/src/main/dig/lib/74xx/basic/7425.dig index b7a081058..f9e280e0f 100644 --- a/src/main/dig/lib/74xx/basic/7425.dig +++ b/src/main/dig/lib/74xx/basic/7425.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/74260.dig b/src/main/dig/lib/74xx/basic/74260.dig index c7cdbd5aa..ad1e8a204 100644 --- a/src/main/dig/lib/74xx/basic/74260.dig +++ b/src/main/dig/lib/74xx/basic/74260.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/74266.dig b/src/main/dig/lib/74xx/basic/74266.dig index 3ada30013..f29703602 100644 --- a/src/main/dig/lib/74xx/basic/74266.dig +++ b/src/main/dig/lib/74xx/basic/74266.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7427.dig b/src/main/dig/lib/74xx/basic/7427.dig index 072bb12bb..d8a04d397 100644 --- a/src/main/dig/lib/74xx/basic/7427.dig +++ b/src/main/dig/lib/74xx/basic/7427.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7428.dig b/src/main/dig/lib/74xx/basic/7428.dig index 22c401c38..bf35edb01 100644 --- a/src/main/dig/lib/74xx/basic/7428.dig +++ b/src/main/dig/lib/74xx/basic/7428.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7430.dig b/src/main/dig/lib/74xx/basic/7430.dig index 73f8559c9..dbf579fad 100644 --- a/src/main/dig/lib/74xx/basic/7430.dig +++ b/src/main/dig/lib/74xx/basic/7430.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/lib/74xx/basic/7432.dig b/src/main/dig/lib/74xx/basic/7432.dig index beba284ca..6719a8f46 100644 --- a/src/main/dig/lib/74xx/basic/7432.dig +++ b/src/main/dig/lib/74xx/basic/7432.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7440.dig b/src/main/dig/lib/74xx/basic/7440.dig index df40bab47..d96316ae7 100644 --- a/src/main/dig/lib/74xx/basic/7440.dig +++ b/src/main/dig/lib/74xx/basic/7440.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/744075.dig b/src/main/dig/lib/74xx/basic/744075.dig index fdd14e2bc..448495d07 100644 --- a/src/main/dig/lib/74xx/basic/744075.dig +++ b/src/main/dig/lib/74xx/basic/744075.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7451.dig b/src/main/dig/lib/74xx/basic/7451.dig index ca9685c10..fad6238ae 100644 --- a/src/main/dig/lib/74xx/basic/7451.dig +++ b/src/main/dig/lib/74xx/basic/7451.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7454.dig b/src/main/dig/lib/74xx/basic/7454.dig index 8d58f7200..1ee94efed 100644 --- a/src/main/dig/lib/74xx/basic/7454.dig +++ b/src/main/dig/lib/74xx/basic/7454.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7455.dig b/src/main/dig/lib/74xx/basic/7455.dig index bfd27caa2..59e993d87 100644 --- a/src/main/dig/lib/74xx/basic/7455.dig +++ b/src/main/dig/lib/74xx/basic/7455.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7458.dig b/src/main/dig/lib/74xx/basic/7458.dig index 84cd46da8..3b2d73002 100644 --- a/src/main/dig/lib/74xx/basic/7458.dig +++ b/src/main/dig/lib/74xx/basic/7458.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/basic/7486.dig b/src/main/dig/lib/74xx/basic/7486.dig index 72202fad6..2aa983982 100644 --- a/src/main/dig/lib/74xx/basic/7486.dig +++ b/src/main/dig/lib/74xx/basic/7486.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/counter/74160.dig b/src/main/dig/lib/74xx/counter/74160.dig index 832b8836f..58ea14caa 100644 --- a/src/main/dig/lib/74xx/counter/74160.dig +++ b/src/main/dig/lib/74xx/counter/74160.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/counter/74161.dig b/src/main/dig/lib/74xx/counter/74161.dig index f91d4dc3e..4ac0e14c8 100644 --- a/src/main/dig/lib/74xx/counter/74161.dig +++ b/src/main/dig/lib/74xx/counter/74161.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/counter/74162.dig b/src/main/dig/lib/74xx/counter/74162.dig index 8bdc4e0af..40e2eaf73 100644 --- a/src/main/dig/lib/74xx/counter/74162.dig +++ b/src/main/dig/lib/74xx/counter/74162.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/counter/74162Real.dig b/src/main/dig/lib/74xx/counter/74162Real.dig index a464e6e07..febfc6478 100644 --- a/src/main/dig/lib/74xx/counter/74162Real.dig +++ b/src/main/dig/lib/74xx/counter/74162Real.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/counter/74163.dig b/src/main/dig/lib/74xx/counter/74163.dig index f846b70a5..47c99326e 100644 --- a/src/main/dig/lib/74xx/counter/74163.dig +++ b/src/main/dig/lib/74xx/counter/74163.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/counter/74191.dig b/src/main/dig/lib/74xx/counter/74191.dig index c34dd87d0..a45210aba 100644 --- a/src/main/dig/lib/74xx/counter/74191.dig +++ b/src/main/dig/lib/74xx/counter/74191.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/lib/74xx/counter/74590.dig b/src/main/dig/lib/74xx/counter/74590.dig index 58ee4cb24..170c2c207 100644 --- a/src/main/dig/lib/74xx/counter/74590.dig +++ b/src/main/dig/lib/74xx/counter/74590.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/counter/74779.dig b/src/main/dig/lib/74xx/counter/74779.dig index 085f769fb..7965f10e1 100644 --- a/src/main/dig/lib/74xx/counter/74779.dig +++ b/src/main/dig/lib/74xx/counter/74779.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/lib/74xx/display/7447.dig b/src/main/dig/lib/74xx/display/7447.dig index d1d9b23de..af4d5a0cf 100644 --- a/src/main/dig/lib/74xx/display/7447.dig +++ b/src/main/dig/lib/74xx/display/7447.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/display/7448.dig b/src/main/dig/lib/74xx/display/7448.dig index 4d962b9cd..c9477e2e5 100644 --- a/src/main/dig/lib/74xx/display/7448.dig +++ b/src/main/dig/lib/74xx/display/7448.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/driver/7406.dig b/src/main/dig/lib/74xx/driver/7406.dig index 6412e1e74..3ca1102a3 100644 --- a/src/main/dig/lib/74xx/driver/7406.dig +++ b/src/main/dig/lib/74xx/driver/7406.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/driver/7407.dig b/src/main/dig/lib/74xx/driver/7407.dig index e8d9f4ed0..181f52f19 100644 --- a/src/main/dig/lib/74xx/driver/7407.dig +++ b/src/main/dig/lib/74xx/driver/7407.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/driver/7416.dig b/src/main/dig/lib/74xx/driver/7416.dig index f662c9762..34ad7ebbc 100644 --- a/src/main/dig/lib/74xx/driver/7416.dig +++ b/src/main/dig/lib/74xx/driver/7416.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/driver/7417.dig b/src/main/dig/lib/74xx/driver/7417.dig index 2aeaf19df..5f9c93989 100644 --- a/src/main/dig/lib/74xx/driver/7417.dig +++ b/src/main/dig/lib/74xx/driver/7417.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/driver/74244.dig b/src/main/dig/lib/74xx/driver/74244.dig index 95c07884a..85237f648 100644 --- a/src/main/dig/lib/74xx/driver/74244.dig +++ b/src/main/dig/lib/74xx/driver/74244.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/driver/74245.dig b/src/main/dig/lib/74xx/driver/74245.dig index 5cd21a3e3..29bab7bd7 100644 --- a/src/main/dig/lib/74xx/driver/74245.dig +++ b/src/main/dig/lib/74xx/driver/74245.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL backgroundColor diff --git a/src/main/dig/lib/74xx/driver/74540.dig b/src/main/dig/lib/74xx/driver/74540.dig index 8df228987..8b1f5d0bc 100644 --- a/src/main/dig/lib/74xx/driver/74540.dig +++ b/src/main/dig/lib/74xx/driver/74540.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/driver/74541.dig b/src/main/dig/lib/74xx/driver/74541.dig index 0cce87f9e..f0ec49d70 100644 --- a/src/main/dig/lib/74xx/driver/74541.dig +++ b/src/main/dig/lib/74xx/driver/74541.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/flipflops/74107.dig b/src/main/dig/lib/74xx/flipflops/74107.dig index 2f128d589..af174086f 100644 --- a/src/main/dig/lib/74xx/flipflops/74107.dig +++ b/src/main/dig/lib/74xx/flipflops/74107.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/flipflops/74109.dig b/src/main/dig/lib/74xx/flipflops/74109.dig index 4b606057c..0d5b86804 100644 --- a/src/main/dig/lib/74xx/flipflops/74109.dig +++ b/src/main/dig/lib/74xx/flipflops/74109.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/lib/74xx/flipflops/74112.dig b/src/main/dig/lib/74xx/flipflops/74112.dig index 277785ef0..c319a8120 100644 --- a/src/main/dig/lib/74xx/flipflops/74112.dig +++ b/src/main/dig/lib/74xx/flipflops/74112.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/lib/74xx/flipflops/74116.dig b/src/main/dig/lib/74xx/flipflops/74116.dig index af6beddff..503af4051 100644 --- a/src/main/dig/lib/74xx/flipflops/74116.dig +++ b/src/main/dig/lib/74xx/flipflops/74116.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/flipflops/74173.dig b/src/main/dig/lib/74xx/flipflops/74173.dig index e83833334..394de9089 100644 --- a/src/main/dig/lib/74xx/flipflops/74173.dig +++ b/src/main/dig/lib/74xx/flipflops/74173.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/flipflops/74174.dig b/src/main/dig/lib/74xx/flipflops/74174.dig index 8aa1f4851..e89835248 100644 --- a/src/main/dig/lib/74xx/flipflops/74174.dig +++ b/src/main/dig/lib/74xx/flipflops/74174.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/flipflops/74273.dig b/src/main/dig/lib/74xx/flipflops/74273.dig index 6db2944f2..74d235599 100644 --- a/src/main/dig/lib/74xx/flipflops/74273.dig +++ b/src/main/dig/lib/74xx/flipflops/74273.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/lib/74xx/flipflops/74373.dig b/src/main/dig/lib/74xx/flipflops/74373.dig index f32e323b9..0a9b2ceda 100644 --- a/src/main/dig/lib/74xx/flipflops/74373.dig +++ b/src/main/dig/lib/74xx/flipflops/74373.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/flipflops/74374.dig b/src/main/dig/lib/74xx/flipflops/74374.dig index ec15184b3..455ca433a 100644 --- a/src/main/dig/lib/74xx/flipflops/74374.dig +++ b/src/main/dig/lib/74xx/flipflops/74374.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/flipflops/7474.dig b/src/main/dig/lib/74xx/flipflops/7474.dig index cd14f79f5..8c0804d33 100644 --- a/src/main/dig/lib/74xx/flipflops/7474.dig +++ b/src/main/dig/lib/74xx/flipflops/7474.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/flipflops/7476.dig b/src/main/dig/lib/74xx/flipflops/7476.dig index 1c3ced249..f5a1703b9 100644 --- a/src/main/dig/lib/74xx/flipflops/7476.dig +++ b/src/main/dig/lib/74xx/flipflops/7476.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/memory/74670.dig b/src/main/dig/lib/74xx/memory/74670.dig index abfe4e567..2b3821822 100644 --- a/src/main/dig/lib/74xx/memory/74670.dig +++ b/src/main/dig/lib/74xx/memory/74670.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/memory/7489.dig b/src/main/dig/lib/74xx/memory/7489.dig index 7accb90f2..905098052 100644 --- a/src/main/dig/lib/74xx/memory/7489.dig +++ b/src/main/dig/lib/74xx/memory/7489.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/plexers/74138.dig b/src/main/dig/lib/74xx/plexers/74138.dig index f408614df..06dfa858f 100644 --- a/src/main/dig/lib/74xx/plexers/74138.dig +++ b/src/main/dig/lib/74xx/plexers/74138.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/plexers/74139.dig b/src/main/dig/lib/74xx/plexers/74139.dig index eafd6cc93..5d400b948 100644 --- a/src/main/dig/lib/74xx/plexers/74139.dig +++ b/src/main/dig/lib/74xx/plexers/74139.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/plexers/74150.dig b/src/main/dig/lib/74xx/plexers/74150.dig index ec2c6d7c4..733639afc 100644 --- a/src/main/dig/lib/74xx/plexers/74150.dig +++ b/src/main/dig/lib/74xx/plexers/74150.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/plexers/74151.dig b/src/main/dig/lib/74xx/plexers/74151.dig index a52c77531..9c0f5ff95 100644 --- a/src/main/dig/lib/74xx/plexers/74151.dig +++ b/src/main/dig/lib/74xx/plexers/74151.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/plexers/74153.dig b/src/main/dig/lib/74xx/plexers/74153.dig index fcf18d8a3..b76796e33 100644 --- a/src/main/dig/lib/74xx/plexers/74153.dig +++ b/src/main/dig/lib/74xx/plexers/74153.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/plexers/74154.dig b/src/main/dig/lib/74xx/plexers/74154.dig index ff248feb9..93ac0ea5f 100644 --- a/src/main/dig/lib/74xx/plexers/74154.dig +++ b/src/main/dig/lib/74xx/plexers/74154.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/plexers/74157.dig b/src/main/dig/lib/74xx/plexers/74157.dig index de22f16f6..bc975a672 100644 --- a/src/main/dig/lib/74xx/plexers/74157.dig +++ b/src/main/dig/lib/74xx/plexers/74157.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/plexers/74238.dig b/src/main/dig/lib/74xx/plexers/74238.dig index 4a5e306d4..d4fe41221 100644 --- a/src/main/dig/lib/74xx/plexers/74238.dig +++ b/src/main/dig/lib/74xx/plexers/74238.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/plexers/74253.dig b/src/main/dig/lib/74xx/plexers/74253.dig index a791168f2..4ce8eb9e3 100644 --- a/src/main/dig/lib/74xx/plexers/74253.dig +++ b/src/main/dig/lib/74xx/plexers/74253.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/plexers/7442.dig b/src/main/dig/lib/74xx/plexers/7442.dig index d2114aff1..28e80078f 100644 --- a/src/main/dig/lib/74xx/plexers/7442.dig +++ b/src/main/dig/lib/74xx/plexers/7442.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/shift register/74164.dig b/src/main/dig/lib/74xx/shift register/74164.dig index 45b17c5d5..46a886d8c 100644 --- a/src/main/dig/lib/74xx/shift register/74164.dig +++ b/src/main/dig/lib/74xx/shift register/74164.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/lib/74xx/shift register/74165.dig b/src/main/dig/lib/74xx/shift register/74165.dig index 6b4686418..ac9d7de86 100644 --- a/src/main/dig/lib/74xx/shift register/74165.dig +++ b/src/main/dig/lib/74xx/shift register/74165.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/74xx/shift register/74166.dig b/src/main/dig/lib/74xx/shift register/74166.dig index 60f782bb8..68d1763a4 100644 --- a/src/main/dig/lib/74xx/shift register/74166.dig +++ b/src/main/dig/lib/74xx/shift register/74166.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL Description diff --git a/src/main/dig/lib/EPROMs/27c801.dig b/src/main/dig/lib/EPROMs/27c801.dig index f165b8a3a..383fd0bb9 100644 --- a/src/main/dig/lib/EPROMs/27c801.dig +++ b/src/main/dig/lib/EPROMs/27c801.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/lib/EPROMs/28c010.dig b/src/main/dig/lib/EPROMs/28c010.dig index 6136a82b9..8ebf4cf7a 100644 --- a/src/main/dig/lib/EPROMs/28c010.dig +++ b/src/main/dig/lib/EPROMs/28c010.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/lib/EPROMs/28c16.dig b/src/main/dig/lib/EPROMs/28c16.dig index 56b36f284..a54ed5c97 100644 --- a/src/main/dig/lib/EPROMs/28c16.dig +++ b/src/main/dig/lib/EPROMs/28c16.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/lib/EPROMs/28c256.dig b/src/main/dig/lib/EPROMs/28c256.dig index 104385b08..af0fe3c1d 100644 --- a/src/main/dig/lib/EPROMs/28c256.dig +++ b/src/main/dig/lib/EPROMs/28c256.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/lib/EPROMs/28c512.dig b/src/main/dig/lib/EPROMs/28c512.dig index 0a9a5bcce..bab3f5862 100644 --- a/src/main/dig/lib/EPROMs/28c512.dig +++ b/src/main/dig/lib/EPROMs/28c512.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/lib/EPROMs/28c64.dig b/src/main/dig/lib/EPROMs/28c64.dig index c98d0236f..0ee753714 100644 --- a/src/main/dig/lib/EPROMs/28c64.dig +++ b/src/main/dig/lib/EPROMs/28c64.dig @@ -3,8 +3,8 @@ 1 - isDIL - true + shapeType + DIL pinCount diff --git a/src/main/dig/processor/ALU/ALU.dig b/src/main/dig/processor/ALU/ALU.dig index 9d4f25c61..8502dd44c 100644 --- a/src/main/dig/processor/ALU/ALU.dig +++ b/src/main/dig/processor/ALU/ALU.dig @@ -2,6 +2,10 @@ 1 + + shapeType + CUSTOM + Description Arithmetic Logical unit. 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 0ff967265..678d5e5ab 100644 --- a/src/main/java/de/neemann/digital/core/element/Keys.java +++ b/src/main/java/de/neemann/digital/core/element/Keys.java @@ -17,6 +17,7 @@ import de.neemann.digital.draw.graphics.Orientation; import de.neemann.digital.draw.graphics.Style; import de.neemann.digital.draw.library.ElementLibrary; import de.neemann.digital.draw.model.InverterConfig; +import de.neemann.digital.draw.shapes.CustomCircuitShapeType; import de.neemann.digital.draw.shapes.custom.CustomShapeDescription; import de.neemann.gui.Screen; import de.neemann.gui.language.Language; @@ -527,18 +528,12 @@ public final class Keys { public static final Key PINNUMBER = new Key<>("pinNumber", "").setSecondary(); - /** - * true if shape is a dil shape - */ - public static final Key IS_DIL - = new Key<>("isDIL", false).setSecondary(); /** * the pin count */ public static final Key PINCOUNT = new Key.KeyInteger("pinCount", 0) .setMin(0) - .setDependsOn(IS_DIL) .setSecondary(); @@ -552,8 +547,7 @@ public final class Keys { * Background Color of nested circuits */ public static final Key BACKGROUND_COLOR - = new Key<>("backgroundColor", new Color(255, 255, 180, 200)) - .setDependsOn(IS_DIL, true); + = new Key<>("backgroundColor", new Color(255, 255, 180, 200)); /** * the screen resolution @@ -647,10 +641,10 @@ public final class Keys { new Key<>("noComponentToolTips", false); /** - * Used to show the default shape also if the circuit defines a DIL. + * defines the shape type of the custom circuit */ - public static final Key USE_DEFAULT_SHAPE - = new Key("useDefShape", false); + public static final Key SHAPE_TYPE + = new Key.KeyEnum<>("shapeType", CustomCircuitShapeType.DEFAULT, CustomCircuitShapeType.values()).setSecondary(); /** * Shape used to represent a visual element diff --git a/src/main/java/de/neemann/digital/draw/elements/Circuit.java b/src/main/java/de/neemann/digital/draw/elements/Circuit.java index c86d6122c..c6cd349d2 100644 --- a/src/main/java/de/neemann/digital/draw/elements/Circuit.java +++ b/src/main/java/de/neemann/digital/draw/elements/Circuit.java @@ -24,6 +24,7 @@ import de.neemann.digital.core.wiring.Clock; import de.neemann.digital.draw.graphics.*; import de.neemann.digital.draw.graphics.Vector; import de.neemann.digital.draw.model.InverterConfig; +import de.neemann.digital.draw.shapes.CustomCircuitShapeType; import de.neemann.digital.draw.shapes.Drawable; import de.neemann.digital.draw.shapes.ShapeFactory; import de.neemann.digital.draw.shapes.custom.CustomShapeDescription; @@ -97,6 +98,7 @@ public class Circuit { xStream.alias("poly", CustomShapeDescription.PolygonHolder.class); xStream.alias("text", CustomShapeDescription.TextHolder.class); xStream.alias("polygon", Polygon.class); + xStream.alias("shapeType", CustomCircuitShapeType.class); xStream.registerConverter(new PolygonConverter()); return xStream; } 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 7ec3902c4..bbb3a75ad 100644 --- a/src/main/java/de/neemann/digital/draw/library/ElementLibrary.java +++ b/src/main/java/de/neemann/digital/draw/library/ElementLibrary.java @@ -8,7 +8,10 @@ package de.neemann.digital.draw.library; import de.neemann.digital.core.arithmetic.*; import de.neemann.digital.core.arithmetic.Comparator; import de.neemann.digital.core.basic.*; -import de.neemann.digital.core.element.*; +import de.neemann.digital.core.element.ElementAttributes; +import de.neemann.digital.core.element.ElementFactory; +import de.neemann.digital.core.element.ElementTypeDescription; +import de.neemann.digital.core.element.Keys; import de.neemann.digital.core.extern.External; import de.neemann.digital.core.flipflops.*; import de.neemann.digital.core.io.*; @@ -19,12 +22,10 @@ import de.neemann.digital.core.pld.PullDown; import de.neemann.digital.core.pld.PullUp; import de.neemann.digital.core.switching.*; import de.neemann.digital.core.wiring.*; -import de.neemann.digital.core.flipflops.Monoflop; 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.draw.shapes.custom.CustomShapeDescription; import de.neemann.digital.gui.Settings; import de.neemann.digital.gui.components.data.DummyElement; import de.neemann.digital.gui.components.graphics.GraphicCard; @@ -602,6 +603,7 @@ public class ElementLibrary implements Iterable setShortName(file.getName()); addAttribute(Keys.ROTATE); addAttribute(Keys.LABEL); + addAttribute(Keys.SHAPE_TYPE); } /** @@ -645,18 +647,6 @@ public class ElementLibrary implements Iterable return super.getDescription(elementAttributes); } - @Override - public ArrayList getAttributeList() { - final ArrayList list = super.getAttributeList(); - if (getAttributes().get(Keys.IS_DIL) - || getAttributes().get(Keys.CUSTOM_SHAPE) != CustomShapeDescription.EMPTY) { - - ArrayList li = new ArrayList<>(list); - li.add(Keys.USE_DEFAULT_SHAPE); - return li; - } - return list; - } } diff --git a/src/main/java/de/neemann/digital/draw/shapes/CustomCircuitShapeType.java b/src/main/java/de/neemann/digital/draw/shapes/CustomCircuitShapeType.java new file mode 100644 index 000000000..11a5e996c --- /dev/null +++ b/src/main/java/de/neemann/digital/draw/shapes/CustomCircuitShapeType.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2018 Helmut Neemann. + * Use of this source code is governed by the GPL v3 license + * that can be found in the LICENSE file. + */ +package de.neemann.digital.draw.shapes; + +/** + * Defines the kind of shape used for a embedded circuit + */ +public enum CustomCircuitShapeType { + /** + * The default shape. inputs at the left, outputs at the right + */ + DEFAULT, + + /** + * A DIL shape + */ + DIL, + + /** + * Pin positions are dependent on the pin positions in the circuit + */ + LAYOUT, + + /** + * Shape is defined in the circuit itself. + */ + CUSTOM +} diff --git a/src/main/java/de/neemann/digital/draw/shapes/ShapeFactory.java b/src/main/java/de/neemann/digital/draw/shapes/ShapeFactory.java index 820bfab3d..861faad62 100644 --- a/src/main/java/de/neemann/digital/draw/shapes/ShapeFactory.java +++ b/src/main/java/de/neemann/digital/draw/shapes/ShapeFactory.java @@ -170,32 +170,37 @@ public final class ShapeFactory { if (pt instanceof ElementLibrary.ElementTypeDescriptionCustom) { // Custom component ElementLibrary.ElementTypeDescriptionCustom customDescr = (ElementLibrary.ElementTypeDescriptionCustom) pt; - if (!elementAttributes.get(Keys.USE_DEFAULT_SHAPE)) { - final CustomShapeDescription customShapeDescription = customDescr.getAttributes().get(Keys.CUSTOM_SHAPE); - if (customShapeDescription != CustomShapeDescription.EMPTY) - return new CustomShape(customShapeDescription, - pt.getInputDescription(elementAttributes), - pt.getOutputDescriptions(elementAttributes)); - else if (customDescr.getAttributes().get(Keys.IS_DIL)) { + CustomCircuitShapeType shapeType = customDescr.getAttributes().get(Keys.SHAPE_TYPE); + final CustomCircuitShapeType localShapeType = elementAttributes.get(Keys.SHAPE_TYPE); + if (!localShapeType.equals(CustomCircuitShapeType.DEFAULT)) + shapeType = localShapeType; + + switch (shapeType) { + case DIL: return new DILShape( pt.getShortName(), pt.getInputDescription(elementAttributes), pt.getOutputDescriptions(elementAttributes), elementAttributes.getLabel(), customDescr.getAttributes()); - } + case CUSTOM: + final CustomShapeDescription customShapeDescription = customDescr.getAttributes().get(Keys.CUSTOM_SHAPE); + if (customShapeDescription != CustomShapeDescription.EMPTY) + return new CustomShape(customShapeDescription, + pt.getInputDescription(elementAttributes), + pt.getOutputDescriptions(elementAttributes)); + default: + return new GenericShape( + pt.getShortName(), + pt.getInputDescription(elementAttributes), + pt.getOutputDescriptions(elementAttributes), + elementAttributes.getLabel(), + true, + customDescr.getAttributes().get(Keys.WIDTH)) + .setColor(customDescr.getAttributes().get(Keys.BACKGROUND_COLOR)); } - // Neither DIL nor custom shape. - return new GenericShape( - pt.getShortName(), - pt.getInputDescription(elementAttributes), - pt.getOutputDescriptions(elementAttributes), - elementAttributes.getLabel(), - true, - customDescr.getAttributes().get(Keys.WIDTH)) - .setColor(customDescr.getAttributes().get(Keys.BACKGROUND_COLOR)); } else { - // Internal component without own shape. + // Internal component without it's own shape. return new GenericShape( pt.getShortName(), pt.getInputDescription(elementAttributes), @@ -207,7 +212,7 @@ public final class ShapeFactory { } } } else { - // Internal component with own shape. + // Internal component with it's own shape. ElementTypeDescription pt = library.getElementType(elementName); return cr.create(elementAttributes, pt.getInputDescription(elementAttributes), @@ -247,7 +252,7 @@ public final class ShapeFactory { } @Override - public Shape create(ElementAttributes attributes, PinDescriptions inputs, PinDescriptions outputs) throws NodeException { + public Shape create(ElementAttributes attributes, PinDescriptions inputs, PinDescriptions outputs) { return new GenericShape(name, inputs, outputs) .invert(invers) .setInverterConfig(attributes.get(Keys.INVERTER_CONFIG)); diff --git a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java index 2ae7dd335..7ede535d9 100644 --- a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java +++ b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java @@ -64,11 +64,9 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe static { ATTR_LIST.add(Keys.WIDTH); - ATTR_LIST.add(Keys.IS_DIL); + ATTR_LIST.add(Keys.SHAPE_TYPE); ATTR_LIST.add(Keys.PINCOUNT); ATTR_LIST.add(Keys.BACKGROUND_COLOR); - if (Main.isExperimentalMode()) - ATTR_LIST.add(Keys.CUSTOM_SHAPE); ATTR_LIST.add(Keys.DESCRIPTION); ATTR_LIST.add(Keys.LOCKED_MODE); ATTR_LIST.add(Keys.ROMMANAGER); 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 5588a06d5..e7eaf1d52 100644 --- a/src/main/java/de/neemann/digital/gui/components/EditorFactory.java +++ b/src/main/java/de/neemann/digital/gui/components/EditorFactory.java @@ -22,6 +22,7 @@ import de.neemann.digital.draw.graphics.Orientation; import de.neemann.digital.draw.library.ElementNotFoundException; import de.neemann.digital.draw.model.InverterConfig; import de.neemann.digital.draw.model.ModelCreator; +import de.neemann.digital.draw.shapes.CustomCircuitShapeType; import de.neemann.digital.draw.shapes.custom.CustomShapeDescription; import de.neemann.digital.gui.Main; import de.neemann.digital.gui.components.table.ShowStringDialog; @@ -75,6 +76,7 @@ public final class EditorFactory { add(ROMManger.class, ROMManagerEditor.class); add(Application.Type.class, ApplicationTypeEditor.class); add(CustomShapeDescription.class, CustomShapeEditor.class); + add(CustomCircuitShapeType.class, CustomCircuitShapeTypeEditor.class); } private void add(Class clazz, Class> editor) { @@ -685,6 +687,12 @@ public final class EditorFactory { } } + private static final class CustomCircuitShapeTypeEditor extends EnumEditor { + public CustomCircuitShapeTypeEditor(CustomCircuitShapeType value, Key key) { + super(value, key); + } + } + private static final class ApplicationTypeEditor extends EnumEditor { private final Key key; private JComboBox combo; diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml index a3fcdea2b..25c3c8b44 100644 --- a/src/main/resources/lang/lang_de.xml +++ b/src/main/resources/lang/lang_de.xml @@ -1085,9 +1085,6 @@ Sind evtl. die Namen der Variablen nicht eindeutig? Adressiert die einzelnen Spalten. Drei Bits bedeuten also acht Spalten. Bearbeitung gesperrt Die Schaltung ist für die Bearbeitung gesperrt. Dioden und FG-FETs können jedoch konfiguriert werden. - DIL-Gehäuse verwenden - Wird diese Schaltung eingebettet, wird sie in einem DIL-Gehäuse angezeigt. - Um die Pins korrekt zuordnen zu können, ist an den Eingängen und Ausgängen die Pinnummer anzugeben. Pinnummer Nummer dieses Pins. Wird für die Darstellung einer Schaltung als DIL-Gehäuse und die Pinzuordnung bei der Programmierung eines CPLD verwendet. @@ -1179,10 +1176,6 @@ Sind evtl. die Namen der Variablen nicht eindeutig? Benutzerdefinierte Form Importieren einer SVG-Datei - Verwende einfache Form - Verwendet die einfache Form zur Darstellung. Hat nur einen Effekt, wenn die - Schaltung eine Benutzerdefinierte Form oder eine DIL Form verwendet. - Datei beim Start in den Programmspeicher laden. Wird ein Prozessor simuliert, der einen RAM-Baustein als Programmspeicher verwendet, ist es schwierig, diesen Prozessor zu starten, da der RAM Inhalt beim Start der Simulation immer mit @@ -1194,6 +1187,15 @@ Sind evtl. die Namen der Variablen nicht eindeutig? soll. + Form + Die Form, welche für die Repräsentation der Schaltung in einer einbettenden + Schaltung verwendet werden soll. Bei "Layout" bestimmt die Lage der Ein- und Ausgänge in der Schaltung die + Position der Pins. + Standard + DIL-Gehäuse + Layout + Benutzerdefiniert + Ausrichtung Lage der Koordinate relativ zum Text. links unten diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml index c1e2c689e..adcf3884e 100644 --- a/src/main/resources/lang/lang_en.xml +++ b/src/main/resources/lang/lang_en.xml @@ -1077,9 +1077,6 @@ Addresses the individual columns. Three bits means eight columns. Modification locked The circuit is locked. It is possible to configure diodes and FGF-FETs. - DIL package - If set, this circuit is shown in a DIL package. - To assign the pins correctly, the pin numbers must be set on all inputs and outputs. Pin number Number of this pin. Used for the representation of a circuit as a DIL package and the pin assignment when programming a CPLD. @@ -1170,9 +1167,6 @@ Custom Shape Import of a SVG-file - Use Default Shape - Use the default shape instead of using the DIL or custom shape configured in the circuit. - Preload program memory at startup. When simulating a processor that uses a RAM device as the program memory, it is difficult to start this processor because the RAM contents are always initialized with zeros at the start @@ -1184,6 +1178,14 @@ simulation. + Shape + The shape to be used for the representation of the circuit in an embedding circuit. + With "Layout", the position of the inputs and outputs in the circuit determines the position of the pins. + Default + DIL-Chip + Layout + User defined + Orientation Position of the coordinate relative to the text. left bottom diff --git a/src/test/java/de/neemann/digital/integration/TestLib.java b/src/test/java/de/neemann/digital/integration/TestLib.java index 75679d688..67e6d07ff 100644 --- a/src/test/java/de/neemann/digital/integration/TestLib.java +++ b/src/test/java/de/neemann/digital/integration/TestLib.java @@ -16,6 +16,7 @@ import de.neemann.digital.draw.elements.Circuit; import de.neemann.digital.draw.elements.PinException; import de.neemann.digital.draw.elements.VisualElement; import de.neemann.digital.draw.library.ElementNotFoundException; +import de.neemann.digital.draw.shapes.CustomCircuitShapeType; import junit.framework.TestCase; import java.io.File; @@ -42,11 +43,11 @@ public class TestLib extends TestCase { boolean is74xx = !dig.getName().endsWith("-inc.dig"); if (is74xx) { - assertTrue("is not DIL", circuit.getAttributes().get(Keys.IS_DIL)); + assertEquals("is not DIL", CustomCircuitShapeType.DIL, circuit.getAttributes().get(Keys.SHAPE_TYPE)); count74xx++; final int w = circuit.getAttributes().get(Keys.WIDTH); - assertTrue ("chip to small", w>=5); + assertTrue("chip to small", w >= 5); } assertTrue("is not locked", circuit.getAttributes().get(Keys.LOCKED_MODE));