diff --git a/Test.UI/Components/Pages/EditJWD.razor b/Test.UI/Components/Pages/EditJWD.razor
index de852b3..6147ac2 100644
--- a/Test.UI/Components/Pages/EditJWD.razor
+++ b/Test.UI/Components/Pages/EditJWD.razor
@@ -4,9 +4,7 @@
EditJWD
-
\ No newline at end of file
diff --git a/Test.UI/Components/Pages/EditJWD.razor.cs b/Test.UI/Components/Pages/EditJWD.razor.cs
index 9675361..9d7ee93 100644
--- a/Test.UI/Components/Pages/EditJWD.razor.cs
+++ b/Test.UI/Components/Pages/EditJWD.razor.cs
@@ -6,6 +6,7 @@ using Newtonsoft.Json;
using NLog;
using System.Diagnostics;
using System.Security.AccessControl;
+using Egw.Window.Data;
using WebWindowComplex;
using WebWindowComplex.DTO;
diff --git a/Test.UI/Components/Pages/Gerarchia.razor b/Test.UI/Components/Pages/Gerarchia.razor
index b5548ca..08a6bef 100644
--- a/Test.UI/Components/Pages/Gerarchia.razor
+++ b/Test.UI/Components/Pages/Gerarchia.razor
@@ -16,8 +16,7 @@
IN_SelGlass="@SelGlass"
EC_OnUpdate="SaveJWD"
EC_OnSelectedTemplate="SetTemplate"
- LiveSVG="@currSvg"
- CurrJwd="@InitialJwd">
+ LiveSVG="@currSvg">
@*
diff --git a/Test.UI/Components/Pages/Gerarchia.razor.cs b/Test.UI/Components/Pages/Gerarchia.razor.cs
index 9984302..010780f 100644
--- a/Test.UI/Components/Pages/Gerarchia.razor.cs
+++ b/Test.UI/Components/Pages/Gerarchia.razor.cs
@@ -6,6 +6,7 @@ using Newtonsoft.Json;
using NLog;
using System.Diagnostics;
using System.Security.AccessControl;
+using Egw.Window.Data;
using WebWindowComplex;
using WebWindowComplex.DTO;
diff --git a/WebWindow.Base/WebWindow.Base.csproj b/WebWindow.Base/WebWindow.Base.csproj
index 2ebf2a1..9e8530a 100644
--- a/WebWindow.Base/WebWindow.Base.csproj
+++ b/WebWindow.Base/WebWindow.Base.csproj
@@ -6,7 +6,7 @@
net8.0
enable
enable
- 2.7.9.3009
+ 2.7.9.3011
Annamaria Sassi
Egalware
Componente gestione JWD per LUX
@@ -89,6 +89,17 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/WebWindowComplex/Json/JsonUtility.cs b/WebWindowComplex/Json/JsonUtility.cs
index bc198a5..164836b 100644
--- a/WebWindowComplex/Json/JsonUtility.cs
+++ b/WebWindowComplex/Json/JsonUtility.cs
@@ -105,8 +105,21 @@ namespace WebWindowComplex.Json
public class JsonArea
{
- private List m_AreaList = new List();
+ private int m_nIdGroup;
+ [JsonProperty]
+ public int IdGroup
+ {
+ get
+ {
+ return m_nIdGroup;
+ }
+ set
+ {
+ m_nIdGroup = value;
+ }
+ }
+ private List m_AreaList = new List();
[JsonProperty]
public List AreaList
{
@@ -219,16 +232,18 @@ namespace WebWindowComplex.Json
{
}
- public JsonFrame(Shapes Shape, bool BottomRail, int BottomRailQty) : base(AreaTypes.FRAME)
+ public JsonFrame(Shapes Shape, bool BottomRail, int BottomRailQty, int nIdGroup) : base(AreaTypes.FRAME)
{
m_Shape = Shape;
m_bBottomRail = BottomRail;
m_nBottomRailQty = BottomRailQty;
+ IdGroup = nIdGroup;
}
internal override Area Deserialize(Area ParentArea, Window ParentWindow)
{
Frame newFrame = new Frame(null, ParentWindow);
+ newFrame.SetIdGroup(IdGroup);
newFrame.SetAreaType(AreaTypes.FRAME);
newFrame.SetSelShape(m_Shape);
newFrame.SetBottomRail(m_bBottomRail);
@@ -355,18 +370,20 @@ namespace WebWindowComplex.Json
{
}
- public JsonSash(bool bIsSashVertical, SashTypes SashType, bool SashBottomRail, int SashBottomRailQty, string Hardware) : base(AreaTypes.SASH)
+ public JsonSash(bool bIsSashVertical, SashTypes SashType, bool SashBottomRail, int SashBottomRailQty, string Hardware, int nIdGroup) : base(AreaTypes.SASH)
{
m_bIsSashVertical = bIsSashVertical;
m_SashType = SashType;
m_bBottomRail = SashBottomRail;
m_nBottomRailQty = SashBottomRailQty;
m_Hardware = Hardware;
+ IdGroup = nIdGroup;
}
internal override Area Deserialize(Area ParentArea, Window ParentWindow)
{
Sash newSash = new Sash(ParentArea, ParentWindow);
+ newSash.SetIdGroup(IdGroup);
newSash.SetAreaType(AreaTypes.SASH);
newSash.SetSashQty(m_SashList.Count);
newSash.SetIsSashVertical(m_bIsSashVertical);
@@ -411,17 +428,45 @@ namespace WebWindowComplex.Json
}
}
- private List m_SplitPositionList = new List();
+ private bool m_SplitStartVert;
[JsonProperty]
- public List SplitPositionList
+ public bool SplitStartVert
{
get
{
- return m_SplitPositionList;
+ return m_SplitStartVert;
}
set
{
- m_SplitPositionList = value;
+ m_SplitStartVert = value;
+ }
+ }
+
+ private List m_SplitVertList = new List();
+ [JsonProperty]
+ public List SplitVertList
+ {
+ get
+ {
+ return m_SplitVertList;
+ }
+ set
+ {
+ m_SplitVertList = value;
+ }
+ }
+
+ private List m_SplitHorizList = new List();
+ [JsonProperty]
+ public List SplitHorizList
+ {
+ get
+ {
+ return m_SplitHorizList;
+ }
+ set
+ {
+ m_SplitHorizList = value;
}
}
@@ -429,22 +474,42 @@ namespace WebWindowComplex.Json
{
}
- public JsonSplit(SplitShapes SplitShape) : base(AreaTypes.SPLIT)
+ public JsonSplit(SplitShapes SplitShape, int nIdGroup) : base(AreaTypes.SPLIT)
{
m_SplitShape = SplitShape;
+ IdGroup = nIdGroup;
}
internal override Area Deserialize(Area ParentArea, Window ParentWindow)
{
Split Split = new Split(ParentArea, ParentWindow);
+ Split.SetIdGroup(IdGroup);
Split.SetAreaType(AreaTypes.SPLIT);
Split.SetSplitShape(m_SplitShape, true);
- Split.SetSplitQty(m_SplitPositionList.Count - 1, true);
- //Split.AppliedDone();
- for (var SplitIndex = 0; SplitIndex <= m_SplitPositionList.Count - 1; SplitIndex++)
+ Split.SetSplitStartVert(m_SplitStartVert);
+ if (m_SplitVertList.Count == 0)
+ Split.SetSplitQtyVert(0, true);
+ else
{
- Split.SplitPositionList[SplitIndex].SetIsRelative(m_SplitPositionList[SplitIndex].bIsRelative);
- Split.SplitPositionList[SplitIndex].SetDimension(m_SplitPositionList[SplitIndex].dDimension);
+ //Split.SplitVertList.Clear();
+ Split.SetSplitQtyVert(m_SplitVertList.Count - 1, true);
+ for (var SplitIndex = 0; SplitIndex <= m_SplitVertList.Count - 1; SplitIndex++)
+ {
+ Split.SplitVertList[SplitIndex].SetIsRelative(m_SplitVertList[SplitIndex].bIsRelative);
+ Split.SplitVertList[SplitIndex].SetDimension(m_SplitVertList[SplitIndex].dDimension);
+ }
+ }
+ if (m_SplitHorizList.Count == 0)
+ Split.SetSplitQtyHoriz(0, true);
+ else
+ {
+ //Split.SplitHorizList.Clear();
+ Split.SetSplitQtyHoriz(m_SplitHorizList.Count - 1, true);
+ for (var SplitIndex = 0; SplitIndex <= m_SplitHorizList.Count - 1; SplitIndex++)
+ {
+ Split.SplitHorizList[SplitIndex].SetIsRelative(m_SplitHorizList[SplitIndex].bIsRelative);
+ Split.SplitHorizList[SplitIndex].SetDimension(m_SplitHorizList[SplitIndex].dDimension);
+ }
}
foreach (var Area in AreaList)
{
@@ -463,22 +528,27 @@ namespace WebWindowComplex.Json
public JsonSplitted() : base(AreaTypes.SPLITTED)
{
}
+ public JsonSplitted(int nIdGroup) : base(AreaTypes.SPLITTED)
+ {
+ IdGroup = nIdGroup;
+ }
internal override Area Deserialize(Area ParentArea, Window ParentWindow)
{
- Splitted Split = new Splitted(ParentArea, ParentWindow);
- Split.SetAreaType(AreaTypes.SPLITTED);
+ Splitted newSplitted = new Splitted(ParentArea, ParentWindow);
+ newSplitted.SetIdGroup(IdGroup);
+ newSplitted.SetAreaType(AreaTypes.SPLITTED);
//Split.AppliedDone();
foreach (var Area in AreaList)
{
- var AreaDeserealized = Area.Deserialize(Split, ParentWindow);
+ var AreaDeserealized = Area.Deserialize(newSplitted, ParentWindow);
if (AreaDeserealized != null)
{
- Split.AreaList.Add(AreaDeserealized);
+ newSplitted.AreaList.Add(AreaDeserealized);
}
}
- return Split;
+ return newSplitted;
}
}
@@ -503,14 +573,16 @@ namespace WebWindowComplex.Json
{
}
- public JsonFill(FillTypes FillType) : base(AreaTypes.FILL)
+ public JsonFill(FillTypes FillType, int nIdGroup) : base(AreaTypes.FILL)
{
m_FillType = FillType;
+ IdGroup = nIdGroup;
}
internal override Area Deserialize(Area ParentArea, Window ParentWindow)
{
Fill Fill = new Fill(ParentArea, ParentWindow);
+ Fill.SetIdGroup(IdGroup);
Fill.SetAreaType(AreaTypes.FILL);
Fill.SetFillType(m_FillType);
//Fill.AppliedDone();
@@ -612,6 +684,16 @@ namespace WebWindowComplex.Json
public class JsonSashDimension
{
+ private int m_nSashId;
+ [JsonProperty]
+ public int nSashId
+ {
+ get
+ {
+ return m_nSashId;
+ }
+ }
+
private Openings m_OpeningType;
[JsonProperty]
[JsonConverter(typeof(StringEnumConverter))]
@@ -651,11 +733,12 @@ namespace WebWindowComplex.Json
}
}
- public JsonSashDimension(Openings OpeningType, bool bHasHandle, double dDimension)
+ public JsonSashDimension(Openings OpeningType, bool bHasHandle, double dDimension, int nSashId)
{
m_OpeningType = OpeningType;
m_bHasHandle = bHasHandle;
m_dDimension = dDimension;
+ m_nSashId = nSashId;
}
}
diff --git a/WebWindowComplex/TableComp.razor b/WebWindowComplex/TableComp.razor
index 1dd914a..0236d89 100644
--- a/WebWindowComplex/TableComp.razor
+++ b/WebWindowComplex/TableComp.razor
@@ -38,7 +38,7 @@
{
int Index = i;
- NextStepAndPreview(CompileStep.Sash, Index)">Sash @(SashList.Count == 1 ? "" : Index + 1)
+ NextStepAndPreview(CompileStep.Sash, Index)">Window @(SashList.Count == 1 ? "" : Index + 1)
}
}
@@ -153,101 +153,138 @@
m_PreviousWindow = m_CurrWindow;
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Dimension
- @foreach (FrameDimension dimension in FrameWindow.DimensionList)
- {
-
- @dimension.sName
-
- mm
-
- }
+
+
+
+
+
+
+
-
-
-
-
-
-
Frame joints
-
-
-
-
-
-
-
-
-
-
-
- @foreach (Joint joint in FrameWindow.JointList)
- {
-
-
-
-
- }
-
-
-
- @if (!(FrameWindow.AreaList[0] is Split))
- {
+
-
Frame
+
Dimension
+ @foreach (FrameDimension dimension in FrameWindow.DimensionList)
+ {
+
+ @dimension.sName
+
+ mm
+
+ }
+
+
+
+
+
+
+
Threshold
-
+
+
+
+
+
+
+
+
+
+
+
+
Frame joints
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @foreach (Joint joint in FrameWindow.JointList)
+ {
+
+
+
+
+ }
+
+
+
+ @if (!(FrameWindow.AreaList[0] is Split) || (SashList.Count == 0 && SplitList.Count == 0))
+ {
+
+
+
+
Area frame
+
+
+ @if (!(FrameWindow.AreaList[0] is Split))
+ {
+
+
+
+ }
+
+ @if (SashList.Count == 0 && SplitList.Count == 0)
+ {
+
+
+
+
+
+ }
+
+
+
+
+ }
+
+ @if (m_SashList.Count == 0)
+ {
+
+
+
+
+
Bottom rail
+
+ Quantity
+
+
}
- @if (m_SashList.Count == 0)
- {
-
-
-
-
-
Bottom rail
-
- Quantity
-
-
-
-
-
-
- }
}
@@ -260,86 +297,109 @@
@for (int i = 0; i < SplitList.Count; i++)
{
Split currSplit = SplitList[i];
-
+
- @if ((currSplit.ParentArea is Splitted || currSplit.ParentArea is Sash) && SashList.Count > 0)
- {
- @for (int j = 0; j < SashList.Count; j++)
- {
- @if (SashList[j].Equals(currSplit.ParentArea))
- {
-
@("Sash " + (j + 1))
- }
- else if (SashList[j].Equals(currSplit.ParentArea.ParentArea))
- {
- @for (int k = 0; k < SashList[j].AreaList.Count; k++)
- {
- @if (SashList[j].AreaList[k].AreaList[0].Equals(currSplit))
- {
-
@("Sash " + (j + 1) + " - anta " + (k + 1))
- }
- }
- }
- }
-
- }
- else
- {
-
@("Frame")
- }
+
@(descParentSplit(currSplit))
-
Split
- @if (currSplit.nSplitQty == 1)
- {
-
-
+
+
+
Split
+
+
+
+
+
- }
-
- Number
-
-
}
-
+
+
@for (int i = 0; i < SplittedList.Count; i++)
{
Splitted currSplitted = SplittedList[i];
@@ -360,7 +421,7 @@
-
+
@for (int j = 0; j < SashList.Count; j++)
@@ -368,7 +429,7 @@
int Index = j;
-
+
}
@@ -393,157 +454,122 @@
{
Sash item = SashList[currSash];
-
-
-
-
-
-
-
Orientation
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
Bottom rail
-
- Quantity
-
-
+
-
-
- @for (int i = 0; i <= item.SashList.Count / 2; i++)
- {
- for (int j = 0; j < 2 && (i * 2 + j <= item.SashList.Count - 1); j++)
- {
- SashDimension sash = item.SashList[i * 2 + j];
-
-
-
- @if (item.SashList.Count == 1)
- {
-
Opening
- }
- else
- {
-
Sash opening @(i * 2 + j + 1)
- }
-
-
-
-
-
- Dimension
-
- %
-
-
-
- changeHandle(sash, item)">
-
-
-
-
-
-
- @for (int k = 1; k <= i * 2 + j; k++)
- {
- int IndexCopy = k;
- int IndexModify = i * 2 + j;
-
-
-
-
-
- }
-
-
-
-
- }
- }
-
-
-
-
-
-
Sash joints
-
-
-
-
-
-
-
-
-
-
-
- @foreach (Joint joint in item.JointList)
- {
+
+
+
+
+
Orientation
-
-
- }
+
+
+
+
+
+
+
Bottom rail
+
+ Quantity
+
+
+
-
- @for (int i = 0; i < item.AreaList.Count; i++)
+
+ @for (int i = 0; i <= item.SashList.Count / 2; i++)
{
- Area anta;
- @if (item.AreaList[i] is Splitted)
+ for (int j = 0; j < 2 && (i * 2 + j <= item.SashList.Count - 1); j++)
{
- anta = item.AreaList[i];
- }
- else
- {
- anta = item;
- }
- @if (!(anta.AreaList[0] is Split))
- {
-
+ SashDimension sash = item.SashList[i * 2 + j];
+ Area anta = item.AreaList[i * 2 + j];
+
-
Anta @(i + 1)
+ @if (item.SashList.Count == 1)
+ {
+
Opening
+ }
+ else
+ {
+
Sash opening @(i * 2 + j + 1)
+ }
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dimension
+
+ %
+
+
+
+ changeHandle(sash, item)">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @for (int k = 1; k <= i * 2 + j; k++)
+ {
+ int IndexCopy = k;
+ int IndexModify = i * 2 + j;
+
+
+
+
+
+ }
@@ -551,33 +577,70 @@
}
}
-
-