From 3874da705a10de565e159163b6414827941511b5 Mon Sep 17 00:00:00 2001 From: Bane Stojkovic Date: Sun, 9 Feb 2025 15:47:18 +0100 Subject: [PATCH] increase undo stack size --- diylc/diylc-core/lib/app-framework.jar | Bin 54092 -> 54090 bytes .../org/diylc/netlist/NetlistAnalyzer.java | 12 ++++++++++++ diylc/diylc-library/lib/app-framework.jar | Bin 54092 -> 54090 bytes diylc/diylc-swing/lib/app-framework.jar | Bin 54092 -> 54090 bytes 4 files changed, 12 insertions(+) diff --git a/diylc/diylc-core/lib/app-framework.jar b/diylc/diylc-core/lib/app-framework.jar index 713a14844bcf83a13458f7ef6b724f42a843c841..c8a1f78008ae13aa2667addbf0b7ff150bc5e3d8 100644 GIT binary patch delta 3057 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 K2=`3mZuNgQkUA0o delta 3028 zcmaKuc{o)2AIHZSX2vd*ZD`6mnPiJ(xp75yw`9A>XrfX>S+6weW@p4;WX+Zqx-!bX zWE;j{WQl8uD~V8pi>yDK)AQVW|M;DM&g;BC%lCUe=RD8%O@G49c*4$SZN?7cfkyeOQT#vkWNoNCS>OO%;@@rmQ3XNo zm65HSx&BYi;r*QWF64jOCqhr|Z)bNIExx_|como_rNST(AtX70Plo)VMSxlc&4ukJ zQ61rp>;N6+b_Xef&jq9zL3K7DiWX}Ap&cv(DMvgIB$SjTNCdPH6sQP4dK9E$S#FSO zdf!%#B_aXqzawS%KZQN5~WD zn#9`@QzCZ<5{u2=SGK)HpA?3V*r%X6WUhLasPM|6Z+^^gZmmo@Su~}&D7R?pT$~|l zdN0Kw&A>Fr`mvpYdhHpZNRe=c?|P0}=1k#s=%+)=`bl~o0a&vXlLAKIYVF*q?x3!q z?o-u^`a2slu55D#iqWtP1i`2hOP?vz0GtH+|#qjZ-_L`Ne zgYC~|YA4}VmKGU6E+SxZxp*(K!;U)Ayr2z%FIGBJvbxD01ean0FCwL!QPDbwpBJx zqtRRa7d*%ACf^)>di7CPYIshdP|iYjkAP%%rwV+a(A*4#InKZY|C!o(izuH$FNm9q zbxSW@(fqxurd@J@kc4^WcX3i_%C00lZINPfI{jN`uONI_jsC2tbd(i7WH)VGo&KJD zc5GVzotAZGte|6Z=3_BOTjLMvahUmwP9jN7V?q@BnYp8+#n~W|nAobeVak_}6GOe2 z`PdO(5Be*MW0PUJgcn9?c0?s}WPbknxFhogF>i{MXq2H;f2@8H*VSQ0uuoKfBN>b8 zVWOrR>epcdL$kt}>8rnDzZt!i>ePhA^qUmg<}gp|=oGmve>!LTsAJ1--Ls=|!nPrp zqhwe=ejRnk$d~3FHfHI-P&dqfN+5uNvx}1;i1i7(HBAs&?HNj5K_qDep z^=H=9^q4GcMjs2ko$D?hFL+kxNd`|+b?hqCdZa^k~)l#!P~_h-5!hdkQN z?iowRW_xqXyDrz!L^}eDht^%ndkpb{mxEEs+iBRHNaJSqg0+^{iY^qwV0#ePby@nB zy8Vgl3olP^W_eNj4Q|@BPnh?$#C+?2eT(#aviT@sB%zx?9Hf7pp5Oe5H^=OG78ScW zwxhbXK3T)D$|B;9j<4Sh&~3c#+nE-US9AB_p>)HbEdk|=!9lhB+S3~>#5BC(wiH`e z=vcExnJi~YPhtg$$-0hE&hzsVA9tVUnu4Z|*K*&eSw%-`9r;X?`_1PNr#C+*OG9sF z`Gk*vVnb$-r2LC46h=R|gz@!+hf-j6W-dqEqmvaigWn8E$iH-Df{zQG; z;feaFrr)l`w^ZKFM+sY)Syz&K;orO>_+GlWNmI8aLTN|)iC?#Gb*f7_kMo;>v@wg` z)t==nCl%eM2xFhv0F}%M5+Z>3;F4DeQo{3(*AL<(p{f^9M)Hn9M2H(_pf3AR`{Y*~ zw5as+OSc~4JeBD!DSwCfL4N14Y0R3Z|7V-Ai13%HK~*T~oFxPi9W%th~%^)$RL<_gc2c3!-6nFaz7AsOr7^&SQs_ z-?4EodF$BJo#9T`p$2ZA%^04+Af5@R&}Z4pEY*WPg58rMb^R_a@`1cW+LyIMV-5AJ zD@JEWh)>%iB}9TwwMlS?w~EZX40Z7*Qw=DI9 zH)4{5@b_B|guhX-%?GkCeRGHXQN$`uANo3_xLWR3?SAiI!7%5b{Q(`%Z=Z$cyhArX zOu38`e;6RdzOSOHy0Kw*L0-0b{8(f{$jRSJ*n7IEq znpURe;XRKd@^hH&3OfX1v1^Jk|FEw4_hj?PY`urcu6aDh($ diff --git a/diylc/diylc-core/src/org/diylc/netlist/NetlistAnalyzer.java b/diylc/diylc-core/src/org/diylc/netlist/NetlistAnalyzer.java index 0d5ebe4d..898753f4 100644 --- a/diylc/diylc-core/src/org/diylc/netlist/NetlistAnalyzer.java +++ b/diylc/diylc-core/src/org/diylc/netlist/NetlistAnalyzer.java @@ -24,6 +24,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.stream.Collectors; import org.diylc.core.IDIYComponent; public abstract class NetlistAnalyzer { @@ -53,6 +54,17 @@ public abstract class NetlistAnalyzer { return tree; } + +// protected Tree removeRedundantElements(Tree tree) { +// List children = tree.getChildren() +// .stream() +// .map(t -> removeRedundantElements(t)) +// .collect(Collectors.toList()); +// if (children.size() == 1) { +// Tree first = children.get(0); +// return first; +// } +// } protected void connectNodes(Netlist netlist, Node nodeA, Node nodeB, List concurrentPaths, Tree currentPath, Set visited) { diff --git a/diylc/diylc-library/lib/app-framework.jar b/diylc/diylc-library/lib/app-framework.jar index 713a14844bcf83a13458f7ef6b724f42a843c841..c8a1f78008ae13aa2667addbf0b7ff150bc5e3d8 100644 GIT binary patch delta 3057 zcmaKuc|25mAIFa|c44et%GgJ;q{cSFMd%v4t|*ilOBhX~WU@^>O4fN8D!Ey*K8&f1 z3R#|z5n~U@QcSi;qAXeNgEL;Qd+#65`RBaP=ll77f9L$pAHNT?h_kJTQ^*0$3FQX> zUI4&F{&p@^2muY;y&EJ#_nup2!TV<=*zPm%mrIJmktY3*ehLbLpooa_$ozfmU%CMK z-8PE72mk-^$nAMFI{E%FJ`JL~_c}Yv=nL(>53Ufcejf?|VtkZTAtibNqyoBUpr7Mu zUY`89kT0HC#FgHy&*2Ed_JWPSFheNX+y-qP8-bI=33o4#JsBPg^p zUWqcErAG=Cn}$UVq?Mxw-MuGnK18Yzo~X;Tb68u?>njUErGAl~zmL}P)@W!IShDsg z7qmm04z|eCuHPL zN?90o#u4Nb@Dt}1R=ym|79KZry!MgHtwHspl+TKXW371OY9sMT(mkILgV?WD1g*P` zM2i;qoslxw=X#ZPc*4RQX2R(pzLjW@1dnHC$=52ghB2!TMaKHOb&c_^zZ9D0JW=-{ z`z4diOeK(~$R*VyW0lw`bh8N#}PWX-zMj6dRt{?Z)7m1j=!`+I9JuZaQfpB#_61%C)y$JU6E-P z45rGchJr;AGs#EaA`2=^HG+p6VP>L-kfiue_CqZ(s4RMy5*PAFy70jPcbB33zCJ~) zd3L@c77|!iF?3}>T|a>qc(6+2W2{_JgjbB9p5_wXa4c-2pp-eejf$+C99dNR zXbySz<%89hP`yG8w#p1&tnT|jzSqXk<7ow&DyZvq%T$nDM33@|C)=4gg_Gj2KWI9r zjHB=UpM6L_KI9N>pwx)+CD<_X5B6y%7@@9TEKcca!RR5>tp zEr}Jc^7d$A1?$e4xTf^agvo;TxW()gI17P_Qo~^%4YLMp?ZXPM+?Ljv%6PE2nVFKq zl0wzrEWTDt7QVJAdX`t~l|CgsM}*Y)SZAc}Ik&9VgCT<(tIunoA)DL{{of2XJsD@O zI5FUhR)_nD4~|V}PkQH${O;b@J($ahGH$j)(Xg3Pb-H4$pT+p2Ep6w-lgEB9ZaO{o ztcc#0`wqvN4Vx}kyRRiVrGqPD6ncimF&pb|)zUv*?+~*IooY2kd-B)*ytqkHd5f5~%sEnh2k`q9Kf(Q8l(YTP zZzHE>)(*tp>#0EQ33aq^~VL^k4~tcs8VSJeqJ z%e#LlZ)phY6BTEGeYG(!u5sy*9)hO0Buqu*%@CZ{-yT<}2+8m>z1M>xwfaS+5e`j# zP%(6utSO$O->1HZ4O_XBDuq6L7Z-Nh4zZcbp1rPJclnnZT)9qNRuQ~t)+iJcc010B zkYum@a6E-Klyv7JE|O2?(&J~b$%i1v&v;lM&aFp?dvOzuIEUWMeZ@ei6*Dxio-g$7 zD~AvfBonzmbKOf1Ca+uKNsm}W%*87k2XJcRwEP$HSN;ukf@U{w#g4Uvi$nN?EB@e# zTvMq3>8-Mw4As28#Qssd zqIhkL-0bC*&@lxR~W>#*>%dnLoxGs_O)XB}Cx0lD1Iy6F84FsU)WV1j98bpBc6Z8D-hOvKfo%B8bv zbkk6V7@bE-m4A6h-W|hV7pv~sqM*sTQQNrszHIG;XVZsosO?*Ni}+f%RIwKU!4obP zzCug(OCr5+bVBU0IFh7hC9S^L%poH@Av{YD&&v{b9zc&OS(ye(kZCoc%CW;E9U2nQ zbJ|+a65K@P;|OxN86q?0?C5uDcj2eZ8ed3q<{M02N-!GRCK;^L76sdc``optcYk+2 zl1K4rbI!3fSj^x6aj0W+_4sDllhLQYCidbvaTlYC8w448@^GG(RYxeV`JGw;_86ab1s|>)OsCY`Nn-!S-=e0(%e8 zX{G%85rgW%jsu6Q{^SBrX}S6Va1`ZdquyR_qv$jl@6{-wO`0J5rwIwdc#|mzD$S=s z2yRA$@T%Dw1mV|~Ah^9|dkSB>f(l2ABM2@nZXnQG*d<|x3#j-r96+es2Ux2!s9b8j z2m*5-j=fHDzu#uN0MYx4o2sg3PHwEKceYC9H$we}zo{F&!LXl1e$gAOlH$?jmk z*jfjBj(aB_EOm9VJ;*Nh=cIPAS6}YJfF8GQ%s&E8YquR(lJ1d)DCSd4^VQWI&>RqP z&fN?R{`L78sK|2&0C;f$faYJ4Z$Y$I@lJyZrLsp79MZWn1Y1gpF4dvHdj&yFt5+IA zrS51N6k;zJ@hB-f+JUN_UO9?gJrBjaTU2g0husu(-j3f1zZHA{p#8UnMC#dQF^X=V K2=`3mZuNgQkUA0o delta 3028 zcmaKuc{o)2AIHZSX2vd*ZD`6mnPiJ(xp75yw`9A>XrfX>S+6weW@p4;WX+Zqx-!bX zWE;j{WQl8uD~V8pi>yDK)AQVW|M;DM&g;BC%lCUe=RD8%O@G49c*4$SZN?7cfkyeOQT#vkWNoNCS>OO%;@@rmQ3XNo zm65HSx&BYi;r*QWF64jOCqhr|Z)bNIExx_|como_rNST(AtX70Plo)VMSxlc&4ukJ zQ61rp>;N6+b_Xef&jq9zL3K7DiWX}Ap&cv(DMvgIB$SjTNCdPH6sQP4dK9E$S#FSO zdf!%#B_aXqzawS%KZQN5~WD zn#9`@QzCZ<5{u2=SGK)HpA?3V*r%X6WUhLasPM|6Z+^^gZmmo@Su~}&D7R?pT$~|l zdN0Kw&A>Fr`mvpYdhHpZNRe=c?|P0}=1k#s=%+)=`bl~o0a&vXlLAKIYVF*q?x3!q z?o-u^`a2slu55D#iqWtP1i`2hOP?vz0GtH+|#qjZ-_L`Ne zgYC~|YA4}VmKGU6E+SxZxp*(K!;U)Ayr2z%FIGBJvbxD01ean0FCwL!QPDbwpBJx zqtRRa7d*%ACf^)>di7CPYIshdP|iYjkAP%%rwV+a(A*4#InKZY|C!o(izuH$FNm9q zbxSW@(fqxurd@J@kc4^WcX3i_%C00lZINPfI{jN`uONI_jsC2tbd(i7WH)VGo&KJD zc5GVzotAZGte|6Z=3_BOTjLMvahUmwP9jN7V?q@BnYp8+#n~W|nAobeVak_}6GOe2 z`PdO(5Be*MW0PUJgcn9?c0?s}WPbknxFhogF>i{MXq2H;f2@8H*VSQ0uuoKfBN>b8 zVWOrR>epcdL$kt}>8rnDzZt!i>ePhA^qUmg<}gp|=oGmve>!LTsAJ1--Ls=|!nPrp zqhwe=ejRnk$d~3FHfHI-P&dqfN+5uNvx}1;i1i7(HBAs&?HNj5K_qDep z^=H=9^q4GcMjs2ko$D?hFL+kxNd`|+b?hqCdZa^k~)l#!P~_h-5!hdkQN z?iowRW_xqXyDrz!L^}eDht^%ndkpb{mxEEs+iBRHNaJSqg0+^{iY^qwV0#ePby@nB zy8Vgl3olP^W_eNj4Q|@BPnh?$#C+?2eT(#aviT@sB%zx?9Hf7pp5Oe5H^=OG78ScW zwxhbXK3T)D$|B;9j<4Sh&~3c#+nE-US9AB_p>)HbEdk|=!9lhB+S3~>#5BC(wiH`e z=vcExnJi~YPhtg$$-0hE&hzsVA9tVUnu4Z|*K*&eSw%-`9r;X?`_1PNr#C+*OG9sF z`Gk*vVnb$-r2LC46h=R|gz@!+hf-j6W-dqEqmvaigWn8E$iH-Df{zQG; z;feaFrr)l`w^ZKFM+sY)Syz&K;orO>_+GlWNmI8aLTN|)iC?#Gb*f7_kMo;>v@wg` z)t==nCl%eM2xFhv0F}%M5+Z>3;F4DeQo{3(*AL<(p{f^9M)Hn9M2H(_pf3AR`{Y*~ zw5as+OSc~4JeBD!DSwCfL4N14Y0R3Z|7V-Ai13%HK~*T~oFxPi9W%th~%^)$RL<_gc2c3!-6nFaz7AsOr7^&SQs_ z-?4EodF$BJo#9T`p$2ZA%^04+Af5@R&}Z4pEY*WPg58rMb^R_a@`1cW+LyIMV-5AJ zD@JEWh)>%iB}9TwwMlS?w~EZX40Z7*Qw=DI9 zH)4{5@b_B|guhX-%?GkCeRGHXQN$`uANo3_xLWR3?SAiI!7%5b{Q(`%Z=Z$cyhArX zOu38`e;6RdzOSOHy0Kw*L0-0b{8(f{$jRSJ*n7IEq znpURe;XRKd@^hH&3OfX1v1^Jk|FEw4_hj?PY`urcu6aDh($ diff --git a/diylc/diylc-swing/lib/app-framework.jar b/diylc/diylc-swing/lib/app-framework.jar index 713a14844bcf83a13458f7ef6b724f42a843c841..c8a1f78008ae13aa2667addbf0b7ff150bc5e3d8 100644 GIT binary patch delta 3057 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 K2=`3mZuNgQkUA0o delta 3028 zcmaKuc{o)2AIHZSX2vd*ZD`6mnPiJ(xp75yw`9A>XrfX>S+6weW@p4;WX+Zqx-!bX zWE;j{WQl8uD~V8pi>yDK)AQVW|M;DM&g;BC%lCUe=RD8%O@G49c*4$SZN?7cfkyeOQT#vkWNoNCS>OO%;@@rmQ3XNo zm65HSx&BYi;r*QWF64jOCqhr|Z)bNIExx_|como_rNST(AtX70Plo)VMSxlc&4ukJ zQ61rp>;N6+b_Xef&jq9zL3K7DiWX}Ap&cv(DMvgIB$SjTNCdPH6sQP4dK9E$S#FSO zdf!%#B_aXqzawS%KZQN5~WD zn#9`@QzCZ<5{u2=SGK)HpA?3V*r%X6WUhLasPM|6Z+^^gZmmo@Su~}&D7R?pT$~|l zdN0Kw&A>Fr`mvpYdhHpZNRe=c?|P0}=1k#s=%+)=`bl~o0a&vXlLAKIYVF*q?x3!q z?o-u^`a2slu55D#iqWtP1i`2hOP?vz0GtH+|#qjZ-_L`Ne zgYC~|YA4}VmKGU6E+SxZxp*(K!;U)Ayr2z%FIGBJvbxD01ean0FCwL!QPDbwpBJx zqtRRa7d*%ACf^)>di7CPYIshdP|iYjkAP%%rwV+a(A*4#InKZY|C!o(izuH$FNm9q zbxSW@(fqxurd@J@kc4^WcX3i_%C00lZINPfI{jN`uONI_jsC2tbd(i7WH)VGo&KJD zc5GVzotAZGte|6Z=3_BOTjLMvahUmwP9jN7V?q@BnYp8+#n~W|nAobeVak_}6GOe2 z`PdO(5Be*MW0PUJgcn9?c0?s}WPbknxFhogF>i{MXq2H;f2@8H*VSQ0uuoKfBN>b8 zVWOrR>epcdL$kt}>8rnDzZt!i>ePhA^qUmg<}gp|=oGmve>!LTsAJ1--Ls=|!nPrp zqhwe=ejRnk$d~3FHfHI-P&dqfN+5uNvx}1;i1i7(HBAs&?HNj5K_qDep z^=H=9^q4GcMjs2ko$D?hFL+kxNd`|+b?hqCdZa^k~)l#!P~_h-5!hdkQN z?iowRW_xqXyDrz!L^}eDht^%ndkpb{mxEEs+iBRHNaJSqg0+^{iY^qwV0#ePby@nB zy8Vgl3olP^W_eNj4Q|@BPnh?$#C+?2eT(#aviT@sB%zx?9Hf7pp5Oe5H^=OG78ScW zwxhbXK3T)D$|B;9j<4Sh&~3c#+nE-US9AB_p>)HbEdk|=!9lhB+S3~>#5BC(wiH`e z=vcExnJi~YPhtg$$-0hE&hzsVA9tVUnu4Z|*K*&eSw%-`9r;X?`_1PNr#C+*OG9sF z`Gk*vVnb$-r2LC46h=R|gz@!+hf-j6W-dqEqmvaigWn8E$iH-Df{zQG; z;feaFrr)l`w^ZKFM+sY)Syz&K;orO>_+GlWNmI8aLTN|)iC?#Gb*f7_kMo;>v@wg` z)t==nCl%eM2xFhv0F}%M5+Z>3;F4DeQo{3(*AL<(p{f^9M)Hn9M2H(_pf3AR`{Y*~ zw5as+OSc~4JeBD!DSwCfL4N14Y0R3Z|7V-Ai13%HK~*T~oFxPi9W%th~%^)$RL<_gc2c3!-6nFaz7AsOr7^&SQs_ z-?4EodF$BJo#9T`p$2ZA%^04+Af5@R&}Z4pEY*WPg58rMb^R_a@`1cW+LyIMV-5AJ zD@JEWh)>%iB}9TwwMlS?w~EZX40Z7*Qw=DI9 zH)4{5@b_B|guhX-%?GkCeRGHXQN$`uANo3_xLWR3?SAiI!7%5b{Q(`%Z=Z$cyhArX zOu38`e;6RdzOSOHy0Kw*L0-0b{8(f{$jRSJ*n7IEq znpURe;XRKd@^hH&3OfX1v1^Jk|FEw4_hj?PY`urcu6aDh($