diff --git a/AssemblyManager/AssemblyManagerVM.vb b/AssemblyManager/AssemblyManagerVM.vb index 2f713b5..58a92c8 100644 --- a/AssemblyManager/AssemblyManagerVM.vb +++ b/AssemblyManager/AssemblyManagerVM.vb @@ -977,12 +977,13 @@ Public Class AssemblyManagerVM Return False End If ' aggiorno elenco quotature - ExecDoors(Map.refSceneManagerVM.ProjectScene, sTempFile, False) Map.refDimensioningPanelVM.LoadHardwareDimList() + ExecDoors(Map.refSceneManagerVM.ProjectScene, sTempFile, False) Map.refSceneManagerVM.ShowGraphicError() For Each HardwareDimension In Map.refDimensioningPanelVM.HardwareDimensionList PrintWndVM.TurnDimensioningLayer(HardwareDimension.NameLayer, HardwareDimension.SelectedLayer) Next + 'ExecDoors(Map.refSceneManagerVM.ProjectScene, sTempFile, False) EgtZoom(ZM.ALL) m_CurrProject.SelAssemblyName.SelAssembly.MatchCompo() m_CurrProject.SelAssemblyName.SelAssembly.UpDateAllOrigValue() diff --git a/DoorParameters/Compo.vb b/DoorParameters/Compo.vb index ad111c7..3227c5b 100644 --- a/DoorParameters/Compo.vb +++ b/DoorParameters/Compo.vb @@ -2543,7 +2543,7 @@ Public Class ComboBoxParam ' verifico di essere nella configurazione HardwareManager e che la Compo chiamata si chiama "Match File" If Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nHardwarePage AndAlso - (CmpPar.CurrCompo.TemplateName = MATCHING_FILE_TEMPLATE OrElse CmpPar.CurrCompo.TemplateName = MATCHING_FILE_TEMPLATE_DOOR) Then + (CmpPar.CurrCompo.TemplateDDFName = MATCHING_FILE_TEMPLATE OrElse CmpPar.CurrCompo.TemplateDDFName = MATCHING_FILE_TEMPLATE_DOOR) Then Select Case CmpPar.DDFName Case ConstCompo.MATCHING_INI ' devo caricare la lista dei Brand da associare @@ -2567,7 +2567,7 @@ Public Class ComboBoxParam NotifyPropertyChanged("ErrorParameter") ' verifico di essere nella configurazione HardwareManager e che la Compo chiamata si chiama "Match File" MATCHING_FILE_TEMPLATE_DOOR If Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nHardwarePage AndAlso - (Me.CurrCompo.TemplateName = MATCHING_FILE_TEMPLATE OrElse Me.CurrCompo.TemplateName = MATCHING_FILE_TEMPLATE_DOOR) Then + (Me.CurrCompo.TemplateDDFName = MATCHING_FILE_TEMPLATE OrElse Me.CurrCompo.TemplateDDFName = MATCHING_FILE_TEMPLATE_DOOR) Then ' leggo quale è il nome del parametro che sto caricando Select Case Me.DDFName Case ConstCompo.MATCHING_INI diff --git a/Doors.vb b/Doors.vb index 165c036..95a640a 100644 --- a/Doors.vb +++ b/Doors.vb @@ -42,7 +42,7 @@ Public Module Doors GetMainPrivateProfileString(S_DOORS, K_DDFEXEC, "", sExecName) sExecPath = IniFile.m_sDoorsDirPath & "\" & sExecName If Not EgtLuaExecFile(sExecPath) Then Return False - ' Setto variabili per quotatura + ' Setto variabili per quotatura Lua For Each HardwareDimension In Map.refDimensioningPanelVM.HardwareDimensionList Dim IsHardwareDimActive As Boolean = False If Not Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nHardwarePage Then diff --git a/HardwareManager/Hardware.vb b/HardwareManager/Hardware.vb index e534737..08d2f5f 100644 --- a/HardwareManager/Hardware.vb +++ b/HardwareManager/Hardware.vb @@ -93,9 +93,13 @@ Public Class Hardware ' riconosce il tipo di Hardaware in base alla cartella in cui è slavato If m_SelBrand.ModelDir.ToLower.Contains(FRAME_FOLDER) Then bIsFrame = True + ' aggiormo il jamb con i vaori salvato nella pagina crrente + Map.refHardwarePageVM.Jamb.SetMaterial(Map.refHardwarePageVM.GenericPart.SelectedMaterial) Map.refHardwarePageVM.GenericPart = Map.refHardwarePageVM.Jamb Else bIsFrame = False + ' aggiormo il jamb con i vaori salvato nella pagina crrente + Map.refHardwarePageVM.Door.SetMaterial(Map.refHardwarePageVM.GenericPart.SelectedMaterial) Map.refHardwarePageVM.GenericPart = Map.refHardwarePageVM.Door End If @@ -198,7 +202,8 @@ Public Class Hardware End If FirstSelection = True ' Comunico grafica di eseguire lo zoom ReadChapterTemplate() ' Rileggo i parametri del SetdTemplate - ReadTemplate(m_SelTemplate) ' Carico i dati del template + 'ReadTemplate(m_SelTemplate) ' Carico i dati del template + ReadTemplate() ' Map.refSceneManagerVM.RefreshBtn() End If NotifyPropertyChanged("SelTemplate") @@ -284,7 +289,7 @@ Public Class Hardware ' creo la classe che ospiterà gli oggetti di tipo ComboBox Dim CompoMatch As New Compo(m_HardwareGeneral, True) CompoMatch.TemplateDDFName = MATCHING_FILE_TEMPLATE - CompoMatch.TemplateName = MATCHING_FILE_TEMPLATE + CompoMatch.TemplateName = MATCHING_FILE_TEMPLATE & " Door to Frame" ' creo le liste delle configurazioni Dim LocalHardwareListName As New ObservableCollection(Of String) Dim LocalHardwareListDDFName As New ObservableCollection(Of String) @@ -338,7 +343,7 @@ Public Class Hardware ' creo la classe che ospiterà gli oggetti di tipo ComboBox Dim CompoMatch As New Compo(m_HardwareGeneral, True) CompoMatch.TemplateDDFName = MATCHING_FILE_TEMPLATE_DOOR - CompoMatch.TemplateName = MATCHING_FILE_TEMPLATE_DOOR + CompoMatch.TemplateName = MATCHING_FILE_TEMPLATE_DOOR & " to Door" ' creo le liste delle configurazioni Dim LocalHardwareListName As New ObservableCollection(Of String) Dim LocalHardwareListDDFName As New ObservableCollection(Of String) @@ -555,25 +560,33 @@ Public Class Hardware End If If HardwareGeneral.JambSide.ToLower.Contains("hinge") Then Map.refHardwarePageVM.GenericPart.TypePart = PART_FRAME_LEFT & HINGE - Map.refHardwarePageVM.GenericPart.SetWidth(OptionModule.m_WidthJamb) - Map.refHardwarePageVM.GenericPart.SetHeight(OptionModule.m_Height) + If Not HardwarePartVM.bIsSettingDoor Then + Map.refHardwarePageVM.GenericPart.SetWidth(OptionModule.m_WidthJamb) + Map.refHardwarePageVM.GenericPart.SetHeight(OptionModule.m_Height) + End If Return ElseIf HardwareGeneral.JambSide.ToLower.Contains("lock") Then Map.refHardwarePageVM.GenericPart.TypePart = PART_FRAME_LEFT & LOCK - Map.refHardwarePageVM.GenericPart.SetWidth(OptionModule.m_WidthJamb) - Map.refHardwarePageVM.GenericPart.SetHeight(OptionModule.m_Height) + If Not HardwarePartVM.bIsSettingDoor Then + Map.refHardwarePageVM.GenericPart.SetWidth(OptionModule.m_WidthJamb) + Map.refHardwarePageVM.GenericPart.SetHeight(OptionModule.m_Height) + End If Return - ElseIf HardwareGeneral.JambSide.ToLower.Contains("top") Then + ElseIf HardwareGeneral.JambSide.ToLower.Contains("top") Then Map.refHardwarePageVM.GenericPart.TypePart = PART_FRAME_TOP & TOP - Map.refHardwarePageVM.GenericPart.SetWidth(OptionModule.m_Width) - Map.refHardwarePageVM.GenericPart.SetHeight(OptionModule.m_ThicknessHead) + If Not HardwarePartVM.bIsSettingDoor Then + Map.refHardwarePageVM.GenericPart.SetWidth(OptionModule.m_Width) + Map.refHardwarePageVM.GenericPart.SetHeight(OptionModule.m_ThicknessHead) + End If Return - ElseIf HardwareGeneral.JambSide.ToLower.Contains("bottom") Then + ElseIf HardwareGeneral.JambSide.ToLower.Contains("bottom") Then Map.refHardwarePageVM.GenericPart.TypePart = PART_FRAME_BOTTOM & BOTTOM - Map.refHardwarePageVM.GenericPart.SetWidth(OptionModule.m_Width) - Map.refHardwarePageVM.GenericPart.SetHeight(OptionModule.m_ThicknessHead) + If Not HardwarePartVM.bIsSettingDoor Then + Map.refHardwarePageVM.GenericPart.SetWidth(OptionModule.m_Width) + Map.refHardwarePageVM.GenericPart.SetHeight(OptionModule.m_ThicknessBottom) + End If Return - End If + End If End Sub @@ -708,7 +721,8 @@ Public Class Hardware End If Dim bIsActive As Boolean = True ' legge se è attivo - Dim nIsActive As Integer = StdTemplateGetPrivateProfileInt(S_CHAPTER & ChapterIndex, K_ISACTIVE, nIsActive) + Dim nIsActive As Integer = 0 + nIsActive = StdTemplateGetPrivateProfileInt(S_CHAPTER & ChapterIndex, K_ISACTIVE, nIsActive) ' verifico che non stia leggendo un nuovo hardware If Not bNewHardware And nIsActive > 3 Then nIsActive = 0 @@ -801,8 +815,13 @@ Public Class Hardware NotifyPropertyChanged("GroupChapters") End Sub + ' ricarico il file temporaneo + Public Sub RelaoadTempCurrHardwareFile() + ReadTemplate(CurrHardwareFilePath) + End Sub + ' legge il file lua: verifica che il file esista e se necessario il tipo di versione (solo per le Lock) - Friend Function ReadTemplate(sFile As String) As Boolean + Friend Function ReadTemplate(Optional ByVal sFile As String = "") As Boolean ' inizio la lettura del file lua selezionato Dim FileContent() As String Dim CurrItemPath As String = CurrPath() @@ -816,6 +835,10 @@ Public Class Hardware Version = "1" End If + If Not String.IsNullOrEmpty(sFile) Then + CurrItemPath = sFile + End If + If Not Path.HasExtension(CurrItemPath) Then CurrItemPath &= LUA_EXTENSION ElseIf Path.GetExtension(CurrItemPath).ToLower <> LUA_EXTENSION Then diff --git a/HardwarePart/HardwarePartVM.vb b/HardwarePart/HardwarePartVM.vb index a236922..d1a835e 100644 --- a/HardwarePart/HardwarePartVM.vb +++ b/HardwarePart/HardwarePartVM.vb @@ -265,19 +265,24 @@ Public Class HardwarePartVM Public Sub Apply() If Not IsNothing(Map.refHardwarePageVM) AndAlso Not IsNothing(Map.refHardwarePageVM.GenericPart) Then - Map.refHardwarePageVM.GenericPart.SetHeight( m_Height) - Map.refHardwarePageVM.GenericPart.SetWidth( m_Width) - Map.refHardwarePageVM.GenericPart.SetThickness( m_Thickness) + Map.refHardwarePageVM.GenericPart.SetHeight(m_Height) + Map.refHardwarePageVM.GenericPart.SetWidth(m_Width) + Map.refHardwarePageVM.GenericPart.SetThickness(m_Thickness) Map.refHardwarePageVM.GenericPart.SwingTypeList = m_SwingList - Map.refHardwarePageVM.GenericPart.SetSwing( m_SelectedItem) - Map.refHardwarePageVM.GenericPart.SetLockEdgeType( m_SelectedLockEdgeProfile) - Map.refHardwarePageVM.GenericPart.SetHingeEdgeType( m_SelectedHingeEdgeProfile) - Map.refHardwarePageVM.GenericPart.SetTopType( m_SelectedTopEdgeProfile) - Map.refHardwarePageVM.GenericPart.SetBottomType( m_SelectedBottomEdgeProfile) - Map.refHardwarePageVM.GenericPart.SetMaterial( m_SelectedMaterial) + Map.refHardwarePageVM.GenericPart.SetSwing(m_SelectedItem) + Map.refHardwarePageVM.GenericPart.SetLockEdgeType(m_SelectedLockEdgeProfile) + Map.refHardwarePageVM.GenericPart.SetHingeEdgeType(m_SelectedHingeEdgeProfile) + Map.refHardwarePageVM.GenericPart.SetTopType(m_SelectedTopEdgeProfile) + Map.refHardwarePageVM.GenericPart.SetBottomType(m_SelectedBottomEdgeProfile) + Map.refHardwarePageVM.GenericPart.SetMaterial(m_SelectedMaterial) Map.refHardwarePageVM.GenericPart.NotifyPropertyChanged("GenericPart") bIsSettingDoor = True Map.refSceneManagerVM.RefreshBtn() + If Not IsNothing(Map.refHardwarePageVM.CurrHardware()) Then + Map.refHardwarePageVM.CurrHardware.ClearGroupChapters() + Map.refHardwarePageVM.CurrHardware.ReadChapterTemplate() + Map.refHardwarePageVM.CurrHardware.RelaoadTempCurrHardwareFile() + End If bIsSettingDoor = False End If End Sub diff --git a/ProjectManager/ProjectManagerHardwareVM.vb b/ProjectManager/ProjectManagerHardwareVM.vb index b929ac6..c787019 100644 --- a/ProjectManager/ProjectManagerHardwareVM.vb +++ b/ProjectManager/ProjectManagerHardwareVM.vb @@ -461,7 +461,7 @@ Public Class ProjectManagerHardwareVM Map.refHardwarePageVM.CurrHardware.ClearGroupChapters() Map.refHardwarePageVM.CurrHardware.SelTemplate = ItemFile Map.refHardwarePageVM.CurrHardware.ReadChapterTemplate() - Map.refHardwarePageVM.CurrHardware.ReadTemplate(ItemFile) + Map.refHardwarePageVM.CurrHardware.ReadTemplate() Map.refHardwarePageVM.CurrHardware.SetLayerName(refNewhardwareVM.Template) Map.refHardwarePageVM.CurrHardware.NotifyPropertyChanged("SelTemplate") Map.refHardwarePageVM.NotifyPropertyChanged("CurrHardware") diff --git a/ProjectManager/ProjectManagerVM.vb b/ProjectManager/ProjectManagerVM.vb index e5c3cb7..bb02e70 100644 --- a/ProjectManager/ProjectManagerVM.vb +++ b/ProjectManager/ProjectManagerVM.vb @@ -1432,6 +1432,7 @@ Public Class ProjectManagerVM Map.refHardwarePageVM.CreateDoor() ' creo un pezzo di telaio per il disegno dell'hardware Map.refHardwarePageVM.CreateJamb() + Map.refSceneManagerVM.RefreshBtn() ' carico la lista dei nomi delle geometrie CompoMatch.LoadTableGeometry() diff --git a/SceneManager/DimensioningPanel/DimensioningPanelVM.vb b/SceneManager/DimensioningPanel/DimensioningPanelVM.vb index f569bb5..26780ff 100644 --- a/SceneManager/DimensioningPanel/DimensioningPanelVM.vb +++ b/SceneManager/DimensioningPanel/DimensioningPanelVM.vb @@ -83,7 +83,7 @@ Public Class DimensioningPanelVM Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) AndAlso Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly) AndAlso Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor) Then - For Each CurrPart In Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor + For Each CurrPart In Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoorOfDoor If Not IsNothing(CurrPart.Door) Then SetHardwareDimension(CurrPart.Door) End If