- Eliminate aree deprecate
- Aggiunti parametri min e max degli elementi del frame e split
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user