- Eliminate aree deprecate

- Aggiunti parametri min e max degli elementi del frame e split
This commit is contained in:
Annamaria Sassi
2026-01-23 09:24:49 +01:00
parent edf2e2d068
commit 04d2b8201e
14 changed files with 688 additions and 93 deletions
+222 -15
View File
@@ -322,6 +322,224 @@ namespace WebWindowComplex
}
}
/// <summary>
/// Metodo per popolare i parametri relativi al profilo
/// </summary>
/// <param name="node"> Area che si considera</param>
protected void PopolateParamElement(Area node)
{
if (node != null)
{
switch (node.AreaType)
{
case AreaTypes.FRAME:
{
Frame frame = (Frame)node;
switch (node.AreaList.FirstOrDefault().AreaType)
{
case AreaTypes.SASH:
{
frame.ElementDimensionList.FirstOrDefault().SetNameElement("Frame_Sash_Bottom_Dim");
for(int i = 1; i <4; i++)
frame.ElementDimensionList.ElementAt(i).SetNameElement("Frame_Sash_Top_Dim");
foreach(var elem in frame.ElementDimensionList)
{
elem.SetMinDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Min"));
elem.SetMaxDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Max"));
}
break;
}
case AreaTypes.SPLIT:
{
Split split = (Split)node.AreaList.FirstOrDefault();
switch(split.SelSplitShape)
{
case SplitShapes.VERTICAL:
{
// in tutte le aree splittate ho ante
if (split.OnlySashChild())
{
frame.ElementDimensionList.ElementAt(0).SetNameElement("Frame_Mixed_Bottom_Dim");
frame.ElementDimensionList.ElementAt(1).SetNameElement("Frame_Sash_Top_Dim");
frame.ElementDimensionList.ElementAt(2).SetNameElement("Frame_Mixed_Bottom_Dim");
frame.ElementDimensionList.ElementAt(3).SetNameElement("Frame_Sash_Top_Dim");
foreach (var elem in frame.ElementDimensionList)
{
elem.SetMinDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Min"));
elem.SetMaxDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Max"));
}
}
// cambio profilo
else if (split.MinOneSashChild())
{
frame.ElementDimensionList.ElementAt(0).SetNameElement("Frame_Mixed_Bottom_Dim");
if(split.AreaList.FirstOrDefault().AreaList.FirstOrDefault().AreaType is AreaTypes.SASH)
frame.ElementDimensionList.ElementAt(1).SetNameElement("Frame_Sash_Top_Dim");
else
frame.ElementDimensionList.ElementAt(1).SetNameElement("Frame_Fixed_Top_Dim");
frame.ElementDimensionList.ElementAt(2).SetNameElement("Frame_Mixed_Bottom_Dim");
if (split.AreaList.Last().AreaList.FirstOrDefault().AreaType is AreaTypes.SASH)
frame.ElementDimensionList.ElementAt(3).SetNameElement("Frame_Sash_Top_Dim");
else
frame.ElementDimensionList.ElementAt(3).SetNameElement("Frame_Fixed_Top_Dim");
foreach (var elem in frame.ElementDimensionList)
{
elem.SetMinDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Min"));
elem.SetMaxDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Max"));
}
}
// solo vetri fissi
else
{
frame.ElementDimensionList.ElementAt(0).SetNameElement("Frame_Frame_Split_Dim");
frame.ElementDimensionList.ElementAt(1).SetNameElement("Frame_Fixed_Top_Dim");
frame.ElementDimensionList.ElementAt(2).SetNameElement("Frame_Frame_Split_Dim");
frame.ElementDimensionList.ElementAt(3).SetNameElement("Frame_Fixed_Top_Dim");
foreach (var elem in frame.ElementDimensionList)
{
elem.SetMinDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Min"));
elem.SetMaxDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Max"));
}
}
break;
}
case SplitShapes.HORIZONTAL:
{
// in tutte le aree splittate ho ante
if (split.OnlySashChild())
{
frame.ElementDimensionList.ElementAt(0).SetNameElement("Frame_Sash_Bottom_Dim");
frame.ElementDimensionList.ElementAt(1).SetNameElement("Frame_Mixed_Top_Dim");
frame.ElementDimensionList.ElementAt(2).SetNameElement("Frame_Sash_Top_Dim");
frame.ElementDimensionList.ElementAt(3).SetNameElement("Frame_Mixed_Top_Dim");
foreach (var elem in frame.ElementDimensionList)
{
elem.SetMinDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Min"));
elem.SetMaxDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Max"));
}
}
// cambio profilo
else if (split.MinOneSashChild())
{
if (split.AreaList.FirstOrDefault().AreaList.FirstOrDefault().AreaType is AreaTypes.SASH)
frame.ElementDimensionList.ElementAt(0).SetNameElement("Frame_Sash_Bottom_Dim");
else
frame.ElementDimensionList.ElementAt(0).SetNameElement("Frame_Fixed_Bottom_Dim");
frame.ElementDimensionList.ElementAt(1).SetNameElement("Frame_Mixed_Top_Dim");
if (split.AreaList.ElementAt(2).AreaList.FirstOrDefault().AreaType is AreaTypes.SASH)
frame.ElementDimensionList.ElementAt(2).SetNameElement("Frame_Sash_Top_Dim");
else
frame.ElementDimensionList.ElementAt(2).SetNameElement("Frame_Fixed_Top_Dim");
frame.ElementDimensionList.ElementAt(3).SetNameElement("Frame_Mixed_Top_Dim");
foreach (var elem in frame.ElementDimensionList)
{
elem.SetMinDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Min"));
elem.SetMaxDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Max"));
}
}
// solo vetri fissi
else
{
frame.ElementDimensionList.ElementAt(0).SetNameElement("Frame_Fixed_Top_Dim");
frame.ElementDimensionList.ElementAt(1).SetNameElement("Frame_Frame_Split_Dim");
frame.ElementDimensionList.ElementAt(2).SetNameElement("Frame_Fixed_Top_Dim");
frame.ElementDimensionList.ElementAt(3).SetNameElement("Frame_Frame_Split_Dim");
foreach (var elem in frame.ElementDimensionList)
{
elem.SetMinDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Min"));
elem.SetMaxDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Max"));
}
}
break;
}
case SplitShapes.GRID:
{
for (int i = 0; i < 4; i++)
frame.ElementDimensionList.ElementAt(i).SetNameElement("Frame_Frame_Split_Dim");
foreach (var elem in frame.ElementDimensionList)
{
elem.SetMinDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Min"));
elem.SetMaxDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Max"));
}
break;
}
}
break;
}
}
break;
}
case AreaTypes.SASH:
{
break;
}
case AreaTypes.SPLIT:
{
Split split = (Split)node;
switch (split.ParentArea.AreaType)
{
case AreaTypes.SASH:
{
for (int i = 0; i < split.ElemDimVertList.Count - 1; i++)
split.ElemDimVertList.ElementAt(i).SetNameElement("Sash_Sash_Split_Dim");
for (int i = 0; i < split.ElemDimHorizList.Count - 1; i++)
split.ElemDimHorizList.ElementAt(i).SetNameElement("Sash_Sash_Split_Dim");
foreach (var elem in split.ElemDimVertList)
{
elem.SetMinDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Min"));
elem.SetMaxDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Max"));
}
foreach (var elem in split.ElemDimHorizList)
{
elem.SetMinDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Min"));
elem.SetMaxDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Max"));
}
break;
}
case AreaTypes.FRAME:
{
if (split.MinOneSashChild())
{
for (int i = 0; i < split.ElemDimVertList.Count - 1; i++)
split.ElemDimVertList.ElementAt(i).SetNameElement("Frame_Mixed_Split_Dim");
for (int i = 0; i < split.ElemDimHorizList.Count - 1; i++)
split.ElemDimHorizList.ElementAt(i).SetNameElement("Frame_Mixed_Split_Dim");
}
else
{
for (int i = 0; i < split.ElemDimVertList.Count - 1; i++)
split.ElemDimVertList.ElementAt(i).SetNameElement("Frame_Frame_Split_Dim");
for (int i = 0; i < split.ElemDimHorizList.Count - 1; i++)
split.ElemDimHorizList.ElementAt(i).SetNameElement("Frame_Frame_Split_Dim");
}
foreach (var elem in split.ElemDimVertList)
{
elem.SetMinDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Min"));
elem.SetMaxDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Max"));
}
foreach (var elem in split.ElemDimHorizList)
{
elem.SetMinDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Min"));
elem.SetMaxDimension(Window.m_ParameterList.GetValueOrDefault(elem.sName + "Max"));
}
break;
}
}
break;
}
default:
{
break;
}
}
foreach (var item in node.AreaList)
{
PopolateParamElement(item);
}
}
}
/// <summary>
/// Metodo per riempire le liste Sash, Split, Splitted e Fill
/// </summary>
@@ -736,6 +954,7 @@ namespace WebWindowComplex
/// </summary>
protected void UpdateLists()
{
PopolateParamElement((m_CurrWindow!).AreaList.First());
m_maxCol = 0;
m_maxRow = 0;
m_FillList = new List<Fill>();
@@ -899,12 +1118,6 @@ namespace WebWindowComplex
{
listErrPre.Add("Profile", "Missing Profile List!");
}
#if false
if (ListPayload.Profile == null || ListPayload.Profile.Count == 0)
{
listErrPre.Add("Profile", "Missing Profile List!");
}
#endif
}
/// <summary>
@@ -918,15 +1131,15 @@ namespace WebWindowComplex
// verifico colore attuale sia consistente...
if (m_CurrWindow != null)
{
if (!ListPayload.ColorMaterial.Contains(m_CurrWindow.sColorMaterial))
if (ListPayload.ColorMaterial == null || !ListPayload.ColorMaterial.Contains(m_CurrWindow.sColorMaterial))
{
listWarnings.Add("ColorMaterial", $"Missing Color: {m_CurrWindow.sColorMaterial}");
}
if (!ListPayload.Glass.Contains(m_CurrWindow.sGlass))
if (ListPayload.Glass == null || !ListPayload.Glass.Contains(m_CurrWindow.sGlass))
{
listWarnings.Add("Glass", $"Missing Glass: {m_CurrWindow.sGlass}");
}
if (!ListPayload.Material.Contains(m_CurrWindow.sMaterial))
if (ListPayload.Material == null || !ListPayload.Material.Contains(m_CurrWindow.sMaterial))
{
listWarnings.Add("Material", $"Missing Material: {m_CurrWindow.sMaterial}");
}
@@ -934,12 +1147,6 @@ namespace WebWindowComplex
{
listWarnings.Add("Profile", $"Missing Profile: {m_CurrWindow.sProfilePath}");
}
#if false
if (!ListPayload.Profile.Contains(m_CurrWindow.sProfilePath))
{
listWarnings.Add("Profile", $"Missing Profile: {m_CurrWindow.sProfilePath}");
}
#endif
}
}
}