d611f66d43
Correzioni e migliorie
237 lines
9.4 KiB
VB.net
237 lines
9.4 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports System.IO
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
Imports EgtBEAMWALL.Core
|
|
|
|
Public Class MyInstrumentPanelVM
|
|
Inherits InstrumentPanelVM
|
|
|
|
Public ReadOnly Property ChangeParam_Visibility As Visibility
|
|
Get
|
|
Return If(Map.refMainMenuVM.SelPage = Pages.VIEW, Visibility.Visible, Visibility.Collapsed)
|
|
End Get
|
|
End Property
|
|
|
|
Private m_InstrumentPanel_IsEnabled As Boolean = True
|
|
Public Property InstrumentPanel_IsEnabled As Boolean
|
|
Get
|
|
Return m_InstrumentPanel_IsEnabled
|
|
End Get
|
|
Set(value As Boolean)
|
|
m_InstrumentPanel_IsEnabled = value
|
|
End Set
|
|
End Property
|
|
|
|
Dim m_PrevBottomPanelPage As BottomPanelVM.PartFeatureTab = BottomPanelVM.PartFeatureTab.STRUCTURE_
|
|
Private m_Statistics_IsChecked As Boolean = False
|
|
Public Property Statistics_IsChecked As Boolean
|
|
Get
|
|
Return m_Statistics_IsChecked
|
|
End Get
|
|
Set(value As Boolean)
|
|
m_Statistics_IsChecked = value
|
|
If Map.refMainMenuVM.SelPage = Pages.VIEW Then
|
|
If value Then
|
|
' salvo pagina precedente
|
|
m_PrevBottomPanelPage = Map.refBottomPanelVM.SelPartFeatureTab
|
|
' aggiorno valori totali
|
|
Map.refProjectVM.BTLStructureVM.CalcGlobalUpdate()
|
|
' seleziono pagina Statistics
|
|
Map.refBottomPanelVM.SetSelPartFeatureTab(BottomPanelVM.PartFeatureTab.STATISTICS)
|
|
Else
|
|
' seleziono pagina precedente
|
|
Map.refBottomPanelVM.SetSelPartFeatureTab(m_PrevBottomPanelPage)
|
|
End If
|
|
ElseIf Map.refMainMenuVM.SelPage = Pages.MACHINING Then
|
|
If value Then
|
|
' aggiorno valori totali
|
|
Map.refProjectVM.MachGroupPanelVM.CalcGlobalUpdate()
|
|
' seleziono pagina Statistics
|
|
Map.refTopPanelVM.SetSelTab(TopPanelVM.Tabs.STATISTICS)
|
|
Else
|
|
' seleziono pagina precedente
|
|
Map.refTopPanelVM.SetSelTab(TopPanelVM.Tabs.OPTIMIZATION)
|
|
End If
|
|
End If
|
|
End Set
|
|
End Property
|
|
Friend Sub SetStatisticsIsChecked(value As Boolean)
|
|
m_Statistics_IsChecked = value
|
|
NotifyPropertyChanged(NameOf(Statistics_IsChecked))
|
|
End Sub
|
|
|
|
' Definizione comandi
|
|
Private m_cmdData As ICommand
|
|
Private m_cmdChangeParameter As ICommand
|
|
Private m_cmdStatistics As ICommand
|
|
|
|
#Region "Messages"
|
|
|
|
Public ReadOnly Property ChangeParam_ToolTip As String
|
|
Get
|
|
Return EgtMsg(61900)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property Statistics_Msg As String
|
|
Get
|
|
Return EgtMsg(61923)
|
|
End Get
|
|
End Property
|
|
|
|
#End Region ' Messages
|
|
|
|
#Region "CONSTRUCTORS"
|
|
|
|
Sub New()
|
|
' imposto riferimento in Map
|
|
Map.SetRefInstrumentPanelVM(Me)
|
|
End Sub
|
|
|
|
#End Region ' CONSTRUCTORS
|
|
|
|
#Region "METHODS"
|
|
|
|
Public Overrides Function OnPostGetDistIsChecked() As Boolean
|
|
If Not Map.refFreeContourManagerVM.bIsActive Then Map.refSceneHostVM.MainScene.SetStatusNull()
|
|
Return True
|
|
End Function
|
|
|
|
Friend Sub SetGetDistance_IsChecked(bIsChecked As Boolean)
|
|
GetDistIsChecked = bIsChecked
|
|
End Sub
|
|
|
|
Friend Sub ResetStatisticsIsChecked()
|
|
If Statistics_IsChecked Then
|
|
Statistics_IsChecked = False
|
|
NotifyPropertyChanged(NameOf(Statistics_IsChecked))
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub SetInstrumentPanelIsEnabled(bIsEnabled As Boolean)
|
|
m_InstrumentPanel_IsEnabled = bIsEnabled
|
|
NotifyPropertyChanged(NameOf(InstrumentPanel_IsEnabled))
|
|
End Sub
|
|
|
|
#End Region ' METHODS
|
|
|
|
#Region "COMMANDS"
|
|
|
|
#Region "Data"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Open.
|
|
''' </summary>
|
|
Public ReadOnly Property Data_Command As ICommand
|
|
Get
|
|
If m_cmdData Is Nothing Then
|
|
m_cmdData = New Command(AddressOf Data)
|
|
End If
|
|
Return m_cmdData
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Open. This method is invoked by the OpenCommand.
|
|
''' </summary>
|
|
Friend Sub Data()
|
|
Dim BTLDataWnd As New BTLDataWndV(Application.Current.MainWindow, New BTLDataWndVM())
|
|
BTLDataWnd.ShowDialog()
|
|
End Sub
|
|
|
|
#End Region ' Data
|
|
|
|
#Region "ChangeParameter"
|
|
|
|
''' <summary>
|
|
''' Returns a command that do Open.
|
|
''' </summary>
|
|
Public ReadOnly Property ChangeParameter_Command As ICommand
|
|
Get
|
|
If m_cmdChangeParameter Is Nothing Then
|
|
m_cmdChangeParameter = New Command(AddressOf ChangeParameter)
|
|
End If
|
|
Return m_cmdChangeParameter
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Execute the Open. This method is invoked by the OpenCommand.
|
|
''' </summary>
|
|
Friend Sub ChangeParameter()
|
|
If (Map.refMainMenuVM.SelPage = Pages.VIEW AndAlso (IsNothing(Map.refProjManagerVM.CurrProj) OrElse IsNothing(Map.refProjectVM.BTLStructureVM)) OrElse
|
|
(Map.refMainMenuVM.SelPage = Pages.MACHINING AndAlso (IsNothing(Map.refProdManagerVM.CurrProd) OrElse IsNothing(Map.refProjectVM.MachGroupPanelVM)))) Then Return
|
|
Dim ChangeParameterWndVM As New ChangeParameterWndVM
|
|
Dim ChangeParameterWnd As New ChangeParameterWndV(Application.Current.MainWindow, ChangeParameterWndVM)
|
|
If ChangeParameterWnd.ShowDialog() Then
|
|
' faccio passare pezzi
|
|
If Not IsNothing(ChangeParameterWndVM.SelParam) Then
|
|
For Each Part In Map.refProjectVM.BTLStructureVM.BTLPartVMList
|
|
For Each Feature In Part.BTLFeatureVMList.Where(Function(x) x.nPRC = ChangeParameterWndVM.SelPRC.nPRC AndAlso CalcBeamPrivateProfileGRP(x.nSelGRP) = ChangeParameterWndVM.SelPRC.nGRP)
|
|
If ChangeParameterWndVM.SelParam.BTLParamM.nType = BTLParamType.CHECKBOX AndAlso Feature.bDO = ChangeParameterWndVM.SelParam.bActualValue Then
|
|
Feature.bDO = ChangeParameterWndVM.SelParam.bNewValue
|
|
Else
|
|
Dim ParamList As ObservableCollection(Of BTLParamVM)
|
|
If ChangeParameterWndVM.SelParam.BTLParamM.bIsP Then
|
|
ParamList = Feature.PBTLParamVMList
|
|
Else
|
|
ParamList = Feature.QBTLParamVMList
|
|
End If
|
|
For Each Param In ParamList.Where(Function(x) x.sName = ChangeParameterWndVM.SelParam.sName)
|
|
Select Case Param.nType
|
|
Case BTLParamType.DOUBLE_, BTLParamType.LENGTH
|
|
If Param.dValue = ChangeParameterWndVM.SelParam.dActualValue Then
|
|
Param.UpdateParamValue(ChangeParameterWndVM.SelParam.dNewValue, "")
|
|
'' rinfresco valori parametri feature correntemente selezionata
|
|
'If Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) AndAlso
|
|
' Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM) AndAlso
|
|
' Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM Is Feature Then
|
|
' Param.NotifyPropertyChanged("sValue")
|
|
'End If
|
|
End If
|
|
Case BTLParamType.STRING_
|
|
If Param.sValue = ChangeParameterWndVM.SelParam.sActualValue Then
|
|
Param.UpdateParamValue(0, ChangeParameterWndVM.SelParam.sNewValue)
|
|
'' rinfresco valori parametri feature correntemente selezionata
|
|
'If Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) AndAlso
|
|
' Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM) AndAlso
|
|
' Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM.nPRC = ChangeParameterWndVM.SelPRC.nPRC AndAlso
|
|
' Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM.nSelGRP = ChangeParameterWndVM.SelPRC.nGRP Then
|
|
' Param.NotifyPropertyChanged("sValue")
|
|
'End If
|
|
End If
|
|
End Select
|
|
Next
|
|
End If
|
|
Next
|
|
'' faccio passare feature
|
|
'For Each Feature In Part.FeatureList
|
|
' If Feature.nPRC = ChangeParameterWndVM.SelPRC.nPRC Then
|
|
' For Each Param In Feature.PParamList
|
|
' If Param.sName = ChangeParameterWndVM.SelParam.sName Then
|
|
' Select Case Param.nType
|
|
' Case BTLParamType.DOUBLE_, BTLParamType.LENGTH
|
|
' If Param.dValue = ChangeParameterWndVM.SelParam.dActualValue Then
|
|
' Param.dValue = ChangeParameterWndVM.SelParam.dValue
|
|
' End If
|
|
' Case BTLParamType.STRING_
|
|
' If Param.sValue = ChangeParameterWndVM.SelParam.sActualValue Then
|
|
' Param.sValue = ChangeParameterWndVM.SelParam.sValue
|
|
' End If
|
|
' End Select
|
|
' End If
|
|
' Next
|
|
' End If
|
|
'Next
|
|
Next
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
#End Region ' ChangeParameter
|
|
|
|
#End Region ' COMMANDS
|
|
|
|
End Class
|