diff --git a/WebWindowComplex/TableComp.razor b/WebWindowComplex/TableComp.razor
index 45052a8..c9d5e7f 100644
--- a/WebWindowComplex/TableComp.razor
+++ b/WebWindowComplex/TableComp.razor
@@ -253,7 +253,7 @@
{
-
+
}
@@ -874,3 +874,10 @@
}
+@if (bError)
+{
+
+ Aggiunta finestra non possibile.
+
+}
+
diff --git a/WebWindowComplex/TableComp.razor.cs b/WebWindowComplex/TableComp.razor.cs
index df4bcbb..5e372b3 100644
--- a/WebWindowComplex/TableComp.razor.cs
+++ b/WebWindowComplex/TableComp.razor.cs
@@ -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;
}
///
@@ -1119,6 +1122,12 @@ namespace WebWindowComplex
currStep = CompileStep.Tree;
}
+ private bool bError = false;
+ private void AddSashToFrame(Frame f)
+ {
+ bError = f.AddSash();
+ }
+
///
/// Metodo per scambiare due aree di uno split
///
diff --git a/WebWindowComplex/WebWindowComplex.csproj b/WebWindowComplex/WebWindowComplex.csproj
index 5da86c0..c3ecb29 100644
--- a/WebWindowComplex/WebWindowComplex.csproj
+++ b/WebWindowComplex/WebWindowComplex.csproj
@@ -135,5 +135,6 @@
+
diff --git a/WebWindowComplex/Window.cs b/WebWindowComplex/Window.cs
index 473e3b5..d7bacff 100644
--- a/WebWindowComplex/Window.cs
+++ b/WebWindowComplex/Window.cs
@@ -265,40 +265,50 @@ namespace WebWindowComplex
ParentWindow.OnUpdatePreview(ParentWindow.sSerialized());
}
- public void AddSash()
+ public bool AddSash()
{
- List ContentArea = new List();
+ // 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 ContentArea = new List();
+ 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()
diff --git a/WebWindowConfigurator/WebWindowConfigurator.csproj b/WebWindowConfigurator/WebWindowConfigurator.csproj
index 7df8926..833cdad 100644
--- a/WebWindowConfigurator/WebWindowConfigurator.csproj
+++ b/WebWindowConfigurator/WebWindowConfigurator.csproj
@@ -165,6 +165,9 @@
+
+
+