Gestione errore: hardware non presente per famiglia selezionata

This commit is contained in:
Annamaria Sassi
2025-10-08 18:43:53 +02:00
parent 9ea6b17fe9
commit cfed8506f9
5 changed files with 51 additions and 21 deletions
+8 -1
View File
@@ -253,7 +253,7 @@
{
<div class="input-group mb-2 justify-content-center">
<button class="btn btn-outline-secondary btn-sm" @onclick="() => FrameWindow.AddSash()">Aggiungi window</button>
<button class="btn btn-outline-secondary btn-sm" @onclick="() => AddSashToFrame(FrameWindow)">Aggiungi window</button>
</div>
}
</div>
@@ -874,3 +874,10 @@
}
</div>
@if (bError)
{
<div class="alert alert-danger" role="alert">
Aggiunta finestra non possibile.
</div>
}
+9
View File
@@ -634,6 +634,7 @@ namespace WebWindowComplex
currSplit = -1;
currStep = CompileStep.Tree;
editLock = false;
bError = false;
await DoPreviewSvg();
}
@@ -666,6 +667,8 @@ namespace WebWindowComplex
{
// reset editLock...
editLock = false;
// reset variabile errori
bError = false;
}
/// <summary>
@@ -1119,6 +1122,12 @@ namespace WebWindowComplex
currStep = CompileStep.Tree;
}
private bool bError = false;
private void AddSashToFrame(Frame f)
{
bError = f.AddSash();
}
/// <summary>
/// Metodo per scambiare due aree di uno split
/// </summary>
+1
View File
@@ -135,5 +135,6 @@
+30 -20
View File
@@ -265,40 +265,50 @@ namespace WebWindowComplex
ParentWindow.OnUpdatePreview(ParentWindow.sSerialized());
}
public void AddSash()
public bool AddSash()
{
List<Area> ContentArea = new List<Area>();
// Salvo il parent
Area ParentArea = AreaList[0].ParentArea;
// Salvo gli oggetti già presenti e li cancello da AreaList
ContentArea.Add(AreaList[0]);
AreaList.Remove(AreaList[0]);
// Aggiungo Area sash di default
// Creo area sash di default
Sash SashArea = Sash.CreateSash(ParentArea);
SashArea.SelFamilyHardware = Sash.s_FamilyHardwareList.First();
SashArea.RefreshHardwareList();
SashArea.SetSelHardwareFromId(SashArea.HardwareList.First().Id);
// Aggiungo area
AreaList.Add(SashArea);
if (SashArea.nSashQty == 1)
if(SashArea.HardwareList.Count == 0)
{
// Inserisco il riempimento precedente
AreaList[0].AreaList.Add(ContentArea[0]);
AreaList[0].AreaList[0].SetParentArea(AreaList[0]);
SashArea.Remove();
return true;
}
else
{
// All'area Sash aggiunto uno Splitted per ogni anta
for (int i = 1; i < SashArea.nSashQty; i++)
SashArea.SetSelHardwareFromId(SashArea.HardwareList.First().Id);
// Salvo gli oggetti già presenti e li cancello da AreaList
List<Area> ContentArea = new List<Area>();
ContentArea.Add(AreaList[0]);
AreaList.Remove(AreaList[0]);
// Aggiungo area
AreaList.Add(SashArea);
if (SashArea.nSashQty == 1)
{
AreaList[0].AreaList.Add(Splitted.CreateSplitted(SashArea));
// Inserisco il riempimento precedente
AreaList[0].AreaList.Add(ContentArea[0]);
AreaList[0].AreaList[0].SetParentArea(AreaList[0]);
}
Fill fill2 = (Fill)ContentArea[0];
for (int i = 1; i < SashArea.nSashQty; i++)
else
{
AreaList[0].AreaList[1].AreaList.Add(Fill.CreateFill(AreaList[0].AreaList[1], fill2.FillType));
// All'area Sash aggiunto uno Splitted per ogni anta
for (int i = 1; i < SashArea.nSashQty; i++)
{
AreaList[0].AreaList.Add(Splitted.CreateSplitted(SashArea));
}
Fill fill2 = (Fill)ContentArea[0];
for (int i = 1; i < SashArea.nSashQty; i++)
{
AreaList[0].AreaList[1].AreaList.Add(Fill.CreateFill(AreaList[0].AreaList[1], fill2.FillType));
}
}
ParentWindow.OnUpdatePreview(ParentWindow.sSerialized());
return false;
}
ParentWindow.OnUpdatePreview(ParentWindow.sSerialized());
}
public void SwapAree()
@@ -165,6 +165,9 @@