From a2302094f1e01d6b7deea8277b4e749c6a593028 Mon Sep 17 00:00:00 2001 From: Annamaria Sassi Date: Wed, 29 Apr 2026 16:04:14 +0200 Subject: [PATCH] Correzioni overlap elementi --- WebWindowComplex/Compo/CardSplit.razor.cs | 2 +- WebWindowComplex/Models/Area.cs | 2 +- WebWindowComplex/TableComp.razor.cs | 77 +++++++++++++++++------ WebWindowComplex/WebWindowComplex.csproj | 3 +- 4 files changed, 63 insertions(+), 21 deletions(-) diff --git a/WebWindowComplex/Compo/CardSplit.razor.cs b/WebWindowComplex/Compo/CardSplit.razor.cs index cd84723..904511b 100644 --- a/WebWindowComplex/Compo/CardSplit.razor.cs +++ b/WebWindowComplex/Compo/CardSplit.razor.cs @@ -230,7 +230,7 @@ namespace WebWindowComplex.Compo var args = new DataUpdateSplit() { currSplit = CurrSplit, - svgNoHw = true + svgNoHw = false }; await EC_UpdateSplit.InvokeAsync(args); } diff --git a/WebWindowComplex/Models/Area.cs b/WebWindowComplex/Models/Area.cs index d3ddf7a..de44815 100644 --- a/WebWindowComplex/Models/Area.cs +++ b/WebWindowComplex/Models/Area.cs @@ -339,7 +339,7 @@ namespace WebWindowComplex.Models dimList.Add(new AreaDimension(item.dDimension, item.MeasureType, item.Parent)); if (nameDim.Equals("Width")) { - if (s.AreaList.ElementAt(i).AreaList.First() is Sash sash && sash != null) + if (s.AreaList.ElementAt(i).AreaList.First() is Sash sash && sash != null && sash.SashList.First().ElementDimensionList.Count > 0) dimTot = dimTot + sash.SashList.Last().ElementDimensionList.ElementAt(1).dOverlap + sash.SashList.First().ElementDimensionList.Last().dOverlap; SearchAreaList(node.AreaList.ElementAt(i), dimTot, nameDim); } diff --git a/WebWindowComplex/TableComp.razor.cs b/WebWindowComplex/TableComp.razor.cs index 3f1fcd8..21bdc5e 100644 --- a/WebWindowComplex/TableComp.razor.cs +++ b/WebWindowComplex/TableComp.razor.cs @@ -1543,31 +1543,72 @@ namespace WebWindowComplex } else if (sash.ParentArea.ParentArea is Split s && s.nSplitQtyHoriz > 0) { - int indexAreaSplit = s.AreaList.IndexOf(sash.ParentArea); - int indexSplit = indexAreaSplit == 0 ? 0 : indexAreaSplit - 1; + int indexAreaSplit = 0; + int indexSplit = 0; + if (s.SelSplitShape is SplitShapes.HORIZONTAL || s.SelSplitShape is SplitShapes.VERTICAL) + { + indexAreaSplit = s.AreaList.IndexOf(sash.ParentArea); + indexSplit = indexAreaSplit == 0 ? 0 : indexAreaSplit - 1; + } + else + { + if (s.bSplitStartVert) + { + indexAreaSplit = s.AreaList.IndexOf(sash.ParentArea) % s.ElemDimHorizList.Count; + indexSplit = indexAreaSplit == 0 ? 0 : indexAreaSplit - 1; + } + else + { + int index = (int)Math.Floor((double)(s.AreaList.IndexOf(sash.ParentArea) / s.SplitHorizList.Count)); + //indexAreaSplit = index > 0 ? index - 1 : 0; + indexAreaSplit = index; + indexSplit = indexAreaSplit == 0 ? 0 : indexAreaSplit - 1; + } + } if (indexAreaSplit == 0) { overlapNameBottom = "Sash_Bottom"; overlapNameTop = "Mixed_Split_Top"; } - else if (indexAreaSplit == s.AreaList.Count() - 1) + else { - if (s.ElemDimHorizList.ElementAt(indexSplit).sName.Contains("Mixed")) - overlapNameBottom = "Mixed_Split_Bottom"; + if(s.SelSplitShape is SplitShapes.HORIZONTAL || s.SelSplitShape is SplitShapes.VERTICAL) + { + if (indexAreaSplit == s.AreaList.Count() - 1) + { + if (s.ElemDimHorizList.ElementAt(indexSplit).sName.Contains("Mixed")) + overlapNameBottom = "Mixed_Split_Bottom"; + else + overlapNameBottom = "Sash_Horizontal_Bottom"; + overlapNameTop = "Sash_Top"; + } + else + { + if (s.ElemDimHorizList.ElementAt(indexSplit).sName.Contains("Mixed")) + overlapNameBottom = "Mixed_Split_Bottom"; + else + overlapNameBottom = "Sash_Horizontal_Bottom"; + if (s.ElemDimHorizList.ElementAt(indexSplit).sName.Contains("Mixed")) + overlapNameTop = "Mixed_Split_Top"; + else + overlapNameTop = "Sash_Horizontal_Top"; + } + } else - overlapNameBottom = "Sash_Horizontal_Bottom"; - overlapNameTop = "Sash_Top"; - } - else - { - if (s.ElemDimHorizList.ElementAt(indexSplit).sName.Contains("Mixed")) - overlapNameBottom = "Mixed_Split_Bottom"; - else - overlapNameBottom = "Sash_Horizontal_Bottom"; - if (s.ElemDimHorizList.ElementAt(indexSplit).sName.Contains("Mixed")) - overlapNameTop = "Mixed_Split_Top"; - else - overlapNameTop = "Sash_Horizontal_Top"; + { + int num = (int)Math.Floor((Double)(s.AreaList.Count() / s.SplitHorizList.Count)); + int numRow = num > 0 ? num - 1 : 0; + if (indexAreaSplit == numRow) + { + overlapNameBottom = "Mixed_Split_Bottom"; + overlapNameTop = "Sash_Top"; + } + else + { + overlapNameBottom = "Mixed_Split_Bottom"; + overlapNameTop = "Sash_Horizontal_Top"; + } + } } if (sash.SashList.Count == 1) { diff --git a/WebWindowComplex/WebWindowComplex.csproj b/WebWindowComplex/WebWindowComplex.csproj index 7f3d76e..7071ff2 100644 --- a/WebWindowComplex/WebWindowComplex.csproj +++ b/WebWindowComplex/WebWindowComplex.csproj @@ -6,7 +6,7 @@ net8.0 enable enable - 3.1.4.2910 + 3.1.4.2916 Annamaria Sassi Egalware Componente gestione Configurazioni avanzate Window per LUX @@ -197,5 +197,6 @@ +