From e65a72681b9808c521ab653491c8aa254ffdc83b Mon Sep 17 00:00:00 2001 From: Nicola Pievani Date: Wed, 6 May 2020 13:25:44 +0000 Subject: [PATCH] =?UTF-8?q?EgtDOORCreator=202.2e1:=20->=20correzione=20ges?= =?UTF-8?q?tione=20creazione=20cartelle=20".frame"=20->=20correzione=20let?= =?UTF-8?q?tura=20visibilit=C3=A0=20dei=20parametri=20delle=20componenti?= =?UTF-8?q?=20sui=20frame.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assembly/Assembly.vb | 62 ++++++++++--------- AssemblyManager/AssemblyManagerVM.vb | 5 +- DoorParameters/Part.vb | 2 +- ProjectManager/MySaveFileDialogVM.vb | 10 +++ .../InstrumentPanel/InstrumentPanelV.xaml | 1 + .../InstrumentPanel/InstrumentPanelV.xaml.vb | 6 +- SceneManager/SceneManagerVM.vb | 1 + 7 files changed, 54 insertions(+), 33 deletions(-) diff --git a/Assembly/Assembly.vb b/Assembly/Assembly.vb index b945087..40c6634 100644 --- a/Assembly/Assembly.vb +++ b/Assembly/Assembly.vb @@ -1829,41 +1829,36 @@ Public Class Assembly Else SetDoorNumber("1") End If - 'For IndexDoor As Integer = 0 To CInt(DoorNumber) - 1 - ' ResearchMatchJamb(GetArrayPartDoor(IndexDoor).Door, Map.refAssemblyPageVM.CurrAssembly.LeftJamb) - ' ResearchMatchJamb(GetArrayPartDoor(IndexDoor).Door, Map.refAssemblyPageVM.CurrAssembly.RightJamb) - ' ResearchMatchJamb(GetArrayPartDoor(IndexDoor).Door, Map.refAssemblyPageVM.CurrAssembly.TopJamb) - ' ResearchMatchJamb(GetArrayPartDoor(IndexDoor).Door, Map.refAssemblyPageVM.CurrAssembly.BottomJamb) - 'Next - 'If CInt(DoorNumber) > 1 Then - ' ResearchMatchDoor(GetArrayPartDoor(0).Door, GetArrayPartDoor(1).Door) - ' ResearchMatchDoor(GetArrayPartDoor(1).Door, GetArrayPartDoor(0).Door) - 'End If End Sub Private Sub ResearchMatchJamb(Door As Part, Jamb As Part) For IndexCompo As Integer = 0 To Door.CompoList.Count - 1 If Not String.IsNullOrEmpty(Door.CompoList(IndexCompo).IdCode) Then - ' cerco l'associazione delle compo + ' cerco l'associazione delle compo sulla porta con le componenti sul telaio For IndexCompoJamb As Integer = 0 To Jamb.CompoList.Count - 1 If Jamb.CompoList(IndexCompoJamb).IdCode = Door.CompoList(IndexCompo).IdCode Then Door.CompoList(IndexCompo).refJambCompo = Jamb.CompoList(IndexCompoJamb) Jamb.CompoList(IndexCompoJamb).refCompoDoor = Door.CompoList(IndexCompo) Door.CompoList(IndexCompo).refJambCompo.IsReadOnly = False Door.CompoList(IndexCompo).IsReadOnly = True - + ' definisco la proprietà ReadOnly per i parametri inseriti If Not LoadCompoParam(Door.CompoList(IndexCompo), Door.TypePart) Then Return For IndexParam As Integer = 0 To Door.CompoList(IndexCompo).refJambCompo.CompoParamList.Count - 1 Dim CmpPar As CompoParam = Door.CompoList(IndexCompo).CompoParamList(IndexParam) Dim CmpRefPar As CompoParam = Door.CompoList(IndexCompo).refJambCompo.CompoParamList(IndexParam) - If TypeOf CmpRefPar Is TextBoxParam Then + If TypeOf CmpRefPar Is TextBoxOnOffParam Then + Dim TBoxPar As TextBoxOnOffParam = DirectCast(CmpPar, TextBoxOnOffParam) + Dim TBoxRefPar As TextBoxOnOffParam = DirectCast(CmpRefPar, TextBoxOnOffParam) + CalcCompoParamVisibility(TBoxPar.DDFName, TBoxRefPar.IsReadOnly) + TBoxPar.IsReadOnly = True + ElseIf TypeOf CmpRefPar Is TextBoxParam Then Dim TBoxPar As TextBoxParam = DirectCast(CmpPar, TextBoxParam) Dim TBoxRefPar As TextBoxParam = DirectCast(CmpRefPar, TextBoxParam) CalcCompoParamVisibility(TBoxPar.DDFName, TBoxRefPar.IsReadOnly) TBoxPar.IsReadOnly = True - ElseIf TypeOf CmpRefPar Is TextBoxOnOffParam Then - Dim TBoxPar As TextBoxOnOffParam = DirectCast(CmpPar, TextBoxOnOffParam) - Dim TBoxRefPar As TextBoxOnOffParam = DirectCast(CmpRefPar, TextBoxOnOffParam) + ElseIf TypeOf CmpRefPar Is ComboBoxOnOffParam Then + Dim TBoxPar As ComboBoxOnOffParam = DirectCast(CmpPar, ComboBoxOnOffParam) + Dim TBoxRefPar As ComboBoxOnOffParam = DirectCast(CmpRefPar, ComboBoxOnOffParam) CalcCompoParamVisibility(TBoxPar.DDFName, TBoxRefPar.IsReadOnly) TBoxPar.IsReadOnly = True ElseIf TypeOf CmpRefPar Is ComboBoxParam Then @@ -1888,22 +1883,29 @@ Public Class Assembly For IndexCompo As Integer = 0 To DoorActive.CompoList.Count - 1 If Not String.IsNullOrEmpty(DoorActive.CompoList(IndexCompo).IdCode) Then For IndexCompoInactiveDoor As Integer = 0 To DoorInactive.CompoList.Count - 1 + ' cerco l'associazione delle compo sulla porta attiva con le componenti sulla porta inattiva If DoorInactive.CompoList(IndexCompoInactiveDoor).IdCode = DoorActive.CompoList(IndexCompo).IdCode Then DoorActive.CompoList(IndexCompo).refJambCompo = DoorInactive.CompoList(IndexCompoInactiveDoor) + DoorInactive.CompoList(IndexCompoInactiveDoor).refCompoDoor = DoorActive.CompoList(IndexCompo).refJambCompo DoorActive.CompoList(IndexCompo).refJambCompo.IsReadOnly = False DoorActive.CompoList(IndexCompo).IsReadOnly = True If Not LoadCompoParam(DoorActive.CompoList(IndexCompo), DoorActive.TypePart) Then Return For IndexParam As Integer = 0 To DoorActive.CompoList(IndexCompo).refJambCompo.CompoParamList.Count - 1 Dim CmpPar As CompoParam = DoorActive.CompoList(IndexCompo).CompoParamList(IndexParam) Dim CmpRefPar As CompoParam = DoorActive.CompoList(IndexCompo).refJambCompo.CompoParamList(IndexParam) - If TypeOf CmpRefPar Is TextBoxParam Then + If TypeOf CmpRefPar Is TextBoxOnOffParam Then + Dim TBoxPar As TextBoxOnOffParam = DirectCast(CmpPar, TextBoxOnOffParam) + Dim TBoxRefPar As TextBoxOnOffParam = DirectCast(CmpRefPar, TextBoxOnOffParam) + CalcCompoParamVisibility(TBoxPar.DDFName, TBoxRefPar.IsReadOnly) + TBoxPar.IsReadOnly = True + ElseIf TypeOf CmpRefPar Is TextBoxParam Then Dim TBoxPar As TextBoxParam = DirectCast(CmpPar, TextBoxParam) Dim TBoxRefPar As TextBoxParam = DirectCast(CmpRefPar, TextBoxParam) CalcCompoParamVisibility(TBoxPar.DDFName, TBoxRefPar.IsReadOnly) TBoxPar.IsReadOnly = True - ElseIf TypeOf CmpRefPar Is TextBoxOnOffParam Then - Dim TBoxPar As TextBoxOnOffParam = DirectCast(CmpPar, TextBoxOnOffParam) - Dim TBoxRefPar As TextBoxOnOffParam = DirectCast(CmpRefPar, TextBoxOnOffParam) + ElseIf TypeOf CmpRefPar Is ComboBoxOnOffParam Then + Dim TBoxPar As ComboBoxOnOffParam = DirectCast(CmpPar, ComboBoxOnOffParam) + Dim TBoxRefPar As ComboBoxOnOffParam = DirectCast(CmpRefPar, ComboBoxOnOffParam) CalcCompoParamVisibility(TBoxPar.DDFName, TBoxRefPar.IsReadOnly) TBoxPar.IsReadOnly = True ElseIf TypeOf CmpRefPar Is ComboBoxParam Then @@ -2340,31 +2342,31 @@ Public Class Assembly PrecCompo.CompoParamList(IndexParam).DDFName = NewCompo.CompoParamList(IndexParam).DDFName Then Dim TBoxPar As TextBoxOnOffParam = DirectCast(PrecCompo.CompoParamList(IndexParam), TextBoxOnOffParam) Dim TBoxNewPar As TextBoxOnOffParam = DirectCast(NewCompo.CompoParamList(IndexParam), TextBoxOnOffParam) - If TBoxPar.EnableCopy then - TBoxNewPar.Value = TBoxPar.Value - TBoxNewPar.IsActive = TBoxPar.IsActive + If TBoxPar.EnableCopy Then + TBoxNewPar.SetValue(TBoxPar.Value) + TBoxNewPar.SetIsActive(TBoxPar.IsActive) End If ElseIf TypeOf PrecCompo.CompoParamList(IndexParam) Is TextBoxParam AndAlso PrecCompo.CompoParamList(IndexParam).DDFName = NewCompo.CompoParamList(IndexParam).DDFName Then Dim TBoxPar As TextBoxParam = DirectCast(PrecCompo.CompoParamList(IndexParam), TextBoxParam) Dim TBoxNewPar As TextBoxParam = DirectCast(NewCompo.CompoParamList(IndexParam), TextBoxParam) - If TBoxPar.EnableCopy then - TBoxNewPar.Value = TBoxPar.Value + If TBoxPar.EnableCopy Then + TBoxNewPar.SetValue(TBoxPar.Value) End If ElseIf TypeOf PrecCompo.CompoParamList(IndexParam) Is ComboBoxOnOffParam AndAlso PrecCompo.CompoParamList(IndexParam).DDFName = NewCompo.CompoParamList(IndexParam).DDFName Then Dim CBoxPar As ComboBoxOnOffParam = DirectCast(PrecCompo.CompoParamList(IndexParam), ComboBoxOnOffParam) Dim CBoxNewPar As ComboBoxOnOffParam = DirectCast(NewCompo.CompoParamList(IndexParam), ComboBoxOnOffParam) - If CBoxNewPar.EnableCopy then - CBoxNewPar.SelItem = CBoxNewPar.ItemList(CBoxPar.ItemList.IndexOf(CBoxPar.SelItem)) - CBoxNewPar.IsActive = CBoxPar.IsActive + If CBoxNewPar.EnableCopy Then + CBoxNewPar.SetSelItem(CBoxNewPar.ItemList(CBoxPar.ItemList.IndexOf(CBoxPar.SelItem))) + CBoxNewPar.SetIsActive(CBoxPar.IsActive) End If ElseIf TypeOf PrecCompo.CompoParamList(IndexParam) Is ComboBoxParam AndAlso PrecCompo.CompoParamList(IndexParam).DDFName = NewCompo.CompoParamList(IndexParam).DDFName Then Dim CBoxPar As ComboBoxParam = DirectCast(PrecCompo.CompoParamList(IndexParam), ComboBoxParam) Dim CBoxNewPar As ComboBoxParam = DirectCast(NewCompo.CompoParamList(IndexParam), ComboBoxParam) - If CBoxNewPar.EnableCopy then - CBoxNewPar.SelItem = CBoxNewPar.ItemList(CBoxNewPar.ItemList.IndexOf(CBoxPar.SelItem)) + If CBoxNewPar.EnableCopy Then + CBoxNewPar.SetSelItem(CBoxNewPar.ItemList(CBoxNewPar.ItemList.IndexOf(CBoxPar.SelItem))) End If End If Next diff --git a/AssemblyManager/AssemblyManagerVM.vb b/AssemblyManager/AssemblyManagerVM.vb index 41913ae..0e216fe 100644 --- a/AssemblyManager/AssemblyManagerVM.vb +++ b/AssemblyManager/AssemblyManagerVM.vb @@ -965,12 +965,15 @@ Public Class AssemblyManagerVM Next EgtZoom(ZM.ALL) Else - DdfFile.WriteDDFAssembly(OpenedAssName.SelAssembly, sTempFile, True) + If Not DdfFile.WriteDDFAssembly(OpenedAssName.SelAssembly, sTempFile, True) Then + Return False + End If ' aggiorno elenco quotature Map.refDimensioningPanelVM.LoadHardwareDimList() ExecDoors(Map.refSceneManagerVM.ProjectScene, sTempFile, False) Map.refSceneManagerVM.ShowGraphicError() EgtZoom(ZM.ALL) + m_CurrProject.SelAssemblyName.SelAssembly.MatchCompo() Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nAssemblyPage End If ' ogni progetto salvato è l'ultimo da aprire, anche se il programma è chiuso dall'HardwareManager diff --git a/DoorParameters/Part.vb b/DoorParameters/Part.vb index 533c75b..79cc6c8 100644 --- a/DoorParameters/Part.vb +++ b/DoorParameters/Part.vb @@ -1279,7 +1279,7 @@ Public Class Part End While CompoList.Insert(CompoIndex + Lastindex, NewCompo) bInsert = True - If Not IsNothing(PrecCompo) AndAlso (Not IsFrame And NewCompo.CompoType.DDFName = "rabbet") Then + If Not IsNothing(PrecCompo) AndAlso Not (IsFrame And NewCompo.CompoType.DDFName = "rabbet") Then Map.refAssemblyPageVM.CurrAssembly.CopyParam(PrecCompo, NewCompo) Else AdviceHinge(NewCompo) diff --git a/ProjectManager/MySaveFileDialogVM.vb b/ProjectManager/MySaveFileDialogVM.vb index 0e47f50..f26f5e9 100644 --- a/ProjectManager/MySaveFileDialogVM.vb +++ b/ProjectManager/MySaveFileDialogVM.vb @@ -12,6 +12,16 @@ Public Class MySaveFileDialogVM End Get End Property + Public ReadOnly Property VisibilityCreateFrameDir As Visibility + Get + If OptionModule.m_ConfigurationSoftware = ConfigType.Assembly Then + Return Visibility.Collapsed + Else + Return Visibility.Visible + End If + End Get + End Property + Private Property m_IsFrame As Boolean = False Public Property IsFrame As Boolean Get diff --git a/SceneManager/InstrumentPanel/InstrumentPanelV.xaml b/SceneManager/InstrumentPanel/InstrumentPanelV.xaml index b620d4d..72c14ae 100644 --- a/SceneManager/InstrumentPanel/InstrumentPanelV.xaml +++ b/SceneManager/InstrumentPanel/InstrumentPanelV.xaml @@ -15,6 +15,7 @@ diff --git a/SceneManager/InstrumentPanel/InstrumentPanelV.xaml.vb b/SceneManager/InstrumentPanel/InstrumentPanelV.xaml.vb index fb813f4..060f0d0 100644 --- a/SceneManager/InstrumentPanel/InstrumentPanelV.xaml.vb +++ b/SceneManager/InstrumentPanel/InstrumentPanelV.xaml.vb @@ -1,3 +1,7 @@ -Public Class InstrumentPanelView +Public Class InstrumentPanelV + + Private Sub TextBox1_IsVisibleChanged() Handles TextBox1.IsVisibleChanged + TextBox1.Focus() + End Sub End Class diff --git a/SceneManager/SceneManagerVM.vb b/SceneManager/SceneManagerVM.vb index 560725e..ffb0250 100644 --- a/SceneManager/SceneManagerVM.vb +++ b/SceneManager/SceneManagerVM.vb @@ -469,6 +469,7 @@ Public Class SceneManagerVM Private Sub OnSetInputBoxText(ByVal sText As String) Handles m_Controller.SetInputBoxText If sText = "<>" Then Map.refInstrumentPanelVM.TextDimensionVisibility = Visibility.Visible + m_InstrumentPanel.TextBox1.Focus() 'm_Controller.Done(sText) 'm_ProjectScene.SetStatusNull() End If