- Correzione dimensione split

- Eliminazione commenti
- Rinominato variabili
This commit is contained in:
Annamaria Sassi
2026-01-13 18:45:23 +01:00
parent b5d629c3d9
commit 372dfd6f52
9 changed files with 139 additions and 115 deletions
+22 -47
View File
@@ -51,16 +51,17 @@ namespace WebWindowComplex.Models
{
double dimensionTot = 0;
List<SplitDimension> dimensions = null;
List<Frame> frames = m_Parent.ParentWindow.AreaList;
Frame frame = m_Parent.ParentWindow.AreaList.FirstOrDefault();
if (bIsVertListDim)
{
dimensions = m_Parent.SplitVertList;
dimensionTot = CalculateWidthSplitGroup(frames.FirstOrDefault(), frames.FirstOrDefault().DimensionList.Where(x => x.sName == "Width").First().dDimension, new AreaFound(-1, false)).m_Dimension;
dimensionTot = CalculateWidthSplitGroup(frame, frame.DimensionList.Where(x => x.sName == "Width").First().dDimension, new AreaFound(-1, false)).m_Dimension;
}
else
{
dimensions = m_Parent.SplitHorizList;
dimensionTot = (CalculateHeightSplitGroup(m_Parent, HeightTot(), new AreaFound(-1, false))).m_Dimension;
//dimensionTot = (CalculateHeightSplitGroup(m_Parent, HeightTot(), new AreaFound(-1, false))).m_Dimension;
dimensionTot = (CalculateHeightSplitGroup(frame, frame.HeightFrame(), new AreaFound(-1, false))).m_Dimension;
}
double valMinAbsolute = 100;
double valMaxAbsolute = dimensionTot - valMinAbsolute * (dimensions.Count - 1);
@@ -214,7 +215,6 @@ namespace WebWindowComplex.Models
for (int i = 0; i < absoluteValList.Count; i++)
{
var item = dimensions.ElementAt(i);
//item.SetDimension(ConvertIn(absoluteValList[i], (MeasureTypes)item.SelMeasureTypeIndex, dimensionTot, dimensions));
item.SetDimension(ad.ConvertIn(adList, absoluteValList[i], (MeasureTypes)item.SelMeasureTypeIndex, dimensionTot));
}
}
@@ -281,17 +281,17 @@ namespace WebWindowComplex.Models
{
MeasureTypes newType = (MeasureTypes)value;
List<SplitDimension> splitList = null;
List<Frame> frameList = m_Parent.ParentWindow.AreaList;
Frame frame = m_Parent.ParentWindow.AreaList.FirstOrDefault();
double tot = 0;
if (bIsVertListDim)
{
splitList = m_Parent.SplitVertList;
tot = CalculateWidthSplitGroup(frameList.FirstOrDefault(), frameList.FirstOrDefault().DimensionList.Where(x => x.sName == "Width").First().dDimension, new AreaFound(-1, false)).m_Dimension;
tot = CalculateWidthSplitGroup(frame, frame.DimensionList.Where(x => x.sName == "Width").First().dDimension, new AreaFound(-1, false)).m_Dimension;
}
else
{
splitList = m_Parent.SplitHorizList;
tot = (CalculateHeightSplitGroup(frameList.FirstOrDefault(), HeightTot(), new AreaFound(-1, false))).m_Dimension;
tot = (CalculateHeightSplitGroup(frame, frame.HeightFrame(), new AreaFound(-1, false))).m_Dimension;
}
AreaDimension ad = new AreaDimension(dDimension, SelMeasureType);
List<AreaDimension> adList = new List<AreaDimension>();
@@ -301,7 +301,6 @@ namespace WebWindowComplex.Models
}
m_dDimension = ad.ConvertDimension(adList, m_SelMeasureType, newType, tot, splitList.IndexOf(this));
m_SelMeasureType = (MeasureTypes)value;
//m_Parent.ParentWindow.OnUpdatePreview(m_Parent.ParentWindow.sSerialized());
}
}
}
@@ -376,6 +375,7 @@ namespace WebWindowComplex.Models
/// </summary>
/// <param name="area"> area di partenza </param>
/// <param name="width"> larghezza di partenza </param>
/// <param name="res"> area di ritorno </param>
/// <returns></returns>
internal AreaFound CalculateWidthSplitGroup(Area area, double width, AreaFound res)
{
@@ -422,8 +422,6 @@ namespace WebWindowComplex.Models
}
if (res.m_Dimension != -1 && res.m_Found)
return res;
//if (risultato != -1)
// return risultato;
}
else
{
@@ -477,6 +475,7 @@ namespace WebWindowComplex.Models
/// </summary>
/// <param name="area"> area di partenza </param>
/// <param name="height"> altezza di partenza </param>
/// <param name="res"> area di ritorno </param>
/// <returns></returns>
internal AreaFound CalculateHeightSplitGroup(Area area, double height, AreaFound res)
{
@@ -501,7 +500,8 @@ namespace WebWindowComplex.Models
{
case MeasureTypes.ABSOLUTE:
{
res = CalculateHeightSplitGroup(item, split.SplitHorizList.ElementAt(index).dDimension, res);
double heightItemGroup = split.SplitHorizList.ElementAt(index).dDimension;
res = CalculateHeightSplitGroup(item, heightItemGroup, res);
break;
}
case MeasureTypes.PROPORTIONAL:
@@ -512,19 +512,19 @@ namespace WebWindowComplex.Models
{
adList.Add(new AreaDimension(it.dDimension, it.SelMeasureType));
}
res = CalculateHeightSplitGroup(item, ad.ConvertFromPropVal(adList, MeasureTypes.ABSOLUTE, height), res);
double heightItemGroup = ad.ConvertFromPropVal(adList, MeasureTypes.ABSOLUTE, height);
res = CalculateHeightSplitGroup(item, heightItemGroup, res);
break;
}
case MeasureTypes.PERCENTAGE:
{
res = CalculateHeightSplitGroup(item, split.SplitHorizList.ElementAt(index).dDimension * height / 100, res);
double heightItemGroup = split.SplitHorizList.ElementAt(index).dDimension * height / 100;
res = CalculateHeightSplitGroup(item, heightItemGroup, res);
break;
}
}
if (res.m_Dimension != -1 && res.m_Found)
return res;
//if (risultato != -1 && foundObj)
// return risultato;
}
else
{
@@ -741,18 +741,18 @@ namespace WebWindowComplex.Models
if (m_SelMeasureType != (MeasureTypes)value)
{
MeasureTypes newType = (MeasureTypes)value;
List<Frame> frames = m_Parent.ParentWindow.AreaList;
double tot = 0;
Frame frame = m_Parent.ParentWindow.AreaList.FirstOrDefault();
double dimSplitGroup = 0;
if (bIsVertListDim)
{
tot = (CalculateWidthSplitGroup(frames.FirstOrDefault(), frames.FirstOrDefault().DimensionList.Where(x => x.sName == "Width").First().dDimension, new AreaFound(-1, false))).m_Dimension;
dimSplitGroup = (CalculateWidthSplitGroup(frame, frame.DimensionList.Where(x => x.sName == "Width").First().dDimension, new AreaFound(-1, false))).m_Dimension;
AreaDimension ad = new AreaDimension(dDimension, SelMeasureType);
List<AreaDimension> newDimensions = new List<AreaDimension>();
foreach (var item in m_Parent.SplitVertList)
{
newDimensions.Add(new AreaDimension(item.dDimension, item.SelMeasureType));
}
m_dDimension = ad.ConvertDimension(newDimensions, m_SelMeasureType, newType, tot, m_Parent.SplitVertList.IndexOf(this));
m_dDimension = ad.ConvertDimension(newDimensions, m_SelMeasureType, newType, dimSplitGroup, m_Parent.SplitVertList.IndexOf(this));
if (newType is MeasureTypes.PROPORTIONAL)
{
for (int i = 0; i < m_Parent.SplitVertList.Count; i++)
@@ -762,14 +762,15 @@ namespace WebWindowComplex.Models
} }
else
{
tot = (CalculateHeightSplitGroup(m_Parent, HeightTot(), new AreaFound(-1, false))).m_Dimension;
//tot = (CalculateHeightSplitGroup(m_Parent, HeightTot(), new AreaFound(-1, false))).m_Dimension;
dimSplitGroup = (CalculateHeightSplitGroup(frame, frame.HeightFrame(), new AreaFound(-1, false))).m_Dimension;
AreaDimension ad = new AreaDimension(dDimension, SelMeasureType);
List<AreaDimension> newDimensions = new List<AreaDimension>();
foreach (var item in m_Parent.SplitHorizList)
{
newDimensions.Add(new AreaDimension(item.dDimension, item.SelMeasureType));
}
m_dDimension = ad.ConvertDimension(newDimensions, m_SelMeasureType, newType, tot, m_Parent.SplitHorizList.IndexOf(this));
m_dDimension = ad.ConvertDimension(newDimensions, m_SelMeasureType, newType, dimSplitGroup, m_Parent.SplitHorizList.IndexOf(this));
if(newType is MeasureTypes.PROPORTIONAL)
{
for(int i = 0; i < m_Parent.SplitHorizList.Count; i++)
@@ -782,32 +783,6 @@ namespace WebWindowComplex.Models
}
}
internal double HeightTot()
{
List<Frame> frames = m_Parent.ParentWindow.AreaList;
switch (frames.First().SelShapeIndex)
{
case (int)Shapes.RECTANGLE:
case (int)Shapes.TRIANGLE:
case (int)Shapes.ARC_FULL:
{
return (CalculateHeightSplitGroup(frames.FirstOrDefault(), frames.FirstOrDefault().DimensionList.Where(x => x.sName == "Height").First().dDimension, new AreaFound(-1, false))).m_Dimension;
}
case (int)Shapes.RIGHTCHAMFER:
{
return (CalculateHeightSplitGroup(frames.FirstOrDefault(), frames.FirstOrDefault().DimensionList.Where(x => x.sName == "Left Height").First().dDimension, new AreaFound(-1, false))).m_Dimension;
}
case (int)Shapes.LEFTCHAMFER:
{
return (CalculateHeightSplitGroup(frames.FirstOrDefault(), frames.FirstOrDefault().DimensionList.Where(x => x.sName == "Right Height").First().dDimension, new AreaFound(-1, false))).m_Dimension;
}
default:
{
return (CalculateHeightSplitGroup(frames.FirstOrDefault(), frames.FirstOrDefault().DimensionList.Where(x => x.sName == "Full Height").First().dDimension, new AreaFound(-1, false))).m_Dimension;
}
}
}
#endregion Internal Methods
#region Private Fields