- Aggiornato svuotamento dizionario shape e opzioni hw

- Aggiornato calcolo altezza split
This commit is contained in:
Annamaria Sassi
2025-12-05 15:36:35 +01:00
parent 5e3e535139
commit b43071ceec
15 changed files with 283 additions and 230 deletions
+12 -36
View File
@@ -59,7 +59,7 @@ namespace WebWindowComplex.Models
else
{
dimensions = m_Parent.SplitHorizList;
dimensionTot = HeightTot();
dimensionTot = CalculateHeightSplitGroup(m_Parent.ParentWindow.AreaList.FirstOrDefault(), HeightTot());
}
double valMinAbsolute = 100;
double valMaxAbsolute = dimensionTot - valMinAbsolute * (dimensions.Count - 1);
@@ -74,7 +74,7 @@ namespace WebWindowComplex.Models
case MeasureTypes.PROPORTIONAL:
{
valMaxAbsolute = 20;
valueAccept = (value > 1) ? true : false;
valueAccept = (value >= 1) ? true : false;
break;
}
case MeasureTypes.PERCENTAGE:
@@ -416,7 +416,7 @@ namespace WebWindowComplex.Models
public SplitDimension Copy()
{
SplitDimension newSplitDim = new SplitDimension(dDimension, MeasureTypes.PERCENTAGE, bIsRelative, m_Parent, bIsVertListDim);
SplitDimension newSplitDim = new SplitDimension(dDimension, MeasureType, bIsRelative, m_Parent, bIsVertListDim);
return newSplitDim;
}
@@ -507,15 +507,15 @@ namespace WebWindowComplex.Models
/// Metodo per calcolare altezza intero split group
/// </summary>
/// <param name="area"> area di partenza </param>
/// <param name="width"> larghezza di partenza </param>
/// <param name="height"> altezza di partenza </param>
/// <returns></returns>
internal double CalculateHeightSplitGroup(Area area, double width)
internal double CalculateHeightSplitGroup(Area area, double height)
{
for (int i = 0; i < area.AreaList.Count; i++)
{
double risultato = -1;
if (area.Equals(m_Parent))
return width;
return height;
Area item = area.AreaList[i];
if (area is Split)
{
@@ -526,7 +526,7 @@ namespace WebWindowComplex.Models
{
case MeasureTypes.ABSOLUTE:
{
risultato = CalculateHeightSplitGroup(item, split.SplitVertList.ElementAt(i).dDimension);
risultato = CalculateHeightSplitGroup(item, split.SplitHorizList.ElementAt(i).dDimension);
break;
}
case MeasureTypes.PROPORTIONAL:
@@ -536,7 +536,7 @@ namespace WebWindowComplex.Models
}
case MeasureTypes.PERCENTAGE:
{
risultato = CalculateHeightSplitGroup(item, split.SplitVertList.ElementAt(i).dDimension * width / 100);
risultato = CalculateHeightSplitGroup(item, split.SplitHorizList.ElementAt(i).dDimension * height / 100);
break;
}
}
@@ -545,41 +545,17 @@ namespace WebWindowComplex.Models
}
else
{
risultato = CalculateHeightSplitGroup(item, width);
risultato = CalculateHeightSplitGroup(item, height);
}
}
else if (area is Sash)
{
Sash sash = (Sash)area;
switch (sash.SashList.ElementAt(i).SelMeasureType)
{
case MeasureTypes.ABSOLUTE:
{
risultato = CalculateHeightSplitGroup(item, sash.SashList.ElementAt(i).dDimension);
break;
}
case MeasureTypes.PROPORTIONAL:
{
//risultato = CalculateHeightSplitGroup(item, sash.SashList.ElementAt(i).dDimension);
break;
}
case MeasureTypes.PERCENTAGE:
{
risultato = CalculateHeightSplitGroup(item, sash.SashList.ElementAt(i).dDimension * width / 100);
break;
}
}
if (risultato != -1)
return risultato;
}
else
{
risultato = CalculateHeightSplitGroup(item, width);
risultato = CalculateHeightSplitGroup(item, height);
if (risultato != -1)
return risultato;
}
}
return width;
return height;
}
/// <summary>
@@ -788,7 +764,7 @@ namespace WebWindowComplex.Models
}
else
{
tot = HeightTot();
tot = CalculateHeightSplitGroup(m_Parent.ParentWindow.AreaList.FirstOrDefault(), HeightTot());
m_dDimension = ConvertDimension(m_SelMeasureType, newType, tot, m_Parent.SplitHorizList);
}
m_SelMeasureType = (MeasureTypes)value;