Modificato aggiornamento dimensioni sottoaree

This commit is contained in:
Annamaria Sassi
2026-02-24 17:45:02 +01:00
parent 940d6de755
commit 36573dfa4e
10 changed files with 232 additions and 87 deletions
+46 -9
View File
@@ -34,6 +34,7 @@ namespace WebWindowComplex.Models
{
if(dDimension != value)
{
double dimensioneOld = m_dDimension;
if (value > m_dMax)
m_dDimension = m_dMax;
else if (value < m_dMin)
@@ -53,15 +54,15 @@ namespace WebWindowComplex.Models
if(elemList.ElementAt(m_nIndex).MeasureType is MeasureTypes.ABSOLUTE ||
elemList.ElementAt(m_nIndex - 1).MeasureType is MeasureTypes.ABSOLUTE)
{
if (value > m_dDimension)
if (value > dimensioneOld)
{
dimTot = dimTot - (value - m_dDimension);
dimTot = dimTot - (value - dimensioneOld);
}
else
{
dimTot = dimTot + (m_dDimension - value);
dimTot = dimTot + (dimensioneOld - value);
}
double diff = (m_dDimension - value)/2;
double diff = (dimensioneOld - value)/2;
if(elemList.ElementAt(m_nIndex - 1).MeasureType is MeasureTypes.ABSOLUTE)
elemList.ElementAt(m_nIndex - 1).SetDimension(elemList.ElementAt(m_nIndex - 1).dDimension + diff);
if(elemList.ElementAt(m_nIndex).MeasureType is MeasureTypes.ABSOLUTE)
@@ -69,18 +70,38 @@ namespace WebWindowComplex.Models
}
if (split.SplitHorizList.Count > 0)
{
List<AreaDimension> dimList = new List<AreaDimension>();
foreach (var itemDim in split.SplitHorizList)
dimList.Add(new AreaDimension(itemDim.dDimension, itemDim.MeasureType, itemDim.Parent));
double height = ParentArea.CalculateWidthArea(ParentArea.ParentWindow.AreaList[0], ParentArea.ParentWindow.AreaList[0].AvailHeightArea());
for (int i = 0; i < split.AreaList.Count; i++)
{
if (i < split.SplitHorizList.Count)
split.AreaList.ElementAt(i).SearchAreaList(split.AreaList.ElementAt(i), split.SplitHorizList.ElementAt(i).dDimension, "Width");
{
SplitDimension currSplitDim = split.SplitHorizList[i];
double dim = currSplitDim.dDimension;
if (!(currSplitDim.MeasureType.Equals(MeasureTypes.ABSOLUTE)))
dim = currSplitDim.ConvertDimension(dimList, currSplitDim.MeasureType, MeasureTypes.ABSOLUTE, height, -1, 0);
split.AreaList.ElementAt(i).SearchAreaList(split.AreaList.ElementAt(i), dim, "Height");
}
}
}
if (split.SplitVertList.Count > 0)
{
List<AreaDimension> dimList = new List<AreaDimension>();
foreach (var itemDim in split.SplitVertList)
dimList.Add(new AreaDimension(itemDim.dDimension, itemDim.MeasureType, itemDim.Parent));
double width = ParentArea.CalculateWidthArea(ParentArea.ParentWindow.AreaList[0], ParentArea.ParentWindow.AreaList[0].AvailWidthArea());
for (int i = 0; i < split.AreaList.Count; i++)
{
if (i < split.SplitVertList.Count)
split.AreaList.ElementAt(i).SearchAreaList(split.AreaList.ElementAt(i), split.SplitVertList.ElementAt(i).dDimension, "Height");
{
SplitDimension currSplitDim = split.SplitVertList[i];
double dim = currSplitDim.dDimension;
if (!(currSplitDim.MeasureType.Equals(MeasureTypes.ABSOLUTE)))
dim = currSplitDim.ConvertDimension(dimList, currSplitDim.MeasureType, MeasureTypes.ABSOLUTE, width, -1, 0);
split.AreaList.ElementAt(i).SearchAreaList(split.AreaList.ElementAt(i), dim, "Width");
}
}
}
}
@@ -101,14 +122,14 @@ namespace WebWindowComplex.Models
}
if(sash.SashList.ElementAt(indSash).MeasureType is MeasureTypes.ABSOLUTE)
{
if (value > m_dDimension)
if (value > dimensioneOld)
{
double diff = (value - m_dDimension);
double diff = (value - dimensioneOld);
sash.SashList.ElementAt(indSash).SetDimension(sash.SashList.ElementAt(indSash).dDimension - diff);
}
else
{
double diff = m_dDimension - value;
double diff = dimensioneOld - value;
sash.SashList.ElementAt(indSash).SetDimension(sash.SashList.ElementAt(indSash).dDimension + diff);
}
for (int i = 0; i < sash.AreaList.Count; i++)
@@ -173,6 +194,22 @@ namespace WebWindowComplex.Models
}
}
public double dMaxDim
{
get
{
return m_dMax;
}
}
public double dMinDim
{
get
{
return m_dMin;
}
}
#endregion Public Properties
#region Public Methods