Modificato aggiornamento dimensioni sottoaree
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user