From b476fd4eb514e089a995a652f235c12177415e47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=89=BE=E7=AB=B9?= Date: Sun, 2 Jul 2023 11:23:00 +0800 Subject: [PATCH] block --- ...esigner.Additionals_ihwwsf1d_wpftmp.csproj | 309 ++++++++++++++++++ .../Connector/BlockConnectorInfo.cs | 32 +- .../DesignerItemViewModelBase.cs | 4 +- .../BlockDesignerItemViewModel.cs | 69 +++- .../BlockDesignerItemViewModelHelper.cs | 59 ++-- .../Dlls/net461/AIStudio.Wpf.Block.Core.dll | Bin 242176 -> 242688 bytes .../AIStudio.Wpf.Block.Core.dll | Bin 242688 -> 243200 bytes .../AIStudio.Wpf.Block.Core.dll | Bin 242688 -> 243200 bytes .../AIStudio.Wpf.SFC_a2dtqtuc_wpftmp.csproj | 235 +++++++++++++ ...AIStudio.Wpf.Script_iozmnnjw_wpftmp.csproj | 276 ++++++++++++++++ 10 files changed, 938 insertions(+), 46 deletions(-) create mode 100644 AIStudio.Wpf.DiagramDesigner.Additionals/AIStudio.Wpf.DiagramDesigner.Additionals_ihwwsf1d_wpftmp.csproj create mode 100644 Extensions/AIStudio.Wpf.SFC/AIStudio.Wpf.SFC_a2dtqtuc_wpftmp.csproj create mode 100644 Extensions/AIStudio.Wpf.Script/AIStudio.Wpf.Script_iozmnnjw_wpftmp.csproj diff --git a/AIStudio.Wpf.DiagramDesigner.Additionals/AIStudio.Wpf.DiagramDesigner.Additionals_ihwwsf1d_wpftmp.csproj b/AIStudio.Wpf.DiagramDesigner.Additionals/AIStudio.Wpf.DiagramDesigner.Additionals_ihwwsf1d_wpftmp.csproj new file mode 100644 index 0000000..8b4dabd --- /dev/null +++ b/AIStudio.Wpf.DiagramDesigner.Additionals/AIStudio.Wpf.DiagramDesigner.Additionals_ihwwsf1d_wpftmp.csproj @@ -0,0 +1,309 @@ + + + AIStudio.Wpf.DiagramDesigner.Additionals + obj\Debug\ + obj\ + F:\aistudio.-wpf.-diagram\AIStudio.Wpf.DiagramDesigner.Additionals\obj\ + <_TargetAssemblyProjectName>AIStudio.Wpf.DiagramDesigner.Additionals + + + + true + true + AIStudio.Wpf.Controls + akwkevin + https://gitee.com/akwkevin + A.png + + + 1.1.7 + 一个Wpf的Diagram控件帮助库 + + + + + + + + + + + + + + + + + + + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/Connector/BlockConnectorInfo.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/Connector/BlockConnectorInfo.cs index 5781d1a..e176e3b 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/Connector/BlockConnectorInfo.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/Connector/BlockConnectorInfo.cs @@ -83,12 +83,34 @@ namespace AIStudio.Wpf.DiagramDesigner public double DistanceTo(BlockConnectorInfo port) { - var leftleftdistance = LeftPosition.DistanceTo(port.LeftPosition); - var leftrightdistance = LeftPosition.DistanceTo(port.RightPosition); - var rightleftdistance = RightPosition.DistanceTo(port.LeftPosition); - var rightrightdistance = RightPosition.DistanceTo(port.RightPosition); + PointBase p0 = port.LeftPosition; + PointBase p1 = port.RightPosition; + PointBase p2 = LeftPosition; + PointBase p3 = RightPosition; + var distance1 = DistanceTo(p0, p1, p2); + var distance2 = DistanceTo(p0, p1, p3); + var distance3 = DistanceTo(p2, p3, p0); + var distance4 = DistanceTo(p2, p3, p1); - return Math.Min(Math.Min(leftleftdistance, leftrightdistance), Math.Min(rightleftdistance, rightrightdistance)); + return Math.Min(Math.Min(distance1, distance2), Math.Min(distance3, distance4)); } + + double DistanceTo(PointBase A, PointBase B, PointBase P) //点P到线段AB的最短距离 + { + double r = ((P.X - A.X) * (B.X - A.X) + (P.Y - A.Y) * (B.Y - A.Y)) / DistanceToPow(A, B); + if (r <= 0) return Math.Sqrt(DistanceToPow(A, P)); + else if (r >= 1) return Math.Sqrt(DistanceToPow(B, P)); + else + { + double AC = r * Math.Sqrt(DistanceToPow(A, B)); + return Math.Sqrt(DistanceToPow(A, P) - AC * AC); + } + } + + double DistanceToPow(PointBase a, PointBase b) //点a、b距离的平方 + { + return (a.X - b.X) * (a.X - b.X) + (a.Y - b.Y) * (a.Y - b.Y); + } + } } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DesignerItemViewModelBase.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DesignerItemViewModelBase.cs index 02c4501..c5f0d9a 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DesignerItemViewModelBase.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/BaseViewModel/DesignerItemViewModelBase.cs @@ -776,12 +776,12 @@ namespace AIStudio.Wpf.DiagramDesigner public double GetItemWidth() { - return double.IsNaN(ItemWidth) ? ActualItemWidth : ItemWidth; + return double.IsNaN(ItemWidth) ? Math.Max(ActualItemWidth, MinItemWidth) : ItemWidth; } public double GetItemHeight() { - return double.IsNaN(ItemHeight) ? ActualItemHeight : ItemHeight; + return double.IsNaN(ItemHeight) ? Math.Max(ActualItemHeight, MinItemHeight) : ItemHeight; } public IShape GetShape() => ShapeDefiner(this); diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModel.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModel.cs index 13cdadc..4bc4871 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModel.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModel.cs @@ -130,9 +130,34 @@ namespace AIStudio.Wpf.DiagramDesigner { this.RemoveChild(oldchildren, container); } + Root.Items.Remove(child); + if (child.Prev != null) + { + child.Prev.RemoveNext(); + } + if (child.Next != null) + { + child.RemoveNext(); + } + container.InsertChild(child, index); + } + else + { + var list = child.GetNexts(true); + list.Reverse(); + list.ForEach(p => { + Root.Items.Remove(p); + if (p.Prev != null) + { + p.Prev.RemoveNext(); + } + if (p.Next != null) + { + p.RemoveNext(); + } + container.InsertChild(p, index); + }); } - Root.Items.Remove(child); - container.InsertChild(child, index); child.RemoveFromSelection(); this.GetRootContainItem.AddToSelection(true, true); @@ -237,28 +262,44 @@ namespace AIStudio.Wpf.DiagramDesigner public BlockDesignerItemViewModel GetFirst() { - var parent = this.Next; - if (parent != null) + var parent = this.Prev; + while (parent?.Prev != null) { - while (parent.Prev != null) - { - parent = Prev; - } + parent = parent.Prev; } + return parent; } public BlockDesignerItemViewModel GetLast() { var next = this; - if (next != null) + while (next.Next != null) { - while (next.Next != null) + next = next.Next; + } + + return next; + } + + public List GetNexts(bool self) + { + List blockDesignerItemViewModels = new List(); + if (self) + { + blockDesignerItemViewModels.Add(this); + } + var next = this; + while (next != null) + { + next = next.Next; + if (next != null) { - next = next.Next; + blockDesignerItemViewModels.Add(next); } } - return next; + + return blockDesignerItemViewModels; } public void AddContainer(BlockItemsContainerInfo container) @@ -404,12 +445,12 @@ namespace AIStudio.Wpf.DiagramDesigner { List links = new List(); foreach (var block in blocks.OrderBy(p => p.BlockLevel).ToList()) - { + { bool success = false; foreach (var link in links) { if (link.Items.LastOrDefault() == block.Prev) - { + { link.Items.Add(block); success = true; } diff --git a/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModelHelper.cs b/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModelHelper.cs index 436fb03..8292b00 100644 --- a/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModelHelper.cs +++ b/AIStudio.Wpf.DiagramDesigner/ViewModels/BlockViewModel/BlockDesignerItemViewModelHelper.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -34,30 +35,32 @@ namespace AIStudio.Wpf.DiagramDesigner FullyCreatedConnectorInfo parent = null; FullyCreatedConnectorInfo next = null; - foreach (var item in items) + + foreach (var port2 in blockDesignerItemTempLink.Connectors.OfType()) { bool success = false; - foreach (var port in item.Connectors.OfType()) - { - //已经被连接的不允许在顶部吸附了 - if ((port.Orientation == ConnectorOrientation.Top || port.Orientation == ConnectorOrientation.Left) && port.DataItem.Prev != null) + foreach (var item in items) + { + foreach (var port in item.Connectors.OfType()) { - continue; - } + //已经被连接的不允许在顶部吸附了 + if ((port.Orientation == ConnectorOrientation.Top || port.Orientation == ConnectorOrientation.Left) && port.DataItem.Prev != null) + { + continue; + } - foreach (var port2 in blockDesignerItemTempLink.Connectors.OfType()) - { //parent if (parent == null) { if ((port.Orientation == ConnectorOrientation.Right && port2.Orientation == ConnectorOrientation.Left) || (port.Orientation == ConnectorOrientation.Bottom && port2.Orientation == ConnectorOrientation.Top)) { - - if (port.DistanceTo(port2) < diagramViewModel.DiagramOption.SnappingOption.BlockSnappingRadius) + var dis = port.DistanceTo(port2); + Debug.WriteLine($"{port.DataItem.Name}-{port2.DataItem.Name}:{dis}"); + if (dis < diagramViewModel.DiagramOption.SnappingOption.BlockSnappingRadius) { port.DataItem.ShowConnectors = true; - if (port2.CanAttachTo(port) == true) + if (port.CanAttachTo(port2) == true) { diagramViewModel.AddAttachTo(port, true); parent = port; @@ -79,11 +82,12 @@ namespace AIStudio.Wpf.DiagramDesigner if ((port.Orientation == ConnectorOrientation.Left && port2.Orientation == ConnectorOrientation.Right) || (port.Orientation == ConnectorOrientation.Top && port2.Orientation == ConnectorOrientation.Bottom)) { - - if (port.Position.DistanceTo(port2.Position) < diagramViewModel.DiagramOption.SnappingOption.BlockSnappingRadius) + var dis = port.DistanceTo(port2); + Debug.WriteLine($"{port.DataItem.Name}-{port2.DataItem.Name}:{dis}"); + if (dis < diagramViewModel.DiagramOption.SnappingOption.BlockSnappingRadius) { port.DataItem.ShowConnectors = true; - if (port2.CanAttachTo(port) == true) + if (port.CanAttachTo(port2) == true) { diagramViewModel.AddAttachTo(port, true); next = port; @@ -105,6 +109,11 @@ namespace AIStudio.Wpf.DiagramDesigner break; } } + + if (success) + { + break; + } } return new Tuple(parent, next); @@ -125,17 +134,17 @@ namespace AIStudio.Wpf.DiagramDesigner { var innerport = container.GetAllContainers(container.Children, false).Where(p => p.GetBounds().IntersectsWith(blockDesignerItemTempLink.GetBounds())).OrderByDescending(p => p.ContainerLevel).FirstOrDefault(); if (innerport != null) - { + { if (innerport.CanAttachTo(blockDesignerItemTempLink.Items.FirstOrDefault()) == true) { - innerport.DataItem.ShowConnectors = true; + innerport.DataItem.ShowConnectors = true; if (innerport.OnlyOneChild || innerport.Children.Count == 0) { diagramViewModel.AddAttachTo(innerport, true); } else { - diagramViewModel.FindNearPortToAttachTo(innerport.Children.ToList(), blockDesignerItemTempLink); + diagramViewModel.FindNearPortToAttachTo(innerport.Children.ToList(), blockDesignerItemTempLink); } return innerport; } @@ -148,7 +157,7 @@ namespace AIStudio.Wpf.DiagramDesigner } else { - + if (container.CanAttachTo(blockDesignerItemTempLink.Items.FirstOrDefault()) == true) { container.DataItem.ShowConnectors = true; @@ -158,7 +167,7 @@ namespace AIStudio.Wpf.DiagramDesigner } else { - diagramViewModel.FindNearPortToAttachTo(container.Children.ToList(), blockDesignerItemTempLink); + diagramViewModel.FindNearPortToAttachTo(container.Children.ToList(), blockDesignerItemTempLink); } return container; } @@ -209,11 +218,11 @@ namespace AIStudio.Wpf.DiagramDesigner return; if (blocks.Any()) - { + { var links = BlockDesignerItemTempLink.Build(blocks); blocks.ToList().ForEach(p => { - p.ZIndex = diagramViewModel.Items.Any() ? diagramViewModel.Items.Where(q => q.ZIndex != int.MaxValue).Max(r => r.ZIndex) + 1 : 0; + p.ZIndex = diagramViewModel.Items.Where(q => q.ZIndex != int.MaxValue).Any() ? diagramViewModel.Items.Where(q => q.ZIndex != int.MaxValue).Max(r => r.ZIndex) + 1 : 0; }); foreach (BlockDesignerItemTempLink item in links) @@ -228,10 +237,10 @@ namespace AIStudio.Wpf.DiagramDesigner index = container.Children.IndexOf(child); if (child.RightConnector?.BeAttachTo == true || child.BottomConnector?.BeAttachTo == true) { - index ++; + index++; } } - diagramViewModel.InsertChildCommand.Execute(new BlockContainerPara() { Item = container.DataItem, Child = item.Items.FirstOrDefault(), Container = container, Index = index }); + diagramViewModel.InsertChildCommand.Execute(new BlockContainerPara() { Item = container.DataItem, Child = item.Items.FirstOrDefault(), Container = container, Index = index }); continue; } @@ -267,7 +276,7 @@ namespace AIStudio.Wpf.DiagramDesigner } } } - + diagramViewModel.ClearAttachTo(); } } diff --git a/Extensions/AIStudio.Wpf.Block/Dlls/net461/AIStudio.Wpf.Block.Core.dll b/Extensions/AIStudio.Wpf.Block/Dlls/net461/AIStudio.Wpf.Block.Core.dll index 5c5ad965418e2ce3c583c73f156ebba744679e0e..5dfdba725453e0a347f42c69501af815d73872c9 100644 GIT binary patch delta 23568 zcmb8130%}w_y5nmcYtA;Q5clXg+WA6G&G)4GlMd>%q@4Vphwfva!*O~%b20&QZA*W zC8U*Wskvta1KGIc=wqe11g0fwi)E>0`9Jr3FJI>VmjCno=+%ewzRTyFd%xQZ4CbGA z=3jKaIwxt{-=`LX`l^H^cR0%c*eC#k&Bn6_7OfxPoPR(-FWFEjV69l>jt;j$1mcPP z0@^M+xb_G81N^KUx0j$7_uwRTvKg_njGyju5iY4_ka z>)x|_^~Dc5eY^7dgBPYp77U6jOxqFseaeyEBZi#GyW{a^+<$aGbLWQrD+k_tVRlGW zisPj_vj^noN=a$CKSIM zi|bZn#z!5*_Rh&t?<9RRPR1)!qz#HOlq}5>OJ+OW|Q_Hy=apyH%SYqxb>tDkpCRg>7;wf=NZan45#WA zHk6ZllhI#fv708x*Ol$1)bb(e!({Oc=`hj=Dy}|h9O(sG_mLzyH<4z&=8|#$7^#;d zq~0bSZBWOrw5CETB9=@KQ2PF~X#<fcAr>Wl64XA~5F_m(Q5;KtPrzrN(q4@{(wkJ~`tt^Oi zFzE==he+R{J-CZX|C~zqlEb-X2Msj67%i>$&`>*-vWX^)2$k(kC}k4uM-Qs~Zfco; zE`A#{-4|XYE7XAoqfO1riZQtw4gCrxW{ zKecor?Lpd~dizJ*1$R=KS(N^5(&eNJNn@#$$4Tp@45GPhBc(syGtBGA$iJ)ZxX1zd zgBp#Cthuzt)|-qi>yjo%238taXrKJHs@%t;WT8?sNYh#j$2hIUQ>11xS?Fpi!k}_L zq2m59TdonDBh90x&ZH}7Xe_C@%JUR=Bb`RNj5LRI4$Ueh9ZoH0C^lDroLb}_+y!@# z-h+zEGt@dp#>%S4#MW$ST8r*+cVWxA`1+{tla`R~j}OL{>!gl^U|hY_3{>eLRkq0e zkeW%_mh^w>HRPcGy}P!z16gE|b|URc+Jm$=X+P3Iq{B%6r<9tff$9Gf(?FxZ_`k0* zu+Z9(y%Xi*xggfvs00`cvB>Zuj&kM!{t`N0PHL=`ZzSqX%|*H)jT^A>rLezM31 zcKFjGKZHSGdPhKduK^A%y;DnH7wm4pFEhOh+7p?pa6u=Fyx@Xf7Wp6=hFau@`dZm> zTG>XNR(HHscLNwjHfH+9noVQPrm^OdsJSFTb%0A#&84ZK*)-K`QZ$=Xh)t^9ix!$q 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%0Dp`-%*lNOPdl2(#tJuk=Skmi#Xk(QEH zlEO6dB+VktArwOE4FHi!~e9|J)QqoFNm_g%7vq*DD^GS(n?Y=^2vfUixfQ6LYhUILz+)oL|RH(NeVM*JZTnb4rxAVk=gR19FtF4L|RIE z5{w)+k*y2!hJ6$EQ&@O-z3@jPW<@NGI1zCdd82BeC$wsi?P}1c!D9`^HE7?kYr{txe$()ehAkT{ z+uT+BY_wwlrxO2fdNFD~&MJh(sG&^i)1)8a-{u1T8wFD5lm1(0{0CN5`Yx=th`{*Y zT38PM$;gMIWO214@fTdR0Ps-Mo-lyFY?H(BWu5DJ)Dtcl7beO0e{27&;nz-p_3S+A z2~scV4$_V;xkIh$U&P)sH1ZpVY#9)bYQW#_+-NK!XbkEPvI(|1CScqocq-}}F>+e> z=ouJ4oFqp!N|0mBlzp4YIKnN*{6X3+Nye)wJ`*eBIpp~sW!XcqS&Ab?F4g#~;oGrz zw320lv6SY|CNe%w@eykO&wCrv_-!=Tbht___cxWEaip5tKPlP&e?nj>ACTRvlt453 zZ$;P6+Bu_#xEA!lc^Db7I%0rhog>o&VMa%h5+4z8wl&|Fv!P zvg}7h!}zhR85sEgmaunNLEJj_QQQVL7Ju&DK7QxaM?^(iqkU3p`iUhYx@~wTck#-v zy3K+7B1lI2e1N6s8O%|T`#zH0T9(N0zYSx%?oQ1gGU58)^_GwP+Up;9KP^X z-Ro_(o@vX%`RaY{*|F-Sg*~v|poNWEXz#C(~U%q7B!IF;WCiOXdcu45JnQxVrugQET?z=uWt}jmnCi%l{@j*x_<~>*?wo_X7LkSlo9g( E01-6xVE_OC delta 23268 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 diff --git a/Extensions/AIStudio.Wpf.Block/Dlls/net5.0-windows/AIStudio.Wpf.Block.Core.dll b/Extensions/AIStudio.Wpf.Block/Dlls/net5.0-windows/AIStudio.Wpf.Block.Core.dll index 40ff471124ce7a2f075a683352572c9960da4a53..7c5abd47e55a4d00ce4a30f75190f634e9b009ed 100644 GIT binary patch delta 24383 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 delta 23943 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 + + AIStudio.Wpf.SFC + obj\Debug\ + obj\ + F:\aistudio.-wpf.-diagram\Extensions\AIStudio.Wpf.SFC\obj\ + <_TargetAssemblyProjectName>AIStudio.Wpf.SFC + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Extensions/AIStudio.Wpf.Script/AIStudio.Wpf.Script_iozmnnjw_wpftmp.csproj b/Extensions/AIStudio.Wpf.Script/AIStudio.Wpf.Script_iozmnnjw_wpftmp.csproj new file mode 100644 index 0000000..7d1a01b --- /dev/null +++ b/Extensions/AIStudio.Wpf.Script/AIStudio.Wpf.Script_iozmnnjw_wpftmp.csproj @@ -0,0 +1,276 @@ + + + AIStudio.Wpf.Script + obj\Debug\ + obj\ + F:\aistudio.-wpf.-diagram\Extensions\AIStudio.Wpf.Script\obj\ + <_TargetAssemblyProjectName>AIStudio.Wpf.Script + + + + true + AIStudio.Wpf.Controls + akwkevin + https://gitee.com/akwkevin + A.png + + + 1.0.6 + 一个Wpf的脚本生成模块 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file