From feb943cfb17130433c3193326e0d8111f7f7e3bc Mon Sep 17 00:00:00 2001 From: Demetrio Cassarino Date: Tue, 29 Jul 2025 10:26:22 +0200 Subject: [PATCH] -aggiunto immagine al posto del tooltip in ppparameter -gestito vista assemblato -aggiornato cotrolli su vista assemblato -aggiornato selezione multipla pezzi --- .../BTLViewModel/BTLFeatureVM.vb | 11 ++++++ .../BTLViewModel/BTLPartVM.vb | 18 ++++----- .../BTLViewModel/BTLStructureVM.vb | 35 ++++++++++-------- .../EgtBEAMWALL.Optimizer.vbproj | 3 ++ .../OnlyProdPParameterListV.xaml | 22 ++++++++--- .../ItemParamList/PParameterListVM.vb | 11 ++++++ .../ItemParamList/RawPartListVM.vb | 2 +- .../LeftPanel/OnlyProdLeftPanelV.xaml | 2 +- .../MachGroupPanel/MyMachGroupPanelVM.vb | 6 +++ .../MachGroupPanel/MyMachGroupVM.vb | 3 ++ EgtBEAMWALL.Optimizer/MainMenu/MainMenuVM.vb | 1 - EgtBEAMWALL.Optimizer/Project/ProjectVM.vb | 2 +- .../Resources/NewPage/Inversion.png | Bin 0 -> 1158 bytes .../ShowBeamPanel/ShowBeamPanelVM.vb | 2 +- .../SplashScreen/SplashScreenV.xaml | 2 +- 15 files changed, 85 insertions(+), 35 deletions(-) create mode 100644 EgtBEAMWALL.Optimizer/Resources/NewPage/Inversion.png diff --git a/EgtBEAMWALL.Optimizer/BTLViewModel/BTLFeatureVM.vb b/EgtBEAMWALL.Optimizer/BTLViewModel/BTLFeatureVM.vb index 7e25f740..9c197e87 100644 --- a/EgtBEAMWALL.Optimizer/BTLViewModel/BTLFeatureVM.vb +++ b/EgtBEAMWALL.Optimizer/BTLViewModel/BTLFeatureVM.vb @@ -167,6 +167,11 @@ Public Class BTLFeatureVM sPar = Nothing vParQ = Nothing m_BTLFeatureM.CalcParamArray(vPar, sPar, vParQ) + If value > 0 AndAlso IO.File.Exists(Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & sDescGRP & "." & sDES & ".png") Then + Map.refPParameterListVM.SetCurrDraw(Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & sDescGRP & "." & sDES & ".png") + Else + Map.refPParameterListVM.SetCurrDraw(Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & sDescGRP & ".png") + End If End Sub Public Property sPriority As String @@ -257,6 +262,12 @@ Public Class BTLFeatureVM End Get Set(value As BTLParamVM) m_SelPBTLParam = value + If Not IsNothing(m_SelPBTLParam) Then + ' imposto path disegno da mostrare in BottomPanel + If Not IsNothing(Map.refProjectVM) Then + Map.refPParameterListVM.SetCurrDraw(m_SelPBTLParam.sDrawPath) + End If + End If NotifyPropertyChanged(NameOf(SelPBTLParam)) End Set End Property diff --git a/EgtBEAMWALL.Optimizer/BTLViewModel/BTLPartVM.vb b/EgtBEAMWALL.Optimizer/BTLViewModel/BTLPartVM.vb index 473c16be..a73f6702 100644 --- a/EgtBEAMWALL.Optimizer/BTLViewModel/BTLPartVM.vb +++ b/EgtBEAMWALL.Optimizer/BTLViewModel/BTLPartVM.vb @@ -1537,6 +1537,7 @@ Public Class BTLPartVM If Not IsNothing(m_SelBTLFeatureVM) Then m_SelBTLFeatureVM.SelGeomFeature() m_PrevSelBTLFeatureVM = value + Map.refPParameterListVM.SetCurrDraw(DirectCast(m_SelBTLFeatureVM, BTLFeatureVM).sDrawPath) ' deseleziono i parametri If Not IsNothing(SelBTLFeatureVM.SelPBTLParam) Then SelBTLFeatureVM.SelPBTLParam = Nothing ' rinfresco bottoni freecontour @@ -1548,6 +1549,13 @@ Public Class BTLPartVM If Integer.TryParse(m_SelBTLFeatureVM.sDES, nVariant) Then m_SelBTLFeatureVM.nSelVARIANT = nVariant End If + If m_SelBTLFeatureVM.nSelVARIANT > 0 AndAlso + System.IO.File.Exists(Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & m_SelBTLFeatureVM.sDescGRP & "." & m_SelBTLFeatureVM.sDES & ".png") Then + ' imposto path disegno da mostrare in BottomPanel + Map.refPParameterListVM.SetCurrDraw(Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & m_SelBTLFeatureVM.sDescGRP & "." & m_SelBTLFeatureVM.sDES & ".png") + Else + Map.refPParameterListVM.SetCurrDraw(Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & m_SelBTLFeatureVM.sDescGRP & ".png") + End If Else Map.refFeatureManagerVM.SetVariant_Visibility(Visibility.Collapsed) End If @@ -1557,15 +1565,6 @@ Public Class BTLPartVM ' EgtDeselectAll() End If If Not IsNothing(Map.refFeatureListManagerVM) Then Map.refFeatureListManagerVM.FeatureSelectionChanged() - 'End If - 'If Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE Then - ' If Map.refProjectVM.LastSelGridType = ProjectVM.GridSelTypes.MACHGROUP Then - ' EgtResetCurrMachGroup() - ' ResetSearchFound() - ' Map.refStatisticsTimePanelVM.SetViewPage_Visibility(Visibility.Visible) - ' Map.refStatisticsTimePanelVM.SetMachiningPage_Visibility(Visibility.Collapsed) - ' End If - 'End If EgtDraw() NotifyPropertyChanged(NameOf(SelBTLFeatureVM)) ' se modalità building, la tolgo @@ -2755,6 +2754,7 @@ Public Class BTLPartVM CalcGlobalUpdate(True) ' imposto path disegno da mostrare in BottomPanel Dim SelPBTLParam As BTLParamVM = Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM.SelPBTLParam + If Not IsNothing(Map.refProjectVM) AndAlso Not IsNothing(SelPBTLParam) Then Map.refPParameterListVM.SetCurrDraw(SelPBTLParam.sDrawPath) Case NameOf(sender.bDO), NameOf(sender.sPriority) NotifyPropertyChanged(NameOf(bDOALL)) ' setto pezzo da ricalcolare diff --git a/EgtBEAMWALL.Optimizer/BTLViewModel/BTLStructureVM.vb b/EgtBEAMWALL.Optimizer/BTLViewModel/BTLStructureVM.vb index 6d97796f..45dac230 100644 --- a/EgtBEAMWALL.Optimizer/BTLViewModel/BTLStructureVM.vb +++ b/EgtBEAMWALL.Optimizer/BTLViewModel/BTLStructureVM.vb @@ -1,6 +1,8 @@ Imports System.Collections.ObjectModel Imports System.Collections.Specialized Imports System.ComponentModel +Imports System.Web.UI.WebControls.WebParts +Imports System.Windows.Interop Imports System.Windows.Threading Imports EgtBEAMWALL.Core Imports EgtUILib @@ -120,6 +122,8 @@ Public Class BTLStructureVM End Property Private Sub SelBTLParts_CollectionChanged(sender As Object, e As NotifyCollectionChangedEventArgs) + ' Setto contesto finestra principale + if Map.refShowBeamPanelVM.ShowBuilding_IsChecked Then EgtSetCurrentContext(Map.refSceneHostVM.MainScene.GetCtx()) If m_bOnlySelectItem Then Return Select Case e.Action Case NotifyCollectionChangedAction.Add @@ -155,6 +159,9 @@ Public Class BTLStructureVM If Map.refShowBeamPanelVM.ShowBuilding_IsChecked Then ShowBuilding(False, False) Map.refShowBeamPanelVM.SetShowBuilding(False) + Map.refProjectVM.SetSceneShowBuldingVisibility(Visibility.Collapsed) + Map.refProjectVM.SetManagerTabVisibility(Visibility.Visible) + If Not IsNothing(Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup) AndAlso Not IsNothing(Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup.SelPart) Then Map.refProjectVM.SetFeatureListVisibility(Visibility.Visible) End If SceneSelPartSelection() ' seleziono pezzo in Db geometrico @@ -196,9 +203,6 @@ Public Class BTLStructureVM If Not bIsReselect AndAlso m_SelBTLParts.Count = 1 Then BtlPart.SetOpenFeatureList(True) End If - If Map.refShowBeamPanelVM.ShowBuilding_IsChecked Then - Map.refShowBeamPanelVM.SetShowBuilding(False) - End If End Sub Private Sub DeselectBTLPart(BtlPart As BTLPartVM) ' se necessario tolgo solido dal precedentemente selezionato @@ -891,14 +895,18 @@ Public Class BTLStructureVM ' disabilito impostazione modificato Dim DisableMgr As New DisableModifiedMgr ' ciclo sui pezzi - For Each Part As BTLPartVM In m_BTLPartVMList - ' se non è quello selezionato, lo nascondo - If Part IsNot m_SelBTLPart Then - EgtSetMode(Part.nPartId, GDB_MD.HIDDEN) - Else - EgtSetMode(Part.nPartId, GDB_MD.STD) - End If - Next + If (Keyboard.Modifiers And ModifierKeys.Shift) = ModifierKeys.Shift OrElse (Keyboard.Modifiers And ModifierKeys.Control) = ModifierKeys.Control Then + EgtSetMode(Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId, GDB_MD.STD) + Else + For Each Part As BTLPartVM In m_BTLPartVMList + ' se non è quello selezionato, lo nascondo + If Part IsNot m_SelBTLPart Then + EgtSetMode(Part.nPartId, GDB_MD.HIDDEN) + Else + EgtSetMode(Part.nPartId, GDB_MD.STD) + End If + Next + End If ' ripristino precedente impostazione modificato DisableMgr.ReEnable() End Sub @@ -968,12 +976,9 @@ Public Class BTLStructureVM End Sub Friend Sub ShowBuilding(bShow As Boolean, Optional bRedraw As Boolean = True) - 'If Not IsNothing(Map.refProjectVM.MachGroupPanelVM) AndAlso Not IsNothing(Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup) Then - ' EgtSetStatus(Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup.Id, GDB_ST.OFF) - 'End If If bShow Then ShowAll(False) - Dim CurrProdPathFile As String = ProjectManagerVM.CurrProj.sProjPath + Dim CurrProdPathFile As String = ProjectManagerVM.CurrProd.sProdPath If IO.File.Exists(CurrProdPathFile) Then EgtOpenFile(CurrProdPathFile) Else diff --git a/EgtBEAMWALL.Optimizer/EgtBEAMWALL.Optimizer.vbproj b/EgtBEAMWALL.Optimizer/EgtBEAMWALL.Optimizer.vbproj index 9e3e405d..c7026d5b 100644 --- a/EgtBEAMWALL.Optimizer/EgtBEAMWALL.Optimizer.vbproj +++ b/EgtBEAMWALL.Optimizer/EgtBEAMWALL.Optimizer.vbproj @@ -1073,6 +1073,9 @@ + + + IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.OptimizerR32.exe diff --git a/EgtBEAMWALL.Optimizer/ItemParamList/OnlyProdPParameterListV.xaml b/EgtBEAMWALL.Optimizer/ItemParamList/OnlyProdPParameterListV.xaml index 011d18c2..9e672ffb 100644 --- a/EgtBEAMWALL.Optimizer/ItemParamList/OnlyProdPParameterListV.xaml +++ b/EgtBEAMWALL.Optimizer/ItemParamList/OnlyProdPParameterListV.xaml @@ -9,6 +9,10 @@ + + + + + Style="{StaticResource OnlyProd_TextBlock}"> - - + + @@ -130,7 +137,12 @@ + +