- Correzione gestione BWType su Supervisor

This commit is contained in:
Emmanuele Sassi
2021-11-18 10:03:43 +01:00
parent 6ccb91b658
commit 4c27716ba2
6 changed files with 130 additions and 63 deletions
@@ -31,9 +31,7 @@ Public Module DataGridColumnsIniFile
Integer.TryParse(sColumnParams(6), WidthType)
Dim bVisible As Boolean = sColumnParams(7).Equals("1")
Dim bCanUserEditVisible As Boolean = sColumnParams(8).Equals("1")
If bVisible Then
ocColumns.Add(New EgtDataGridColumn(ParentDGName, sName, bReorder, bResize, bSort, bIsReadOnly, New DataGridLength(Width, WidthType), bVisible, bCanUserEditVisible))
End If
ocColumns.Add(New EgtDataGridColumn(ParentDGName, sName, bReorder, bResize, bSort, bIsReadOnly, New DataGridLength(Width, WidthType), bVisible, bCanUserEditVisible))
End If
colIndex += 1
End While
@@ -8,8 +8,6 @@ Public Class FeatureInPartInRawPartListVM
#Region "FIELDS & PROPERTIES"
Private m_colRedo As New EgtDataGridColumn("colREDO")
Private m_colFeatureInPartInRawPart_Redo As EgtDataGridColumn
Public ReadOnly Property colFeatureInPartInRawPart_Redo As EgtDataGridColumn
Get
@@ -61,24 +59,12 @@ Public Class FeatureInPartInRawPartListVM
Core.GetPrivateProfileColumns(S_FEATUREINPARTINRAWPARTLIST_SUPERVISOR, FeatureInPartInRawPartColumns)
' recupero riferimento a colonna Redo
m_colFeatureInPartInRawPart_Redo = FeatureInPartInRawPartColumns.FirstOrDefault(Function(x) x.Name = COL_REDO)
'' carico colonna Redo
'Core.GetPrivateProfileColumn(S_FEATUREINPARTINRAWPARTLIST_SUPERVISOR, m_colRedo)
'm_colRedo.ColumnVisibility = Visibility.Visible
End Sub
#End Region ' CONSTRUCTOR
#Region "METHODS"
Public Sub AddColRedo()
FeatureInPartInRawPartColumns.Insert(0, m_colRedo)
End Sub
Public Sub RemoveColRedo()
FeatureInPartInRawPartColumns.Remove(m_colRedo)
End Sub
Sub SetFeatureListVisibility(bVisible As Boolean)
m_FeatureList_Visibility = If(bVisible, Visibility.Visible, Visibility.Collapsed)
NotifyPropertyChanged(NameOf(FeatureList_Visibility))
@@ -33,14 +33,49 @@
<!--PDN - Nome-->
<DataGridTextColumn x:Key="colPDN" Binding="{Binding nPDN}">
<DataGridTextColumn.Header>
<TextBlock Text="SN"/>
<TextBlock Text="{Binding Path=DataContext.PDN_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartInRawPartListV}}}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
<!--Validità pezzo-->
<DataGridTemplateColumn x:Key="colCALC">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Border Background="{Binding Calc_Background}"/>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="10"/>
</Grid.ColumnDefinitions>
<TextBlock Text="↓"
Foreground="Aqua"
TextAlignment="Center"
FontWeight="Bold"
FontSize="12"
Margin="0,-6,0,-2"
Visibility="{Binding CALC_FALL_Visibility}"/>
<Border Width="{Binding ActualHeight, RelativeSource={RelativeSource self}}"
Grid.Column="1"
Background="{Binding Calc_Background}"/>
<Grid Grid.Column="2"
HorizontalAlignment="Center">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Ellipse Width="5"
Height="5"
Fill="Red"
Visibility="{Binding CALC_ROT_Visibility}"
HorizontalAlignment="Center"/>
<TextBlock Grid.Row="1"
Text="{Binding CALC_ERR_Letter}"
Foreground="{Binding CALC_ERR_Foreground}"
TextAlignment="Center"
FontWeight="Bold"
FontSize="12"
Margin="0,-6,0,-2"/>
</Grid>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
@@ -60,44 +95,60 @@
</DataGridTextColumn.Header>
</DataGridTextColumn>
<!--W - Larghezza-->
<DataGridTextColumn x:Key="colW" Binding="{Binding dW}">
<DataGridTextColumn x:Key="colW" Binding="{Binding sW}" SortMemberPath="dW">
<DataGridTextColumn.Header>
<TextBlock Text="{Binding Path=DataContext.W_Msg,
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartInRawPartListV}}}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
<!--H - Altezza-->
<DataGridTextColumn x:Key="colH" Binding="{Binding dH}">
<DataGridTextColumn x:Key="colH" Binding="{Binding sH}" SortMemberPath="dH">
<DataGridTextColumn.Header>
<TextBlock Text="{Binding Path=DataContext.H_Msg,
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartInRawPartListV}}}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
<!--L - Lunghezza-->
<DataGridTextColumn x:Key="colL" Binding="{Binding dL}">
<DataGridTextColumn x:Key="colL" Binding="{Binding sL}" SortMemberPath="dL">
<DataGridTextColumn.Header>
<TextBlock Text="{Binding Path=DataContext.L_Msg,
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartInRawPartListV}}}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
<!--ROT - Rotazione-->
<DataGridTextColumn x:Key="colROTATED" Binding="{Binding sROTATED}" SortMemberPath="nROTATED">
<DataGridTextColumn x:Key="colROT" Binding="{Binding sROT}" SortMemberPath="dROT">
<DataGridTextColumn.Header>
<TextBlock Text="Rotazione"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
<!--INV - Inversione-->
<DataGridTextColumn x:Key="colINVERTED" Binding="{Binding sINVERTED}" SortMemberPath="nINVERTED">
<DataGridTextColumn.Header>
<DataGridTemplateColumn x:Key="colFLIP">
<DataGridTemplateColumn.Header>
<TextBlock Text="Inversione"/>
</DataGridTextColumn.Header>
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox IsChecked="{Binding bFLIP, UpdateSourceTrigger=PropertyChanged}"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--PosX - Posizione-->
<DataGridTextColumn x:Key="colPOSX" Binding="{Binding sPOSX, UpdateSourceTrigger=PropertyChanged}" SortMemberPath="dPOSX">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DataContext.PosX_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartInRawPartListV}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<!--Pos - Posizione-->
<DataGridTextColumn x:Key="colPOSX" Binding="{Binding sPOSX}" SortMemberPath="dPOSX">
<DataGridTextColumn.Header>
<TextBlock Text="{Binding Path=DataContext.PosX_Msg,
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartInRawPartListV}}}"/>
</DataGridTextColumn.Header>
<!--PosY - Posizione-->
<DataGridTextColumn x:Key="colPOSY" Binding="{Binding sPOSY, UpdateSourceTrigger=PropertyChanged}" SortMemberPath="dPOSY">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=DataContext.PosY_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:PartInRawPartListV}}}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
</DataGridTextColumn>
<!--Off - Offset-->
<DataGridTextColumn x:Key="colOFFSET" Binding="{Binding sOffset}" SortMemberPath="dOffset">
@@ -4,8 +4,6 @@ Imports EgtUILib
Public Class PartInRawPartListVM
Private m_colRedo As New EgtDataGridColumn("colREDO")
Private m_colPartInRawPart_Offset As EgtDataGridColumn
Public ReadOnly Property colPartInRawPart_Offset As EgtDataGridColumn
Get
@@ -126,38 +124,58 @@ Public Class PartInRawPartListVM
Core.GetPrivateProfileColumns(S_PARTINRAWPARTLIST_SUPERVISOR, PartInRawPartColumns)
' recupero riferimento a colonna Redo
m_colPartInRawPart_Redo = PartInRawPartColumns.FirstOrDefault(Function(x) x.Name = COL_REDO)
If Not IsNothing(colPartInRawPart_Redo) Then
colPartInRawPart_Redo.ColumnVisibility = Visibility.Collapsed
End If
'' carico colonna Redo
'Core.GetPrivateProfileColumn(S_FEATUREINPARTINRAWPARTLIST_SUPERVISOR, m_colRedo)
'm_colRedo.ColumnVisibility = Visibility.Visible
End Sub
#End Region ' CONSTRUCTOR
Public Sub AddColRedo()
PartInRawPartColumns.Insert(0, m_colRedo)
End Sub
Public Sub RemoveColRedo()
PartInRawPartColumns.Remove(m_colRedo)
End Sub
Friend Sub UpdateColumns(nMachType As MachineType)
If nMachType = MachineType.BEAM Then
PartInRawPartColumns.Clear()
GetPrivateProfileColumns(S_PARTINRAWPARTLIST_BEAM, PartInRawPartColumns)
ElseIf nMachType = MachineType.WALL Then
PartInRawPartColumns.Clear()
GetPrivateProfileColumns(S_PARTINRAWPARTLIST_WALL, PartInRawPartColumns)
End If
' recupero riferimento a colonne Offset, Rot, Flip, PosX, PosY
m_colPartInRawPart_Offset = m_PartInRawPartColumns.FirstOrDefault(Function(x) x.Name = COL_OFFSET)
m_colPartInRawPart_Rot = m_PartInRawPartColumns.FirstOrDefault(Function(x) x.Name = COL_ROT)
m_colPartInRawPart_Flip = m_PartInRawPartColumns.FirstOrDefault(Function(x) x.Name = COL_FLIP)
m_colPartInRawPart_PosX = m_PartInRawPartColumns.FirstOrDefault(Function(x) x.Name = COL_POSX)
m_colPartInRawPart_PosY = m_PartInRawPartColumns.FirstOrDefault(Function(x) x.Name = COL_POSY)
' nascondo colonna redo
If Not IsNothing(colPartInRawPart_Redo) Then
colPartInRawPart_Redo.ColumnVisibility = Visibility.Collapsed
End If
End Sub
#End Region ' CONSTRUCTOR
Friend Sub UpdateColumns(nMachType As MachineType)
If nMachType = MachineType.BEAM Then
If Not IsNothing(m_colPartInRawPart_Offset) Then
m_colPartInRawPart_Offset.ColumnVisibility = Visibility.Visible
End If
If Not IsNothing(m_colPartInRawPart_Rot) Then
m_colPartInRawPart_Rot.ColumnVisibility = Visibility.Collapsed
End If
If Not IsNothing(m_colPartInRawPart_Flip) Then
m_colPartInRawPart_Flip.ColumnVisibility = Visibility.Collapsed
End If
If Not IsNothing(m_colPartInRawPart_PosX) Then
m_colPartInRawPart_PosX.ColumnVisibility = Visibility.Collapsed
End If
If Not IsNothing(m_colPartInRawPart_PosY) Then
m_colPartInRawPart_PosY.ColumnVisibility = Visibility.Collapsed
End If
'PartInRawPartColumns.Clear()
'GetPrivateProfileColumns(S_PARTINRAWPARTLIST_BEAM, PartInRawPartColumns)
ElseIf nMachType = MachineType.WALL Then
If Not IsNothing(m_colPartInRawPart_Offset) Then
m_colPartInRawPart_Offset.ColumnVisibility = Visibility.Collapsed
End If
If Not IsNothing(m_colPartInRawPart_Rot) Then
m_colPartInRawPart_Rot.ColumnVisibility = Visibility.Visible
End If
If Not IsNothing(m_colPartInRawPart_Flip) Then
m_colPartInRawPart_Flip.ColumnVisibility = Visibility.Visible
End If
If Not IsNothing(m_colPartInRawPart_PosX) Then
m_colPartInRawPart_PosX.ColumnVisibility = Visibility.Visible
End If
If Not IsNothing(m_colPartInRawPart_PosY) Then
m_colPartInRawPart_PosY.ColumnVisibility = Visibility.Visible
End If
' PartInRawPartColumns.Clear()
'GetPrivateProfileColumns(S_PARTINRAWPARTLIST_WALL, PartInRawPartColumns)
End If
End Sub
End Class
@@ -3,6 +3,7 @@ Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
Imports EgtBEAMWALL.Core
Imports EgtBEAMWALL.DataLayer.DatabaseModels
Public Class MySceneHostVM
Inherits EgtWPFLib5.SceneHostVM
@@ -239,9 +240,12 @@ Public Class MySceneHostVM
WriteMainPrivateProfileString(S_GENERAL, K_LASTPROJ, sFile)
Map.refSupervisorManagerVM.m_MruFiles.Add(sFile)
' aggiorno le colonne in base al tipo progetto
If Not IsNothing(Map.refSupervisorManagerVM.CurrProd) Then
Map.refRawPartListVM.UpdateColumns(Map.refSupervisorManagerVM.CurrProd.nType)
Map.refPartInRawPartListVM.UpdateColumns(Map.refSupervisorManagerVM.CurrProd.nType)
If Not IsNothing(Map.refSupervisorManagerVM) Then
Dim DbSupervisorProd As ProdModel = DbControllers.m_ProdController.FindByProdId(Map.refSupervisorManagerVM.nLoadingProdId)
If Not IsNothing(DbSupervisorProd) Then
Map.refRawPartListVM.UpdateColumns(DbSupervisorProd.PType)
Map.refPartInRawPartListVM.UpdateColumns(DbSupervisorProd.PType)
End If
End If
Else
Map.refSupervisorManagerVM.m_MruFiles.Remove(sFile)
@@ -58,6 +58,14 @@ Public Class SupervisorManagerVM
End Get
End Property
' indice progetto in caricamento
Private m_nLoadingProdId As Integer = 0
Public ReadOnly Property nLoadingProdId As Integer
Get
Return m_nLoadingProdId
End Get
End Property
' Definizione comandi
Private m_cmdOpen As ICommand
Private m_cmdOpenMruFile As ICommand
@@ -167,6 +175,8 @@ Public Class SupervisorManagerVM
Else
sFilePath = If(Not IsNothing(TempCurrProd.sProdPath), TempCurrProd.sProdPath, "")
End If
' imposto ProjId di caricamento
m_nLoadingProdId = TempCurrProd.nProdId
m_bLoadingProd = True
If File.Exists(sFilePath) Then
If Map.refSceneHostVM.MainController.OpenProject(sFilePath, False) Then