Files
Annamaria Sassi 83161fd2c4 - Eliminazioni commenti
- Eliminazione funzioni non più usate
- Eliminazione pagine razor sostituite
2026-03-16 17:02:49 +01:00

154 lines
6.5 KiB
C#

using WebWindowComplex.Json;
using static WebWindowComplex.Json.WindowConst;
namespace WebWindowComplex.Models
{
public class FrameDimension:AreaDimension
{
#region Public Constructors
public FrameDimension(Frame ParentFrame, int nIndex, string sName, double dDimension, bool bIsLen) : base(dDimension, MeasureTypes.ABSOLUTE, ParentFrame)
{
m_ParentFrame = ParentFrame;
m_nIndex = nIndex;
m_sName = sName;
}
#endregion Public Constructors
#region Public Properties
public override double dDimension
{
get
{
return m_dDimension;
}
set
{
if(dDimension != value)
{
if (ParentFrame.SelShapeIndex == (int)Shapes.RECTANGLE ||
ParentFrame.SelShapeIndex == (int)Shapes.RIGHTCHAMFER ||
ParentFrame.SelShapeIndex == (int)Shapes.LEFTCHAMFER ||
ParentFrame.SelShapeIndex == (int)Shapes.DOUBLECHAMFER ||
ParentFrame.SelShapeIndex == (int)Shapes.TRIANGLE)
{
if (value > MaxDim)
m_dDimension = MaxDim;
else if (value < MinDim && !m_sName.Equals("Radius") && !m_sName.Equals("Height projection"))
m_dDimension = MinDim;
else
m_dDimension = value;
}
else
{
var widthArea = (ParentFrame.DimensionList.First(x => x.sName.Equals("Width"))).m_dDimension;
if (ParentFrame.SelShapeIndex == (int)Shapes.ARC_FULL)
{
var height = ParentFrame.DimensionList.First(x => x.sName.Equals("Height")).m_dDimension;
if (sName.Equals("Height") && value > 0.5 * widthArea && value < MaxDim)
m_dDimension = value;
else if (sName.Equals("Width") && height > 0.5 * value && value > MinDim)
m_dDimension = value;
}
else if (ParentFrame.SelShapeIndex == (int)Shapes.ARC)
{
var height = ParentFrame.DimensionList.First(x => x.sName.Equals("Height")).m_dDimension;
var fullHeight = ParentFrame.DimensionList.First(x => x.sName.Equals("Full Height")).m_dDimension;
if (sName.Equals("Full Height") && (value - height) < 0.5 * widthArea && value < MaxDim)
m_dDimension = value;
else if (sName.Equals("Height") && (fullHeight - value) < 0.5 * widthArea && value < MaxDim)
m_dDimension = value;
else if (sName.Equals("Width") && (fullHeight - height) < 0.5 * value && value < MaxDim)
m_dDimension = value;
}
else if (ParentFrame.SelShapeIndex == (int)Shapes.THREECENTERARC)
{
var height = ParentFrame.DimensionList.First(x => x.sName.Equals("Height")).m_dDimension;
var fullHeight = ParentFrame.DimensionList.First(x => x.sName.Equals("Full Height")).m_dDimension;
if (sName.Equals("Full Height") && (value - height) < 0.5 * widthArea && value < MaxDim)
m_dDimension = value;
else if (sName.Equals("Height") && (fullHeight - value) < 0.5 * widthArea && value < MaxDim)
m_dDimension = value;
else if (sName.Equals("Width") && (fullHeight - height) < 0.5 * value)
m_dDimension = value;
else if (sName.Equals("Radius") && value < 0.5 * widthArea)
m_dDimension = value;
}
else if (ParentFrame.SelShapeIndex == (int)Shapes.DOUBLEARC)
{
var height = ParentFrame.DimensionList.First(x => x.sName.Equals("Height")).m_dDimension;
var fullHeight = ParentFrame.DimensionList.First(x => x.sName.Equals("Full Height")).m_dDimension;
if (sName.Equals("Full Height") && (value - height) > 0.5 * widthArea && value < MaxDim)
m_dDimension = value;
else if (sName.Equals("Height") && (fullHeight - value) > 0.5 * widthArea && value < MaxDim)
m_dDimension = value;
else if (sName.Equals("Width") && (fullHeight - height) > 0.5 * value && value > MinDim)
m_dDimension = value;
}
}
if (ParentFrame.AreaList.Count > 0 && sName.Equals("Width") && ParentFrame != null)
ParentFrame.SearchAreaList(ParentFrame, ParentFrame.AvailWidthArea(), "Width");
else if(ParentFrame != null)
ParentFrame.SearchAreaList(ParentFrame, ParentFrame.AvailHeightArea(), "Height");
}
}
}
public int nIndex
{
get
{
return m_nIndex;
}
}
public Frame ParentFrame
{
get
{
return m_ParentFrame;
}
}
public string sName
{
get
{
return m_sName;
}
}
#endregion Public Properties
#region Internal Methods
internal JsonFrameDimension Serialize()
{
JsonFrameDimension JsonFrameDimension = new JsonFrameDimension(m_nIndex, m_sName, m_dDimension);
return JsonFrameDimension;
}
#endregion Internal Methods
#region Protected Fields
protected Frame m_ParentFrame;
#endregion Protected Fields
#region Private Fields
private int m_nIndex;
private string m_sName;
// valore massimo della dimensione del frame
private int MaxDim = 4000;
// valore minimo della dimensione del frame
private int MinDim = 600;
#endregion Private Fields
}
}