- Gestione soglia quando viene eliminata anta

- Gestione spessore split in anta o meno
This commit is contained in:
Annamaria Sassi
2026-03-04 14:48:23 +01:00
parent 76b11e7ba1
commit 2aa207d0d7
9 changed files with 83 additions and 31 deletions
+3 -3
View File
@@ -197,7 +197,7 @@ namespace WebWindowComplex.Compo
private Task ChangeAllJoints(Json.WindowConst.Joints JointType)
{
foreach (var item in CurrSashDim.JointList)
item.SetSelJointType(JointType);
item.SelJointType = JointType;
return EC_UpdateSashDim.InvokeAsync(CurrSashDim);
}
@@ -260,12 +260,12 @@ namespace WebWindowComplex.Compo
{
case Openings.TILTTURN_LEFT:
{
item.SetOpeningType(Openings.TURNONLY_LEFT);
item.SelOpeningType = Openings.TURNONLY_LEFT;
break;
}
case Openings.TILTTURN_RIGHT:
{
item.SetOpeningType(Openings.TURNONLY_RIGHT);
item.SelOpeningType = Openings.TURNONLY_RIGHT;
break;
}
default:
+1 -1
View File
@@ -49,7 +49,7 @@ namespace WebWindowComplex.Compo
/// <returns></returns>
protected Task ChangeOneFill(FillTypes reqFillType)
{
CurrFill.SetFillType(reqFillType);
CurrFill.SelFillType = reqFillType;
return EC_UpdateFill.InvokeAsync(CurrFill);
}
+1 -1
View File
@@ -201,7 +201,7 @@ namespace WebWindowComplex.Compo
{
foreach (Joint joint in CurrFrameWindow.JointList)
{
joint.SetSelJointType(JointType);
joint.SelJointType = JointType;
}
var args = new DataUpdateFrame() { currFrame = CurrFrameWindow, svgNoHw = false };
return EC_UpdateFrame.InvokeAsync(args);
@@ -1,3 +1,4 @@
using Egw.Window.Data;
using Microsoft.AspNetCore.Components;
using WebWindowComplex.Models;
using static WebWindowComplex.Json.WindowConst;
@@ -117,9 +118,9 @@ namespace WebWindowComplex.Compo
{
CurrSashGroup.SashBottomRailQty = value;
if (CurrSashGroup.SashBottomRailQty > 0)
CurrSashGroup.SetSashBottomRail(true);
CurrSashGroup.SashBottomRail = true;
else
CurrSashGroup.SetSashBottomRail(false);
CurrSashGroup.SashBottomRail = false;
var args = new DataUpdateSash()
{
currSash = CurrSashGroup
@@ -204,7 +205,12 @@ namespace WebWindowComplex.Compo
protected async Task RemoveArea()
{
CurrSashGroup.Remove();
FrameWindow.SetSelThresholdFromName(FrameWindow.ThresholdList.FirstOrDefault(x => x.Name != "Threshold")?.Name);
if (FrameWindow.SelThreshold.Name.Contains("Threshold") && SashList.IndexOf(CurrSashGroup) == 0)
{
Threshold? updThreshold = FrameWindow.ThresholdList.FirstOrDefault(x => x.Name != "Threshold");
if(updThreshold != null)
FrameWindow.SelThresholdFromName = updThreshold.Name;
}
var args = new DataUpdateFrame()
{
currFrame = FrameWindow,
+39 -13
View File
@@ -90,20 +90,27 @@ namespace WebWindowComplex.Models
m_SelThreshold = newThreshold;
else
m_SelThreshold = new Threshold(3, "Bottom");
string profileName = "";
if (m_SelThreshold.Name.Equals("Threshold"))
profileName = "Frame_Sash_Threshold";
else
profileName = "Frame_Sash_Bottom";
ElementDimensionList.First().SetNameElement(profileName);
ElementDimensionList.First().SetMinDimension(Window.m_ParameterList.GetValueOrDefault(profileName + "_DimMin"));
ElementDimensionList.First().SetMaxDimension(Window.m_ParameterList.GetValueOrDefault(profileName + "_DimMax"));
ElementDimensionList.First().SetDimension(Window.m_ParameterList.GetValueOrDefault(profileName + "_DimStd"));
string overlapName = "Sash_Bottom_Overlap";
ElementDimensionList.First().SetOverlapElement(Window.m_ParameterList.GetValueOrDefault(overlapName));
if (AreaList.Count > 0)
UpdateElemDimension();
}
}
public string SelThresholdFromName
{
get{
return m_SelThreshold.Name;
}
set
{
// verifica ci sia un valore...
if (!string.IsNullOrEmpty(value) && m_ThresholdList != null && m_ThresholdList.Count > 0)
{
SearchAreaList(this, AvailHeightArea(), "Height");
m_SelThreshold = m_ThresholdList.Where(x => x.Name.Equals(value)).First();
UpdateElemDimension();
}
else
{
m_SelThreshold = m_ThresholdList!.FirstOrDefault() ?? new Threshold(3, "Bottom");
UpdateElemDimension();
}
}
}
@@ -722,6 +729,25 @@ namespace WebWindowComplex.Models
}
}
internal void UpdateElemDimension()
{
string profileName = "";
if (m_SelThreshold.Name.Equals("Threshold"))
profileName = "Frame_Sash_Threshold";
else
profileName = "Frame_Sash_Bottom";
ElementDimensionList.First().SetNameElement(profileName);
ElementDimensionList.First().SetMinDimension(Window.m_ParameterList.GetValueOrDefault(profileName + "_DimMin"));
ElementDimensionList.First().SetMaxDimension(Window.m_ParameterList.GetValueOrDefault(profileName + "_DimMax"));
ElementDimensionList.First().SetDimension(Window.m_ParameterList.GetValueOrDefault(profileName + "_DimStd"));
string overlapName = "Sash_Bottom_Overlap";
ElementDimensionList.First().SetOverlapElement(Window.m_ParameterList.GetValueOrDefault(overlapName));
if (AreaList.Count > 0)
{
SearchAreaList(this, AvailHeightArea(), "Height");
}
}
#endregion Internal Methods
#region Private Fields
+7 -4
View File
@@ -34,28 +34,31 @@ namespace WebWindowComplex.Models
m_bSplitStartVert = value;
m_ElemDimVertList.Clear();
m_ElemDimHorizList.Clear();
double thickness = 78;
if (ParentArea.ParentArea is Sash)
thickness = 60;
if (value)
{
for (int i = 0; i < nSplitQtyVert; i++)
{
m_ElemDimVertList.Add(new SplitElementDimension(this, i + 1, 78, 0));
m_ElemDimVertList.Add(new SplitElementDimension(this, i + 1, thickness, 0));
}
for (int subArea = 0; subArea < m_SplitVertList.Count; subArea++)
{
for (int index = 0; index < nSplitQtyHoriz; index++)
m_ElemDimHorizList.Add(new SplitElementDimension(this, index + 1, 78, subArea + 1));
m_ElemDimHorizList.Add(new SplitElementDimension(this, index + 1, thickness, subArea + 1));
}
}
else
{
for (int i = 0; i < nSplitQtyHoriz; i++)
{
m_ElemDimHorizList.Add(new SplitElementDimension(this, i + 1, 78, 0));
m_ElemDimHorizList.Add(new SplitElementDimension(this, i + 1, thickness, 0));
}
for (int subArea = 0; subArea < m_SplitHorizList.Count; subArea++)
{
for (int index = 0; index < nSplitQtyVert; index++)
m_ElemDimVertList.Add(new SplitElementDimension(this, index + 1, 78, subArea + 1));
m_ElemDimVertList.Add(new SplitElementDimension(this, index + 1, thickness, subArea + 1));
}
}
}
+16 -4
View File
@@ -289,13 +289,19 @@ namespace WebWindowComplex.Models
if (bIsVertListDim)
{
splitList = m_Parent.SplitVertList;
splitElemList = m_Parent.ElemDimVertList;
if (Parent.bSplitStartVert)
splitElemList = m_Parent.ElemDimVertList;
else
splitElemList = m_Parent.ElemDimVertList.Where(x => x.nSubArea == 1).ToList();
dimSplitGroup = CalculateWidthSplitGroup(frame, frame.AvailWidthArea(), new AreaFound(-1, false)).m_Dimension;
}
else
{
splitList = m_Parent.SplitHorizList;
splitElemList = m_Parent.ElemDimHorizList;
if (Parent.bSplitStartVert)
splitElemList = m_Parent.ElemDimHorizList.Where(x => x.nSubArea == 1).ToList();
else
splitElemList = m_Parent.ElemDimHorizList;
dimSplitGroup = (CalculateHeightSplitGroup(frame, frame.AvailHeightArea(), new AreaFound(-1, false))).m_Dimension;
}
AreaDimension ad = new AreaDimension(dDimension, SelMeasureType, Parent);
@@ -606,13 +612,19 @@ namespace WebWindowComplex.Models
if (bIsVertListDim)
{
splitList = m_Parent.SplitVertList;
splitElemList = m_Parent.ElemDimVertList;
if (Parent.bSplitStartVert)
splitElemList = m_Parent.ElemDimVertList;
else
splitElemList = m_Parent.ElemDimVertList.Where(x => x.nSubArea == 1).ToList();
dimSplitGroup = CalculateWidthSplitGroup(frame, frame.AvailWidthArea(), new AreaFound(-1, false)).m_Dimension;
}
else
{
splitList = m_Parent.SplitHorizList;
splitElemList = m_Parent.ElemDimHorizList;
if (Parent.bSplitStartVert)
splitElemList = m_Parent.ElemDimHorizList;
else
splitElemList = m_Parent.ElemDimHorizList.Where(x => x.nSubArea == 1).ToList();
dimSplitGroup = (CalculateHeightSplitGroup(frame, frame.AvailHeightArea(), new AreaFound(-1, false))).m_Dimension;
}
AreaDimension ad = new AreaDimension(dDimension, SelMeasureType, Parent);
+4 -1
View File
@@ -6,7 +6,7 @@
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<Version>3.1.3.318</Version>
<Version>3.1.3.414</Version>
<Authors>Annamaria Sassi</Authors>
<Company>Egalware</Company>
<Description>Componente gestione Configurazioni avanzate Window per LUX</Description>
@@ -266,6 +266,9 @@