diff --git a/WebWindowComplex/Json/JsonUtility.cs b/WebWindowComplex/Json/JsonUtility.cs index 6bcc216..48f4106 100644 --- a/WebWindowComplex/Json/JsonUtility.cs +++ b/WebWindowComplex/Json/JsonUtility.cs @@ -571,48 +571,48 @@ namespace WebWindowComplex.Json internal override Area Deserialize(Area ParentArea, Window ParentWindow) { - Split Split = new Split(ParentArea, ParentWindow); - Split.SetGroupId(GroupId); - Split.SetAreaType(AreaTypes.SPLIT); - Split.SetSplitShape(m_SplitShape); - Split.SetSplitStartVert(m_SplitStartVert); + Split split = new Split(ParentArea, ParentWindow); + split.SetGroupId(GroupId); + split.SetAreaType(AreaTypes.SPLIT); + split.SetSplitShape(m_SplitShape); + split.SetSplitStartVert(m_SplitStartVert); if (m_SplitVertList.Count == 0) - Split.SetSplitQtyVert(0); + split.SetSplitQtyVert(0); else { - Split.SetSplitQtyVert(m_SplitVertList.Count - 1); + split.SetSplitQtyVert(m_SplitVertList.Count - 1); for (var SplitIndex = 0; SplitIndex <= m_SplitVertList.Count - 1; SplitIndex++) { - Split.SplitVertList[SplitIndex].SetIsRelative(m_SplitVertList[SplitIndex].IsRelative); - Split.SplitVertList[SplitIndex].SetDimension(m_SplitVertList[SplitIndex].Dimension); - Split.SplitVertList[SplitIndex].SetMeasureType(m_SplitVertList[SplitIndex].MeasureType); + split.SplitVertList[SplitIndex].SetIsRelative(m_SplitVertList[SplitIndex].IsRelative); + split.SplitVertList[SplitIndex].SetDimension(m_SplitVertList[SplitIndex].Dimension); + split.SplitVertList[SplitIndex].SetMeasureType(m_SplitVertList[SplitIndex].MeasureType); } - foreach (var ElementDimension in ElementDimVertList) - Split.ElemDimVertList.Add(ElementDimension.Deserialize((Area)ParentArea)); + for (int index = 0; index < ElementDimVertList.Count; index++) + split.ElemDimVertList.ElementAt(index).SetDimension(m_ElemDimVertList[index].Value); } if (m_SplitHorizList.Count == 0) - Split.SetSplitQtyHoriz(0); + split.SetSplitQtyHoriz(0); else { - Split.SetSplitQtyHoriz(m_SplitHorizList.Count - 1); + split.SetSplitQtyHoriz(m_SplitHorizList.Count - 1); for (var SplitIndex = 0; SplitIndex <= m_SplitHorizList.Count - 1; SplitIndex++) { - Split.SplitHorizList[SplitIndex].SetIsRelative(m_SplitHorizList[SplitIndex].IsRelative); - Split.SplitHorizList[SplitIndex].SetDimension(m_SplitHorizList[SplitIndex].Dimension); - Split.SplitHorizList[SplitIndex].SetMeasureType(m_SplitHorizList[SplitIndex].MeasureType); + split.SplitHorizList[SplitIndex].SetIsRelative(m_SplitHorizList[SplitIndex].IsRelative); + split.SplitHorizList[SplitIndex].SetDimension(m_SplitHorizList[SplitIndex].Dimension); + split.SplitHorizList[SplitIndex].SetMeasureType(m_SplitHorizList[SplitIndex].MeasureType); } - foreach (var ElementDimension in ElementDimHorizList) - Split.ElemDimHorizList.Add(ElementDimension.Deserialize((Area)ParentArea)); + for (int index = 0; index < ElementDimHorizList.Count; index++) + split.ElemDimHorizList.ElementAt(index).SetDimension(m_ElemDimHorizList[index].Value); } foreach (var Area in AreaList) { - var AreaDeserealized = Area.Deserialize(Split, ParentWindow); + var AreaDeserealized = Area.Deserialize(split, ParentWindow); if (AreaDeserealized != null) { - Split.AreaList.Add(AreaDeserealized); + split.AreaList.Add(AreaDeserealized); } } - return Split; + return split; } } diff --git a/WebWindowComplex/Models/Split.cs b/WebWindowComplex/Models/Split.cs index 4b3a586..d5b4140 100644 --- a/WebWindowComplex/Models/Split.cs +++ b/WebWindowComplex/Models/Split.cs @@ -92,7 +92,7 @@ namespace WebWindowComplex.Models } dLastDimension += m_SplitHorizList[m_SplitHorizList.Count - 1].dDimension; m_SplitHorizList[m_SplitHorizList.Count - 1].SetDimension(dLastDimension); - ElemDimHorizList.RemoveAt(ElemDimHorizList.Count); + ElemDimHorizList.RemoveAt(ElemDimHorizList.Count-1); } // Controllo quanti split verticali ci sono int nVert = m_SplitVertList.Count > 0 ? m_SplitVertList.Count : 1; @@ -198,6 +198,8 @@ namespace WebWindowComplex.Models dLastDimension += m_SplitVertList[m_SplitVertList.Count - 1].dDimension; m_SplitVertList[m_SplitVertList.Count - 1].SetDimension(dLastDimension); } + ElemDimVertList.RemoveAt(ElemDimVertList.Count - 1); + } // Controllo quanti split orizzontali ci sono int nHoriz = m_SplitHorizList.Count > 0 ? m_SplitHorizList.Count : 1; @@ -511,8 +513,15 @@ namespace WebWindowComplex.Models for (var SplitIndex = m_SplitHorizList.Count - 1; SplitIndex >= QtyHoriz; SplitIndex += -1) m_SplitHorizList.RemoveAt(SplitIndex); } - for (int i = 0; i < QtyHoriz; i++) - ElemDimHorizList.Add(new ElementDimension(this, i + 1, 78)); + if(QtyHoriz == 0) + { + ElemDimHorizList.Clear(); + } + else + { + for (int i = 0; i < QtyHoriz; i++) + ElemDimHorizList.Add(new ElementDimension(this, i + 1, 78)); + } } internal void SetSplitQtyVert(int QtyVert) @@ -539,6 +548,15 @@ namespace WebWindowComplex.Models for (var SplitIndex = m_SplitVertList.Count - 1; SplitIndex >= QtyVert; SplitIndex += -1) m_SplitVertList.RemoveAt(SplitIndex); } + if (QtyVert == 0) + { + ElemDimVertList.Clear(); + } + else + { + for (int i = 0; i < QtyVert; i++) + ElemDimVertList.Add(new ElementDimension(this, i + 1, 78)); + } } internal void SetSplitShape(SplitShapes Value) diff --git a/WebWindowComplex/WebWindowComplex.csproj b/WebWindowComplex/WebWindowComplex.csproj index 6082b68..998bcd9 100644 --- a/WebWindowComplex/WebWindowComplex.csproj +++ b/WebWindowComplex/WebWindowComplex.csproj @@ -6,7 +6,7 @@ net8.0 enable enable - 2.8.1.2616 + 2.8.1.2618 Annamaria Sassi Egalware Componente gestione Configurazioni avanzate Window per LUX @@ -88,6 +88,19 @@ + + + + + + + + + + + + + diff --git a/WebWindowConfigurator/WebWindowConfigurator.csproj b/WebWindowConfigurator/WebWindowConfigurator.csproj index 9798040..2b5e443 100644 --- a/WebWindowConfigurator/WebWindowConfigurator.csproj +++ b/WebWindowConfigurator/WebWindowConfigurator.csproj @@ -6,7 +6,7 @@ net8.0 enable enable - 2.8.1.2616 + 2.8.1.2618 Annamaria Sassi Egalware Componente gestione JWD per LUX @@ -142,6 +142,12 @@ + + + + + +