Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 25af98b6e8 | |||
| b48b63bd4d | |||
| 05feb0ab8b | |||
| deca9cd4c0 | |||
| 8b36b65b37 | |||
| 06899fadfd | |||
| 80e9ea4c15 | |||
| ad47a070ef | |||
| d99ea84058 | |||
| 069df21cfa | |||
| 7def1b8d5d | |||
| 82aea136c2 | |||
| 55260fe380 | |||
| 4bdbba6599 | |||
| 0d38b47f24 | |||
| 2332eccef9 | |||
| a3481659f2 | |||
| 4b90d2e915 | |||
| bb0a3b385a | |||
| 0c82debdf4 | |||
| 995650aac2 | |||
| f7a85a0680 | |||
| 910e54cae8 | |||
| ea2cb64886 | |||
| c785adbcdf | |||
| 9546248819 | |||
| 13b2dd29d1 | |||
| 55879d431e |
@@ -1,5 +1,4 @@
|
|||||||
Imports System.Collections.ObjectModel
|
Imports System.Collections.ObjectModel
|
||||||
Imports System.Globalization
|
|
||||||
Imports System.Windows
|
Imports System.Windows
|
||||||
Imports EgtUILib
|
Imports EgtUILib
|
||||||
Imports EgtWPFLib5
|
Imports EgtWPFLib5
|
||||||
|
|||||||
@@ -18,6 +18,17 @@ Public Class BTLPartM
|
|||||||
End Property
|
End Property
|
||||||
|
|
||||||
' Info del pezzo
|
' Info del pezzo
|
||||||
|
|
||||||
|
Public m_nPROJ As Integer
|
||||||
|
Public Property nPROJ As Integer
|
||||||
|
Get
|
||||||
|
Return m_nPROJ
|
||||||
|
End Get
|
||||||
|
Set(value As Integer)
|
||||||
|
m_nPROJ = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
Public m_nPDN As Integer
|
Public m_nPDN As Integer
|
||||||
Public Property nPDN As Integer
|
Public Property nPDN As Integer
|
||||||
Get
|
Get
|
||||||
@@ -752,6 +763,7 @@ Public Class BTLPartM
|
|||||||
Dim sValArray() As String
|
Dim sValArray() As String
|
||||||
Dim sValue As String = String.Empty
|
Dim sValue As String = String.Empty
|
||||||
Dim nValue As Integer = 0
|
Dim nValue As Integer = 0
|
||||||
|
EgtGetInfo(nPartId, BTL_PRT_PROJ, NewBTLPart.m_nPROJ)
|
||||||
EgtGetInfo(nPartId, BTL_PRT_PDN, NewBTLPart.m_nPDN)
|
EgtGetInfo(nPartId, BTL_PRT_PDN, NewBTLPart.m_nPDN)
|
||||||
Dim nDO As Integer = 1
|
Dim nDO As Integer = 1
|
||||||
If EgtGetInfo(nPartId, BTL_PRT_DO, nDO) Then
|
If EgtGetInfo(nPartId, BTL_PRT_DO, nDO) Then
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
Public Module ConstDataGridColumnsIni
|
Public Module ConstDataGridColumnsIni
|
||||||
|
|
||||||
Public Const DATAGRIDCOLUMNS_FILE_NAME As String = "DataGridColumns.ini"
|
Public Const DATAGRIDCOLUMNS_FILE_NAME As String = "DataGridColumns.ini"
|
||||||
|
Public Const OPTIMIZERDATAGRIDCOLUMNS_FILE_NAME As String = "OPTIMIZERDataGridColumns.ini"
|
||||||
|
|
||||||
Public Const S_FEATURELIST As String = "DG_FeatureList"
|
Public Const S_FEATURELIST As String = "DG_FeatureList"
|
||||||
Public Const S_OPENPROJFILEDLG_PROJ As String = "DG_OpenProjectFileDialog_PROJ"
|
Public Const S_OPENPROJFILEDLG_PROJ As String = "DG_OpenProjectFileDialog_PROJ"
|
||||||
|
|||||||
@@ -78,6 +78,12 @@ Public Module ConstGen
|
|||||||
Public Const BEAM_DIR As String = "Beam"
|
Public Const BEAM_DIR As String = "Beam"
|
||||||
' Sottodirettorio per lavorazioni pareti
|
' Sottodirettorio per lavorazioni pareti
|
||||||
Public Const WALL_DIR As String = "Wall"
|
Public Const WALL_DIR As String = "Wall"
|
||||||
|
' Sottodirettorio per setup strategie
|
||||||
|
Public Const AISETUP_DIR As String = "AISetup"
|
||||||
|
' Sottodirettorio per automarismo strategie
|
||||||
|
Public Const STRATEGIES_DIR As String = "Strategies"
|
||||||
|
' File contenente lista strategie per feature/topologia
|
||||||
|
Public Const AVAILABLESTRATEGYLIST_FILE As String = "AvailableStrategyList"
|
||||||
' Sottodirettorio di default per il salvataggio con nome
|
' Sottodirettorio di default per il salvataggio con nome
|
||||||
Public Const SAVE_DFL_NAMEDIR As String = "MyProjects"
|
Public Const SAVE_DFL_NAMEDIR As String = "MyProjects"
|
||||||
' Sottodirettorio di default per le macchine
|
' Sottodirettorio di default per le macchine
|
||||||
|
|||||||
@@ -522,7 +522,11 @@ Public Class EgtDataGridColumn
|
|||||||
Private Property m_Width As DataGridLength
|
Private Property m_Width As DataGridLength
|
||||||
Public Property Width As DataGridLength
|
Public Property Width As DataGridLength
|
||||||
Get
|
Get
|
||||||
Return m_dgColumn.Width
|
If Not IsNothing(m_dgColumn) Then
|
||||||
|
Return m_dgColumn.Width
|
||||||
|
Else
|
||||||
|
Return m_Width
|
||||||
|
End If
|
||||||
End Get
|
End Get
|
||||||
Set(value As DataGridLength)
|
Set(value As DataGridLength)
|
||||||
If Not IsNothing(m_dgColumn) Then
|
If Not IsNothing(m_dgColumn) Then
|
||||||
@@ -539,10 +543,14 @@ Public Class EgtDataGridColumn
|
|||||||
End Get
|
End Get
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
Private Property m_DisplayIndex As Integer
|
Private Property m_DisplayIndex As Integer = -1
|
||||||
Public Property DisplayIndex As Integer
|
Public Property DisplayIndex As Integer
|
||||||
Get
|
Get
|
||||||
Return m_dgColumn.DisplayIndex
|
If Not IsNothing(m_dgColumn) Then
|
||||||
|
Return m_dgColumn.DisplayIndex
|
||||||
|
Else
|
||||||
|
Return m_DisplayIndex
|
||||||
|
End If
|
||||||
End Get
|
End Get
|
||||||
Set(value As Integer)
|
Set(value As Integer)
|
||||||
If Not IsNothing(m_dgColumn) Then
|
If Not IsNothing(m_dgColumn) Then
|
||||||
@@ -557,7 +565,11 @@ Public Class EgtDataGridColumn
|
|||||||
Private Property m_IsReadOnly As Boolean = True
|
Private Property m_IsReadOnly As Boolean = True
|
||||||
Public Property IsReadOnly As Boolean
|
Public Property IsReadOnly As Boolean
|
||||||
Get
|
Get
|
||||||
Return m_dgColumn.IsReadOnly
|
If Not IsNothing(m_dgColumn) Then
|
||||||
|
Return m_dgColumn.IsReadOnly
|
||||||
|
Else
|
||||||
|
Return m_IsReadOnly
|
||||||
|
End If
|
||||||
End Get
|
End Get
|
||||||
Set(value As Boolean)
|
Set(value As Boolean)
|
||||||
If Not IsNothing(m_dgColumn) Then
|
If Not IsNothing(m_dgColumn) Then
|
||||||
@@ -575,7 +587,11 @@ Public Class EgtDataGridColumn
|
|||||||
Private m_CanUserReorder As Boolean
|
Private m_CanUserReorder As Boolean
|
||||||
Public Property CanUserReorder As Boolean
|
Public Property CanUserReorder As Boolean
|
||||||
Get
|
Get
|
||||||
Return m_dgColumn.CanUserReorder
|
If Not IsNothing(m_dgColumn) Then
|
||||||
|
Return m_dgColumn.CanUserReorder
|
||||||
|
Else
|
||||||
|
Return m_CanUserReorder
|
||||||
|
End If
|
||||||
End Get
|
End Get
|
||||||
Set(value As Boolean)
|
Set(value As Boolean)
|
||||||
If Not IsNothing(m_dgColumn) Then
|
If Not IsNothing(m_dgColumn) Then
|
||||||
@@ -591,7 +607,11 @@ Public Class EgtDataGridColumn
|
|||||||
Private m_CanUserResize As Boolean
|
Private m_CanUserResize As Boolean
|
||||||
Public Property CanUserResize As Boolean
|
Public Property CanUserResize As Boolean
|
||||||
Get
|
Get
|
||||||
Return m_dgColumn.CanUserResize
|
If Not IsNothing(m_dgColumn) Then
|
||||||
|
Return m_dgColumn.CanUserResize
|
||||||
|
Else
|
||||||
|
Return m_CanUserResize
|
||||||
|
End If
|
||||||
End Get
|
End Get
|
||||||
Set(value As Boolean)
|
Set(value As Boolean)
|
||||||
If Not IsNothing(m_dgColumn) Then
|
If Not IsNothing(m_dgColumn) Then
|
||||||
@@ -606,7 +626,11 @@ Public Class EgtDataGridColumn
|
|||||||
Private m_CanUserSort As Boolean
|
Private m_CanUserSort As Boolean
|
||||||
Public Property CanUserSort As Boolean
|
Public Property CanUserSort As Boolean
|
||||||
Get
|
Get
|
||||||
Return m_dgColumn.CanUserSort
|
If Not IsNothing(m_dgColumn) Then
|
||||||
|
Return m_dgColumn.CanUserSort
|
||||||
|
Else
|
||||||
|
Return m_CanUserSort
|
||||||
|
End If
|
||||||
End Get
|
End Get
|
||||||
Set(value As Boolean)
|
Set(value As Boolean)
|
||||||
If Not IsNothing(m_dgColumn) Then
|
If Not IsNothing(m_dgColumn) Then
|
||||||
@@ -721,6 +745,7 @@ Public Class EgtDataGridColumn
|
|||||||
|
|
||||||
' funzione per calcolare e scrivere la stringa dei parametri della colonna nell'INI
|
' funzione per calcolare e scrivere la stringa dei parametri della colonna nell'INI
|
||||||
Public Function SaveDataGridColumn() As Boolean
|
Public Function SaveDataGridColumn() As Boolean
|
||||||
|
If DisplayIndex = -1 Then Return False
|
||||||
Dim bOk As Boolean
|
Dim bOk As Boolean
|
||||||
Dim sColumnParams = String.Empty
|
Dim sColumnParams = String.Empty
|
||||||
sColumnParams = Name & "," & If(CanUserReorder, 1, 0) & "," & If(CanUserResize, 1, 0) & "," & If(CanUserSort, 1, 0) & "," & If(m_OrigIsReadOnly, 1, 0) & "," & DoubleToString(Width.Value, 6) & "," & Width.UnitType & "," & If(Visible, 1, 0) & "," & If(CanUserEditVisible, 1, 0) & "," & CInt(SortDirection)
|
sColumnParams = Name & "," & If(CanUserReorder, 1, 0) & "," & If(CanUserResize, 1, 0) & "," & If(CanUserSort, 1, 0) & "," & If(m_OrigIsReadOnly, 1, 0) & "," & DoubleToString(Width.Value, 6) & "," & Width.UnitType & "," & If(Visible, 1, 0) & "," & If(CanUserEditVisible, 1, 0) & "," & CInt(SortDirection)
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
<Window x:Class="AboutBoxV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
Title="AboutBox" Height="400" Width="360" WindowStyle="None" ResizeMode="NoResize"
|
||||||
|
ShowInTaskbar="False" WindowStartupLocation="CenterOwner">
|
||||||
|
|
||||||
|
<Border BorderThickness="2" BorderBrush="LightBlue">
|
||||||
|
<Grid >
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="0.5*"/>
|
||||||
|
<ColumnDefinition Width="5*"/>
|
||||||
|
<ColumnDefinition Width="0.5*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="0.5*"/>
|
||||||
|
<RowDefinition Height="1.75*"/>
|
||||||
|
<RowDefinition Height="0.15*"/>
|
||||||
|
<RowDefinition Height="0.5*"/>
|
||||||
|
<RowDefinition Height="0.5*"/>
|
||||||
|
<RowDefinition Height="0.5*"/>
|
||||||
|
<RowDefinition Height="2.5*"/>
|
||||||
|
<RowDefinition Height="0.35*"/>
|
||||||
|
<RowDefinition Height="0.5*"/>
|
||||||
|
<RowDefinition Height="0.35*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<Grid Grid.Column="1" Grid.Row="1">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="3*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Border Name="LogoBrd" Grid.Column="1" Background="White">
|
||||||
|
<Image Source="/Resources/AboutBox/EgalwareLogo.png" Stretch="Uniform"/>
|
||||||
|
</Border>
|
||||||
|
</Grid>
|
||||||
|
<TextBlock Name="DescriptionLbl" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Center"
|
||||||
|
VerticalAlignment="Center" FontSize="18" />
|
||||||
|
<TextBlock Name="VersionLbl" Grid.Column="1" Grid.Row="4" HorizontalAlignment="Center"
|
||||||
|
VerticalAlignment="Center" FontSize="18"/>
|
||||||
|
<TextBlock Name="CopyrightLbl" Grid.Column="1" Grid.Row="5" HorizontalAlignment="Center"
|
||||||
|
VerticalAlignment="Center" FontSize="12" />
|
||||||
|
<TextBox Name="InfoLbl" Grid.Column="1" Grid.Row="6" HorizontalAlignment="Stretch"
|
||||||
|
VerticalAlignment="Stretch" FontSize="12" IsReadOnly="True" TextWrapping="Wrap"/>
|
||||||
|
<Button Name="ExitBtn" Grid.Column="1" Grid.Row="8" IsCancel="True"
|
||||||
|
Margin="100,0"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
</Window>
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
Imports EgtUILib
|
||||||
|
Imports EgtBEAMWALL.Core
|
||||||
|
|
||||||
|
Public Class AboutBoxV
|
||||||
|
|
||||||
|
Private Sub AboutBoxWD_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
||||||
|
DescriptionLbl.Text = My.Application.Info.Description.ToString()
|
||||||
|
VersionLbl.Text = "Version : " & My.Application.Info.Version.Major.ToString() &
|
||||||
|
"." & My.Application.Info.Version.Minor.ToString() &
|
||||||
|
(ChrW(97 - 1 + My.Application.Info.Version.Build)).ToString() &
|
||||||
|
My.Application.Info.Version.Revision.ToString()
|
||||||
|
CopyrightLbl.Text = My.Application.Info.Copyright.ToString()
|
||||||
|
Dim sInfo As String = String.Empty
|
||||||
|
Dim sKey As String = String.Empty
|
||||||
|
EgtGetKeyInfo(sKey)
|
||||||
|
Dim sKlev As String = Map.refMainWindowVM.MainWindowM.nKeyLevel.ToString()
|
||||||
|
Dim sOpts As String = Map.refMainWindowVM.MainWindowM.nKeyOptions.ToString()
|
||||||
|
Dim sLeftDays As String = ""
|
||||||
|
Dim nLeftDays As Integer
|
||||||
|
if EgtGetKeyLeftDays( nLeftDays) AndAlso nLeftDays < 500 Then sLeftDays= " (" & nLeftDays.ToString() & ")"
|
||||||
|
sInfo = If( EgtIsDebug(), "*** Debug Libraries ***" & Environment.NewLine, "")
|
||||||
|
sInfo &= "User " & Environment.MachineName & "\" & Environment.UserName &
|
||||||
|
" (" & Map.refMainWindowVM.MainWindowM.nInstance.ToString() & ")" & Environment.NewLine
|
||||||
|
sInfo &= sKey & " - " & sKlev & " - " & sOpts & sLeftDays & Environment.NewLine
|
||||||
|
sInfo &= "DataRoot " & Map.refMainWindowVM.MainWindowM.sDataRoot & Environment.NewLine
|
||||||
|
sInfo &= "MachinesRoot " & Map.refMainWindowVM.MainWindowM.sMachinesRoot & Environment.NewLine
|
||||||
|
Dim sOpSys As String = String.Empty
|
||||||
|
EgtGetOsInfo( sOpSys)
|
||||||
|
sInfo &= sOpSys & Environment.NewLine
|
||||||
|
Dim sCPU As String = String.Empty
|
||||||
|
EgtGetCpuInfo( sCPU)
|
||||||
|
sInfo &= sCPU & Environment.NewLine
|
||||||
|
Dim sScene As String = String.Empty
|
||||||
|
EgtGetSceneInfo(sScene)
|
||||||
|
sInfo &= sScene
|
||||||
|
InfoLbl.Text = sInfo
|
||||||
|
ExitBtn.Content = EgtMsg(10104) 'Ok
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
Public Class AddFeatureWndV
|
||||||
|
|
||||||
|
Private WithEvents m_AddFeatureWndVM As AddFeatureWndVM
|
||||||
|
|
||||||
|
Sub New(Owner As Window, AddFeatureWndVM As AddFeatureWndVM)
|
||||||
|
MyBase.New(Owner)
|
||||||
|
' This call is required by the designer.
|
||||||
|
InitializeComponent()
|
||||||
|
Me.DataContext = AddFeatureWndVM
|
||||||
|
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||||
|
m_AddFeatureWndVM = AddFeatureWndVM
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_AddFeatureWndVM.m_CloseWindow
|
||||||
|
Me.DialogResult = bDialogResult
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
<EgtWPFLib5:EgtCustomWindow x:Class="AddFeatureWndV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.Optimizer"
|
||||||
|
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||||
|
WindowStyle="None" ResizeMode="NoResize"
|
||||||
|
SizeToContent="WidthAndHeight"
|
||||||
|
WindowStartupLocation="CenterOwner"
|
||||||
|
IsClosable="False"
|
||||||
|
IsMinimizable="False"
|
||||||
|
IsResizable="False"
|
||||||
|
Title="AddProcess">
|
||||||
|
<StackPanel Margin="5,5,5,0">
|
||||||
|
<TabControl SelectedIndex="{Binding SelGRPType}">
|
||||||
|
<TabItem Header="L"/>
|
||||||
|
<TabItem Header="T"/>
|
||||||
|
</TabControl>
|
||||||
|
<Border Grid.Row="1"
|
||||||
|
BorderThickness="1"
|
||||||
|
BorderBrush="DarkGray"
|
||||||
|
Background="White"
|
||||||
|
Margin="0,-6,0,5">
|
||||||
|
<Grid Margin="0,5,0,0">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid HorizontalAlignment="Center"
|
||||||
|
Grid.Row="0"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text="Process"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<ComboBox ItemsSource="{Binding PRCList}"
|
||||||
|
SelectedItem="{Binding nSelPRC}"
|
||||||
|
Grid.Column="1"
|
||||||
|
DisplayMemberPath="ghDesc"
|
||||||
|
Width="200"
|
||||||
|
HorizontalAlignment="Left"
|
||||||
|
Style="{StaticResource FeatureComboBox}"/>
|
||||||
|
<TextBlock Text="Macro"
|
||||||
|
Grid.Row="1"
|
||||||
|
Margin="0,5,0,0"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<ComboBox ItemsSource="{Binding MacroCustomList}"
|
||||||
|
SelectedIndex="{Binding nSelMacroCustom}"
|
||||||
|
Grid.Row="1"
|
||||||
|
Grid.Column="1"
|
||||||
|
DisplayMemberPath="Name"
|
||||||
|
IsEnabled="{Binding MacroList_IsEnabled}"
|
||||||
|
Width="200"
|
||||||
|
Margin="0,5,0,0"
|
||||||
|
Style="{StaticResource FeatureComboBox}"/>
|
||||||
|
</Grid>
|
||||||
|
<Image Source="{Binding sDrawPath}"
|
||||||
|
Grid.Row="1"
|
||||||
|
Height="300"
|
||||||
|
Width="300"
|
||||||
|
Margin="5,0,5,5"/>
|
||||||
|
<Grid Grid.Row="2" Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Button Content="Ok"
|
||||||
|
Command="{Binding Ok_Command}"
|
||||||
|
IsDefault="True"
|
||||||
|
Grid.Column="1"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="Cancel"
|
||||||
|
IsCancel="True"
|
||||||
|
Grid.Column="3"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
</Border>
|
||||||
|
</StackPanel>
|
||||||
|
</EgtWPFLib5:EgtCustomWindow>
|
||||||
@@ -0,0 +1,451 @@
|
|||||||
|
Imports System.Collections.ObjectModel
|
||||||
|
Imports System.IO
|
||||||
|
Imports EgtUILib
|
||||||
|
Imports EgtWPFLib5
|
||||||
|
Imports EgtBEAMWALL.Core
|
||||||
|
|
||||||
|
Public Class AddFeatureWndVM
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
#Region "FIELDS & PROPERTIES"
|
||||||
|
|
||||||
|
Friend Event m_CloseWindow(bDialogResult As Boolean)
|
||||||
|
Friend m_MacroFilePathList As List(Of String)
|
||||||
|
Friend m_MacroCustomFilePathList As List(Of String)
|
||||||
|
|
||||||
|
Private m_PrevSelPRCIndex_L As Integer = 0
|
||||||
|
Private m_PrevSelPRCIndex_T As Integer = 0
|
||||||
|
|
||||||
|
Private m_SelGRPType As GRPType
|
||||||
|
Public Property SelGRPType As Integer
|
||||||
|
Get
|
||||||
|
Return m_SelGRPType
|
||||||
|
End Get
|
||||||
|
Set(value As Integer)
|
||||||
|
m_SelGRPType = value
|
||||||
|
' carico lista process
|
||||||
|
Dim TempPRCList As New ObservableCollection(Of Integer)
|
||||||
|
GetBeamPrivateProfileProcessList(m_SelGRPType, TempPRCList)
|
||||||
|
m_PRCList.Clear()
|
||||||
|
For Each PRC In TempPRCList
|
||||||
|
' leggo gruppi
|
||||||
|
Dim GRPList As New ObservableCollection(Of Integer)
|
||||||
|
GetBeamPrivateProfileGRPList(m_SelGRPType, PRC, GRPList)
|
||||||
|
m_PRCList.Add(New PRC(If(GRPList.Count > 0, GRPList(0), m_SelGRPType), PRC, GetBeamPrivateProfileName(m_SelGRPType, PRC)))
|
||||||
|
Next
|
||||||
|
If m_SelGRPType = GRPType.L Then
|
||||||
|
nSelPRC = PRCList(m_PrevSelPRCIndex_L)
|
||||||
|
ElseIf m_SelGRPType = GRPType.T Then
|
||||||
|
nSelPRC = PRCList(m_PrevSelPRCIndex_T)
|
||||||
|
End If
|
||||||
|
NotifyPropertyChanged(NameOf(PRCList))
|
||||||
|
NotifyPropertyChanged(NameOf(nSelPRC))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_PRCList As New ObservableCollection(Of PRC)
|
||||||
|
Public ReadOnly Property PRCList As ObservableCollection(Of PRC)
|
||||||
|
Get
|
||||||
|
Return m_PRCList
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_PRCListView As New List(Of PRC)
|
||||||
|
Public ReadOnly Property PRCListView As List(Of PRC)
|
||||||
|
Get
|
||||||
|
Return m_PRCListView
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
#Region "New Macro OnlyProdPage"
|
||||||
|
|
||||||
|
Private m_MacroDefaultList As New ObservableCollection(Of Object)
|
||||||
|
Public ReadOnly Property MacroDefaultList As ObservableCollection(Of Object)
|
||||||
|
Get
|
||||||
|
Return m_MacroDefaultList
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_nSelMacroDefault As Integer = -1
|
||||||
|
Public Property nSelMacroDefault As Integer
|
||||||
|
Get
|
||||||
|
Return m_nSelMacroDefault
|
||||||
|
End Get
|
||||||
|
Set(value As Integer)
|
||||||
|
If value <> m_nSelMacroDefault Then
|
||||||
|
m_nSelMacroDefault = value
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
#End Region ' New Macro OnlyProdPage
|
||||||
|
|
||||||
|
Private m_nSelPRC As PRC = Nothing
|
||||||
|
Public Property nSelPRC As PRC
|
||||||
|
Get
|
||||||
|
Return m_nSelPRC
|
||||||
|
End Get
|
||||||
|
Set(value As PRC)
|
||||||
|
If value IsNot m_nSelPRC Then
|
||||||
|
m_nSelPRC = value
|
||||||
|
If Not IsNothing(m_nSelPRC) Then
|
||||||
|
If SelGRPType = GRPType.L Then
|
||||||
|
m_PrevSelPRCIndex_L = PRCList.IndexOf(m_nSelPRC)
|
||||||
|
ElseIf SelGRPType = GRPType.T Then
|
||||||
|
m_PrevSelPRCIndex_T = PRCList.IndexOf(m_nSelPRC)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
NotifyPropertyChanged(NameOf(sDrawPath))
|
||||||
|
' carico eventuali file Macro
|
||||||
|
MacroCustomList.Clear()
|
||||||
|
If Core.Configuration.bOnlyProd Then
|
||||||
|
MacroDefaultList.Clear()
|
||||||
|
End If
|
||||||
|
m_MacroFilePathList = New List(Of String)
|
||||||
|
m_MacroCustomFilePathList = New List(Of String)
|
||||||
|
If Not IsNothing(nSelPRC) Then
|
||||||
|
Dim nGRPFromFileName As Integer = 0
|
||||||
|
Dim nPRCFromFileName As Integer = 0
|
||||||
|
Dim sMacroNameFromFileName As String = String.Empty
|
||||||
|
Dim nIdMacroName As Integer = 0
|
||||||
|
' ricavo lista file Macro Default
|
||||||
|
GetMacroListDefault(nGRPFromFileName, nPRCFromFileName, sMacroNameFromFileName, nIdMacroName)
|
||||||
|
' ricavo lista file Macro Custom
|
||||||
|
If Core.Configuration.bOnlyProd Then GetMacroListCustom(nGRPFromFileName, nPRCFromFileName, sMacroNameFromFileName, nIdMacroName)
|
||||||
|
If MacroCustomList.Count > 0 Then
|
||||||
|
MacroList_IsEnabled = True
|
||||||
|
Else
|
||||||
|
MacroList_IsEnabled = False
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
NotifyPropertyChanged(NameOf(nSelPRC))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_MacroList_IsEnabled As Boolean
|
||||||
|
Public Property MacroList_IsEnabled As Boolean
|
||||||
|
Get
|
||||||
|
Return m_MacroList_IsEnabled
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
If value <> m_MacroList_IsEnabled Then
|
||||||
|
m_MacroList_IsEnabled = value
|
||||||
|
NotifyPropertyChanged(NameOf(MacroList_IsEnabled))
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_MacroCustomList As New ObservableCollection(Of Object)
|
||||||
|
Public ReadOnly Property MacroCustomList As ObservableCollection(Of Object)
|
||||||
|
Get
|
||||||
|
Return m_MacroCustomList
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_nSelMacroCustom As Integer = -1
|
||||||
|
Public Property nSelMacroCustom As Integer
|
||||||
|
Get
|
||||||
|
Return m_nSelMacroCustom
|
||||||
|
End Get
|
||||||
|
Set(value As Integer)
|
||||||
|
If value <> m_nSelMacroCustom Then
|
||||||
|
m_nSelMacroCustom = value
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property sDrawPath As String
|
||||||
|
Get
|
||||||
|
If IsNothing(m_nSelPRC) Then Return ""
|
||||||
|
Dim sDescConstruction As String = String.Empty
|
||||||
|
If m_SelGRPType = GRPType.L Then
|
||||||
|
sDescConstruction = "L"
|
||||||
|
Else
|
||||||
|
sDescConstruction = "T"
|
||||||
|
End If
|
||||||
|
sDescConstruction &= m_nSelPRC.nPRC.ToString("000")
|
||||||
|
Return Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & sDescConstruction & ".png"
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Definizione comandi
|
||||||
|
Private m_cmdOk As ICommand
|
||||||
|
|
||||||
|
#Region "Messages"
|
||||||
|
|
||||||
|
Public ReadOnly Property Process_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61805).ToUpper()
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Default_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61899).ToUpper()
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Custom_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61801).ToUpper()
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property OK_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(91651)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Cancel_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(91652)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
#End Region
|
||||||
|
|
||||||
|
#End Region ' FIELDS & PROPERTIES
|
||||||
|
|
||||||
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
|
Sub New()
|
||||||
|
If Core.Configuration.bOnlyProd Then
|
||||||
|
' carico lista process
|
||||||
|
Dim TempPRCList As New ObservableCollection(Of Integer)
|
||||||
|
Dim TempPRCLList As New ObservableCollection(Of Integer)
|
||||||
|
Dim TempPRCLTist As New ObservableCollection(Of Integer)
|
||||||
|
GetBeamPrivateProfileProcessList(0, TempPRCLList)
|
||||||
|
GetBeamPrivateProfileProcessList(1, TempPRCLTist)
|
||||||
|
' riporto le liste process in un unica lista
|
||||||
|
For Each PRCL In TempPRCLList
|
||||||
|
TempPRCList.Add(PRCL)
|
||||||
|
Next
|
||||||
|
For Each PRCT In TempPRCLTist
|
||||||
|
TempPRCList.Add(PRCT)
|
||||||
|
Next
|
||||||
|
m_PRCList.Clear()
|
||||||
|
' ciclo sulla lista process eliminado i doppi
|
||||||
|
For Each PRC In TempPRCList.Distinct()
|
||||||
|
' leggo gruppi
|
||||||
|
Dim GRPLList As New ObservableCollection(Of Integer)
|
||||||
|
Dim GRPTList As New ObservableCollection(Of Integer)
|
||||||
|
GetBeamPrivateProfileGRPList(0, PRC, GRPLList)
|
||||||
|
GetBeamPrivateProfileGRPList(1, PRC, GRPTList)
|
||||||
|
If GRPLList.Count > 0 Then m_PRCList.Add(New PRC(GRPLList(0), PRC, GetBeamPrivateProfileName(0, PRC)))
|
||||||
|
If GRPTList.Count > 0 Then m_PRCList.Add(New PRC(GRPTList(0), PRC, GetBeamPrivateProfileName(1, PRC)))
|
||||||
|
Next
|
||||||
|
m_PRCListView = m_PRCList.OrderBy(Function(x) x.nPRC).ToList()
|
||||||
|
nSelPRC = m_PRCList(0)
|
||||||
|
NotifyPropertyChanged(NameOf(PRCListView))
|
||||||
|
NotifyPropertyChanged(NameOf(PRCList))
|
||||||
|
Else
|
||||||
|
SelGRPType = 0
|
||||||
|
nSelPRC = PRCList(0)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' CONSTRUCTOR
|
||||||
|
|
||||||
|
#Region "METHODS"
|
||||||
|
|
||||||
|
Private Sub GetMacroListDefault(ByRef nGRPFromFileName As Integer, ByRef nPRCFromFileName As Integer, ByRef sMacroNameFromFileName As String, ByRef nIdMacroName As Integer)
|
||||||
|
Dim AllFilesInDir As IEnumerable(Of String) = IO.Directory.EnumerateFiles(Map.refMainWindowVM.MainWindowM.sMacroCustomDir)
|
||||||
|
For Each File In AllFilesInDir
|
||||||
|
If Path.GetExtension(File).ToLower() = ".lua" Then
|
||||||
|
If File.Contains(FILENAMESEPARATOR) Then
|
||||||
|
Dim FileName As String = Path.GetFileNameWithoutExtension(File)
|
||||||
|
Dim DataFromFileName As String() = FileName.Split(FILENAMESEPARATOR)
|
||||||
|
If DataFromFileName.Count = 2 Then
|
||||||
|
If Not String.IsNullOrEmpty(DataFromFileName(0)) Then
|
||||||
|
Dim NumbersFromFileName As String() = DataFromFileName(0).Split(".")
|
||||||
|
Integer.TryParse(NumbersFromFileName(0), nGRPFromFileName)
|
||||||
|
Integer.TryParse(NumbersFromFileName(1), nPRCFromFileName)
|
||||||
|
End If
|
||||||
|
If Not String.IsNullOrEmpty(DataFromFileName(1)) Then
|
||||||
|
sMacroNameFromFileName = DataFromFileName(1)
|
||||||
|
End If
|
||||||
|
If nGRPFromFileName = CalcBeamPrivateProfileGRP(nSelPRC.nGRP) AndAlso nPRCFromFileName = nSelPRC.nPRC Then
|
||||||
|
If Core.Configuration.bOnlyProd Then
|
||||||
|
MacroCustomList.Add(New NewMacro(nIdMacroName, sMacroNameFromFileName, Map.refMainWindowVM.MainWindowM.sMacroCustomDir & "\Template\" & sMacroNameFromFileName & ".png"))
|
||||||
|
Else
|
||||||
|
MacroCustomList.Add(New IdNameStruct(nIdMacroName, sMacroNameFromFileName))
|
||||||
|
End If
|
||||||
|
m_MacroFilePathList.Add(File)
|
||||||
|
nIdMacroName += 1
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub GetMacroListCustom(ByRef nGRPFromFileName As Integer, ByRef nPRCFromFileName As Integer, ByRef sMacroNameFromFileName As String, ByRef nIdMacroName As Integer)
|
||||||
|
nIdMacroName = 0
|
||||||
|
Dim AllFilesInDirCustom As IEnumerable(Of String) = IO.Directory.EnumerateFiles(Map.refMainWindowVM.MainWindowM.sMacroDefaultDir)
|
||||||
|
For Each File In AllFilesInDirCustom
|
||||||
|
If Path.GetExtension(File).ToLower() = ".lua" Then
|
||||||
|
If File.Contains(FILENAMESEPARATOR) Then
|
||||||
|
Dim FileName As String = Path.GetFileNameWithoutExtension(File)
|
||||||
|
Dim DataFromFileName As String() = FileName.Split(FILENAMESEPARATOR)
|
||||||
|
If DataFromFileName.Count = 2 Then
|
||||||
|
If Not String.IsNullOrEmpty(DataFromFileName(0)) Then
|
||||||
|
Dim NumbersFromFileName As String() = DataFromFileName(0).Split(".")
|
||||||
|
Integer.TryParse(NumbersFromFileName(0), nGRPFromFileName)
|
||||||
|
Integer.TryParse(NumbersFromFileName(1), nPRCFromFileName)
|
||||||
|
End If
|
||||||
|
If Not String.IsNullOrEmpty(DataFromFileName(1)) Then
|
||||||
|
sMacroNameFromFileName = DataFromFileName(1)
|
||||||
|
End If
|
||||||
|
If nGRPFromFileName = CalcBeamPrivateProfileGRP(nSelPRC.nGRP) AndAlso nPRCFromFileName = nSelPRC.nPRC Then
|
||||||
|
MacroDefaultList.Add(New NewMacro(nIdMacroName, sMacroNameFromFileName))
|
||||||
|
m_MacroCustomFilePathList.Add(File)
|
||||||
|
nIdMacroName += 1
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' METHODS
|
||||||
|
|
||||||
|
#Region "COMMANDS"
|
||||||
|
|
||||||
|
#Region "Ok"
|
||||||
|
|
||||||
|
Public ReadOnly Property Ok_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdOk Is Nothing Then
|
||||||
|
m_cmdOk = New Command(AddressOf Ok)
|
||||||
|
End If
|
||||||
|
Return m_cmdOk
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub Ok()
|
||||||
|
'verifico che tutti i campi contengano un valore valido
|
||||||
|
If Not IsNothing(m_nSelPRC) AndAlso m_nSelPRC.nPRC > 0 Then
|
||||||
|
RaiseEvent m_CloseWindow(True)
|
||||||
|
Else
|
||||||
|
MessageBox.Show(EgtMsg(61852), EgtMsg(30007))
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Ok
|
||||||
|
|
||||||
|
#End Region ' COMMANDS
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class PRC
|
||||||
|
|
||||||
|
' Processo
|
||||||
|
Private m_nPRC As Integer
|
||||||
|
Friend ReadOnly Property nPRC As Integer
|
||||||
|
Get
|
||||||
|
Return m_nPRC
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Gruppo
|
||||||
|
Private m_nGRP As Integer
|
||||||
|
Friend ReadOnly Property nGRP As Integer
|
||||||
|
Get
|
||||||
|
Return m_nGRP
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_nSIDE As Integer = 2
|
||||||
|
Public ReadOnly Property nSIDE As Integer
|
||||||
|
Get
|
||||||
|
Return m_nSIDE
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_nVARIANT As Integer = 0
|
||||||
|
Public ReadOnly Property nVARIANT As Integer
|
||||||
|
Get
|
||||||
|
Return m_nVARIANT
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Nome
|
||||||
|
Private m_sName As String
|
||||||
|
Public ReadOnly Property sName As String
|
||||||
|
Get
|
||||||
|
Return m_sName
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property ghDesc As String
|
||||||
|
Get
|
||||||
|
Return If(m_nGRP = 1 OrElse m_nGRP = 2, "T", "L") & m_nPRC.ToString("000") & " " & m_sName
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' lista dei parametri Q della feature
|
||||||
|
Protected m_QBTLParamVMList As List(Of QBTLParamVM)
|
||||||
|
Public Property QBTLParamVMList As List(Of QBTLParamVM)
|
||||||
|
Get
|
||||||
|
Return m_QBTLParamVMList
|
||||||
|
End Get
|
||||||
|
Set(value As List(Of QBTLParamVM))
|
||||||
|
m_QBTLParamVMList = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Sub New(GRP As Integer, PRC As Integer, Name As String)
|
||||||
|
m_nPRC = PRC
|
||||||
|
m_sName = Name
|
||||||
|
m_nGRP = GRP
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub New(GRP As Integer, PRC As Integer, Name As String, QBTLParamList As List(Of QBTLParamVM))
|
||||||
|
m_nPRC = PRC
|
||||||
|
m_sName = Name
|
||||||
|
m_nGRP = GRP
|
||||||
|
m_QBTLParamVMList = QBTLParamList
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class NewMacro
|
||||||
|
|
||||||
|
' Indice Macro
|
||||||
|
Private m_nIndexMacro As Integer
|
||||||
|
Public ReadOnly Property nIndexMacro As Integer
|
||||||
|
Get
|
||||||
|
Return m_nIndexMacro
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Nome Macro
|
||||||
|
Private m_sMacroName As String
|
||||||
|
Public ReadOnly Property sMacroName As String
|
||||||
|
Get
|
||||||
|
Return m_sMacroName.ToUpper()
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Cartella dove sono contenuti i templete delle macro
|
||||||
|
Private m_sMacroDrawPath As String
|
||||||
|
Public ReadOnly Property sMacroDrawPath As String
|
||||||
|
Get
|
||||||
|
Return m_sMacroDrawPath
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Sub New(IndexMacro As Integer, MacroName As String)
|
||||||
|
m_nIndexMacro = IndexMacro
|
||||||
|
m_sMacroName = MacroName
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub New(IndexMacro As Integer, MacroName As String, MacroDrawPath As String)
|
||||||
|
m_nIndexMacro = IndexMacro
|
||||||
|
m_sMacroName = MacroName
|
||||||
|
m_sMacroDrawPath = MacroDrawPath
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,120 @@
|
|||||||
|
<EgtWPFLib5:EgtCustomWindow x:Class="NewAddFeatureWndV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
WindowStyle="None" ResizeMode="NoResize"
|
||||||
|
SizeToContent="WidthAndHeight"
|
||||||
|
WindowStartupLocation="CenterOwner"
|
||||||
|
IsClosable="False"
|
||||||
|
IsMinimizable="False"
|
||||||
|
IsResizable="False"
|
||||||
|
Title="AddProcess"
|
||||||
|
Style="{StaticResource OnlyProd_EgtCustomWindow}">
|
||||||
|
|
||||||
|
<Grid Margin="5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Border Background="{StaticResource BeamWall_Kashmir}" Margin="0,2,0,2" CornerRadius="4,0,0,4">
|
||||||
|
<TextBlock Text="{Binding Process_Msg}"
|
||||||
|
Style="{StaticResource ListTextBlock}"/>
|
||||||
|
</Border>
|
||||||
|
<Border Grid.Row="1"
|
||||||
|
Style="{StaticResource OnlyProdPage_Border}"
|
||||||
|
CornerRadius="4,0,0,4"
|
||||||
|
BorderThickness="2,2,0,2">
|
||||||
|
<ListBox Grid.Row="1"
|
||||||
|
ItemsSource="{Binding PRCListView}"
|
||||||
|
SelectedItem="{Binding nSelPRC}"
|
||||||
|
Style="{StaticResource NewAddFeature_ListBox}"
|
||||||
|
ItemContainerStyle="{StaticResource AlternationIndex_ListBoxItem}">
|
||||||
|
<ListBox.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding ghDesc}"
|
||||||
|
ToolTip="{Binding ghDesc}"
|
||||||
|
TextAlignment="Justify"
|
||||||
|
Width="{Binding ActualWidth, RelativeSource={RelativeSource AncestorType={x:Type ListBox}}}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</ListBox.ItemTemplate>
|
||||||
|
</ListBox>
|
||||||
|
</Border>
|
||||||
|
<Border Grid.Column="1" Background="{StaticResource BeamWall_Kashmir}" Margin="0,2,0,2">
|
||||||
|
<TextBlock Grid.Column="1"
|
||||||
|
Text="{Binding Custom_Msg}"
|
||||||
|
Style="{StaticResource ListTextBlock}"/>
|
||||||
|
</Border>
|
||||||
|
<Border Grid.Row="1"
|
||||||
|
Grid.Column="1"
|
||||||
|
Style="{StaticResource OnlyProdPage_Border}"
|
||||||
|
CornerRadius="0"
|
||||||
|
BorderThickness="0,2,0,2">
|
||||||
|
<ListBox ItemsSource="{Binding MacroCustomList}"
|
||||||
|
SelectedIndex="{Binding nSelMacroCustom}"
|
||||||
|
Style="{StaticResource MacroCustom_ListBox}">
|
||||||
|
<ListBox.ItemsPanel>
|
||||||
|
<ItemsPanelTemplate>
|
||||||
|
<WrapPanel Style="{StaticResource MacroCustom_WrapPanel}"/>
|
||||||
|
</ItemsPanelTemplate>
|
||||||
|
</ListBox.ItemsPanel>
|
||||||
|
<ListBox.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<Grid>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<TextBlock Text="{Binding sMacroName}"
|
||||||
|
Style="{StaticResource Macro_TextBlock}"/>
|
||||||
|
<Image Grid.Row="1"
|
||||||
|
Source="{Binding sMacroDrawPath}"
|
||||||
|
Style="{StaticResource Macro_Image}"/>
|
||||||
|
</Grid>
|
||||||
|
</DataTemplate>
|
||||||
|
</ListBox.ItemTemplate>
|
||||||
|
</ListBox>
|
||||||
|
</Border>
|
||||||
|
<Border Grid.Column="2" Background="{StaticResource BeamWall_Kashmir}" Margin="0,2,0,2" Padding="0,10,0,10" CornerRadius="0,4,4,0">
|
||||||
|
<TextBlock
|
||||||
|
Text="{Binding Default_Msg}"
|
||||||
|
Style="{StaticResource ListTextBlock}"/>
|
||||||
|
</Border>
|
||||||
|
<Border Grid.Row="1"
|
||||||
|
Grid.Column="2"
|
||||||
|
Style="{StaticResource OnlyProdPage_Border}"
|
||||||
|
CornerRadius="0,4,4,0"
|
||||||
|
BorderThickness="0,2,2,2">
|
||||||
|
<ListBox ItemsSource="{Binding MacroDefaultList}"
|
||||||
|
SelectedIndex="{Binding nSelMacroDefault}"
|
||||||
|
Style="{StaticResource MacroDefault_ListBox}"
|
||||||
|
ItemContainerStyle="{StaticResource AlternationIndex_ListBoxItem}">
|
||||||
|
<ListBox.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding sMacroName}"
|
||||||
|
TextAlignment="Justify"
|
||||||
|
Style="{StaticResource MacroDefault_TextBlock}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</ListBox.ItemTemplate>
|
||||||
|
</ListBox>
|
||||||
|
</Border>
|
||||||
|
<UniformGrid Columns="2"
|
||||||
|
Grid.Row="2"
|
||||||
|
Grid.ColumnSpan="3"
|
||||||
|
Margin="5">
|
||||||
|
<Button Content="{Binding OK_Msg}"
|
||||||
|
Command="{Binding Ok_Command}"
|
||||||
|
IsDefault="True"
|
||||||
|
Style="{StaticResource OnlyProdEgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="{Binding Cancel_Msg}"
|
||||||
|
IsCancel="True"
|
||||||
|
Style="{StaticResource OnlyProdEgtWPFLib5_InputButton}"/>
|
||||||
|
</UniformGrid>
|
||||||
|
</Grid>
|
||||||
|
</EgtWPFLib5:EgtCustomWindow>
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
Public Class NewAddFeatureWndV
|
||||||
|
|
||||||
|
Private WithEvents m_AddFeatureWndVM As AddFeatureWndVM
|
||||||
|
|
||||||
|
Sub New(Owner As Window, AddFeatureWndVM As AddFeatureWndVM)
|
||||||
|
' La chiamata è richiesta dalla finestra di progettazione.
|
||||||
|
InitializeComponent()
|
||||||
|
Me.DataContext = AddFeatureWndVM
|
||||||
|
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
|
||||||
|
m_AddFeatureWndVM = AddFeatureWndVM
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_AddFeatureWndVM.m_CloseWindow
|
||||||
|
Me.DialogResult = bDialogResult
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
<EgtWPFLib5:EgtCustomWindow x:Class="AddPartWndV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.Optimizer"
|
||||||
|
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||||
|
WindowStyle="None" ResizeMode="NoResize"
|
||||||
|
SizeToContent="WidthAndHeight"
|
||||||
|
WindowStartupLocation="CenterOwner"
|
||||||
|
IsClosable="False"
|
||||||
|
IsMinimizable="False"
|
||||||
|
IsResizable="False"
|
||||||
|
Title="AddPartWndV">
|
||||||
|
<Grid Margin="5,5,5,0">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<Grid HorizontalAlignment="Center"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text="Name"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Text="{Binding sNAM}"
|
||||||
|
Grid.Column="1"
|
||||||
|
Width="200"/>
|
||||||
|
</Grid>
|
||||||
|
<Grid Grid.Row="1"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text="Prod Number"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Text="{Binding nPDN}"
|
||||||
|
Grid.Column="1"
|
||||||
|
Width="45"/>
|
||||||
|
<TextBlock Text="Count"
|
||||||
|
Grid.Column="2"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Text="{Binding sCNT}"
|
||||||
|
Grid.Column="3"
|
||||||
|
Width="45"/>
|
||||||
|
</Grid>
|
||||||
|
<Grid Grid.Row="2"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text="W"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Text="{Binding sW}"
|
||||||
|
Grid.Column="1"
|
||||||
|
Width="45"/>
|
||||||
|
<TextBlock Text="H"
|
||||||
|
Grid.Column="2"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Text="{Binding sH}"
|
||||||
|
Grid.Column="3"
|
||||||
|
Width="45"/>
|
||||||
|
<TextBlock Text="L"
|
||||||
|
Grid.Column="4"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Text="{Binding sL}"
|
||||||
|
Grid.Column="5"
|
||||||
|
Width="45"/>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
<Grid Grid.Row="3"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Button Content="Ok"
|
||||||
|
Command="{Binding Ok_Command}"
|
||||||
|
IsDefault="True"
|
||||||
|
Grid.Column="1"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="Cancel"
|
||||||
|
IsCancel="True"
|
||||||
|
Grid.Column="3"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
</EgtWPFLib5:EgtCustomWindow>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
Public Class AddPartWndV
|
||||||
|
|
||||||
|
Private WithEvents m_AddPartWndVM As AddPartWndVM
|
||||||
|
|
||||||
|
Sub New(Owner As Window, AddPartWndVM As AddPartWndVM)
|
||||||
|
MyBase.New(Owner)
|
||||||
|
' This call is required by the designer.
|
||||||
|
InitializeComponent()
|
||||||
|
Me.DataContext = AddPartWndVM
|
||||||
|
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||||
|
m_AddPartWndVM = AddPartWndVM
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_AddPartWndVM.m_CloseWindow
|
||||||
|
Me.DialogResult = bDialogResult
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,176 @@
|
|||||||
|
Imports EgtWPFLib5
|
||||||
|
Imports EgtUILib
|
||||||
|
|
||||||
|
Public Class AddPartWndVM
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
#Region "FIELDS & PROPERTIES"
|
||||||
|
|
||||||
|
Friend Event m_CloseWindow(bDialogResult As Boolean)
|
||||||
|
|
||||||
|
Private m_nPDN As Integer
|
||||||
|
Public Property nPDN As Integer
|
||||||
|
Get
|
||||||
|
Return m_nPDN
|
||||||
|
End Get
|
||||||
|
Set(value As Integer)
|
||||||
|
m_nPDN = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_sNAM As String
|
||||||
|
Public Property sNAM As String
|
||||||
|
Get
|
||||||
|
Return m_sNAM
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_sNAM = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_dL As Double
|
||||||
|
Public ReadOnly Property dL As Double
|
||||||
|
Get
|
||||||
|
Return m_dL
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Public Property sL As String
|
||||||
|
Get
|
||||||
|
Return LenToString(m_dL, 3)
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
Dim dTempL As Double
|
||||||
|
If StringToLenAdv(value, dTempL, True) AndAlso dTempL > 0 Then
|
||||||
|
m_dL = dTempL
|
||||||
|
Else
|
||||||
|
NotifyPropertyChanged(NameOf(sL))
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_dW As Double
|
||||||
|
Public ReadOnly Property dW As Double
|
||||||
|
Get
|
||||||
|
Return m_dW
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Public Property sW As String
|
||||||
|
Get
|
||||||
|
Return LenToString(m_dW, 3)
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
Dim dTempW As Double
|
||||||
|
If StringToLenAdv(value, dTempW, True) AndAlso dTempW > 0 Then
|
||||||
|
EgtDraw()
|
||||||
|
m_dW = dTempW
|
||||||
|
Else
|
||||||
|
NotifyPropertyChanged(NameOf(sW))
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_dH As Double
|
||||||
|
Public ReadOnly Property dH As Double
|
||||||
|
Get
|
||||||
|
Return m_dH
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Public Property sH As String
|
||||||
|
Get
|
||||||
|
Return LenToString(m_dH, 3)
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
Dim dTempH As Double
|
||||||
|
If StringToLenAdv(value, dTempH, True) AndAlso dTempH > 0 Then
|
||||||
|
EgtDraw()
|
||||||
|
m_dH = dTempH
|
||||||
|
Else
|
||||||
|
NotifyPropertyChanged(NameOf(sH))
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_sMAT As String
|
||||||
|
Public Property sMAT As String
|
||||||
|
Get
|
||||||
|
Return m_sMAT
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_sMAT = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_nCNT As Integer
|
||||||
|
Public ReadOnly Property nCNT As Integer
|
||||||
|
Get
|
||||||
|
Return m_nCNT
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Public Property sCNT As String
|
||||||
|
Get
|
||||||
|
Return m_nCNT
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
Dim nTempCNT As Integer
|
||||||
|
If Integer.TryParse(value, nTempCNT) AndAlso nTempCNT > 0 Then
|
||||||
|
m_nCNT = nTempCNT
|
||||||
|
Else
|
||||||
|
NotifyPropertyChanged(NameOf(sCNT))
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Definizione comandi
|
||||||
|
Private m_cmdOk As ICommand
|
||||||
|
|
||||||
|
#End Region ' FIELDS & PROPERTIES
|
||||||
|
|
||||||
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
|
Sub New()
|
||||||
|
If Not IsNothing(Map.refProjectVM.BTLStructureVM.BTLPartVMList) Then
|
||||||
|
If Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) Then
|
||||||
|
m_dW = Map.refProjectVM.BTLStructureVM.SelBTLPart.dW
|
||||||
|
m_dH = Map.refProjectVM.BTLStructureVM.SelBTLPart.dH
|
||||||
|
m_dL = Map.refProjectVM.BTLStructureVM.SelBTLPart.dL
|
||||||
|
ElseIf Map.refProjectVM.BTLStructureVM.BTLPartVMList.Count > 0 Then
|
||||||
|
m_dW = Map.refProjectVM.BTLStructureVM.BTLPartVMList(0).dW
|
||||||
|
m_dH = Map.refProjectVM.BTLStructureVM.BTLPartVMList(0).dH
|
||||||
|
m_dL = Map.refProjectVM.BTLStructureVM.BTLPartVMList(0).dL
|
||||||
|
End If
|
||||||
|
m_nPDN = Map.refProjectVM.BTLStructureVM.BTLStructureM.NewPDN()
|
||||||
|
End If
|
||||||
|
m_nCNT = 1
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' CONSTRUCTOR
|
||||||
|
|
||||||
|
#Region "COMMANDS"
|
||||||
|
|
||||||
|
#Region "Ok"
|
||||||
|
|
||||||
|
Public ReadOnly Property Ok_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdOk Is Nothing Then
|
||||||
|
m_cmdOk = New Command(AddressOf Ok)
|
||||||
|
End If
|
||||||
|
Return m_cmdOk
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub Ok()
|
||||||
|
'verifico che tutti i campi contengano un valore valido
|
||||||
|
If Not IsNothing(m_dL) AndAlso m_dL > 0 AndAlso
|
||||||
|
Not IsNothing(m_dW) AndAlso m_dW >= 0 AndAlso
|
||||||
|
Not IsNothing(m_dH) AndAlso m_dH >= 0 Then
|
||||||
|
RaiseEvent m_CloseWindow(True)
|
||||||
|
Else
|
||||||
|
MessageBox.Show(EgtMsg(61853), EgtMsg(30007))
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Ok
|
||||||
|
|
||||||
|
#End Region ' COMMANDS
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
<EgtWPFLib5:EgtCustomWindow x:Class="OnlyProdAddPartWndV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
WindowStyle="None" ResizeMode="NoResize"
|
||||||
|
SizeToContent="WidthAndHeight"
|
||||||
|
WindowStartupLocation="CenterOwner"
|
||||||
|
IsClosable="False"
|
||||||
|
IsMinimizable="False"
|
||||||
|
IsResizable="False"
|
||||||
|
Title="AddPartWndV"
|
||||||
|
Style="{StaticResource OnlyProd_EgtCustomWindow}">
|
||||||
|
|
||||||
|
<Grid Margin="5,5,5,0">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<Grid Style="{StaticResource OnlyProdAddPart_Grid}">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text="Name"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding sNAM}"
|
||||||
|
Style="{StaticResource NAM_TextBox}"/>
|
||||||
|
</Grid>
|
||||||
|
<Grid Grid.Row="1"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text="Prod Number"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding nPDN}"
|
||||||
|
Style="{StaticResource Dimension_TextBox}"/>
|
||||||
|
<TextBlock Grid.Column="2"
|
||||||
|
Text="Count"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="3"
|
||||||
|
Text="{Binding sCNT}"
|
||||||
|
Style="{StaticResource Dimension_TextBox}"/>
|
||||||
|
</Grid>
|
||||||
|
<Grid Grid.Row="2"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text="W"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding sW}"
|
||||||
|
Style="{StaticResource Dimension_TextBox}"/>
|
||||||
|
<TextBlock Grid.Column="2"
|
||||||
|
Text="H"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="3"
|
||||||
|
Text="{Binding sH}"
|
||||||
|
Style="{StaticResource Dimension_TextBox}"/>
|
||||||
|
<TextBlock Grid.Column="4"
|
||||||
|
Text="L"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="5"
|
||||||
|
Text="{Binding sL}"
|
||||||
|
Style="{StaticResource Dimension_TextBox}"/>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
<UniformGrid Grid.Row="3"
|
||||||
|
Columns="2"
|
||||||
|
Margin="0,5,0,5">
|
||||||
|
<Button Content="Ok"
|
||||||
|
Command="{Binding Ok_Command}"
|
||||||
|
IsDefault="True"
|
||||||
|
Style="{StaticResource OnlyProdEgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="Cancel"
|
||||||
|
IsCancel="True"
|
||||||
|
Style="{StaticResource OnlyProdEgtWPFLib5_InputButton}"/>
|
||||||
|
</UniformGrid>
|
||||||
|
</Grid>
|
||||||
|
</EgtWPFLib5:EgtCustomWindow>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
Public Class OnlyProdAddPartWndV
|
||||||
|
|
||||||
|
Private WithEvents m_AddPartWndVM As AddPartWndVM
|
||||||
|
|
||||||
|
Sub New(Owner As Window, AddPartWndVM As AddPartWndVM)
|
||||||
|
MyBase.New(Owner)
|
||||||
|
' This call is required by the designer.
|
||||||
|
InitializeComponent()
|
||||||
|
Me.DataContext = AddPartWndVM
|
||||||
|
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||||
|
m_AddPartWndVM = AddPartWndVM
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_AddPartWndVM.m_CloseWindow
|
||||||
|
Me.DialogResult = bDialogResult
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
<EgtWPFLib5:EgtCustomWindow x:Class="AddRawPartWndV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.Optimizer"
|
||||||
|
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||||
|
WindowStyle="None" ResizeMode="NoResize"
|
||||||
|
SizeToContent="WidthAndHeight"
|
||||||
|
WindowStartupLocation="CenterOwner"
|
||||||
|
IsClosable="False"
|
||||||
|
IsMinimizable="False"
|
||||||
|
IsResizable="False"
|
||||||
|
Title="AddRawPartWnd">
|
||||||
|
<Grid Margin="5,5,5,0">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<ComboBox ItemsSource="{Binding DimensionsList}"
|
||||||
|
SelectedItem="{Binding SelDimension}"
|
||||||
|
DisplayMemberPath="sDimension"
|
||||||
|
Visibility="{Binding DimensionsList_Visibility}"
|
||||||
|
Margin="0,0,0,5"/>
|
||||||
|
<ItemsControl ItemsSource="{Binding VariableList}"
|
||||||
|
Grid.Row="1">
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<Grid Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<TextBlock Text="{Binding sMsg}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Text="{Binding sValue}"
|
||||||
|
Grid.Column="1"
|
||||||
|
Width="65"/>
|
||||||
|
</Grid>
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ItemsControl>
|
||||||
|
<Grid Grid.Row="2"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Button Content="Ok"
|
||||||
|
Command="{Binding Ok_Command}"
|
||||||
|
IsDefault="True"
|
||||||
|
Grid.Column="1"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="Cancel"
|
||||||
|
IsCancel="True"
|
||||||
|
Grid.Column="3"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
</EgtWPFLib5:EgtCustomWindow>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
Public Class AddRawPartWndV
|
||||||
|
|
||||||
|
Private WithEvents m_AddRawPartWndVM As AddRawPartWndVM
|
||||||
|
|
||||||
|
Sub New(Owner As Window, AddRawPartWndVM As AddRawPartWndVM)
|
||||||
|
MyBase.New(Owner)
|
||||||
|
' This call is required by the designer.
|
||||||
|
InitializeComponent()
|
||||||
|
Me.DataContext = AddRawPartWndVM
|
||||||
|
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||||
|
m_AddRawPartWndVM = AddRawPartWndVM
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_AddRawPartWndVM.m_CloseWindow
|
||||||
|
Me.DialogResult = bDialogResult
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,256 @@
|
|||||||
|
Imports System.Collections.ObjectModel
|
||||||
|
Imports EgtWPFLib5
|
||||||
|
Imports EgtUILib
|
||||||
|
Imports EgtBEAMWALL.Core
|
||||||
|
|
||||||
|
Public Class AddRawPartWndVM
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
#Region "FIELDS & PROPERTIES"
|
||||||
|
|
||||||
|
Public Enum EditTypes As Integer
|
||||||
|
ONLY_TEXT = 1
|
||||||
|
ONLY_COMBO = 2
|
||||||
|
TEXT_AND_COMBO = 3
|
||||||
|
End Enum
|
||||||
|
|
||||||
|
Friend Event m_CloseWindow(bDialogResult As Boolean)
|
||||||
|
|
||||||
|
' flag che indica se trave o parete
|
||||||
|
Private m_nProjectType As BWType = BWType.BEAM
|
||||||
|
Private m_EditType As EditTypes = EditTypes.ONLY_TEXT
|
||||||
|
|
||||||
|
' lista delle variabili da mostrare
|
||||||
|
Private m_VariableList_View As CollectionView = Nothing
|
||||||
|
Private m_VariableList As ObservableCollection(Of Variable)
|
||||||
|
Public ReadOnly Property VariableList As ObservableCollection(Of Variable)
|
||||||
|
Get
|
||||||
|
Return m_VariableList
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_DimensionsList As List(Of SParam)
|
||||||
|
Public Property DimensionsList As List(Of SParam)
|
||||||
|
Get
|
||||||
|
Return m_DimensionsList
|
||||||
|
End Get
|
||||||
|
Set(value As List(Of SParam))
|
||||||
|
m_DimensionsList = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_SelDimension As SParam
|
||||||
|
Public Property SelDimension As SParam
|
||||||
|
Get
|
||||||
|
Return m_SelDimension
|
||||||
|
End Get
|
||||||
|
Set(value As SParam)
|
||||||
|
m_SelDimension = value
|
||||||
|
If m_EditType = EditTypes.ONLY_COMBO OrElse m_EditType = EditTypes.TEXT_AND_COMBO Then
|
||||||
|
' aggiorno textbox
|
||||||
|
Select Case m_nProjectType
|
||||||
|
Case BWType.BEAM
|
||||||
|
m_VariableList(0).SetValue(value.dL)
|
||||||
|
Case BWType.WALL
|
||||||
|
m_VariableList(0).SetValue(value.dW)
|
||||||
|
m_VariableList(1).SetValue(value.dL)
|
||||||
|
End Select
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_DimensionsList_Visibility As Visibility
|
||||||
|
Public ReadOnly Property DimensionsList_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return If(m_EditType = EditTypes.ONLY_COMBO OrElse m_EditType = EditTypes.TEXT_AND_COMBO, Visibility.Visible, Visibility.Collapsed)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Definizione comandi
|
||||||
|
Private m_cmdOk As ICommand
|
||||||
|
|
||||||
|
#End Region ' FIELDS & PROPERTIES
|
||||||
|
|
||||||
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
|
Sub New(MachineType As Integer, dL As Double, dW As Double, dPosx As Double)
|
||||||
|
m_nProjectType = MachineType
|
||||||
|
m_EditType = EditTypes.ONLY_TEXT
|
||||||
|
Select Case m_nProjectType
|
||||||
|
Case ConstBeam.MachineType.BEAM
|
||||||
|
m_VariableList = New ObservableCollection(Of Variable)({New Variable(Variable.VariableType.LENGTH, EgtMsg(61935), dL), ' lunghezza
|
||||||
|
New Variable(Variable.VariableType.LENGTH, EgtMsg(61816), dPosx)}) ' ritaglio iniziale
|
||||||
|
Case ConstBeam.MachineType.WALL
|
||||||
|
m_VariableList = New ObservableCollection(Of Variable)({New Variable(Variable.VariableType.LENGTH, EgtMsg(61935), dL), ' lunghezza
|
||||||
|
New Variable(Variable.VariableType.LENGTH, EgtMsg(61936), dW)}) ' larghezza
|
||||||
|
End Select
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub New(EditType As EditTypes, ProjectType As BWType, DimensionsList As List(Of SParam), dL As Double, dW As Double, dPosx As Double, dOffset As Double, dKerf As Double)
|
||||||
|
m_EditType = EditType
|
||||||
|
m_nProjectType = ProjectType
|
||||||
|
Select Case ProjectType
|
||||||
|
Case BWType.BEAM
|
||||||
|
m_VariableList = New ObservableCollection(Of Variable)({New Variable(Variable.VariableType.LENGTH, EgtMsg(61935), dL + dPosx), ' lunghezza + ritaglio iniziale
|
||||||
|
New Variable(Variable.VariableType.LENGTH, EgtMsg(61816), dPosx), ' ritaglio iniziale
|
||||||
|
New Variable(Variable.VariableType.LENGTH, EgtMsg(61937), dOffset)}) ' offset
|
||||||
|
Case BWType.WALL
|
||||||
|
m_VariableList = New ObservableCollection(Of Variable)({New Variable(Variable.VariableType.LENGTH, EgtMsg(61936), dW), ' larghezza
|
||||||
|
New Variable(Variable.VariableType.LENGTH, EgtMsg(61935), dL), ' lunghezza
|
||||||
|
New Variable(Variable.VariableType.LENGTH, EgtMsg(61938), dKerf), ' kerf
|
||||||
|
New Variable(Variable.VariableType.LENGTH, EgtMsg(61937), dOffset)}) ' offset
|
||||||
|
End Select
|
||||||
|
m_DimensionsList = DimensionsList
|
||||||
|
If m_DimensionsList.Count > 0 Then
|
||||||
|
Dim LastMaterial As SParam = WarehouseHelper.GetLastMaterial(DimensionsList(0).SectXMat)
|
||||||
|
If IsNothing(LastMaterial) Then
|
||||||
|
SelDimension = m_DimensionsList(0)
|
||||||
|
Else
|
||||||
|
Dim TempDimension As SParam = m_DimensionsList.FirstOrDefault(Function(x) x.SectXMat = LastMaterial.SectXMat AndAlso x.dL = LastMaterial.dL AndAlso x.dW = LastMaterial.dW AndAlso x.nQuantity = LastMaterial.nQuantity)
|
||||||
|
If Not IsNothing(TempDimension) Then
|
||||||
|
SelDimension = TempDimension
|
||||||
|
Else
|
||||||
|
SelDimension = m_DimensionsList(0)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
' riduco lista parametri a solo quelli che utilizzati
|
||||||
|
m_VariableList_View = CollectionViewSource.GetDefaultView(m_VariableList)
|
||||||
|
m_VariableList_View.Filter = AddressOf VariableListFilter
|
||||||
|
NotifyPropertyChanged(NameOf(DimensionsList_Visibility))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Function VariableListFilter(Variable As Object) As Boolean
|
||||||
|
Dim CurrVariable As Variable = DirectCast(Variable, Variable)
|
||||||
|
Dim nVariableIndex As Integer = m_VariableList.IndexOf(Variable)
|
||||||
|
Select Case m_nProjectType
|
||||||
|
Case BWType.BEAM
|
||||||
|
If m_EditType = EditTypes.ONLY_TEXT OrElse m_EditType = EditTypes.TEXT_AND_COMBO Then
|
||||||
|
Return True
|
||||||
|
Else
|
||||||
|
Return nVariableIndex = 1 OrElse nVariableIndex = 2
|
||||||
|
End If
|
||||||
|
Case BWType.WALL
|
||||||
|
If m_EditType = EditTypes.ONLY_TEXT OrElse m_EditType = EditTypes.TEXT_AND_COMBO Then
|
||||||
|
Return True
|
||||||
|
Else
|
||||||
|
Return nVariableIndex = 2 OrElse nVariableIndex = 3
|
||||||
|
End If
|
||||||
|
End Select
|
||||||
|
Return False
|
||||||
|
End Function
|
||||||
|
|
||||||
|
#End Region ' CONSTRUCTOR
|
||||||
|
|
||||||
|
#Region "COMMANDS"
|
||||||
|
|
||||||
|
#Region "Ok"
|
||||||
|
|
||||||
|
Public ReadOnly Property Ok_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdOk Is Nothing Then
|
||||||
|
m_cmdOk = New Command(AddressOf Ok)
|
||||||
|
End If
|
||||||
|
Return m_cmdOk
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub Ok()
|
||||||
|
'verifico che tutti i campi contengano un valore valido
|
||||||
|
For Each Variable In m_VariableList
|
||||||
|
If (Variable.nType = Variable.VariableType.STRING_ AndAlso IsNothing(Variable.sValue)) OrElse
|
||||||
|
((Variable.nType = Variable.VariableType.DOUBLE_ OrElse Variable.nType = Variable.VariableType.LENGTH) AndAlso IsNothing(Variable.dValue)) Then
|
||||||
|
MessageBox.Show(If(m_nProjectType = MachineType.BEAM, EgtMsg(61854), EgtMsg(61855)), EgtMsg(30007))
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
' se non ci sono problemi esco restituendo vero
|
||||||
|
RaiseEvent m_CloseWindow(True)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Ok
|
||||||
|
|
||||||
|
#End Region ' COMMANDS
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class Variable
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
Public Enum VariableType As Integer
|
||||||
|
DOUBLE_ = 1
|
||||||
|
STRING_ = 2
|
||||||
|
COMBO = 3
|
||||||
|
LENGTH = 4
|
||||||
|
End Enum
|
||||||
|
|
||||||
|
Private m_nType As VariableType
|
||||||
|
Public ReadOnly Property nType As VariableType
|
||||||
|
Get
|
||||||
|
Return m_nType
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_sMsg As String
|
||||||
|
Public Property sMsg As String
|
||||||
|
Get
|
||||||
|
Return m_sMsg
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_sMsg = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_dValue As Double = 0
|
||||||
|
Friend ReadOnly Property dValue As Double
|
||||||
|
Get
|
||||||
|
Return m_dValue
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_sValue As String = ""
|
||||||
|
Public Property sValue As String
|
||||||
|
Get
|
||||||
|
Select Case m_nType
|
||||||
|
Case VariableType.STRING_
|
||||||
|
Return m_sValue
|
||||||
|
Case VariableType.LENGTH
|
||||||
|
Return LenToString(m_dValue, 3)
|
||||||
|
Case Else ' VariableType.DOUBLE_
|
||||||
|
Return DoubleToString(m_dValue, 3)
|
||||||
|
End Select
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
Select Case m_nType
|
||||||
|
Case VariableType.STRING_
|
||||||
|
m_sValue = value
|
||||||
|
Case VariableType.LENGTH
|
||||||
|
Dim dTempValue As Double
|
||||||
|
If StringToLenAdv(value, dTempValue, True) Then
|
||||||
|
m_dValue = dTempValue
|
||||||
|
Else
|
||||||
|
NotifyPropertyChanged(NameOf(sValue))
|
||||||
|
End If
|
||||||
|
Case Else ' VariableType.DOUBLE_
|
||||||
|
Dim dTempValue As Double
|
||||||
|
If StringToDoubleAdv(value, dTempValue, True) Then
|
||||||
|
m_dValue = dTempValue
|
||||||
|
Else
|
||||||
|
NotifyPropertyChanged(NameOf(sValue))
|
||||||
|
End If
|
||||||
|
End Select
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Sub New(Type As VariableType, Msg As String, Value As Double)
|
||||||
|
m_nType = Type
|
||||||
|
m_sMsg = Msg
|
||||||
|
m_dValue = Value
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub SetValue(dValue As Double)
|
||||||
|
m_dValue = dValue
|
||||||
|
NotifyPropertyChanged(NameOf(sValue))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
<EgtWPFLib5:EgtCustomWindow x:Class="OnlyProdAddRawPartWndV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
WindowStyle="None" ResizeMode="NoResize"
|
||||||
|
SizeToContent="WidthAndHeight"
|
||||||
|
WindowStartupLocation="CenterOwner"
|
||||||
|
IsClosable="False"
|
||||||
|
IsMinimizable="False"
|
||||||
|
IsResizable="False"
|
||||||
|
Title="AddRawPartWnd"
|
||||||
|
Style="{StaticResource OnlyProd_EgtCustomWindow}">
|
||||||
|
<Grid Margin="5,5,5,0">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<ComboBox ItemsSource="{Binding DimensionsList}"
|
||||||
|
SelectedItem="{Binding SelDimension}"
|
||||||
|
DisplayMemberPath="sDimension"
|
||||||
|
Visibility="{Binding DimensionsList_Visibility}"
|
||||||
|
Margin="0,0,0,5"
|
||||||
|
Style="{StaticResource OnlyProd_ComboBox}"/>
|
||||||
|
<ItemsControl Grid.Row="1"
|
||||||
|
ItemsSource="{Binding VariableList}">
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<Grid Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<TextBlock Text="{Binding sMsg}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding sValue}"
|
||||||
|
Style="{StaticResource Value_TextBox}"/>
|
||||||
|
</Grid>
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ItemsControl>
|
||||||
|
<UniformGrid Grid.Row="2"
|
||||||
|
Columns="2"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<Button Grid.Column="1"
|
||||||
|
Content="Ok"
|
||||||
|
Command="{Binding Ok_Command}"
|
||||||
|
IsDefault="True"
|
||||||
|
Style="{StaticResource OnlyProdEgtWPFLib5_InputButton}"
|
||||||
|
Margin="0,0,5,0"/>
|
||||||
|
<Button Grid.Column="3"
|
||||||
|
Content="Cancel"
|
||||||
|
IsCancel="True"
|
||||||
|
Style="{StaticResource OnlyProdEgtWPFLib5_InputButton}"/>
|
||||||
|
</UniformGrid>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</EgtWPFLib5:EgtCustomWindow>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
Public Class OnlyProdAddRawPartWndV
|
||||||
|
|
||||||
|
Private WithEvents m_AddRawPartWndVM As AddRawPartWndVM
|
||||||
|
|
||||||
|
Sub New(Owner As Window, AddRawPartWndVM As AddRawPartWndVM)
|
||||||
|
MyBase.New(Owner)
|
||||||
|
' This call is required by the designer.
|
||||||
|
InitializeComponent()
|
||||||
|
Me.DataContext = AddRawPartWndVM
|
||||||
|
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||||
|
m_AddRawPartWndVM = AddRawPartWndVM
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_AddRawPartWndVM.m_CloseWindow
|
||||||
|
Me.DialogResult = bDialogResult
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
<EgtWPFLib5:EgtCustomWindow x:Class="AddSectionXMaterialWndV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.Optimizer"
|
||||||
|
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core"
|
||||||
|
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||||
|
WindowStyle="None" ResizeMode="NoResize"
|
||||||
|
SizeToContent="WidthAndHeight"
|
||||||
|
WindowStartupLocation="CenterOwner"
|
||||||
|
IsClosable="False"
|
||||||
|
IsMinimizable="False"
|
||||||
|
IsResizable="False"
|
||||||
|
Title="AddSectionXMaterial">
|
||||||
|
<StackPanel Margin="5,5,5,0">
|
||||||
|
|
||||||
|
<EgtBEAMWALLCORE:EgtDataGrid Grid.Row="0" Width="500" MaxHeight="600"
|
||||||
|
ItemsSource="{Binding NewSectionXMaterialList}"
|
||||||
|
SelectedItem="{Binding SelNewSectionXMaterial}"
|
||||||
|
CanUserAddRows="False"
|
||||||
|
AutoGenerateColumns="False"
|
||||||
|
CanUserResizeRows="False"
|
||||||
|
SelectionMode="Single"
|
||||||
|
ScrollViewer.CanContentScroll="False"
|
||||||
|
ScrollViewer.VerticalScrollBarVisibility="Auto"
|
||||||
|
ScrollViewer.HorizontalScrollBarVisibility="Auto"
|
||||||
|
Margin="5"
|
||||||
|
ColumnHeaderBackground="{x:Null}"
|
||||||
|
BindingColumns="{Binding SectXMatColumns}">
|
||||||
|
<DataGrid.Resources>
|
||||||
|
<!-- SectionXMaterial -->
|
||||||
|
<DataGridTextColumn x:Key="colSECTXMAT" Binding="{Binding sSectionXMaterial}">
|
||||||
|
<DataGridTextColumn.HeaderTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding Path=DataContext.SectionXMaterial_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:AddSectionXMaterialWndV}}}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTextColumn.HeaderTemplate>
|
||||||
|
</DataGridTextColumn>
|
||||||
|
<!-- Alias -->
|
||||||
|
<DataGridTemplateColumn x:Key="colALIAS">
|
||||||
|
<DataGridTemplateColumn.Header>
|
||||||
|
<TextBlock Text="{Binding Path=DataContext.Alias_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:AddSectionXMaterialWndV}}}"/>
|
||||||
|
</DataGridTemplateColumn.Header>
|
||||||
|
<DataGridTemplateColumn.CellTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<CheckBox IsChecked="{Binding Path=Alias_IsChecked, UpdateSourceTrigger=PropertyChanged}"
|
||||||
|
IsEnabled="{Binding Alias_IsEnabled}"
|
||||||
|
HorizontalAlignment="Center"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.CellTemplate>
|
||||||
|
</DataGridTemplateColumn>
|
||||||
|
<!-- W -->
|
||||||
|
<DataGridTextColumn x:Key="colW" Binding="{Binding sNewW}">
|
||||||
|
<DataGridTextColumn.HeaderTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding Path=DataContext.W_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:AddSectionXMaterialWndV}}}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTextColumn.HeaderTemplate>
|
||||||
|
<DataGridTextColumn.CellStyle>
|
||||||
|
<Style TargetType="DataGridCell">
|
||||||
|
<Setter Property="IsEnabled" Value="{Binding Alias_IsNotChecked}" />
|
||||||
|
</Style>
|
||||||
|
</DataGridTextColumn.CellStyle>
|
||||||
|
</DataGridTextColumn>
|
||||||
|
<!-- L -->
|
||||||
|
<DataGridTextColumn x:Key="colL" Binding="{Binding sNewL}">
|
||||||
|
<DataGridTextColumn.HeaderTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding Path=DataContext.L_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:AddSectionXMaterialWndV}}}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTextColumn.HeaderTemplate>
|
||||||
|
<DataGridTextColumn.CellStyle>
|
||||||
|
<Style TargetType="DataGridCell">
|
||||||
|
<Setter Property="IsEnabled" Value="{Binding Alias_IsNotChecked}" />
|
||||||
|
</Style>
|
||||||
|
</DataGridTextColumn.CellStyle>
|
||||||
|
</DataGridTextColumn>
|
||||||
|
<!-- Material -->
|
||||||
|
<DataGridTemplateColumn x:Key="colMATERIAL">
|
||||||
|
<DataGridTemplateColumn.Header>
|
||||||
|
<TextBlock Text="{Binding Path=DataContext.Material_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:AddSectionXMaterialWndV}}}"/>
|
||||||
|
</DataGridTemplateColumn.Header>
|
||||||
|
<DataGridTemplateColumn.CellTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<ComboBox ItemsSource="{Binding MaterialForSameSection_List}"
|
||||||
|
SelectedItem="{Binding SelMaterialForSameSection, UpdateSourceTrigger=PropertyChanged}"
|
||||||
|
IsEnabled="{Binding Alias_IsChecked, UpdateSourceTrigger=PropertyChanged}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.CellTemplate>
|
||||||
|
</DataGridTemplateColumn>
|
||||||
|
<!-- Quantity -->
|
||||||
|
<DataGridTextColumn x:Key="colQTY" Binding="{Binding sQuantity}">
|
||||||
|
<DataGridTextColumn.HeaderTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding Path=DataContext.Quantity_Msg,RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:AddSectionXMaterialWndV}}}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTextColumn.HeaderTemplate>
|
||||||
|
<DataGridTextColumn.CellStyle>
|
||||||
|
<Style TargetType="DataGridCell">
|
||||||
|
<Setter Property="IsEnabled" Value="{Binding Alias_IsNotChecked}" />
|
||||||
|
</Style>
|
||||||
|
</DataGridTextColumn.CellStyle>
|
||||||
|
</DataGridTextColumn>
|
||||||
|
</DataGrid.Resources>
|
||||||
|
</EgtBEAMWALLCORE:EgtDataGrid>
|
||||||
|
|
||||||
|
<Grid Grid.Row="2" Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Button Content="{Binding Ok_Msg}"
|
||||||
|
Command="{Binding Ok_Command}"
|
||||||
|
IsDefault="True"
|
||||||
|
Grid.Column="1"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="{Binding Cancel_Msg}"
|
||||||
|
Command="{Binding Cancel_Command}"
|
||||||
|
IsCancel="True"
|
||||||
|
Grid.Column="3"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
|
</EgtWPFLib5:EgtCustomWindow>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
Public Class AddSectionXMaterialWndV
|
||||||
|
|
||||||
|
Private WithEvents m_AddSectionXMaterialWndVM As AddSectionXMaterialWndVM
|
||||||
|
|
||||||
|
Sub New(Owner As Window, AddSectionXMaterialWndVM As AddSectionXMaterialWndVM)
|
||||||
|
MyBase.New(Owner)
|
||||||
|
' This call is required by the designer.
|
||||||
|
InitializeComponent()
|
||||||
|
Me.DataContext = AddSectionXMaterialWndVM
|
||||||
|
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||||
|
m_AddSectionXMaterialWndVM = AddSectionXMaterialWndVM
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_AddSectionXMaterialWndVM.m_CloseWindow
|
||||||
|
Me.DialogResult = bDialogResult
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,381 @@
|
|||||||
|
Imports System.Collections.ObjectModel
|
||||||
|
Imports EgtUILib
|
||||||
|
Imports EgtWPFLib5
|
||||||
|
Imports EgtBEAMWALL.Core
|
||||||
|
|
||||||
|
Public Class AddSectionXMaterialWndVM
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
#Region "FIELDS & PROPERTIES"
|
||||||
|
|
||||||
|
Friend Event m_CloseWindow(bDialogResult As Boolean)
|
||||||
|
|
||||||
|
Protected m_SectXMatColumns As New ObservableCollection(Of EgtDataGridColumn)
|
||||||
|
Public Property SectXMatColumns As ObservableCollection(Of EgtDataGridColumn)
|
||||||
|
Get
|
||||||
|
Return m_SectXMatColumns
|
||||||
|
End Get
|
||||||
|
Set(value As ObservableCollection(Of EgtDataGridColumn))
|
||||||
|
m_SectXMatColumns = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Lista dei nuovi SectionXMaterial in BTLSTructure non presenti in Warehouse
|
||||||
|
Private m_NewSectionXMaterialList As New ObservableCollection(Of SectionXMaterialToBeAdded)
|
||||||
|
Public Property NewSectionXMaterialList As ObservableCollection(Of SectionXMaterialToBeAdded)
|
||||||
|
Get
|
||||||
|
Return m_NewSectionXMaterialList
|
||||||
|
End Get
|
||||||
|
Set(value As ObservableCollection(Of SectionXMaterialToBeAdded))
|
||||||
|
m_NewSectionXMaterialList = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Lista dei SectionXMaterial presenti in Warehouse
|
||||||
|
Private m_WhSectXMatList As New List(Of SectionXMaterial)
|
||||||
|
Public Property WhSectXMatList As List(Of SectionXMaterial)
|
||||||
|
Get
|
||||||
|
Return m_WhSectXMatList
|
||||||
|
End Get
|
||||||
|
Set(value As List(Of SectionXMaterial))
|
||||||
|
m_WhSectXMatList = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' SectionXMaterial correntemente selezionato nella Datagrid
|
||||||
|
Private m_SelNewSectionXMaterial As SectionXMaterialToBeAdded
|
||||||
|
Public Property SelNewSectionXMaterial As SectionXMaterialToBeAdded
|
||||||
|
Get
|
||||||
|
Return m_SelNewSectionXMaterial
|
||||||
|
End Get
|
||||||
|
Set(value As SectionXMaterialToBeAdded)
|
||||||
|
m_SelNewSectionXMaterial = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Definizione comandi
|
||||||
|
Private m_cmdOk As ICommand
|
||||||
|
Private m_cmdCancel As ICommand
|
||||||
|
|
||||||
|
#End Region ' FIELDS & PROPERTIES
|
||||||
|
|
||||||
|
#Region "MESSAGES"
|
||||||
|
|
||||||
|
Public ReadOnly Property SectionXMaterial_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61771)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Alias_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61772)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property L_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61604)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property W_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61605)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Material_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61607)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Quantity_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61774)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Ok_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61761)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Cancel_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61763)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Error_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61764)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property IncorrectValues_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61768)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
#End Region ' MESSAGES
|
||||||
|
|
||||||
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
|
Sub New(SectXMatList As List(Of SectionXMaterialToBeAdded))
|
||||||
|
' Aggiungo riferimento a Map
|
||||||
|
Map.SetRefAddSectionXMaterialWndVM(Me)
|
||||||
|
' carico le colonne della datagrid
|
||||||
|
LoadColumns(Map.refProjectVM.BTLStructureVM.nPROJTYPE)
|
||||||
|
NewSectionXMaterialList = New ObservableCollection(Of SectionXMaterialToBeAdded)(SectXMatList)
|
||||||
|
WhSectXMatList = WarehouseWndVM.GetSectionXMaterialsFromWarehouse()
|
||||||
|
' Prendo i SectionXMaterial appena messi nella Lista di questa finestra e li confronto con ciascuno di quelli presenti in Warehouse.
|
||||||
|
' Se le sezioni sono uguali carico i materiali relativi alla medesima sezione.
|
||||||
|
' Se i materiali di quella medesima sezione non ci sono disabilito la CheckBox Alias.
|
||||||
|
For Each NewSectXMatItem In NewSectionXMaterialList
|
||||||
|
NewSectXMatItem.Alias_IsChecked = False
|
||||||
|
For Each SectionListItem In WhSectXMatList
|
||||||
|
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.BEAM Then
|
||||||
|
If NewSectXMatItem.dW = SectionListItem.dW AndAlso NewSectXMatItem.dH = SectionListItem.dH Then
|
||||||
|
' Se le sezioni sono uguali allora indago sui materiali
|
||||||
|
For Index As Integer = 0 To SectionListItem.sMaterial.Count - 1
|
||||||
|
If Not NewSectXMatItem.MaterialForSameSection_List.Contains(SectionListItem.sMaterial(Index)) And
|
||||||
|
Not NewSectXMatItem.sMaterial.Contains(SectionListItem.sMaterial(Index)) Then
|
||||||
|
NewSectXMatItem.MaterialForSameSection_List.Add(SectionListItem.sMaterial(Index))
|
||||||
|
End If
|
||||||
|
If NewSectXMatItem.MaterialForSameSection_List.Count > 0 Then
|
||||||
|
NewSectXMatItem.Alias_IsEnabled = True
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.WALL Then
|
||||||
|
If NewSectXMatItem.dH = SectionListItem.dH Then
|
||||||
|
' Se le sezioni sono uguali allora indago sui materiali
|
||||||
|
For Index As Integer = 0 To SectionListItem.sMaterial.Count - 1
|
||||||
|
If Not NewSectXMatItem.MaterialForSameSection_List.Contains(SectionListItem.sMaterial(Index)) And
|
||||||
|
Not NewSectXMatItem.sMaterial.Contains(SectionListItem.sMaterial(Index)) Then
|
||||||
|
NewSectXMatItem.MaterialForSameSection_List.Add(SectionListItem.sMaterial(Index))
|
||||||
|
End If
|
||||||
|
If NewSectXMatItem.MaterialForSameSection_List.Count > 0 Then
|
||||||
|
NewSectXMatItem.Alias_IsEnabled = True
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' CONSTRUCTOR
|
||||||
|
|
||||||
|
#Region "COMMANDS"
|
||||||
|
|
||||||
|
#Region "Ok"
|
||||||
|
|
||||||
|
Public ReadOnly Property Ok_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdOk Is Nothing Then
|
||||||
|
m_cmdOk = New Command(AddressOf Ok)
|
||||||
|
End If
|
||||||
|
Return m_cmdOk
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub Ok()
|
||||||
|
' Se i valori non sono corretti segnalo l'errore e impedisco il salvataggio
|
||||||
|
For Index As Integer = 0 To NewSectionXMaterialList.Count - 1
|
||||||
|
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.BEAM AndAlso
|
||||||
|
(Not NewSectionXMaterialList(Index).Alias_IsChecked And NewSectionXMaterialList(Index).dNewL < 0) OrElse
|
||||||
|
(NewSectionXMaterialList(Index).Alias_IsChecked And IsNothing(NewSectionXMaterialList(Index).SelMaterialForSameSection)) OrElse
|
||||||
|
(Not NewSectionXMaterialList(Index).Alias_IsChecked And (NewSectionXMaterialList(Index).nQuantity < 0 Or NewSectionXMaterialList(Index).nQuantity > 99)) Then
|
||||||
|
MessageBox.Show(IncorrectValues_Msg, Error_Msg)
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.WALL AndAlso
|
||||||
|
(Not NewSectionXMaterialList(Index).Alias_IsChecked And (NewSectionXMaterialList(Index).dNewW < 0 Or NewSectionXMaterialList(Index).dNewL < 0)) OrElse
|
||||||
|
(NewSectionXMaterialList(Index).Alias_IsChecked And IsNothing(NewSectionXMaterialList(Index).SelMaterialForSameSection)) OrElse
|
||||||
|
(Not NewSectionXMaterialList(Index).Alias_IsChecked And (NewSectionXMaterialList(Index).nQuantity < 0 Or NewSectionXMaterialList(Index).nQuantity > 99)) Then
|
||||||
|
MessageBox.Show(IncorrectValues_Msg, Error_Msg)
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
' Se i valori sono corretti salvo
|
||||||
|
Save()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Ok
|
||||||
|
|
||||||
|
#Region "Cancel"
|
||||||
|
|
||||||
|
Public ReadOnly Property Cancel_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdCancel Is Nothing Then
|
||||||
|
m_cmdCancel = New Command(AddressOf Cancel)
|
||||||
|
End If
|
||||||
|
Return m_cmdCancel
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub Cancel()
|
||||||
|
' Resetto i valori prima di salvarli
|
||||||
|
For Index As Integer = 0 To NewSectionXMaterialList.Count - 1
|
||||||
|
NewSectionXMaterialList(Index).Alias_IsChecked = False
|
||||||
|
NewSectionXMaterialList(Index).dNewL = 0
|
||||||
|
NewSectionXMaterialList(Index).nQuantity = 0
|
||||||
|
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.WALL Then NewSectionXMaterialList(Index).dNewW = 0
|
||||||
|
Next
|
||||||
|
Save()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Cancel
|
||||||
|
|
||||||
|
#End Region ' CONSTRUCTOR
|
||||||
|
|
||||||
|
#Region "METHODS"
|
||||||
|
|
||||||
|
#Region "LoadColumns"
|
||||||
|
|
||||||
|
Protected Sub LoadColumns(ProjectType As BWType)
|
||||||
|
If ProjectType = BWType.BEAM Then
|
||||||
|
' carico le colonne della datagrid
|
||||||
|
GetPrivateProfileColumns(S_SECTXMATLIST_BEAM, SectXMatColumns)
|
||||||
|
ElseIf ProjectType = BWType.WALL Then
|
||||||
|
' carico le colonne della datagrid
|
||||||
|
GetPrivateProfileColumns(S_SECTXMATLIST_WALL, SectXMatColumns)
|
||||||
|
End If
|
||||||
|
' aggiorno la visibilità delle colonne
|
||||||
|
For Each col In SectXMatColumns
|
||||||
|
col.ColumnVisibility = If(col.Visible, Visibility.Visible, Visibility.Collapsed)
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' LoadColumns
|
||||||
|
|
||||||
|
#Region "Save"
|
||||||
|
|
||||||
|
Public Sub Save()
|
||||||
|
|
||||||
|
' Indice per scansionare NewSectionXMaterialList
|
||||||
|
Dim Index = 0
|
||||||
|
' Indice da incrementare in modo da scrivere i nuovi parametri L/S a partire dal giusto numero
|
||||||
|
Dim ParamIndex = 1
|
||||||
|
' Indice da incrementare in modo da scrivere i nuovi SectionXMaterial a partire dal giusto numero
|
||||||
|
Dim SxMParamIndex = 1
|
||||||
|
|
||||||
|
Dim sWarehousePath As String = Map.refMainWindowVM.MainWindowM.sWarehouseDir & "\" & WH_MEDIUM_INI_FILE_NAME
|
||||||
|
|
||||||
|
If Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.BEAM Then
|
||||||
|
|
||||||
|
' Ciclo sui parametri L esistenti nell'INI in modo da avere l'indice di partenza per gli ulteriori parametri da scrivere
|
||||||
|
Dim sValue As String = String.Empty
|
||||||
|
While EgtUILib.GetPrivateProfileString(S_BEAM, "L" & ParamIndex, String.Empty, sValue, sWarehousePath)
|
||||||
|
ParamIndex += 1
|
||||||
|
End While
|
||||||
|
' Ciclo sui SectionXMaterial BEAM esistenti nell'INI in modo da avere l'indice di partenza per gli ulteriori parametri da scrivere
|
||||||
|
While EgtUILib.GetPrivateProfileString(S_BEAM_LIST, SxMParamIndex, String.Empty, sValue, sWarehousePath)
|
||||||
|
SxMParamIndex += 1
|
||||||
|
End While
|
||||||
|
|
||||||
|
' Se i valori sono tutti >= 0 li scrivo nel file INI
|
||||||
|
Index = 0
|
||||||
|
For Each NewSxMItem In NewSectionXMaterialList
|
||||||
|
Dim sAlias As String = String.Empty
|
||||||
|
For Each Mat In NewSectionXMaterialList(Index).sMaterial
|
||||||
|
sAlias &= Mat & ";"
|
||||||
|
Next
|
||||||
|
sAlias = sAlias.TrimEnd(";")
|
||||||
|
' Se Alias è checkato aggiungo l'Alias scelto dalla ComboBox alla stringa e setto NewL e Quantity a 0 e aggiorno il SectionXmaterial in BeamList
|
||||||
|
If NewSxMItem.Alias_IsChecked Then
|
||||||
|
sAlias &= ";" & NewSxMItem.SelMaterialForSameSection
|
||||||
|
NewSectionXMaterialList(Index).dNewL = 0
|
||||||
|
NewSectionXMaterialList(Index).nQuantity = 0
|
||||||
|
' Ricavo l'indice del SectionXMaterial da aggiornare
|
||||||
|
Dim UpdateSxMIndex = 1
|
||||||
|
For Each WhSectXMat In WhSectXMatList
|
||||||
|
If WhSectXMat.dW = NewSxMItem.dW AndAlso WhSectXMat.dH = NewSxMItem.dH Then
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
UpdateSxMIndex += 1
|
||||||
|
Next
|
||||||
|
' Aggiorno il SectionXMaterial
|
||||||
|
WritePrivateProfileString(S_BEAM_LIST, UpdateSxMIndex, LenToString(NewSectionXMaterialList(Index).dW, 3) & "," &
|
||||||
|
LenToString(NewSectionXMaterialList(Index).dH, 3) & "," &
|
||||||
|
sAlias, sWarehousePath)
|
||||||
|
Else
|
||||||
|
' Altrimenti aggiungo il nuovo SectionXMaterial e il parametro
|
||||||
|
WritePrivateProfileString(S_BEAM_LIST, SxMParamIndex, LenToString(NewSectionXMaterialList(Index).dW, 3) & "," &
|
||||||
|
LenToString(NewSectionXMaterialList(Index).dH, 3) & "," &
|
||||||
|
sAlias, sWarehousePath)
|
||||||
|
WritePrivateProfileString(S_BEAM, K_L & ParamIndex, SxMParamIndex & "," &
|
||||||
|
LenToString(NewSectionXMaterialList(Index).dNewL, 3) & "," &
|
||||||
|
NewSectionXMaterialList(Index).nQuantity, sWarehousePath)
|
||||||
|
ParamIndex += 1
|
||||||
|
SxMParamIndex += 1
|
||||||
|
End If
|
||||||
|
|
||||||
|
Index += 1
|
||||||
|
Next
|
||||||
|
ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = MachineType.WALL Then
|
||||||
|
|
||||||
|
' Ciclo sui parametri S esistenti nell'INI in modo da avere l'indice di partenza per gli ulteriori parametri da scrivere
|
||||||
|
Dim sValue As String = String.Empty
|
||||||
|
While EgtUILib.GetPrivateProfileString(S_WALL, "S" & ParamIndex, String.Empty, sValue, sWarehousePath)
|
||||||
|
ParamIndex += 1
|
||||||
|
End While
|
||||||
|
' Ciclo sui SectionXMaterial WALL esistenti nell'INI in modo da avere l'indice di partenza per gli ulteriori parametri da scrivere
|
||||||
|
While EgtUILib.GetPrivateProfileString(S_WALL_LIST, SxMParamIndex, String.Empty, sValue, sWarehousePath)
|
||||||
|
SxMParamIndex += 1
|
||||||
|
End While
|
||||||
|
|
||||||
|
' Se i valori sono tutti > 0 li scrivo nel file INI
|
||||||
|
Index = 0
|
||||||
|
For Each NewSxMItem In NewSectionXMaterialList
|
||||||
|
Dim sAlias As String = String.Empty
|
||||||
|
For Each Mat In NewSectionXMaterialList(Index).sMaterial
|
||||||
|
sAlias &= Mat & ";"
|
||||||
|
Next
|
||||||
|
sAlias = sAlias.TrimEnd(";")
|
||||||
|
' Se Alias è checkato aggiungo l'Alias scelto dalla ComboBox alla stringa
|
||||||
|
If NewSxMItem.Alias_IsChecked Then
|
||||||
|
sAlias &= ";" & NewSxMItem.SelMaterialForSameSection
|
||||||
|
NewSectionXMaterialList(Index).dNewW = 0
|
||||||
|
NewSectionXMaterialList(Index).dNewL = 0
|
||||||
|
NewSectionXMaterialList(Index).nQuantity = 0
|
||||||
|
' Ricavo l'indice del SectionXMaterial da aggiornare
|
||||||
|
Dim UpdateSxMIndex = 1
|
||||||
|
For Each WhSectXMat In WhSectXMatList
|
||||||
|
If WhSectXMat.dH = NewSxMItem.dH Then
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
UpdateSxMIndex += 1
|
||||||
|
Next
|
||||||
|
' Aggiorno il SectionXMaterial
|
||||||
|
WritePrivateProfileString(S_WALL_LIST, UpdateSxMIndex, LenToString(NewSectionXMaterialList(Index).dH, 3) & "," &
|
||||||
|
sAlias, sWarehousePath)
|
||||||
|
Else
|
||||||
|
' Altrimenti aggiungo il nuovo SectionXMaterial e il parametro
|
||||||
|
WritePrivateProfileString(S_WALL_LIST, SxMParamIndex, LenToString(NewSectionXMaterialList(Index).dH, 3) & "," &
|
||||||
|
sAlias, sWarehousePath)
|
||||||
|
WritePrivateProfileString(S_WALL, K_S & ParamIndex, SxMParamIndex & "," &
|
||||||
|
LenToString(NewSectionXMaterialList(Index).dNewW, 3) & "," &
|
||||||
|
LenToString(NewSectionXMaterialList(Index).dNewL, 3) & "," &
|
||||||
|
NewSectionXMaterialList(Index).nQuantity, sWarehousePath)
|
||||||
|
ParamIndex += 1
|
||||||
|
SxMParamIndex += 1
|
||||||
|
End If
|
||||||
|
|
||||||
|
Index += 1
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
RaiseEvent m_CloseWindow(True)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Save
|
||||||
|
|
||||||
|
#End Region ' METHODS
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<configSections>
|
||||||
|
|
||||||
|
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
|
||||||
|
</configSections>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
|
||||||
|
</startup>
|
||||||
|
<entityFramework>
|
||||||
|
<providers>
|
||||||
|
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
|
||||||
|
</providers>
|
||||||
|
</entityFramework>
|
||||||
|
<runtime>
|
||||||
|
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.0.1.2" newVersion="4.0.1.2" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="Google.Protobuf" publicKeyToken="a7d26565bac4d604" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-3.21.9.0" newVersion="3.21.9.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="K4os.Compression.LZ4.Streams" publicKeyToken="2186fa9121ef231d" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-1.3.5.0" newVersion="1.3.5.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="BouncyCastle.Crypto" publicKeyToken="0e99375e54769942" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-1.9.0.0" newVersion="1.9.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||||
|
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
|
||||||
|
</dependentAssembly>
|
||||||
|
</assemblyBinding>
|
||||||
|
</runtime>
|
||||||
|
</configuration>
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<Application x:Class="Application"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
||||||
|
|
||||||
|
<Application.Resources>
|
||||||
|
<ResourceDictionary Source="Utility/Dictionary.xaml"/>
|
||||||
|
</Application.Resources>
|
||||||
|
|
||||||
|
</Application>
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
Class Application
|
||||||
|
|
||||||
|
' Application-level events, such as Startup, Exit, and DispatcherUnhandledException
|
||||||
|
' can be handled in this file.
|
||||||
|
Protected Overrides Sub OnStartup(e As StartupEventArgs)
|
||||||
|
MyBase.OnStartup(e)
|
||||||
|
ShutdownMode = System.Windows.ShutdownMode.OnMainWindowClose
|
||||||
|
' Creo la View principale
|
||||||
|
Me.MainWindow = New OnlyProdMainWindowV
|
||||||
|
' Mostro la View principale
|
||||||
|
Me.MainWindow.Show()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,159 @@
|
|||||||
|
<EgtWPFLib5:EgtCustomWindow x:Class="BTLDataWndV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.Optimizer"
|
||||||
|
WindowStyle="None" ResizeMode="NoResize"
|
||||||
|
SizeToContent="WidthAndHeight"
|
||||||
|
WindowStartupLocation="CenterOwner"
|
||||||
|
IsClosable="True"
|
||||||
|
IsMinimizable="False"
|
||||||
|
IsResizable="False"
|
||||||
|
Title="BTLDataWndV"
|
||||||
|
Name="BTLDataWndV"
|
||||||
|
Style="{StaticResource OnlyProd_EgtCustomWindow}">
|
||||||
|
|
||||||
|
<UniformGrid Margin="5"
|
||||||
|
Columns="6" Rows="7">
|
||||||
|
|
||||||
|
<TextBlock Text="{Binding PROJNUM_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sPROJNUM, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding PROJNAME_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sPROJNAME, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding PROJPART_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sPROJPART, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding PROJGUID_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sPROJGUID, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding LISTNAME_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sLISTNAME, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding CUSTOMER_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sCUSTOMER, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding ARCHITECT_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sARCHITECT, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding EDITOR_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sEDITOR, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding DELIVDATE_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sDELIVDATE, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding EXPDATE_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sEXPDATE, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding EXPTIME_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sEXPTIME, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding EXPRELEASE_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sEXPRELEASE, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding LANGUAGE_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sLANGUAGE, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding RANGE_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<ComboBox Grid.Column="1"
|
||||||
|
ItemsSource="{Binding RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}},
|
||||||
|
Path=Tag.ocRANGE,
|
||||||
|
Mode=OneWay}"
|
||||||
|
SelectedIndex="{Binding RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}},
|
||||||
|
Path=Tag.SelRANGE,
|
||||||
|
Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
||||||
|
Style="{StaticResource PartParam_ComboBox}"/>
|
||||||
|
<TextBlock Text="{Binding PROCESSINGQUALITY_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<ComboBox Grid.Column="1"
|
||||||
|
ItemsSource="{Binding RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}},
|
||||||
|
Path=Tag.ocPROCESSINGQUALITY,
|
||||||
|
Mode=OneWay}"
|
||||||
|
SelectedIndex="{Binding RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}},
|
||||||
|
Path=Tag.SelPROCESSINGQUALITY,
|
||||||
|
Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
||||||
|
Style="{StaticResource PartParam_ComboBox}"/>
|
||||||
|
<TextBlock Text="{Binding COMPUTERNAME_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sCOMPUTERNAME, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding USER_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sUSER, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding SRCFILE_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sSRCFILE, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding EXPFILE_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sEXPFILE, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
<TextBlock Text="{Binding RECESS_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<ComboBox Grid.Column="1"
|
||||||
|
ItemsSource="{Binding RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}},
|
||||||
|
Path=Tag.ocRECESS,
|
||||||
|
Mode=OneWay}"
|
||||||
|
SelectedIndex="{Binding RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}},
|
||||||
|
Path=Tag.SelRECESS,
|
||||||
|
Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
|
||||||
|
Style="{StaticResource PartParam_ComboBox}"/>
|
||||||
|
<TextBlock Text="{Binding USERATTRIBUTE_MSG}"
|
||||||
|
Style="{StaticResource PartParam_TextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="1"
|
||||||
|
Text="{Binding Tag.sUSERATTRIBUTE, UpdateSourceTrigger=Explicit,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLDataWndV}}}"
|
||||||
|
Style="{StaticResource PartParam_TextBox}"/>
|
||||||
|
|
||||||
|
</UniformGrid>
|
||||||
|
</EgtWPFLib5:EgtCustomWindow>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
Public Class BTLDataWndV
|
||||||
|
|
||||||
|
Private WithEvents m_BTLDataWndVM As BTLDataWndVM
|
||||||
|
|
||||||
|
Sub New(Owner As Window, BTLDataWndVM As BTLDataWndVM)
|
||||||
|
MyBase.New(Owner)
|
||||||
|
' This call is required by the designer.
|
||||||
|
InitializeComponent()
|
||||||
|
Me.DataContext = BTLDataWndVM
|
||||||
|
Me.Tag = Map.refProjectVM.BTLStructureVM
|
||||||
|
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||||
|
m_BTLDataWndVM = BTLDataWndVM
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_BTLDataWndVM.m_CloseWindow
|
||||||
|
Me.DialogResult = bDialogResult
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,175 @@
|
|||||||
|
Imports EgtWPFLib5
|
||||||
|
Imports EgtUILib
|
||||||
|
|
||||||
|
Public Class BTLDataWndVM
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
#Region "Messages"
|
||||||
|
|
||||||
|
Public ReadOnly Property PROJNUM_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61692)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property PROJNAME_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61693)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property PROJPART_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61694)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property PROJGUID_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61695)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property LISTNAME_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61696)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property CUSTOMER_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61697)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property ARCHITECT_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61698)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property EDITOR_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61699)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property DELIVDATE_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61700)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property EXPDATE_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61701)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property EXPTIME_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61702)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property EXPRELEASE_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61703)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property LANGUAGE_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61704)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property RANGE_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61705)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property PROCESSINGQUALITY_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61642)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property COMPUTERNAME_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61706)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property USER_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61707)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property SRCFILE_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61708)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property EXPFILE_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61709)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property RECESS_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61643)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property USERATTRIBUTE_MSG As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61648)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
#End Region ' Messages
|
||||||
|
|
||||||
|
#Region "FIELDS & PROPERTIES"
|
||||||
|
|
||||||
|
Friend Event m_CloseWindow(bDialogResult As Boolean)
|
||||||
|
|
||||||
|
' Definizione comandi
|
||||||
|
Private m_cmdOk As ICommand
|
||||||
|
|
||||||
|
#End Region ' FIELDS & PROPERTIES
|
||||||
|
|
||||||
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
|
Sub New()
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' CONSTRUCTOR
|
||||||
|
|
||||||
|
#Region "COMMANDS"
|
||||||
|
|
||||||
|
#Region "Ok"
|
||||||
|
|
||||||
|
Public ReadOnly Property Ok_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdOk Is Nothing Then
|
||||||
|
m_cmdOk = New Command(AddressOf Ok)
|
||||||
|
End If
|
||||||
|
Return m_cmdOk
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub Ok()
|
||||||
|
RaiseEvent m_CloseWindow(True)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Ok
|
||||||
|
|
||||||
|
#End Region ' COMMANDS
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
<StackPanel x:Class="BTLPartManagerV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
Orientation="Horizontal"
|
||||||
|
HorizontalAlignment="Right"
|
||||||
|
DataContext="{StaticResource BTLPartManagerVM}">
|
||||||
|
|
||||||
|
<Button Command="{Binding NewRawPart_Command}"
|
||||||
|
Visibility="{Binding MachiningPage_Visibility}"
|
||||||
|
ToolTip="{Binding NewRawPart_ToolTip}"
|
||||||
|
IsEnabled="{Binding BTLPartManager_IsEnabled}"
|
||||||
|
Style="{StaticResource LeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/NewRawPart.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding NewRawPartLast_Command}"
|
||||||
|
Visibility="{Binding MachiningPage_Visibility}"
|
||||||
|
ToolTip="{Binding NewRawPartLast_ToolTip}"
|
||||||
|
IsEnabled="{Binding BTLPartManager_IsEnabled}"
|
||||||
|
Style="{StaticResource LeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/NewRawPartAuto.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding AddToRawPart_Command}"
|
||||||
|
Visibility="{Binding MachiningPage_Visibility}"
|
||||||
|
ToolTip="{Binding AddToRawPart_ToolTip}"
|
||||||
|
IsEnabled="{Binding BTLPartManager_IsEnabled}"
|
||||||
|
Style="{StaticResource LeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/AddToRawPart.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding CopyPart_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding CopyPart_ToolTip}"
|
||||||
|
IsEnabled="{Binding CopyPart_IsEnabled}"
|
||||||
|
Style="{StaticResource LeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/CopyPart.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding AddPart_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding AddPart_ToolTip}"
|
||||||
|
IsEnabled="{Binding BTLPartManager_IsEnabled}"
|
||||||
|
Style="{StaticResource LeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/AddPart.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding RemovePart_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding RemovePart_ToolTip}"
|
||||||
|
IsEnabled="{Binding RemovePart_IsEnabled}"
|
||||||
|
Style="{StaticResource LeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/RemovePart.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding Invert_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding InvertSx_ToolTip}"
|
||||||
|
IsEnabled="{Binding RotatePart_IsEnabled}"
|
||||||
|
Style="{StaticResource LeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/PartManager/LeftInvert.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding Invert_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding InvertDx_ToolTip}"
|
||||||
|
IsEnabled="{Binding RotatePart_IsEnabled}"
|
||||||
|
Style="{StaticResource LeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/PartManager/RightInvert.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding BackRotation_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding BackRotation_ToolTip}"
|
||||||
|
IsEnabled="{Binding RotatePart_IsEnabled}"
|
||||||
|
Style="{StaticResource LeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/PartManager/LeftRotate.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding ForwardRotation_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding ForwardRotation_ToolTip}"
|
||||||
|
IsEnabled="{Binding RotatePart_IsEnabled}"
|
||||||
|
Style="{StaticResource LeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/PartManager/RightRotate.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class BTLPartManagerV
|
||||||
|
|
||||||
|
End Class
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,84 @@
|
|||||||
|
<StackPanel x:Class="OnlyProdBTLPartManagerV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
DataContext="{StaticResource BTLPartManagerVM}"
|
||||||
|
Style="{StaticResource OnlyProdBTLPartManager_StackPanel}">
|
||||||
|
|
||||||
|
<Button Command="{Binding CopyPart_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding CopyPart_ToolTip}"
|
||||||
|
IsEnabled="{Binding CopyPart_IsEnabled}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/CopyPart.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding RemovePart_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding RemovePart_ToolTip}"
|
||||||
|
IsEnabled="{Binding RemovePart_IsEnabled}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/RemovePart.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button ToolTip="{Binding Simulate_ToolTip}"
|
||||||
|
Command="{Binding Simulate_Command}"
|
||||||
|
IsEnabled="{Binding Simulate_IsEnabled}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/CALCPanel/Simulate.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button ToolTip="{Binding Edit_ToolTip}"
|
||||||
|
Command="{Binding Edit_Command}"
|
||||||
|
IsEnabled="{Binding Edit_IsEnabled}"
|
||||||
|
Visibility="{Binding Edit_Visibility}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/CALCPanel/Edit.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<!--<Button Command="{Binding NewRawPart_Command}"
|
||||||
|
Visibility="{Binding MachiningPage_Visibility}"
|
||||||
|
ToolTip="{Binding NewRawPart_ToolTip}"
|
||||||
|
IsEnabled="{Binding BTLPartManager_IsEnabled}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/NewRawPart.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding NewRawPartLast_Command}"
|
||||||
|
Visibility="{Binding MachiningPage_Visibility}"
|
||||||
|
ToolTip="{Binding NewRawPartLast_ToolTip}"
|
||||||
|
IsEnabled="{Binding BTLPartManager_IsEnabled}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/NewRawPartAuto.png" Stretch="Uniform"/>
|
||||||
|
</Button>-->
|
||||||
|
<!--<Button Command="{Binding AddToRawPart_Command}"
|
||||||
|
Visibility="{Binding MachiningPage_Visibility}"
|
||||||
|
ToolTip="{Binding AddToRawPart_ToolTip}"
|
||||||
|
IsEnabled="{Binding BTLPartManager_IsEnabled}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/AddToRawPart.png" Stretch="Uniform"/>
|
||||||
|
</Button>-->
|
||||||
|
<!--<Button Command="{Binding Invert_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding InvertSx_ToolTip}"
|
||||||
|
IsEnabled="{Binding RotatePart_IsEnabled}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/PartManager/LeftInvert.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding Invert_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding InvertDx_ToolTip}"
|
||||||
|
IsEnabled="{Binding RotatePart_IsEnabled}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/PartManager/RightInvert.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding BackRotation_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding BackRotation_ToolTip}"
|
||||||
|
IsEnabled="{Binding RotatePart_IsEnabled}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/PartManager/LeftRotate.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding ForwardRotation_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding ForwardRotation_ToolTip}"
|
||||||
|
IsEnabled="{Binding RotatePart_IsEnabled}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/PartManager/RightRotate.png" Stretch="Uniform"/>
|
||||||
|
</Button>-->
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class OnlyProdBTLPartManagerV
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,746 @@
|
|||||||
|
Imports System.Collections.ObjectModel
|
||||||
|
Imports System.Collections.Specialized
|
||||||
|
Imports System.ComponentModel
|
||||||
|
Imports EgtBEAMWALL.Core
|
||||||
|
Imports EgtUILib
|
||||||
|
Imports EgtWPFLib5
|
||||||
|
|
||||||
|
Public Class BTLFeatureVM
|
||||||
|
Inherits Core.BTLFeatureVM
|
||||||
|
|
||||||
|
Public Property GRPList As ObservableCollection(Of Integer)
|
||||||
|
Get
|
||||||
|
Return m_BTLFeatureM.GRPList
|
||||||
|
End Get
|
||||||
|
Set(value As ObservableCollection(Of Integer))
|
||||||
|
m_BTLFeatureM.GRPList = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Overrides Property nSelGRP As Integer
|
||||||
|
Get
|
||||||
|
Return m_BTLFeatureM.nSelGRP
|
||||||
|
End Get
|
||||||
|
Set(value As Integer)
|
||||||
|
If value <> -1 Then
|
||||||
|
' verifico se solido attivo
|
||||||
|
Dim bShowSolid As Boolean = Map.refShowBeamPanelVM.ShowSolid_IsChecked
|
||||||
|
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, False, False)
|
||||||
|
' aggiorno la feature con nuovo valore
|
||||||
|
Dim vPar() As Double = Nothing
|
||||||
|
Dim sPar As String = String.Empty
|
||||||
|
Dim vParQ() As String = Nothing
|
||||||
|
m_BTLFeatureM.CalcParamArray(vPar, sPar, vParQ)
|
||||||
|
Dim bOK As Boolean = m_BTLFeatureM.UpdateParams(value, m_BTLFeatureM.nPRC, nSelSIDE, m_BTLFeatureM.sDES, m_BTLFeatureM.nPRID,
|
||||||
|
m_BTLFeatureM.frFRAME, vPar, sPar, vParQ)
|
||||||
|
If bOK Then
|
||||||
|
m_BTLFeatureM.nSelGRP = value
|
||||||
|
' seleziono feature in disegno
|
||||||
|
SelGeomFeature()
|
||||||
|
' rendo non calcolata questa feature
|
||||||
|
ResetCalcFeature()
|
||||||
|
End If
|
||||||
|
NotifyPropertyChanged(NameOf(nSelGRP))
|
||||||
|
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
|
||||||
|
EgtDraw()
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property SIDEList As ObservableCollection(Of Integer)
|
||||||
|
Get
|
||||||
|
Return m_BTLFeatureM.SIDEList
|
||||||
|
End Get
|
||||||
|
Set(value As ObservableCollection(Of Integer))
|
||||||
|
m_BTLFeatureM.SIDEList = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Lato
|
||||||
|
Public Overrides Property nSelSIDE As Integer
|
||||||
|
Get
|
||||||
|
Return m_BTLFeatureM.nSelSIDE
|
||||||
|
End Get
|
||||||
|
Set(value As Integer)
|
||||||
|
If value <> -1 Then
|
||||||
|
' verifico se solido attivo
|
||||||
|
Dim bShowSolid As Boolean = Map.refShowBeamPanelVM.ShowSolid_IsChecked
|
||||||
|
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, False, False)
|
||||||
|
' se freecontour
|
||||||
|
If Me.m_BTLFeatureM.IsFreeContour() Then
|
||||||
|
' cambio faccia alla geometria
|
||||||
|
Dim frOld As New Frame3d
|
||||||
|
EgtBeamGetSideData(nSelSIDE, frOld)
|
||||||
|
frOld.Invert()
|
||||||
|
Dim frNew As New Frame3d
|
||||||
|
EgtBeamGetSideData(value, frNew)
|
||||||
|
Dim sAuxId As String = ""
|
||||||
|
If EgtGetInfo(nFeatureId, "AUXID", sAuxId) Then
|
||||||
|
' verifico se ha uno o due percorsi
|
||||||
|
Dim sAuxIdSplit() As String = sAuxId.Split(","c)
|
||||||
|
If Not IsNothing(sAuxIdSplit) AndAlso sAuxIdSplit.Length() >= 1 Then
|
||||||
|
Dim nAuxId As Integer = GDB_ID.NULL
|
||||||
|
If Integer.TryParse(sAuxIdSplit(0), nAuxId) Then
|
||||||
|
EgtTransform(nFeatureId + nAuxId, frOld, GDB_RT.GLOB)
|
||||||
|
EgtTransform(nFeatureId + nAuxId, frNew, GDB_RT.GLOB)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
If Not IsNothing(sAuxIdSplit) AndAlso sAuxIdSplit.Length() >= 2 Then
|
||||||
|
Dim nAux2Id As Integer = GDB_ID.NULL
|
||||||
|
If Integer.TryParse(sAuxIdSplit(1), nAux2Id) Then
|
||||||
|
EgtTransform(nFeatureId + nAux2Id, frOld, GDB_RT.GLOB)
|
||||||
|
EgtTransform(nFeatureId + nAux2Id, frNew, GDB_RT.GLOB)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
' aggiorno la feature con nuovo valore
|
||||||
|
Dim vPar() As Double = Nothing
|
||||||
|
Dim sPar As String = String.Empty
|
||||||
|
Dim vParQ() As String = Nothing
|
||||||
|
m_BTLFeatureM.CalcParamArray(vPar, sPar, vParQ)
|
||||||
|
Dim bOK As Boolean = m_BTLFeatureM.UpdateParams(nSelGRP, m_BTLFeatureM.nPRC, value, m_BTLFeatureM.sDES, m_BTLFeatureM.nPRID,
|
||||||
|
m_BTLFeatureM.frFRAME, vPar, sPar, vParQ)
|
||||||
|
If bOK Then
|
||||||
|
m_BTLFeatureM.nSelSIDE = value
|
||||||
|
SelGeomFeature()
|
||||||
|
' rendo non calcolata questa feature
|
||||||
|
ResetCalcFeature()
|
||||||
|
End If
|
||||||
|
NotifyPropertyChanged(NameOf(nSelSIDE))
|
||||||
|
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
|
||||||
|
EgtDraw()
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property VARIANTList As ObservableCollection(Of Integer)
|
||||||
|
Get
|
||||||
|
Return m_BTLFeatureM.VARIANTList
|
||||||
|
End Get
|
||||||
|
Set(value As ObservableCollection(Of Integer))
|
||||||
|
m_BTLFeatureM.VARIANTList = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Overrides Property nSelVARIANT As Integer
|
||||||
|
Get
|
||||||
|
Return m_BTLFeatureM.nSelVARIANT
|
||||||
|
End Get
|
||||||
|
Set(value As Integer)
|
||||||
|
If value <> m_BTLFeatureM.nSelVARIANT Then
|
||||||
|
m_BTLFeatureM.nSelVARIANT = value
|
||||||
|
Dim vPar As Double() = Nothing
|
||||||
|
Dim sPar As String = Nothing
|
||||||
|
Dim vParQ As String() = Nothing
|
||||||
|
CreateFeatureVariant(value, vPar, sPar, vParQ)
|
||||||
|
If IsNothing(vPar) Then
|
||||||
|
m_BTLFeatureM.nSelVARIANT = 0
|
||||||
|
CreateFeatureVariant(value, vPar, sPar, vParQ)
|
||||||
|
End If
|
||||||
|
m_BTLFeatureM.nSelVARIANT = value
|
||||||
|
Dim bOK As Boolean = m_BTLFeatureM.UpdateParams(nSelGRP, m_BTLFeatureM.nPRC, nSelSIDE, sDES, m_BTLFeatureM.nPRID,
|
||||||
|
m_BTLFeatureM.frFRAME, vPar, sPar, vParQ)
|
||||||
|
If bOK Then
|
||||||
|
EgtDuploSetModified(m_BTLPartM.nPartId)
|
||||||
|
' seleziono feature in disegno
|
||||||
|
SelGeomFeature()
|
||||||
|
' rendo non calcolata questa feature
|
||||||
|
ResetCalcFeature()
|
||||||
|
End If
|
||||||
|
NotifyPropertyChanged(NameOf(nSelVARIANT))
|
||||||
|
NotifyPropertyChanged(NameOf(PBTLParamVMList))
|
||||||
|
NotifyPropertyChanged(NameOf(QBTLParamVMList))
|
||||||
|
EgtDraw()
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private Sub CreateFeatureVariant(value As Integer, ByRef vPar() As Double, ByRef sPar As String, ByRef vParQ() As String)
|
||||||
|
' crea parametri per questa feature da file ini
|
||||||
|
m_BTLFeatureM.CreateFeatureParams(m_BTLFeatureM)
|
||||||
|
m_BTLFeatureM.SetDefaultValues()
|
||||||
|
CreatePBTLParamVMList()
|
||||||
|
CreateQBTLParamVMList()
|
||||||
|
' aggiorno la feature con nuovo valore
|
||||||
|
vPar = Nothing
|
||||||
|
sPar = Nothing
|
||||||
|
vParQ = Nothing
|
||||||
|
m_BTLFeatureM.CalcParamArray(vPar, sPar, vParQ)
|
||||||
|
'' imposto path disegno da mostrare in BottomPanel
|
||||||
|
'If value > 0 AndAlso File.Exists(Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & sDescGRP & "." & sDES & ".png") Then
|
||||||
|
' Map.refBottomPanelVM.SetCurrDraw(Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & sDescGRP & "." & sDES & ".png")
|
||||||
|
'Else
|
||||||
|
' Map.refBottomPanelVM.SetCurrDraw(Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & sDescGRP & ".png")
|
||||||
|
'End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Property sPriority As String
|
||||||
|
Get
|
||||||
|
Return m_BTLFeatureM.nPriority.ToString()
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
Dim nTemp As Integer = 0
|
||||||
|
If Integer.TryParse(value, nTemp) Then
|
||||||
|
If EgtSetInfo(nFeatureId, BTL_FTR_PRIORITY, nTemp) Then
|
||||||
|
m_BTLFeatureM.nPriority = nTemp
|
||||||
|
' setto feature da ricalcolare
|
||||||
|
ResetCalcFeature()
|
||||||
|
' se in View
|
||||||
|
If Map.refMainMenuVM.SelPage = Pages.VIEW OrElse Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE Then
|
||||||
|
' imposto modificato per copie
|
||||||
|
MyMachGroupPanelM.SetDuploModified(m_BTLPartM.nPartId)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
NotifyPropertyChanged(NameOf(sPriority))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
' proprieta' che indica se e' attivo l'update del parametro bDO su piu' feature (attiva/disattiva tutti su pezzo, o per tipo con tasto destro)
|
||||||
|
' necessario per evitare ricalcolo della grafica sulla modifica del parametro per ogni feature
|
||||||
|
Private Shared m_bDO_MultipleUpdate As Boolean = False
|
||||||
|
Public Shared Property bDO_MultipleUpdate As Boolean
|
||||||
|
Get
|
||||||
|
Return m_bDO_MultipleUpdate
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
m_bDO_MultipleUpdate = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Overrides Property bDO As Boolean
|
||||||
|
Get
|
||||||
|
Return m_BTLFeatureM.bDO
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
Dim bShowSolid As Boolean = Map.refShowBeamPanelVM.ShowSolid_IsChecked
|
||||||
|
If value <> m_BTLFeatureM.bDO Then
|
||||||
|
'If Map.refMainMenuVM.SelPage = Pages.VIEW Then
|
||||||
|
' ' verifico se solido attivo
|
||||||
|
' If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, False, False)
|
||||||
|
'End If
|
||||||
|
If EgtBeamEnableProcess(nFeatureId, value, Not m_bDO_MultipleUpdate) Then
|
||||||
|
m_BTLFeatureM.bDO = value
|
||||||
|
' setto feature da ricalcolare
|
||||||
|
ResetCalcFeature()
|
||||||
|
' se in View
|
||||||
|
If Map.refMainMenuVM.SelPage = Pages.VIEW OrElse (Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE AndAlso Not IsNothing(m_BTLPartM)) Then
|
||||||
|
MyMachGroupPanelM.SetDuploModified(m_BTLPartM.nPartId)
|
||||||
|
End If
|
||||||
|
NotifyPropertyChanged(NameOf(bDO))
|
||||||
|
' aggiorno messaggio su context menu
|
||||||
|
For Each Item In MenuList
|
||||||
|
Item.NotifyPropertyChanged(NameOf(Item.sMsg))
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
'If Map.refMainMenuVM.SelPage = Pages.VIEW Then
|
||||||
|
' ' eventualmente ripristino solido
|
||||||
|
' If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
|
||||||
|
'End If
|
||||||
|
If Not m_bDO_MultipleUpdate Then EgtDraw()
|
||||||
|
' aggiorno stato abilitazione del bottone modifica free contour
|
||||||
|
Map.refFeatureManagerVM.SetEditIsEnabled()
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property sDrawPath As String
|
||||||
|
Get
|
||||||
|
If nPRC = 900 AndAlso nSelVARIANT > 0 Then
|
||||||
|
Return Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & sDescGRP & "." & sDES & ".png"
|
||||||
|
Else
|
||||||
|
Return Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Features\" & sDescGRP & ".png"
|
||||||
|
End If
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_PBTLParamVMList As ObservableCollection(Of BTLParamVM)
|
||||||
|
Public Property PBTLParamVMList As ObservableCollection(Of BTLParamVM)
|
||||||
|
Get
|
||||||
|
Return m_PBTLParamVMList
|
||||||
|
End Get
|
||||||
|
Set(value As ObservableCollection(Of BTLParamVM))
|
||||||
|
m_PBTLParamVMList = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Protected m_SelPBTLParam As BTLParamVM
|
||||||
|
Public Property SelPBTLParam As BTLParamVM
|
||||||
|
Get
|
||||||
|
Return m_SelPBTLParam
|
||||||
|
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.refBottomPanelVM) Then
|
||||||
|
' Map.refBottomPanelVM.SetCurrDraw(m_SelPBTLParam.sDrawPath)
|
||||||
|
'End If
|
||||||
|
End If
|
||||||
|
NotifyPropertyChanged(NameOf(SelPBTLParam))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_QBTLParamVMList As ObservableCollection(Of BTLParamVM)
|
||||||
|
Public Property QBTLParamVMList As ObservableCollection(Of BTLParamVM)
|
||||||
|
Get
|
||||||
|
Return m_QBTLParamVMList
|
||||||
|
End Get
|
||||||
|
Set(value As ObservableCollection(Of BTLParamVM))
|
||||||
|
m_QBTLParamVMList = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Protected m_SelQParam As BTLParamVM
|
||||||
|
Public Property SelQBTLParam As BTLParamVM
|
||||||
|
Get
|
||||||
|
Return m_SelQParam
|
||||||
|
End Get
|
||||||
|
Set(value As BTLParamVM)
|
||||||
|
m_SelQParam = value
|
||||||
|
'If Not IsNothing(m_SelQParam) AndAlso Not IsNothing(Map.refBottomPanelVM) Then
|
||||||
|
' ' imposto path disegno da mostrare in BottomPanel
|
||||||
|
' Map.refBottomPanelVM.SetCurrDraw(m_SelQParam.sDrawPath)
|
||||||
|
'End If
|
||||||
|
NotifyPropertyChanged(NameOf(SelQBTLParam))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Edit_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return If(BTLFeatureM.IsFreeContour AndAlso Not Map.refFreeContourManagerVM.bIsActive, Visibility.Visible, Visibility.Collapsed)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Public ReadOnly Property SaveCancel_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return If(BTLFeatureM.IsFreeContour AndAlso Map.refFreeContourManagerVM.bIsActive, Visibility.Visible, Visibility.Collapsed)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Friend Sub RefreshFCMBtnVisibility()
|
||||||
|
NotifyPropertyChanged(NameOf(Edit_Visibility))
|
||||||
|
NotifyPropertyChanged(NameOf(SaveCancel_Visibility))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private m_MenuList As New List(Of MenuItemVm)
|
||||||
|
Public Property MenuList As List(Of MenuItemVm)
|
||||||
|
Get
|
||||||
|
Return m_MenuList
|
||||||
|
End Get
|
||||||
|
Set(value As List(Of MenuItemVm))
|
||||||
|
m_MenuList = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
#Region "Messages"
|
||||||
|
|
||||||
|
Public ReadOnly Property Edit_ToolTip As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61939)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
#End Region ' Messages
|
||||||
|
|
||||||
|
' Definizione comandi
|
||||||
|
Private m_cmdEdit As ICommand
|
||||||
|
Private m_cmdSave As ICommand
|
||||||
|
Private m_cmdCancel As ICommand
|
||||||
|
Private m_cmdDeleteFeature As ICommand
|
||||||
|
Private m_cmdEditFeature As ICommand
|
||||||
|
Private m_cmdStategyCmd As ICommand
|
||||||
|
|
||||||
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
|
Sub New(BTLFeatureM As BTLFeatureM, BTLPartM As BTLPartM)
|
||||||
|
m_BTLFeatureM = BTLFeatureM
|
||||||
|
AddHandler m_BTLFeatureM.PBTLParamAdded, AddressOf OnPBTLParamAdded
|
||||||
|
AddHandler m_BTLFeatureM.QBTLParamAdded, AddressOf OnQBTLParamAdded
|
||||||
|
m_BTLPartM = BTLPartM
|
||||||
|
CreatePBTLParamVMList()
|
||||||
|
CreateQBTLParamVMList()
|
||||||
|
NotifyPropertyChanged(NameOf(Calc_Background))
|
||||||
|
NotifyPropertyChanged(NameOf(CALC_ROT_Visibility))
|
||||||
|
NotifyPropertyChanged(NameOf(CALC_ERR_Letter))
|
||||||
|
NotifyPropertyChanged(NameOf(CALC_ERR_Foreground))
|
||||||
|
m_MenuList.Add(New MenuItemVm(Me))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub New(BTLFeatureM As BTLFeatureM)
|
||||||
|
m_BTLFeatureM = BTLFeatureM
|
||||||
|
AddHandler m_BTLFeatureM.QBTLParamAdded, AddressOf OnQBTLParamAdded
|
||||||
|
m_BTLPartM = Nothing
|
||||||
|
Dim Part As PartM = BTLFeatureM.ParentPart
|
||||||
|
If Part.nType = BWType.WALL Then CreateQBTLParamVMList()
|
||||||
|
NotifyPropertyChanged(NameOf(Calc_Background))
|
||||||
|
NotifyPropertyChanged(NameOf(CALC_ROT_Visibility))
|
||||||
|
NotifyPropertyChanged(NameOf(CALC_ERR_Letter))
|
||||||
|
NotifyPropertyChanged(NameOf(CALC_ERR_Foreground))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' CONSTRUCTOR
|
||||||
|
|
||||||
|
#Region "METHODS"
|
||||||
|
|
||||||
|
Private Sub CreatePBTLParamVMList()
|
||||||
|
Dim all As List(Of BTLParamVM) = (From BTLParamM In m_BTLFeatureM.GetPBTLParams()
|
||||||
|
Select New BTLParamVM(BTLParamM, m_BTLFeatureM)).ToList()
|
||||||
|
|
||||||
|
For Each BTLParamVM As BTLParamVM In all
|
||||||
|
AddHandler BTLParamVM.PropertyChanged, AddressOf OnPBTLParamVMPropertyChanged
|
||||||
|
Next
|
||||||
|
|
||||||
|
m_PBTLParamVMList = New ObservableCollection(Of BTLParamVM)(all)
|
||||||
|
AddHandler m_PBTLParamVMList.CollectionChanged, AddressOf OnPBTLParamVMListChanged
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CreateQBTLParamVMList()
|
||||||
|
Dim all As List(Of BTLParamVM) = (From BTLParamM In m_BTLFeatureM.GetQBTLParams()
|
||||||
|
Select New BTLParamVM(BTLParamM, m_BTLFeatureM)).ToList()
|
||||||
|
|
||||||
|
For Each BTLParamVM As BTLParamVM In all
|
||||||
|
AddHandler BTLParamVM.PropertyChanged, AddressOf OnQBTLParamVMPropertyChanged
|
||||||
|
Next
|
||||||
|
|
||||||
|
m_QBTLParamVMList = New ObservableCollection(Of BTLParamVM)(all)
|
||||||
|
AddHandler m_QBTLParamVMList.CollectionChanged, AddressOf OnQBTLParamVMListChanged
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
' funzione che aggiorna lo stato, la rotazione e gli errori dopo calcolo
|
||||||
|
Friend Sub CalcFeatureUpdate(ERR As Integer, ROT As Integer, MSG As String)
|
||||||
|
EgtSetInfo(nFeatureId, If(Map.refMainMenuVM.SelPage = Pages.VIEW, ITG_PROJ_ERR, ITG_PROD_ERR), ERR, True)
|
||||||
|
EgtSetInfo(nFeatureId, If(Map.refMainMenuVM.SelPage = Pages.VIEW, ITG_PROJ_MSG, ITG_PROD_MSG), MSG, True)
|
||||||
|
EgtSetInfo(nFeatureId, If(Map.refMainMenuVM.SelPage = Pages.VIEW, ITG_PROJ_ROT, ITG_PROD_ROT), ROT, True)
|
||||||
|
m_BTLFeatureM.nCALC_ERR = ERR
|
||||||
|
m_BTLFeatureM.nCALC_ROT = ROT
|
||||||
|
m_BTLFeatureM.sCALC_MSG = MSG
|
||||||
|
Select Case ERR
|
||||||
|
Case 0
|
||||||
|
m_BTLFeatureM.nState = CalcStates.OK
|
||||||
|
Case 22
|
||||||
|
m_BTLFeatureM.nState = CalcStates.COLLISION
|
||||||
|
Case 17, 19
|
||||||
|
m_BTLFeatureM.nState = CalcStates.WARNING
|
||||||
|
Case < 0
|
||||||
|
m_BTLFeatureM.nState = CalcStates.INFO
|
||||||
|
Case > 0
|
||||||
|
m_BTLFeatureM.nState = CalcStates.ERROR_
|
||||||
|
End Select
|
||||||
|
NotifyPropertyChanged(NameOf(Calc_Background))
|
||||||
|
NotifyPropertyChanged(NameOf(CALC_ROT_Visibility))
|
||||||
|
NotifyPropertyChanged(NameOf(sCALC_MSG))
|
||||||
|
NotifyPropertyChanged(NameOf(CALC_ERR_Letter))
|
||||||
|
NotifyPropertyChanged(NameOf(CALC_ERR_Foreground))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
' funzione che resetta gli errori del calcolo
|
||||||
|
Friend Sub ResetFeatureError()
|
||||||
|
Dim ERR As Integer = 0
|
||||||
|
Dim MSG As String = ""
|
||||||
|
EgtSetInfo(nFeatureId, If(Map.refMainMenuVM.SelPage = Pages.VIEW, ITG_PROJ_ERR, ITG_PROD_ERR), ERR, True)
|
||||||
|
EgtSetInfo(nFeatureId, If(Map.refMainMenuVM.SelPage = Pages.VIEW, ITG_PROJ_MSG, ITG_PROD_MSG), MSG, True)
|
||||||
|
m_BTLFeatureM.nCALC_ERR = ERR
|
||||||
|
m_BTLFeatureM.sCALC_MSG = MSG
|
||||||
|
Select Case ERR
|
||||||
|
Case 0
|
||||||
|
m_BTLFeatureM.nState = CalcStates.OK
|
||||||
|
Case 22
|
||||||
|
m_BTLFeatureM.nState = CalcStates.COLLISION
|
||||||
|
Case 17, 19
|
||||||
|
m_BTLFeatureM.nState = CalcStates.WARNING
|
||||||
|
Case < 0
|
||||||
|
m_BTLFeatureM.nState = CalcStates.INFO
|
||||||
|
Case > 0
|
||||||
|
m_BTLFeatureM.nState = CalcStates.ERROR_
|
||||||
|
End Select
|
||||||
|
NotifyPropertyChanged(NameOf(Calc_Background))
|
||||||
|
NotifyPropertyChanged(NameOf(sCALC_MSG))
|
||||||
|
NotifyPropertyChanged(NameOf(CALC_ERR_Letter))
|
||||||
|
NotifyPropertyChanged(NameOf(CALC_ERR_Foreground))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub ResetCalcFeature()
|
||||||
|
EgtRemoveInfo(nFeatureId, If(IsNothing(m_BTLPartM), ITG_PROD_ERR, ITG_PROJ_ERR))
|
||||||
|
EgtRemoveInfo(nFeatureId, If(IsNothing(m_BTLPartM), ITG_PROD_MSG, ITG_PROJ_MSG))
|
||||||
|
EgtRemoveInfo(nFeatureId, If(IsNothing(m_BTLPartM), ITG_PROD_ROT, ITG_PROJ_ROT))
|
||||||
|
m_BTLFeatureM.nState = CalcStates.NOTCALCULATED
|
||||||
|
m_BTLFeatureM.nCALC_ERR = 0
|
||||||
|
m_BTLFeatureM.nCALC_ROT = 0
|
||||||
|
m_BTLFeatureM.sCALC_MSG = ""
|
||||||
|
NotifyPropertyChanged(NameOf(Calc_Background))
|
||||||
|
NotifyPropertyChanged(NameOf(CALC_ROT_Visibility))
|
||||||
|
NotifyPropertyChanged(NameOf(sCALC_MSG))
|
||||||
|
NotifyPropertyChanged(NameOf(CALC_ERR_Letter))
|
||||||
|
NotifyPropertyChanged(NameOf(CALC_ERR_Foreground))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Function Copy() As BTLFeatureM
|
||||||
|
Return Copy(m_BTLPartM)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function Copy(DestBTLPart As BTLPartM) As BTLFeatureM
|
||||||
|
' creo nuova feature
|
||||||
|
Dim vPar() As Double = Nothing
|
||||||
|
Dim sPar As String = String.Empty
|
||||||
|
Dim vParQ() As String = Nothing
|
||||||
|
m_BTLFeatureM.CalcParamArray(vPar, sPar, vParQ)
|
||||||
|
' imposto eventuali percorsi
|
||||||
|
Dim nCrvId As Integer = GDB_ID.NULL
|
||||||
|
Dim nCrv2Id As Integer = GDB_ID.NULL
|
||||||
|
m_BTLFeatureM.GetFreeContourPaths(nCrvId, nCrv2Id)
|
||||||
|
' creo la feature con nuovi valori
|
||||||
|
EgtBeamSetPart(DestBTLPart.nPartId)
|
||||||
|
Dim nNewFeatureId As Integer = EgtBeamAddProcess(m_BTLFeatureM.nSelGRP, m_BTLFeatureM.nPRC, m_BTLFeatureM.nSelSIDE, m_BTLFeatureM.sDES,
|
||||||
|
DestBTLPart.NewProcId(), m_BTLFeatureM.frFRAME, vPar, sPar, vParQ, nCrvId, nCrv2Id)
|
||||||
|
' se è stata creata
|
||||||
|
If nNewFeatureId <> GDB_ID.NULL Then
|
||||||
|
' Riporto eventuali indicazioni di parametri Q custom
|
||||||
|
For Each QPar In QBTLParamVMList
|
||||||
|
If QPar.bCustom Then EgtSetInfo(nNewFeatureId, QPar.sName & "A", 1)
|
||||||
|
Next
|
||||||
|
' Riporto priority
|
||||||
|
EgtSetInfo(nNewFeatureId, BTL_FTR_PRIORITY, m_BTLFeatureM.nPriority)
|
||||||
|
Dim NewFeat As BTLFeatureM = BTLFeatureM.CreateBTLFeature(m_BTLPartM, nNewFeatureId)
|
||||||
|
' la aggiungo a struttura BTL pezzo di destinazione
|
||||||
|
DestBTLPart.AddBTLFeature(NewFeat)
|
||||||
|
Return NewFeat
|
||||||
|
End If
|
||||||
|
Return Nothing
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Overrides Sub RefreshFeature()
|
||||||
|
' leggo gruppo, numero feature, lato e priorità
|
||||||
|
EgtGetInfo(nFeatureId, BTL_FTR_GRP, m_BTLFeatureM.nSelGRP)
|
||||||
|
EgtGetInfo(nFeatureId, BTL_FTR_PRC, m_BTLFeatureM.nPRC)
|
||||||
|
EgtGetInfo(nFeatureId, BTL_FTR_SIDE, m_BTLFeatureM.nSelSIDE)
|
||||||
|
EgtGetInfo(nFeatureId, BTL_FTR_PRIORITY, m_BTLFeatureM.nPriority)
|
||||||
|
Dim nDO As Integer = 1
|
||||||
|
If EgtGetInfo(nFeatureId, BTL_FTR_DO, nDO) Then
|
||||||
|
m_BTLFeatureM.bDO = (nDO <> 0)
|
||||||
|
Else
|
||||||
|
m_BTLFeatureM.bDO = True
|
||||||
|
End If
|
||||||
|
NotifyPropertyChanged(NameOf(bDO))
|
||||||
|
' leggo des,prid e frame
|
||||||
|
EgtGetInfo(nFeatureId, BTL_FTR_DES, m_BTLFeatureM.sDES)
|
||||||
|
EgtGetInfo(nFeatureId, BTL_FTR_PRID, m_BTLFeatureM.nPRID)
|
||||||
|
EgtGetInfo(nFeatureId, BTL_FTR_FRAME, m_BTLFeatureM.frFRAME)
|
||||||
|
|
||||||
|
' aggiorno parametri della feature
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' METHODS
|
||||||
|
|
||||||
|
#Region "COMMANDS"
|
||||||
|
|
||||||
|
#Region "DeleteFeature"
|
||||||
|
|
||||||
|
Public ReadOnly Property DeleteFeature_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdDeleteFeature Is Nothing Then
|
||||||
|
m_cmdDeleteFeature = New Command(AddressOf DeleteFeature)
|
||||||
|
End If
|
||||||
|
Return m_cmdDeleteFeature
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub DeleteFeature()
|
||||||
|
If Map.refMainMenuVM.SelPage = Pages.VIEW Then Map.refFeatureListManagerVM.RemoveFeature()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' DeleteFeature
|
||||||
|
|
||||||
|
#Region "Edit"
|
||||||
|
|
||||||
|
Public ReadOnly Property Edit_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdEdit Is Nothing Then
|
||||||
|
m_cmdEdit = New Command(AddressOf Edit)
|
||||||
|
End If
|
||||||
|
Return m_cmdEdit
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub Edit()
|
||||||
|
' attivo modalita' contorno libero
|
||||||
|
Map.refFreeContourManagerVM.Open()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Edit
|
||||||
|
|
||||||
|
#Region "Save"
|
||||||
|
|
||||||
|
Public ReadOnly Property Save_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdSave Is Nothing Then
|
||||||
|
m_cmdSave = New Command(AddressOf Save)
|
||||||
|
End If
|
||||||
|
Return m_cmdSave
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub Save()
|
||||||
|
Select Case Map.refFreeContourManagerVM.SelType
|
||||||
|
Case FreeContourManagerVM.FreeContourTypes.ONE
|
||||||
|
Case FreeContourManagerVM.FreeContourTypes.ONEWITHANGLES
|
||||||
|
Case FreeContourManagerVM.FreeContourTypes.TWO
|
||||||
|
End Select
|
||||||
|
' disattivo modalita' contorno libero
|
||||||
|
Map.refFreeContourManagerVM.Close(True)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Save
|
||||||
|
|
||||||
|
#Region "Cancel"
|
||||||
|
|
||||||
|
Public ReadOnly Property Cancel_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdCancel Is Nothing Then
|
||||||
|
m_cmdCancel = New Command(AddressOf Cancel)
|
||||||
|
End If
|
||||||
|
Return m_cmdCancel
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub Cancel()
|
||||||
|
' disattivo modalita' contorno libero
|
||||||
|
Map.refFreeContourManagerVM.Close(False)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Cancel
|
||||||
|
|
||||||
|
#Region "Strategy"
|
||||||
|
|
||||||
|
Public ReadOnly Property Strategy_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdStategyCmd Is Nothing Then
|
||||||
|
m_cmdStategyCmd = New Command(AddressOf Strategy)
|
||||||
|
End If
|
||||||
|
Return m_cmdStategyCmd
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub Strategy()
|
||||||
|
' disattivo modalita' contorno libero
|
||||||
|
Map.refProjectVM.SetSelManagerTab(ProjectVM.ManagerTab.STRATEGYMANAGER)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Cancel
|
||||||
|
|
||||||
|
#End Region ' COMMANDS
|
||||||
|
|
||||||
|
#Region "EVENTS"
|
||||||
|
|
||||||
|
Private Sub OnPBTLParamAdded(sender As Object, e As BTLParamAddedEventArgs) Handles m_BTLFeatureM.PBTLParamAdded
|
||||||
|
Dim BTLParamVM As New BTLParamVM(e.NewBTLParam, m_BTLFeatureM)
|
||||||
|
PBTLParamVMList.Add(BTLParamVM)
|
||||||
|
End Sub
|
||||||
|
Private Sub OnQBTLParamAdded(sender As Object, e As BTLParamAddedEventArgs) Handles m_BTLFeatureM.QBTLParamAdded
|
||||||
|
Dim BTLParamVM As New BTLParamVM(e.NewBTLParam, m_BTLFeatureM)
|
||||||
|
QBTLParamVMList.Add(BTLParamVM)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub OnPBTLParamVMListChanged(sender As Object, e As NotifyCollectionChangedEventArgs)
|
||||||
|
If Not IsNothing(e.NewItems) AndAlso e.NewItems.Count > 0 Then
|
||||||
|
For Each BTLParamVM As BTLParamVM In e.NewItems
|
||||||
|
AddHandler BTLParamVM.PropertyChanged, AddressOf OnPBTLParamVMPropertyChanged
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
If Not IsNothing(e.OldItems) AndAlso e.OldItems.Count > 0 Then
|
||||||
|
For Each BTLParamVM As BTLParamVM In e.OldItems
|
||||||
|
RemoveHandler BTLParamVM.PropertyChanged, AddressOf OnPBTLParamVMPropertyChanged
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
Private Sub OnQBTLParamVMListChanged(sender As Object, e As NotifyCollectionChangedEventArgs)
|
||||||
|
If Not IsNothing(e.NewItems) AndAlso e.NewItems.Count > 0 Then
|
||||||
|
For Each BTLParamVM As BTLParamVM In e.NewItems
|
||||||
|
AddHandler BTLParamVM.PropertyChanged, AddressOf OnQBTLParamVMPropertyChanged
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
If Not IsNothing(e.OldItems) AndAlso e.OldItems.Count > 0 Then
|
||||||
|
For Each BTLParamVM As BTLParamVM In e.OldItems
|
||||||
|
RemoveHandler BTLParamVM.PropertyChanged, AddressOf OnQBTLParamVMPropertyChanged
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub OnPBTLParamVMPropertyChanged(sender As Object, e As PropertyChangedEventArgs)
|
||||||
|
Select Case e.PropertyName
|
||||||
|
Case NameOf(sender.dValue), NameOf(sender.sValue)
|
||||||
|
' riseleziono questa feature
|
||||||
|
SelGeomFeature()
|
||||||
|
' rendo non calcolata questa feature
|
||||||
|
ResetCalcFeature()
|
||||||
|
End Select
|
||||||
|
End Sub
|
||||||
|
Private Sub OnQBTLParamVMPropertyChanged(sender As Object, e As PropertyChangedEventArgs)
|
||||||
|
Select Case e.PropertyName
|
||||||
|
Case NameOf(sender.dValue), NameOf(sender.sValue)
|
||||||
|
' riseleziono questa feature
|
||||||
|
SelGeomFeature()
|
||||||
|
' rendo non calcolata questa feature
|
||||||
|
ResetCalcFeature()
|
||||||
|
End Select
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' EVENTS
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class MenuItemVm
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
Private m_ParentFeature As BTLFeatureVM
|
||||||
|
Public ReadOnly Property ParentFeature As BTLFeatureVM
|
||||||
|
Get
|
||||||
|
Return m_ParentFeature
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property sMsg As String
|
||||||
|
Get
|
||||||
|
Return If(ParentFeature.bDO, "Disable all ", "Enable all ") & ParentFeature.sDescGRP
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Definizione comando
|
||||||
|
Private m_cmdCommand As ICommand
|
||||||
|
|
||||||
|
Sub New(Parent As BTLFeatureVM)
|
||||||
|
m_ParentFeature = Parent
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#Region "Cancel"
|
||||||
|
|
||||||
|
Public ReadOnly Property MenuItem_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdCommand Is Nothing Then
|
||||||
|
m_cmdCommand = New Command(AddressOf Command)
|
||||||
|
End If
|
||||||
|
Return m_cmdCommand
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub Command()
|
||||||
|
Dim bNewDo As Boolean = Not ParentFeature.bDO
|
||||||
|
' imposto modalita' update multiplo
|
||||||
|
BTLFeatureVM.bDO_MultipleUpdate = True
|
||||||
|
' aggiorno tutte le feature del pezzo
|
||||||
|
Dim SameProcFeatureList As List(Of BTLFeatureVM) = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.Where(Function(x) x.nPRC = ParentFeature.nPRC AndAlso x.GRPList.Contains(ParentFeature.nSelGRP)).ToList()
|
||||||
|
For FeatureVMIndex = 0 To SameProcFeatureList.Count - 1
|
||||||
|
If FeatureVMIndex = SameProcFeatureList.Count - 1 Then
|
||||||
|
' reset modalita' update multiplo
|
||||||
|
BTLFeatureVM.bDO_MultipleUpdate = False
|
||||||
|
End If
|
||||||
|
Dim FeatureVM As BTLFeatureVM = SameProcFeatureList(FeatureVMIndex)
|
||||||
|
If FeatureVM.nPRC = ParentFeature.nPRC AndAlso FeatureVM.GRPList.Contains(ParentFeature.nSelGRP) Then
|
||||||
|
FeatureVM.bDO = bNewDo
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Cancel
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,334 @@
|
|||||||
|
Imports EgtBEAMWALL.Core
|
||||||
|
Imports EgtUILib
|
||||||
|
Imports EgtWPFLib5
|
||||||
|
|
||||||
|
Public Class BTLParamVM
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
Protected m_BTLParamM As BTLParamM
|
||||||
|
Public ReadOnly Property BTLParamM As BTLParamM
|
||||||
|
Get
|
||||||
|
Return m_BTLParamM
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_BTLFeatureM As BTLFeatureM
|
||||||
|
|
||||||
|
Public ReadOnly Property bIsP As Boolean
|
||||||
|
Get
|
||||||
|
Return m_BTLParamM.bIsP
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property bIsModified As Boolean
|
||||||
|
Get
|
||||||
|
Return m_BTLParamM.bIsModified
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
m_BTLParamM.bIsModified = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Custom_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
If bIsP Then
|
||||||
|
Return Visibility.Collapsed
|
||||||
|
Else
|
||||||
|
Return Visibility.Visible
|
||||||
|
End If
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' parametri da struttura
|
||||||
|
Public Property sName As String
|
||||||
|
Get
|
||||||
|
Return m_BTLParamM.sName
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_BTLParamM.sName = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property nId As Integer
|
||||||
|
Get
|
||||||
|
Return m_BTLParamM.nId
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property sDescription As String
|
||||||
|
Get
|
||||||
|
Return m_BTLParamM.sDescription
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_BTLParamM.sDescription = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property sMin As String
|
||||||
|
Get
|
||||||
|
Select Case m_BTLParamM.nType
|
||||||
|
Case BTLParamType.DOUBLE_
|
||||||
|
Return DoubleToString(m_BTLParamM.dMin, 3)
|
||||||
|
Case BTLParamType.LENGTH
|
||||||
|
Return LenToString(m_BTLParamM.dMin, 3)
|
||||||
|
Case Else
|
||||||
|
Return ""
|
||||||
|
End Select
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property dMin As Double
|
||||||
|
Get
|
||||||
|
Return m_BTLParamM.dMin
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property sMax As String
|
||||||
|
Get
|
||||||
|
Select Case m_BTLParamM.nType
|
||||||
|
Case BTLParamType.DOUBLE_
|
||||||
|
Return DoubleToString(m_BTLParamM.dMax, 3)
|
||||||
|
Case BTLParamType.LENGTH
|
||||||
|
Return LenToString(m_BTLParamM.dMax, 3)
|
||||||
|
Case Else
|
||||||
|
Return ""
|
||||||
|
End Select
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property dMax As Double
|
||||||
|
Get
|
||||||
|
Return m_BTLParamM.dMax
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' parametri da geometria
|
||||||
|
Public Property sValue As String
|
||||||
|
Get
|
||||||
|
Select Case m_BTLParamM.nType
|
||||||
|
Case BTLParamType.DOUBLE_
|
||||||
|
Return DoubleToString(m_BTLParamM.dValue, 3)
|
||||||
|
Case BTLParamType.LENGTH
|
||||||
|
Return LenToString(m_BTLParamM.dValue, 3)
|
||||||
|
Case Else ' stringhe
|
||||||
|
Return m_BTLParamM.sValue
|
||||||
|
End Select
|
||||||
|
Return If(m_BTLParamM.nType = BTLParamType.LENGTH, LenToString(m_BTLParamM.dValue, 3), DoubleToString(m_BTLParamM.dValue, 3))
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
Dim dNewValue As Double
|
||||||
|
' trasformo valori
|
||||||
|
Select Case m_BTLParamM.nType
|
||||||
|
Case BTLParamType.DOUBLE_
|
||||||
|
StringToDoubleAdv(value, dNewValue, True)
|
||||||
|
Case BTLParamType.LENGTH
|
||||||
|
StringToLenAdv(value, dNewValue, True)
|
||||||
|
Case Else
|
||||||
|
' per string non faccio nulla
|
||||||
|
End Select
|
||||||
|
Select Case m_BTLParamM.nType
|
||||||
|
Case BTLParamType.DOUBLE_, BTLParamType.LENGTH
|
||||||
|
' verifico che sia compreso tra minimo e massimo
|
||||||
|
If dNewValue < m_BTLParamM.dMin OrElse dNewValue > m_BTLParamM.dMax Then
|
||||||
|
MessageBox.Show(EgtMsg(61856), EgtMsg(30007))
|
||||||
|
NotifyPropertyChanged(NameOf(sValue))
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
' recupero ParentPart
|
||||||
|
Dim ParentPart As BTLPartM = TryCast(m_BTLParamM.ParentFeature.ParentPart, BTLPartM)
|
||||||
|
' recupero PartId
|
||||||
|
Dim nPartId As Integer = ParentPart.nPartId
|
||||||
|
' numero di pezzi inseriti nelle barre
|
||||||
|
Dim INPROD As Integer = 0
|
||||||
|
EgtDuploInRawCount(nPartId, INPROD)
|
||||||
|
' recupero pezzi lavorati da Db
|
||||||
|
Dim nDoneCnt As Integer = DbControllers.m_ProjController.getCountItemState(ProjectManagerVM.CurrProj.nProjId, nPartId, ItemState.Assigned)
|
||||||
|
' controllo se i pezzi sono lavorati se si messaggio di warning altrimenti messaggio informativo
|
||||||
|
If nDoneCnt > 0 Then
|
||||||
|
MessageBox.Show("Pezzo " & nPartId & " non modificato in " & INPROD & " barra/e perche' settata/e come da produrre", EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Warning)
|
||||||
|
ElseIf INPROD > 0 Then
|
||||||
|
MessageBox.Show("Pezzo " & nPartId & " modificato in " & INPROD & " barra/e grezza/e", EgtMsg(30009), MessageBoxButton.OK, MessageBoxImage.Information)
|
||||||
|
End If
|
||||||
|
UpdateParamValue(dNewValue, "")
|
||||||
|
Case Else
|
||||||
|
UpdateParamValue(0, value)
|
||||||
|
End Select
|
||||||
|
NotifyPropertyChanged(NameOf(bCustom))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
Public Property dValue As Double
|
||||||
|
Get
|
||||||
|
Return m_BTLParamM.dValue
|
||||||
|
End Get
|
||||||
|
Set(value As Double)
|
||||||
|
m_BTLParamM.dValue = value
|
||||||
|
NotifyPropertyChanged(NameOf(sValue))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property sDefault As String
|
||||||
|
Get
|
||||||
|
Select Case m_BTLParamM.nType
|
||||||
|
Case BTLParamType.DOUBLE_
|
||||||
|
Return DoubleToString(m_BTLParamM.dDefault, 3)
|
||||||
|
Case BTLParamType.LENGTH
|
||||||
|
Return LenToString(m_BTLParamM.dDefault, 3)
|
||||||
|
Case Else
|
||||||
|
Return ""
|
||||||
|
End Select
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
Dim dNewValue As Double
|
||||||
|
' trasformo valori
|
||||||
|
Select Case m_BTLParamM.nType
|
||||||
|
Case BTLParamType.DOUBLE_
|
||||||
|
StringToDoubleAdv(value, dNewValue, True)
|
||||||
|
Case BTLParamType.LENGTH
|
||||||
|
StringToLenAdv(value, dNewValue, True)
|
||||||
|
Case Else
|
||||||
|
' per string non faccio nulla
|
||||||
|
End Select
|
||||||
|
Select Case m_BTLParamM.nType
|
||||||
|
Case BTLParamType.DOUBLE_, BTLParamType.LENGTH
|
||||||
|
' verifico che sia compreso tra minimo e massimo
|
||||||
|
If dNewValue < m_BTLParamM.dMin OrElse dNewValue > m_BTLParamM.dMax Then
|
||||||
|
MessageBox.Show(EgtMsg(61856), EgtMsg(30007))
|
||||||
|
NotifyPropertyChanged(NameOf(sDefault))
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
m_BTLParamM.dDefault = dNewValue
|
||||||
|
m_BTLParamM.bIsModified = True
|
||||||
|
Case Else
|
||||||
|
m_BTLParamM.dDefault = 0
|
||||||
|
m_BTLParamM.bIsModified = True
|
||||||
|
End Select
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property nType As BTLParamType
|
||||||
|
Get
|
||||||
|
Return m_BTLParamM.nType
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Protected m_sDrawPath As String
|
||||||
|
Public ReadOnly Property sDrawPath As String
|
||||||
|
Get
|
||||||
|
Return Map.refMainWindowVM.MainWindowM.sResourcesRoot & "\Parameters\" & m_BTLFeatureM.sDescGRP & "_" & m_BTLParamM.sName & "_" & m_BTLFeatureM.nSelGRP & ".gif"
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Property bCustom As Boolean
|
||||||
|
Get
|
||||||
|
Return m_BTLParamM.bCustom
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
' Se de-checko il parametro settiamo il suo valore a quello di default
|
||||||
|
Dim bFound As Boolean = False
|
||||||
|
If Not value Then
|
||||||
|
' Cerco il parametro Q direttamente nel file ini
|
||||||
|
Dim ParamIndex As String = 1
|
||||||
|
Dim NewBTLParam As BTLParamM = Nothing
|
||||||
|
While BTLIniFile.GetBeamPrivateProfileParam(Me.m_BTLFeatureM.nSelGRP, Me.m_BTLFeatureM.nPRC, Me.m_BTLFeatureM.nSelVARIANT, False, ParamIndex, Nothing, NewBTLParam)
|
||||||
|
Dim QBTLParam As BTLParamVM = New BTLParamVM(NewBTLParam)
|
||||||
|
If QBTLParam.sName = Me.sName Then
|
||||||
|
Me.sValue = QBTLParam.sDefault
|
||||||
|
NotifyPropertyChanged(NameOf(sValue))
|
||||||
|
m_BTLParamM.bCustom = value
|
||||||
|
' setto nel DB che il parametro attuale è custom o meno
|
||||||
|
EgtSetInfo(m_BTLFeatureM.nFeatureId, m_BTLParamM.sName & "A", If(value, "1", ""))
|
||||||
|
NotifyPropertyChanged(NameOf(bCustom))
|
||||||
|
Exit While
|
||||||
|
End If
|
||||||
|
ParamIndex += 1
|
||||||
|
End While
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property sBWType As String
|
||||||
|
Get
|
||||||
|
Return m_BTLParamM.sBWType
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
|
Sub New(BTLParamM As BTLParamM, BTLFeatureM As BTLFeatureM)
|
||||||
|
m_BTLParamM = BTLParamM
|
||||||
|
m_BTLFeatureM = BTLFeatureM
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Sub New(BTLParamM As BTLParamM)
|
||||||
|
m_BTLParamM = BTLParamM
|
||||||
|
m_BTLFeatureM = Nothing
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' CONSTRUCTOR
|
||||||
|
|
||||||
|
Friend Sub UpdateParamValue(dNewValue As Double, sNewValue As String, Optional bDraw As Boolean = True)
|
||||||
|
' verifico se solido attivo
|
||||||
|
Dim bShowSolid As Boolean = Map.refShowBeamPanelVM.ShowSolid_IsChecked
|
||||||
|
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, False, False)
|
||||||
|
' Recupero i parametri attuali della feature
|
||||||
|
Dim vPar() As Double = Nothing
|
||||||
|
Dim sPar As String = String.Empty
|
||||||
|
Dim vParQ() As String = Nothing
|
||||||
|
m_BTLFeatureM.CalcParamArray(vPar, sPar, vParQ)
|
||||||
|
' se P
|
||||||
|
If m_BTLParamM.bIsP Then
|
||||||
|
' modifico parametro cambiato con value
|
||||||
|
Select Case m_BTLParamM.nType
|
||||||
|
Case BTLParamType.DOUBLE_, BTLParamType.LENGTH
|
||||||
|
vPar(m_BTLParamM.nId - 1) = dNewValue
|
||||||
|
Case BTLParamType.STRING_
|
||||||
|
sPar = sNewValue
|
||||||
|
End Select
|
||||||
|
Dim bOK As Boolean = m_BTLFeatureM.UpdateParams(m_BTLFeatureM.nSelGRP, m_BTLFeatureM.nPRC, m_BTLFeatureM.nSelSIDE, m_BTLFeatureM.sDES,
|
||||||
|
m_BTLFeatureM.nPRID, m_BTLFeatureM.frFRAME, vPar, sPar, vParQ)
|
||||||
|
If bOK Then
|
||||||
|
Select Case m_BTLParamM.nType
|
||||||
|
Case BTLParamType.DOUBLE_, BTLParamType.LENGTH
|
||||||
|
m_BTLParamM.dValue = dNewValue
|
||||||
|
NotifyPropertyChanged(NameOf(sValue))
|
||||||
|
Case BTLParamType.STRING_
|
||||||
|
m_BTLParamM.sValue = sNewValue
|
||||||
|
NotifyPropertyChanged(NameOf(sValue))
|
||||||
|
End Select
|
||||||
|
Else
|
||||||
|
NotifyPropertyChanged(NameOf(sValue))
|
||||||
|
End If
|
||||||
|
' se Q
|
||||||
|
Else
|
||||||
|
For Ind = 0 To vParQ.Length() - 1
|
||||||
|
If vParQ(Ind).StartsWith(m_BTLParamM.sName) Then
|
||||||
|
vParQ(Ind) = m_BTLParamM.sName & ":" & DoubleToString(dNewValue, 3)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
Dim bOK As Boolean = m_BTLFeatureM.UpdateParams(m_BTLFeatureM.nSelGRP, m_BTLFeatureM.nPRC, m_BTLFeatureM.nSelSIDE, m_BTLFeatureM.sDES,
|
||||||
|
m_BTLFeatureM.nPRID, m_BTLFeatureM.frFRAME, vPar, sPar, vParQ)
|
||||||
|
|
||||||
|
If bOK Then
|
||||||
|
m_BTLParamM.bCustom = True
|
||||||
|
' se sono in ottimizzazione
|
||||||
|
If Map.refMainMenuVM.SelPage = Pages.VIEW Then
|
||||||
|
' setto nel progetto il fatto che il parametro attuale è custom o meno
|
||||||
|
EgtSetInfo(m_BTLFeatureM.nFeatureId, m_BTLParamM.sName & "A", If(bCustom, "1", ""))
|
||||||
|
NotifyPropertyChanged(NameOf(bCustom))
|
||||||
|
End If
|
||||||
|
m_BTLParamM.dValue = dNewValue
|
||||||
|
' modifica provvisoria per mancanza aggiornamento su freecontour
|
||||||
|
If m_BTLFeatureM.IsFreeContour Then
|
||||||
|
EgtSetInfo(m_BTLFeatureM.nFeatureId, sName, dNewValue)
|
||||||
|
End If
|
||||||
|
NotifyPropertyChanged(NameOf(dValue))
|
||||||
|
Else
|
||||||
|
NotifyPropertyChanged(NameOf(dValue))
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If bShowSolid Then Map.refProjectVM.BTLStructureVM.ShowSolid(GDB_ID.NULL, True, False)
|
||||||
|
If bDraw Then EgtDraw()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,3 @@
|
|||||||
|
Friend Class BTLRawPartVM
|
||||||
|
|
||||||
|
End Class
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,155 @@
|
|||||||
|
<EgtWPFLib5:EgtCustomWindow x:Class="BeamMachiningsWindowV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core"
|
||||||
|
Title="{Binding Title}"
|
||||||
|
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||||
|
WindowStyle="None" ResizeMode="NoResize"
|
||||||
|
Width="500" Height="450"
|
||||||
|
IsResizable="False"
|
||||||
|
IsMinimizable="False" WindowStartupLocation="CenterOwner" ShowInTaskbar="False"
|
||||||
|
CloseCommand="{Binding Close_Command,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
|
||||||
|
|
||||||
|
<Grid Margin="5,5,5,0">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<TabControl ItemsSource="{Binding MachiningList}"
|
||||||
|
SelectedItem="{Binding SelMachining}"
|
||||||
|
IsSynchronizedWithCurrentItem="True"
|
||||||
|
Margin="5,0,5,0"
|
||||||
|
Style="{StaticResource TabControl_OnlyHeaders}"/>
|
||||||
|
|
||||||
|
<EgtBEAMWALLCORE:EgtDataGrid Grid.Row="1"
|
||||||
|
ItemsSource="{Binding TableRowList}"
|
||||||
|
SelectedIndex="{Binding SelRowIndex}"
|
||||||
|
AutoGenerateColumns="False"
|
||||||
|
CanUserResizeRows="False"
|
||||||
|
SelectionMode="Single"
|
||||||
|
ScrollViewer.CanContentScroll="True"
|
||||||
|
ScrollViewer.VerticalScrollBarVisibility="Auto"
|
||||||
|
ScrollViewer.HorizontalScrollBarVisibility="Auto"
|
||||||
|
Margin="0,0,0,5"
|
||||||
|
BindingColumns="{Binding BeamMachiningsColumns}">
|
||||||
|
|
||||||
|
<DataGrid.RowStyle>
|
||||||
|
<Style TargetType="DataGridRow">
|
||||||
|
<Setter Property="Height" Value="25"/>
|
||||||
|
<Setter Property="VerticalContentAlignment" Value="Center"/>
|
||||||
|
</Style>
|
||||||
|
</DataGrid.RowStyle>
|
||||||
|
|
||||||
|
<DataGrid.Resources>
|
||||||
|
<Style x:Key="DataGridCheckBoxColumn_Style"
|
||||||
|
TargetType="{x:Type DataGridCell}">
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="{x:Type DataGridCell}">
|
||||||
|
<Grid Background="{TemplateBinding Background}">
|
||||||
|
<ContentPresenter VerticalAlignment="Center" />
|
||||||
|
</Grid>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
|
||||||
|
<!--Colonna On-->
|
||||||
|
<DataGridCheckBoxColumn x:Key="colON" Binding="{Binding OnPar, UpdateSourceTrigger=PropertyChanged}"
|
||||||
|
CellStyle="{StaticResource DataGridCheckBoxColumn_Style}">
|
||||||
|
<DataGridCheckBoxColumn.Header>
|
||||||
|
<TextBlock Text="{Binding Path=DataContext.OnHdr,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
|
||||||
|
</DataGridCheckBoxColumn.Header>
|
||||||
|
</DataGridCheckBoxColumn>
|
||||||
|
|
||||||
|
<!--Colonna Name-->
|
||||||
|
<DataGridTemplateColumn x:Key="colNAME">
|
||||||
|
<DataGridTemplateColumn.Header>
|
||||||
|
<TextBlock Text="{Binding Path=DataContext.NameHdr,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
|
||||||
|
</DataGridTemplateColumn.Header>
|
||||||
|
<DataGridTemplateColumn.CellEditingTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<ComboBox IsEditable="False"
|
||||||
|
SelectedItem="{Binding Name,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
|
||||||
|
ItemsSource="{Binding Path=NamesList, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.CellEditingTemplate>
|
||||||
|
<DataGridTemplateColumn.CellTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding Path=Name,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Margin="5,0,0,0"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.CellTemplate>
|
||||||
|
</DataGridTemplateColumn>
|
||||||
|
|
||||||
|
<!--Colonna Style-->
|
||||||
|
<DataGridTemplateColumn x:Key="colTYPE">
|
||||||
|
<DataGridTemplateColumn.Header>
|
||||||
|
<TextBlock Text="{Binding Path=DataContext.TypeHdr,RelativeSource={RelativeSource AncestorType={x:Type EgtWPFLib5:EgtCustomWindow}}}"/>
|
||||||
|
</DataGridTemplateColumn.Header>
|
||||||
|
<DataGridTemplateColumn.CellEditingTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<ComboBox IsEditable="False"
|
||||||
|
SelectedItem="{Binding Type,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
|
||||||
|
ItemsSource="{Binding Path=TypeList, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.CellEditingTemplate>
|
||||||
|
<DataGridTemplateColumn.CellTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding Path=Type,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Margin="5,0,0,0"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.CellTemplate>
|
||||||
|
</DataGridTemplateColumn>
|
||||||
|
|
||||||
|
</DataGrid.Resources>
|
||||||
|
|
||||||
|
</EgtBEAMWALLCORE:EgtDataGrid>
|
||||||
|
|
||||||
|
<Grid Grid.Row="2"
|
||||||
|
Margin="0,0,0,5"
|
||||||
|
HorizontalAlignment="Center">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Button Content="/\"
|
||||||
|
Command="{Binding MoveRowUp_Command}"
|
||||||
|
Grid.Column="0"
|
||||||
|
Margin="0,0,2.5,0"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="\/"
|
||||||
|
Command="{Binding MoveRowDown_Command}"
|
||||||
|
Grid.Column="1"
|
||||||
|
Margin="2.5,0,2.5,0"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="{Binding AddRowMsg}"
|
||||||
|
Command="{Binding AddRow_Command}"
|
||||||
|
Grid.Column="2"
|
||||||
|
Margin="2.5,0,2.5,0"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="{Binding DeleteRowMsg}"
|
||||||
|
Command="{Binding DeleteRow_Command}"
|
||||||
|
Grid.Column="3"
|
||||||
|
Margin="2.5,0,2.5,0"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="{Binding SaveMsg}"
|
||||||
|
Command="{Binding Save_Command}"
|
||||||
|
Grid.Column="4"
|
||||||
|
Margin="2.5,0,0,0"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</EgtWPFLib5:EgtCustomWindow>
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
Imports EgtBEAMWALL.Core
|
||||||
|
|
||||||
|
Public Class BeamMachiningsWindowV
|
||||||
|
|
||||||
|
Private WithEvents m_BeamMachiningsWindowVM As MyBeamMachiningsWindowVM
|
||||||
|
|
||||||
|
Sub New(Owner As Window, BeamMachiningsWindowVM As MyBeamMachiningsWindowVM)
|
||||||
|
MyBase.New(Owner)
|
||||||
|
' This call is required by the designer.
|
||||||
|
InitializeComponent()
|
||||||
|
Me.DataContext = BeamMachiningsWindowVM
|
||||||
|
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||||
|
m_BeamMachiningsWindowVM = BeamMachiningsWindowVM
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_BeamMachiningsWindowVM.m_CloseWindow
|
||||||
|
Me.DialogResult = bDialogResult
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
Imports System.Collections.ObjectModel
|
||||||
|
Imports EgtBEAMWALL.Core
|
||||||
|
Imports EgtWPFLib5
|
||||||
|
|
||||||
|
Public Class MyBeamMachiningsWindowVM
|
||||||
|
Inherits BeamMachiningsWindowVM
|
||||||
|
|
||||||
|
#Region "FIELDS & PROPERTIES"
|
||||||
|
|
||||||
|
Private m_BeamMachiningsColumns As New ObservableCollection(Of EgtDataGridColumn)
|
||||||
|
Public Property BeamMachiningsColumns As ObservableCollection(Of EgtDataGridColumn)
|
||||||
|
Get
|
||||||
|
Return m_BeamMachiningsColumns
|
||||||
|
End Get
|
||||||
|
Set(value As ObservableCollection(Of EgtDataGridColumn))
|
||||||
|
m_BeamMachiningsColumns = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
#End Region ' FIELDS & PROPERTIES
|
||||||
|
|
||||||
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
|
Sub New(sTitle As String, sBaseDir As String, sMachTypePath As String, sTabTemplPath As String, Optional bIsBeam As Boolean = True)
|
||||||
|
MyBase.New(sTitle, sBaseDir, sMachTypePath, sTabTemplPath, bIsBeam)
|
||||||
|
' carico le colonne della datagrid
|
||||||
|
GetPrivateProfileColumns(S_BEAMMACHININGS, BeamMachiningsColumns)
|
||||||
|
' aggiorno la visibilità delle colonne
|
||||||
|
For Each col In BeamMachiningsColumns
|
||||||
|
col.ColumnVisibility = If(col.Visible, Visibility.Visible, Visibility.Collapsed)
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' CONSTRUCTOR
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace EgtBEAMWALL.EgtBEAMWALL.ViewerOptimizer.Behavior
|
||||||
|
{
|
||||||
|
public class DataGridColumnsBehavior
|
||||||
|
{
|
||||||
|
public static readonly DependencyProperty BindableColumnsProperty = DependencyProperty.RegisterAttached("BindableColumns", typeof(ObservableCollection<DataGridColumn>), typeof(DataGridColumnsBehavior), new UIPropertyMetadata(null, BindableColumnsPropertyChanged));
|
||||||
|
/// <summary>Collection to store collection change handlers - to be able to unsubscribe later.</summary>
|
||||||
|
private static readonly Dictionary<DataGrid, NotifyCollectionChangedEventHandler> _handlers;
|
||||||
|
|
||||||
|
static DataGridColumnsBehavior()
|
||||||
|
{
|
||||||
|
_handlers = new Dictionary<DataGrid, NotifyCollectionChangedEventHandler>();
|
||||||
|
}
|
||||||
|
private static void BindableColumnsPropertyChanged(DependencyObject source, DependencyPropertyChangedEventArgs e)
|
||||||
|
{
|
||||||
|
if (!(source is DataGrid dataGrid)) return;
|
||||||
|
if (e.OldValue is ObservableCollection<DataGridColumn> oldColumns)
|
||||||
|
{
|
||||||
|
// Remove all columns.
|
||||||
|
dataGrid.Columns.Clear();
|
||||||
|
|
||||||
|
// Unsubscribe from old collection.
|
||||||
|
if (_handlers.TryGetValue(dataGrid, out var h))
|
||||||
|
{
|
||||||
|
oldColumns.CollectionChanged -= h;
|
||||||
|
_handlers.Remove(dataGrid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var newColumns = e.NewValue as ObservableCollection<DataGridColumn>;
|
||||||
|
dataGrid.Columns.Clear();
|
||||||
|
if (newColumns != null)
|
||||||
|
{
|
||||||
|
// Add columns from this source.
|
||||||
|
foreach (var column in newColumns)
|
||||||
|
if (column != null)
|
||||||
|
{
|
||||||
|
var dg = (DataGrid)column.GetType().GetProperty("DataGridOwner", BindingFlags.Instance | BindingFlags.NonPublic)?.GetValue(column, null);
|
||||||
|
dg?.Columns.Clear();
|
||||||
|
dataGrid.Columns.Add(column);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Subscribe to future changes.
|
||||||
|
NotifyCollectionChangedEventHandler h = (_, ne) => OnCollectionChanged(ne, dataGrid);
|
||||||
|
_handlers[dataGrid] = h;
|
||||||
|
newColumns.CollectionChanged += h;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void OnCollectionChanged(NotifyCollectionChangedEventArgs ne, DataGrid dataGrid)
|
||||||
|
{
|
||||||
|
switch (ne.Action)
|
||||||
|
{
|
||||||
|
case NotifyCollectionChangedAction.Reset:
|
||||||
|
dataGrid.Columns.Clear();
|
||||||
|
if (ne.NewItems != null && ne.NewItems.Count > 0)
|
||||||
|
foreach (DataGridColumn column in ne.NewItems)
|
||||||
|
dataGrid.Columns.Add(column);
|
||||||
|
break;
|
||||||
|
case NotifyCollectionChangedAction.Add:
|
||||||
|
foreach (DataGridColumn column in ne.NewItems)
|
||||||
|
dataGrid.Columns.Add(column);
|
||||||
|
break;
|
||||||
|
case NotifyCollectionChangedAction.Move:
|
||||||
|
dataGrid.Columns.Move(ne.OldStartingIndex, ne.NewStartingIndex);
|
||||||
|
break;
|
||||||
|
case NotifyCollectionChangedAction.Remove:
|
||||||
|
foreach (DataGridColumn column in ne.OldItems)
|
||||||
|
dataGrid.Columns.Remove(column);
|
||||||
|
break;
|
||||||
|
case NotifyCollectionChangedAction.Replace:
|
||||||
|
dataGrid.Columns[ne.NewStartingIndex] = ne.NewItems[0] as DataGridColumn;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static void SetBindableColumns(DependencyObject element, ObservableCollection<DataGridColumn> value)
|
||||||
|
{
|
||||||
|
element.SetValue(BindableColumnsProperty, value);
|
||||||
|
}
|
||||||
|
public static ObservableCollection<DataGridColumn> GetBindableColumns(DependencyObject element)
|
||||||
|
{
|
||||||
|
return (ObservableCollection<DataGridColumn>)element.GetValue(BindableColumnsProperty);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
Imports System.Collections.ObjectModel
|
||||||
|
Imports System.Collections.Specialized
|
||||||
|
Imports System.Reflection
|
||||||
|
|
||||||
|
Public Class DataGridColumnsBehavior
|
||||||
|
Public Shared ReadOnly BindableColumnsProperty As DependencyProperty = DependencyProperty.RegisterAttached("BindableColumns", GetType(ObservableCollection(Of DataGridColumn)), GetType(DataGridColumnsBehavior), New UIPropertyMetadata(Nothing, AddressOf BindableColumnsPropertyChanged))
|
||||||
|
Private Shared ReadOnly _handlers As Dictionary(Of DataGrid, NotifyCollectionChangedEventHandler)
|
||||||
|
|
||||||
|
Shared Sub New()
|
||||||
|
_handlers = New Dictionary(Of DataGrid, NotifyCollectionChangedEventHandler)()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Shared Sub BindableColumnsPropertyChanged(ByVal source As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
|
||||||
|
Dim dataGrid As DataGrid = Nothing
|
||||||
|
If Not (source Is dataGrid) Then Return
|
||||||
|
Dim h = Nothing, oldColumns As ObservableCollection(Of DataGridColumn) = Nothing
|
||||||
|
|
||||||
|
If e.OldValue Is oldColumns Then
|
||||||
|
dataGrid.Columns.Clear()
|
||||||
|
|
||||||
|
If _handlers.TryGetValue(dataGrid, h) Then
|
||||||
|
RemoveHandler oldColumns.CollectionChanged, h
|
||||||
|
_handlers.Remove(dataGrid)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim newColumns = TryCast(e.NewValue, ObservableCollection(Of DataGridColumn))
|
||||||
|
dataGrid.Columns.Clear()
|
||||||
|
|
||||||
|
If newColumns IsNot Nothing Then
|
||||||
|
|
||||||
|
For Each column In newColumns
|
||||||
|
|
||||||
|
If column IsNot Nothing Then
|
||||||
|
Dim dg = CType(column.[GetType]().GetProperty("DataGridOwner", BindingFlags.Instance Or BindingFlags.NonPublic)?.GetValue(column, Nothing), DataGrid)
|
||||||
|
dg?.Columns.Clear()
|
||||||
|
dataGrid.Columns.Add(column)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
Dim h As NotifyCollectionChangedEventHandler = Function(__, ne) OnCollectionChanged(ne, dataGrid)
|
||||||
|
_handlers(dataGrid) = h
|
||||||
|
AddHandler newColumns.CollectionChanged, h
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Shared Sub OnCollectionChanged(ByVal ne As NotifyCollectionChangedEventArgs, ByVal dataGrid As DataGrid)
|
||||||
|
Select Case ne.Action
|
||||||
|
Case NotifyCollectionChangedAction.Reset
|
||||||
|
dataGrid.Columns.Clear()
|
||||||
|
|
||||||
|
If ne.NewItems IsNot Nothing AndAlso ne.NewItems.Count > 0 Then
|
||||||
|
|
||||||
|
For Each column As DataGridColumn In ne.NewItems
|
||||||
|
dataGrid.Columns.Add(column)
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
Case NotifyCollectionChangedAction.Add
|
||||||
|
|
||||||
|
For Each column As DataGridColumn In ne.NewItems
|
||||||
|
dataGrid.Columns.Add(column)
|
||||||
|
Next
|
||||||
|
|
||||||
|
Case NotifyCollectionChangedAction.Move
|
||||||
|
dataGrid.Columns.Move(ne.OldStartingIndex, ne.NewStartingIndex)
|
||||||
|
Case NotifyCollectionChangedAction.Remove
|
||||||
|
|
||||||
|
For Each column As DataGridColumn In ne.OldItems
|
||||||
|
dataGrid.Columns.Remove(column)
|
||||||
|
Next
|
||||||
|
|
||||||
|
Case NotifyCollectionChangedAction.Replace
|
||||||
|
dataGrid.Columns(ne.NewStartingIndex) = TryCast(ne.NewItems(0), DataGridColumn)
|
||||||
|
End Select
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Shared Sub SetBindableColumns(ByVal element As DependencyObject, ByVal value As ObservableCollection(Of DataGridColumn))
|
||||||
|
element.SetValue(BindableColumnsProperty, value)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Shared Function GetBindableColumns(ByVal element As DependencyObject) As ObservableCollection(Of DataGridColumn)
|
||||||
|
Return CType(element.GetValue(BindableColumnsProperty), ObservableCollection(Of DataGridColumn))
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Class CSharpImpl
|
||||||
|
<Obsolete("Please refactor calling code to use normal Visual Basic assignment")>
|
||||||
|
Shared Function __Assign(Of T)(ByRef target As T, value As T) As T
|
||||||
|
target = value
|
||||||
|
Return value
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
<EgtWPFLib5:EgtCustomWindow x:Class="BlockedWndV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||||
|
Title="{Binding Title}" WindowStartupLocation="CenterOwner"
|
||||||
|
Height="200" Width="400">
|
||||||
|
|
||||||
|
<Grid>
|
||||||
|
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<TextBlock Grid.Row="1"
|
||||||
|
Text="{Binding Msg_Text}"
|
||||||
|
TextAlignment="Center"
|
||||||
|
Margin="40,0,40,0"/>
|
||||||
|
<Grid Grid.Row="5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Button Grid.Column="1" Content="{Binding Save_Msg}"
|
||||||
|
IsDefault="True"
|
||||||
|
Command="{Binding Save_Command}"
|
||||||
|
Visibility="{Binding Buttons_Visibility}"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Grid.Column="3" Content="{Binding DoNotSave_Msg}"
|
||||||
|
Command="{Binding DoNotSave_Command}"
|
||||||
|
Visibility="{Binding Buttons_Visibility}"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</EgtWPFLib5:EgtCustomWindow>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
Public Class BlockedWndV
|
||||||
|
|
||||||
|
Private WithEvents m_BlockedWndVM As BlockedWndVM
|
||||||
|
|
||||||
|
Sub New(Owner As Window, BlockedWndVM As BlockedWndVM)
|
||||||
|
MyBase.New(Owner)
|
||||||
|
' This call is required by the designer.
|
||||||
|
InitializeComponent()
|
||||||
|
Me.DataContext = BlockedWndVM
|
||||||
|
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||||
|
m_BlockedWndVM = BlockedWndVM
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_BlockedWndVM.m_CloseWindow
|
||||||
|
Me.DialogResult = bDialogResult
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,160 @@
|
|||||||
|
Imports System.Windows.Threading
|
||||||
|
Imports EgtBEAMWALL.Core
|
||||||
|
Imports EgtUILib
|
||||||
|
Imports EgtWPFLib5
|
||||||
|
|
||||||
|
Public Class BlockedWndVM
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
#Region "FIELDS & PROPERTIES"
|
||||||
|
|
||||||
|
Friend Event m_CloseWindow(bDialogResult As Boolean)
|
||||||
|
|
||||||
|
Private m_Waiting_Timer As New DispatcherTimer
|
||||||
|
|
||||||
|
Private WaitingTimer_TickHandler As New EventHandler(AddressOf WaitingTimer_Tick)
|
||||||
|
|
||||||
|
Private m_Buttons_Visibility As Visibility = Visibility.Visible
|
||||||
|
Public ReadOnly Property Buttons_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return m_Buttons_Visibility
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_nIndex As Integer = 0
|
||||||
|
|
||||||
|
#Region "Messages"
|
||||||
|
|
||||||
|
Private m_Msg_Text As String
|
||||||
|
Public ReadOnly Property Msg_Text As String
|
||||||
|
Get
|
||||||
|
Return m_Msg_Text
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Save_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61966)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property DoNotSave_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61967)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
#End Region ' Messages
|
||||||
|
|
||||||
|
' Definizione comandi
|
||||||
|
Private m_cmdSave As ICommand
|
||||||
|
Private m_cmdDoNotSave As ICommand
|
||||||
|
|
||||||
|
#End Region ' FIELDS & PROPERTIES
|
||||||
|
|
||||||
|
Sub New()
|
||||||
|
If DbControllers.bNetwork Then
|
||||||
|
m_Buttons_Visibility = Visibility.Visible
|
||||||
|
m_Msg_Text = "Ottimizzatore bloccato per ricalcolo trave. Salvare le modifiche apportate al progetto?"
|
||||||
|
Else
|
||||||
|
m_Msg_Text = "In attesa del ricalcolo da parte del supervisore."
|
||||||
|
m_Buttons_Visibility = Visibility.Collapsed
|
||||||
|
Save()
|
||||||
|
End If
|
||||||
|
NotifyPropertyChanged(NameOf(Msg_Text))
|
||||||
|
NotifyPropertyChanged(NameOf(Buttons_Visibility))
|
||||||
|
' avvio contatore
|
||||||
|
m_Waiting_Timer.Interval = TimeSpan.FromMilliseconds(500)
|
||||||
|
AddHandler m_Waiting_Timer.Tick, WaitingTimer_TickHandler
|
||||||
|
m_Waiting_Timer.Start()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub WaitingTimer_Tick()
|
||||||
|
' se notifica di chiusura da supervisor, esco
|
||||||
|
If Not SupervisorCommThread.bViewerOptimizerBlocked And Map.refMainWindowVM.m_ManagingSupervisorStop Then
|
||||||
|
If m_Waiting_Timer.IsEnabled Then
|
||||||
|
m_Waiting_Timer.Stop()
|
||||||
|
RemoveHandler m_Waiting_Timer.Tick, WaitingTimer_TickHandler
|
||||||
|
End If
|
||||||
|
' se mi viene passato un Id di MachGroup aggiunto
|
||||||
|
If SupervisorCommThread.m_AddedMachGroupId > 0 Then
|
||||||
|
' ricarico progetto
|
||||||
|
Dim sCurrFilePath As String = ""
|
||||||
|
EgtGetCurrFilePath(sCurrFilePath)
|
||||||
|
EgtOpenFile(sCurrFilePath)
|
||||||
|
' aggiungo a lista nuovo MachGroup
|
||||||
|
Map.refProjectVM.MachGroupPanelVM.AddMachGroupToList(SupervisorCommThread.m_AddedMachGroupId)
|
||||||
|
End If
|
||||||
|
Map.refMainWindowVM.m_ManagingSupervisorStop = False
|
||||||
|
RaiseEvent m_CloseWindow(True)
|
||||||
|
End If
|
||||||
|
' incremento contatore
|
||||||
|
m_nIndex += 1
|
||||||
|
' se passata attesa per risposta utente
|
||||||
|
If m_nIndex = 17 Then
|
||||||
|
' aggiorno finestra con attesa fine calcolo
|
||||||
|
m_Msg_Text = "In attesa del ricalcolo da parte del supervisore."
|
||||||
|
m_Buttons_Visibility = Visibility.Collapsed
|
||||||
|
NotifyPropertyChanged(NameOf(Buttons_Visibility))
|
||||||
|
NotifyPropertyChanged(NameOf(Msg_Text))
|
||||||
|
' mando messaggio di blocco avvenuto
|
||||||
|
DbControllers.m_StatusMapController.UpdateAction("", ProjectManagerVM.CurrProd.nProdId, ProjectManagerVM.CurrProd.nProdId, StatusMapItemType.Comm, StatusMapOpType.ViewOptimStoped, "")
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#Region "COMMANDS"
|
||||||
|
|
||||||
|
#Region "Save"
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Returns a command that do Exec.
|
||||||
|
''' </summary>
|
||||||
|
Public ReadOnly Property Save_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdSave Is Nothing Then
|
||||||
|
m_cmdSave = New Command(AddressOf Save)
|
||||||
|
End If
|
||||||
|
Return m_cmdSave
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
||||||
|
''' </summary>
|
||||||
|
Public Sub Save()
|
||||||
|
' salvo progetto
|
||||||
|
'Map.refProdManagerVM.Save()
|
||||||
|
Map.refOnlyProdManagerVM.Save()
|
||||||
|
' mando messaggio di blocco avvenuto
|
||||||
|
DbControllers.m_StatusMapController.UpdateAction("", ProjectManagerVM.CurrProd.nProdId, ProjectManagerVM.CurrProd.nProdId, StatusMapItemType.Comm, StatusMapOpType.ViewOptimStoped, "")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Save
|
||||||
|
|
||||||
|
#Region "DoNotSave"
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Returns a command that do Exec.
|
||||||
|
''' </summary>
|
||||||
|
Public ReadOnly Property DoNotSave_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdDoNotSave Is Nothing Then
|
||||||
|
m_cmdDoNotSave = New Command(AddressOf DoNotSave)
|
||||||
|
End If
|
||||||
|
Return m_cmdDoNotSave
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
||||||
|
''' </summary>
|
||||||
|
Public Sub DoNotSave()
|
||||||
|
' mando messaggio di blocco avvenuto
|
||||||
|
DbControllers.m_StatusMapController.UpdateAction("", ProjectManagerVM.CurrProd.nProdId, ProjectManagerVM.CurrProd.nProdId, StatusMapItemType.Comm, StatusMapOpType.ViewOptimStoped, "")
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' DoNotSave
|
||||||
|
|
||||||
|
#End Region ' COMMANDS
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,106 @@
|
|||||||
|
<Grid x:Class="BottomPanelV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.Optimizer"
|
||||||
|
Height="350"
|
||||||
|
Visibility="{Binding BottomPanel_Visibility}">
|
||||||
|
|
||||||
|
<TabControl SelectedIndex="{Binding SelPartFeatureTab}"
|
||||||
|
TabStripPlacement="Right"
|
||||||
|
Margin="5">
|
||||||
|
<TabControl.ItemContainerStyle>
|
||||||
|
<Style TargetType="{x:Type TabItem}">
|
||||||
|
<Setter Property="Visibility" Value="Collapsed"/>
|
||||||
|
</Style>
|
||||||
|
</TabControl.ItemContainerStyle>
|
||||||
|
<TabItem Header="STRUCTURE">
|
||||||
|
<TabItem.Content>
|
||||||
|
<EgtWPFLib5:EgtScrollViewer Focusable="False">
|
||||||
|
<EgtBEAMWALL:BTLDataV DataContext="{StaticResource BTLDataWndVM}"
|
||||||
|
Tag="{Binding Tag, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BottomPanelV}}}"
|
||||||
|
Margin="5"/>
|
||||||
|
</EgtWPFLib5:EgtScrollViewer>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>
|
||||||
|
<TabItem Header="PART">
|
||||||
|
<TabItem.Content>
|
||||||
|
<Grid>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<EgtWPFLib5:EgtScrollViewer Focusable="False">
|
||||||
|
<EgtBEAMWALL:PartParametersV DataContext="{StaticResource PartParametersVM}"
|
||||||
|
Tag="{Binding Tag.SelBTLPart, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BottomPanelV}}}"
|
||||||
|
Margin="5"/>
|
||||||
|
</EgtWPFLib5:EgtScrollViewer>
|
||||||
|
<TextBlock Grid.Row="1"
|
||||||
|
Text="{Binding Tag.SelBTLPart.sCALC_MSG, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BottomPanelV}}}"
|
||||||
|
Foreground="{Binding Tag.SelBTLPart.CALC_ERR_Foreground, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BottomPanelV}}}"
|
||||||
|
Margin="5,0,5,0"
|
||||||
|
Visibility="{Binding Tag.SelBTLPart.CALC_MSG_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BottomPanelV}}}"/>
|
||||||
|
</Grid>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>
|
||||||
|
<TabItem Header="FEATURE">
|
||||||
|
<TabItem.Content>
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="300"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid.Resources>
|
||||||
|
<Style TargetType="TextBlock">
|
||||||
|
<Style.Triggers>
|
||||||
|
<Trigger Property="Text" Value="">
|
||||||
|
<Setter Property="Visibility" Value="Collapsed"/>
|
||||||
|
</Trigger>
|
||||||
|
</Style.Triggers>
|
||||||
|
</Style>
|
||||||
|
</Grid.Resources>
|
||||||
|
<EgtBEAMWALL:FeatureManagerV DataContext="{StaticResource FeatureManagerVM}"
|
||||||
|
Tag="{Binding Tag.SelBTLPart.SelBTLFeatureVM, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BottomPanelV}}}"/>
|
||||||
|
<TabControl Grid.Row="1"
|
||||||
|
TabStripPlacement="Left"
|
||||||
|
Margin="5,5,2.5,5">
|
||||||
|
<TabItem Header="P">
|
||||||
|
<TabItem.Content>
|
||||||
|
<EgtBEAMWALL:PParameterListV DataContext="{StaticResource PParameterListVM}"
|
||||||
|
Tag="{Binding Tag.SelBTLPart.SelBTLFeatureVM, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BottomPanelV}}}"
|
||||||
|
Margin="5"/>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>
|
||||||
|
<TabItem Header="Q">
|
||||||
|
<TabItem.Content>
|
||||||
|
<EgtBEAMWALL:QParameterListV DataContext="{StaticResource QParameterListVM}"
|
||||||
|
Tag="{Binding Tag.SelBTLPart.SelBTLFeatureVM, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BottomPanelV}}}"
|
||||||
|
Margin="5"/>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>
|
||||||
|
</TabControl>
|
||||||
|
<Image Grid.Column="1"
|
||||||
|
Grid.Row="1"
|
||||||
|
Source="{Binding sCurrDraw}"
|
||||||
|
Margin="5"/>
|
||||||
|
<TextBlock Grid.Row="2" Grid.ColumnSpan="2"
|
||||||
|
Text="{Binding Tag.SelBTLPart.SelBTLFeatureVM.sCALC_MSG, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BottomPanelV}}}"
|
||||||
|
Foreground="{Binding Tag.SelBTLPart.SelBTLFeatureVM.Calc_Background, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BottomPanelV}}}"
|
||||||
|
Margin="5,0,5,0"/>
|
||||||
|
</Grid>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>
|
||||||
|
<TabItem Header="STATISTICS">
|
||||||
|
<TabItem.Content>
|
||||||
|
<EgtBEAMWALL:StatisticsV DataContext="{StaticResource StatisticsVM}"
|
||||||
|
Tag="{Binding Tag, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BottomPanelV}}}"
|
||||||
|
Margin="5"/>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>
|
||||||
|
</TabControl>
|
||||||
|
</Grid>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class BottomPanelV
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
Imports EgtWPFLib5
|
||||||
|
|
||||||
|
Public Class BottomPanelVM
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
Friend Enum PartFeatureTab As Integer
|
||||||
|
NULL = -1
|
||||||
|
STRUCTURE_ = 0
|
||||||
|
PART = 1
|
||||||
|
FEATURE = 2
|
||||||
|
STATISTICS = 3
|
||||||
|
End Enum
|
||||||
|
|
||||||
|
Private m_SelPartFeatureTab As PartFeatureTab
|
||||||
|
Public Property SelPartFeatureTab As Integer
|
||||||
|
Get
|
||||||
|
Return m_SelPartFeatureTab
|
||||||
|
End Get
|
||||||
|
Set(value As Integer)
|
||||||
|
m_SelPartFeatureTab = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
Friend Sub SetSelPartFeatureTab(SelPartFeatureTab As PartFeatureTab)
|
||||||
|
If m_SelPartFeatureTab = PartFeatureTab.STATISTICS Then
|
||||||
|
Map.refInstrumentPanelVM.SetStatisticsIsChecked(False)
|
||||||
|
End If
|
||||||
|
m_SelPartFeatureTab = SelPartFeatureTab
|
||||||
|
NotifyPropertyChanged(NameOf(SelPartFeatureTab))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private m_sCurrDraw As String
|
||||||
|
Public ReadOnly Property sCurrDraw As String
|
||||||
|
Get
|
||||||
|
Return m_sCurrDraw
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Friend Sub SetCurrDraw(sCurrDraw As String)
|
||||||
|
m_sCurrDraw = sCurrDraw
|
||||||
|
NotifyPropertyChanged(NameOf(sCurrDraw))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
|
Sub New()
|
||||||
|
' Creo riferimento a questa classe in EgtCAM5Map
|
||||||
|
Map.SetRefBottomPanelVM(Me)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' CONSTRUCTOR
|
||||||
|
|
||||||
|
End Class
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,69 @@
|
|||||||
|
<EgtFloating:EgtFloatingPanel x:Class="CalcPanelV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
|
||||||
|
IsTopDockable="True" IsBottomDockable="False" IsLeftDockable="False"
|
||||||
|
IsRightDockable="False" Style="{StaticResource ToolBar_EgtFloatingPanel}">
|
||||||
|
|
||||||
|
<Button FontSize="20"
|
||||||
|
FontWeight="Light"
|
||||||
|
ToolTip="{Binding Verify_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBar_Button}"
|
||||||
|
Command="{Binding Verify_Command}"
|
||||||
|
IsEnabled="{Binding Verify_IsEnabled}">
|
||||||
|
<Image Source="/Resources/CALCPanel/Verify.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button FontSize="20"
|
||||||
|
FontWeight="Light"
|
||||||
|
ToolTip="{Binding VerifyAll_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBar_Button}"
|
||||||
|
Command="{Binding VerifyAll_Command}"
|
||||||
|
IsEnabled="{Binding VerifyAll_IsEnabled}">
|
||||||
|
<Image Source="/Resources/CALCPanel/VerifyAll.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding ResetCalc_Command}"
|
||||||
|
ToolTip="{Binding ResetCalc_ToolTip}"
|
||||||
|
IsEnabled="{Binding CALCPanel_IsEnabled}"
|
||||||
|
Style="{StaticResource ToolBar_Button}">
|
||||||
|
<Image Source="/Resources/CALCPanel/ResetCalc.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button ToolTip="{Binding Simulate_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBar_Button}"
|
||||||
|
Command="{Binding Simulate_Command}"
|
||||||
|
IsEnabled="{Binding Simulate_IsEnabled}">
|
||||||
|
<Image Source="/Resources/CALCPanel/Simulate.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button ToolTip="{Binding Edit_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBar_Button}"
|
||||||
|
Command="{Binding Edit_Command}"
|
||||||
|
IsEnabled="{Binding Edit_IsEnabled}"
|
||||||
|
Visibility="{Binding Edit_Visibility}">
|
||||||
|
<Image Source="/Resources/CALCPanel/Edit.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button ToolTip="{Binding ChooseMachine_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBar_Button}"
|
||||||
|
Command="{Binding ChooseMachine_Command}"
|
||||||
|
IsEnabled="{Binding CALCPanel_IsEnabled}"
|
||||||
|
Visibility="{Binding ChooseMachineBtn_Visibility}">
|
||||||
|
<Image Source="/Resources/CALCPanel/ChooseMachine.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
<Grid Margin="0,0,5,0" Visibility="{Binding ChooseMachine_Visibility}">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<!--Combobox per selezionare la macchina corrente-->
|
||||||
|
<ComboBox ItemsSource="{Binding Path=MachineList}" DisplayMemberPath="Name"
|
||||||
|
SelectedItem="{Binding Path=SelectedMachine}" SelectedValuePath="Name"
|
||||||
|
Height="22" Width="150"
|
||||||
|
Grid.Column="0"/>
|
||||||
|
<Button Content="OK"
|
||||||
|
FontSize="10"
|
||||||
|
FontWeight="Light"
|
||||||
|
Style="{StaticResource ToolBar_Button}"
|
||||||
|
Command="{Binding Ok_Command}"
|
||||||
|
Grid.Column="1"/>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</EgtFloating:EgtFloatingPanel>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class CalcPanelV
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
<StackPanel x:Class="OnlyProdCalcPanelV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
|
||||||
|
Style="{StaticResource OnlyProdPartManager_StackPanel}">
|
||||||
|
|
||||||
|
<!--<Button ToolTip="{Binding Verify_ToolTip}"
|
||||||
|
Command="{Binding Verify_Command}"
|
||||||
|
IsEnabled="{Binding Verify_IsEnabled}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/CALCPanel/Verify.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button ToolTip="{Binding VerifyAll_ToolTip}"
|
||||||
|
Command="{Binding VerifyAll_Command}"
|
||||||
|
IsEnabled="{Binding VerifyAll_IsEnabled}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/CALCPanel/VerifyAll.png" Stretch="Uniform"/>
|
||||||
|
</Button>-->
|
||||||
|
<!--<Button Command="{Binding ResetCalc_Command}"
|
||||||
|
ToolTip="{Binding ResetCalc_ToolTip}"
|
||||||
|
IsEnabled="{Binding CALCPanel_IsEnabled}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/CALCPanel/ResetCalc.png" Stretch="Uniform"/>
|
||||||
|
</Button>-->
|
||||||
|
<!--<Button ToolTip="{Binding Simulate_ToolTip}"
|
||||||
|
Command="{Binding Simulate_Command}"
|
||||||
|
IsEnabled="{Binding Simulate_IsEnabled}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/CALCPanel/Simulate.png" Stretch="Uniform"/>
|
||||||
|
</Button>-->
|
||||||
|
<!--<Button ToolTip="{Binding Edit_ToolTip}"
|
||||||
|
Command="{Binding Edit_Command}"
|
||||||
|
IsEnabled="{Binding Edit_IsEnabled}"
|
||||||
|
Visibility="{Binding Edit_Visibility}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/CALCPanel/Edit.png" Stretch="Uniform"/>
|
||||||
|
</Button>-->
|
||||||
|
<Button ToolTip="{Binding ChooseMachine_ToolTip}"
|
||||||
|
Command="{Binding ChooseMachine_Command}"
|
||||||
|
IsEnabled="{Binding CALCPanel_IsEnabled}"
|
||||||
|
Visibility="{Binding ChooseMachineBtn_Visibility}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/CALCPanel/ChooseMachine.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
<Grid Margin="0,0,5,0" Visibility="{Binding ChooseMachine_Visibility}">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<!--Combobox per selezionare la macchina corrente-->
|
||||||
|
<ComboBox Grid.Column="0"
|
||||||
|
ItemsSource="{Binding Path=MachineList}"
|
||||||
|
DisplayMemberPath="Name"
|
||||||
|
SelectedItem="{Binding Path=SelectedMachine}"
|
||||||
|
SelectedValuePath="Name"
|
||||||
|
Style="{StaticResource OnlyProdCalcPanel_ComboBox}"/>
|
||||||
|
<Button Grid.Column="1"
|
||||||
|
Content="OK"
|
||||||
|
Command="{Binding Ok_Command}"
|
||||||
|
Style="{StaticResource ToolBarOnlyProdCalcPanel_Button}"/>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class OnlyProdCalcPanelV
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
<EgtWPFLib5:EgtCustomWindow x:Class="ChangeMaterialWndV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.Optimizer"
|
||||||
|
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||||
|
WindowStyle="None" ResizeMode="NoResize"
|
||||||
|
SizeToContent="WidthAndHeight"
|
||||||
|
WindowStartupLocation="CenterOwner"
|
||||||
|
IsClosable="False"
|
||||||
|
IsMinimizable="False"
|
||||||
|
IsResizable="False"
|
||||||
|
Title="ChangeMaterialWnd">
|
||||||
|
|
||||||
|
<Grid Margin="5,5,5,0">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<Grid HorizontalAlignment="Center"
|
||||||
|
Grid.Row="0"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<TextBlock Text="{Binding ProjMaterial_Msg}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<ComboBox ItemsSource="{Binding ProjMaterialList}"
|
||||||
|
SelectedItem="{Binding SelProjMaterial}"
|
||||||
|
Grid.Column="1"
|
||||||
|
Width="150"
|
||||||
|
Style="{StaticResource FeatureComboBox}"/>
|
||||||
|
</Grid>
|
||||||
|
<Grid HorizontalAlignment="Center"
|
||||||
|
Grid.Row="1"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text="{Binding WjMaterial_Msg}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<ComboBox ItemsSource="{Binding WhMaterialList}"
|
||||||
|
SelectedItem="{Binding SelWhMaterial}"
|
||||||
|
Grid.Column="1"
|
||||||
|
Width="150"
|
||||||
|
Style="{StaticResource FeatureComboBox}"/>
|
||||||
|
</Grid>
|
||||||
|
|
||||||
|
<Grid Grid.Row="2"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Button Content="{Binding Ok_Msg}"
|
||||||
|
Command="{Binding Ok_Command}"
|
||||||
|
IsDefault="True"
|
||||||
|
Grid.Column="1"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="{Binding Cancel_Msg}"
|
||||||
|
IsCancel="True"
|
||||||
|
Grid.Column="3"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
</EgtWPFLib5:EgtCustomWindow>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
Public Class ChangeMaterialWndV
|
||||||
|
|
||||||
|
Private WithEvents m_ChangeMaterialWndVM As ChangeMaterialWndVM
|
||||||
|
|
||||||
|
Sub New(Owner As Window, ChangeMaterialWndVM As ChangeMaterialWndVM)
|
||||||
|
MyBase.New(Owner)
|
||||||
|
' This call is required by the designer.
|
||||||
|
InitializeComponent()
|
||||||
|
Me.DataContext = ChangeMaterialWndVM
|
||||||
|
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||||
|
m_ChangeMaterialWndVM = ChangeMaterialWndVM
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_ChangeMaterialWndVM.m_CloseWindow
|
||||||
|
Me.DialogResult = bDialogResult
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,140 @@
|
|||||||
|
Imports System.Collections.ObjectModel
|
||||||
|
Imports EgtUILib
|
||||||
|
Imports EgtWPFLib5
|
||||||
|
Imports EgtBEAMWALL.Core
|
||||||
|
|
||||||
|
Public Class ChangeMaterialWndVM
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
#Region "FIELDS & PROPERTIES"
|
||||||
|
|
||||||
|
Friend Event m_CloseWindow(bDialogResult As Boolean)
|
||||||
|
|
||||||
|
Private m_ProjMaterialList As New ObservableCollection(Of String)
|
||||||
|
Public Property ProjMaterialList As ObservableCollection(Of String)
|
||||||
|
Get
|
||||||
|
Return m_ProjMaterialList
|
||||||
|
End Get
|
||||||
|
Set(value As ObservableCollection(Of String))
|
||||||
|
m_ProjMaterialList = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_SelProjMaterial As String
|
||||||
|
Public Property SelProjMaterial As String
|
||||||
|
Get
|
||||||
|
Return m_SelProjMaterial
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_SelProjMaterial = value
|
||||||
|
NotifyPropertyChanged(NameOf(SelProjMaterial))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_WhMaterialList As New ObservableCollection(Of String)
|
||||||
|
Public Property WhMaterialList As ObservableCollection(Of String)
|
||||||
|
Get
|
||||||
|
Return m_WhMaterialList
|
||||||
|
End Get
|
||||||
|
Set(value As ObservableCollection(Of String))
|
||||||
|
m_WhMaterialList = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_SelWhMaterial As String
|
||||||
|
Public Property SelWhMaterial As String
|
||||||
|
Get
|
||||||
|
Return m_SelWhMaterial
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_SelWhMaterial = value
|
||||||
|
NotifyPropertyChanged(NameOf(SelWhMaterial))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Definizione comandi
|
||||||
|
Private m_cmdOk As ICommand
|
||||||
|
|
||||||
|
#End Region ' FIELDS & PROPERTIES
|
||||||
|
|
||||||
|
#Region "MESSAGES"
|
||||||
|
|
||||||
|
Public ReadOnly Property ProjMaterial_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61962)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property WjMaterial_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61963)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Ok_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61761)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Cancel_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61763)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
#End Region ' MESSAGES
|
||||||
|
|
||||||
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
|
Sub New()
|
||||||
|
' recupero i materiali del progetto
|
||||||
|
m_ProjMaterialList.Clear()
|
||||||
|
For Each BTLPart In Map.refProjectVM.BTLStructureVM.BTLPartVMList
|
||||||
|
If Not m_ProjMaterialList.Contains(BTLPart.sMATERIAL) Then
|
||||||
|
m_ProjMaterialList.Add(BTLPart.sMATERIAL)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
' recupero la lista dei SectionXMaterial presenti in Warehouse
|
||||||
|
Dim WhSectXMatList As List(Of SectionXMaterial) = WarehouseWndVM.GetSectionXMaterialsFromWarehouse()
|
||||||
|
' ricavo la lista dei materiali presenti in Warehouse
|
||||||
|
m_WhMaterialList.Clear()
|
||||||
|
For Each WhSectXMat In WhSectXMatList
|
||||||
|
For Each sMatItem In WhSectXMat.sMaterial
|
||||||
|
If Not m_WhMaterialList.Contains(sMatItem) Then
|
||||||
|
m_WhMaterialList.Add(sMatItem)
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' CONSTRUCTOR
|
||||||
|
|
||||||
|
#Region "COMMANDS"
|
||||||
|
|
||||||
|
#Region "Ok"
|
||||||
|
|
||||||
|
Public ReadOnly Property Ok_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdOk Is Nothing Then
|
||||||
|
m_cmdOk = New Command(AddressOf Ok)
|
||||||
|
End If
|
||||||
|
Return m_cmdOk
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub Ok()
|
||||||
|
'verifico che tutti i campi contengano un valore valido
|
||||||
|
If Not IsNothing(m_SelProjMaterial) AndAlso m_SelProjMaterial <> "" AndAlso
|
||||||
|
Not IsNothing(m_SelWhMaterial) AndAlso m_SelWhMaterial <> "" Then
|
||||||
|
RaiseEvent m_CloseWindow(True)
|
||||||
|
Else
|
||||||
|
MessageBox.Show(EgtMsg(61858), EgtMsg(30007))
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Ok
|
||||||
|
|
||||||
|
#End Region ' COMMANDS
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,95 @@
|
|||||||
|
<EgtWPFLib5:EgtCustomWindow x:Class="ChangeParameterWndV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.Optimizer"
|
||||||
|
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
|
||||||
|
WindowStyle="None" ResizeMode="NoResize"
|
||||||
|
SizeToContent="Height"
|
||||||
|
Width="300"
|
||||||
|
WindowStartupLocation="CenterOwner"
|
||||||
|
IsClosable="False"
|
||||||
|
IsMinimizable="False"
|
||||||
|
IsResizable="False"
|
||||||
|
Title="ChangeParameterWnd">
|
||||||
|
|
||||||
|
<Grid Margin="5,5,5,0">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="5"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="5"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="5"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="5"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<TextBlock Text="Process"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<ComboBox Grid.Column="1"
|
||||||
|
ItemsSource="{Binding PRCList}"
|
||||||
|
SelectedItem="{Binding SelPRC}"
|
||||||
|
DisplayMemberPath="ghDesc"
|
||||||
|
HorizontalAlignment="Stretch"
|
||||||
|
Style="{StaticResource FeatureComboBox}"/>
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="2"
|
||||||
|
Text="Parameter"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<ComboBox Grid.Row="2" Grid.Column="1"
|
||||||
|
ItemsSource="{Binding ParamList}"
|
||||||
|
SelectedItem="{Binding SelParam}"
|
||||||
|
DisplayMemberPath="sNameAndDescription"
|
||||||
|
HorizontalAlignment="Stretch"
|
||||||
|
Style="{StaticResource FeatureComboBox}"/>
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="4"
|
||||||
|
Text="Actual value"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Row="4" Grid.Column="1"
|
||||||
|
Text="{Binding SelParam.sActualValue}"
|
||||||
|
Visibility="{Binding SelParam.IsTextBox_Visibility}"/>
|
||||||
|
<CheckBox Grid.Row="4" Grid.Column="1"
|
||||||
|
IsChecked="{Binding SelParam.bActualValue}"
|
||||||
|
HorizontalAlignment="Center"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Visibility="{Binding SelParam.IsCheckBox_Visibility}"/>
|
||||||
|
|
||||||
|
<TextBlock Grid.Row="6" Text="New Value"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Row="6" Grid.Column="1"
|
||||||
|
Text="{Binding SelParam.sNewValue}"
|
||||||
|
Visibility="{Binding SelParam.IsTextBox_Visibility}"/>
|
||||||
|
<CheckBox Grid.Row="6" Grid.Column="1"
|
||||||
|
IsChecked="{Binding SelParam.bNewValue}"
|
||||||
|
HorizontalAlignment="Center"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
Visibility="{Binding SelParam.IsCheckBox_Visibility}"/>
|
||||||
|
|
||||||
|
<Grid Grid.Row="8" Grid.ColumnSpan="2"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Button Content="Ok"
|
||||||
|
Command="{Binding Ok_Command}"
|
||||||
|
IsDefault="True"
|
||||||
|
Grid.Column="1"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="Cancel"
|
||||||
|
IsCancel="True"
|
||||||
|
Grid.Column="3"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
</Grid>
|
||||||
|
</Grid>
|
||||||
|
</EgtWPFLib5:EgtCustomWindow>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
Public Class ChangeParameterWndV
|
||||||
|
|
||||||
|
Private WithEvents m_ChangeParameterWndVM As ChangeParameterWndVM
|
||||||
|
|
||||||
|
Sub New(Owner As Window, ChangeParameterWndVM As ChangeParameterWndVM)
|
||||||
|
MyBase.New(Owner)
|
||||||
|
' This call is required by the designer.
|
||||||
|
InitializeComponent()
|
||||||
|
Me.DataContext = ChangeParameterWndVM
|
||||||
|
' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||||
|
m_ChangeParameterWndVM = ChangeParameterWndVM
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CloseWindow(bDialogResult As Boolean) Handles m_ChangeParameterWndVM.m_CloseWindow
|
||||||
|
Me.DialogResult = bDialogResult
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,234 @@
|
|||||||
|
Imports System.Collections.ObjectModel
|
||||||
|
Imports EgtUILib
|
||||||
|
Imports EgtWPFLib5
|
||||||
|
Imports EgtBEAMWALL.Core
|
||||||
|
|
||||||
|
Public Class ChangeParameterWndVM
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
#Region "FIELDS & PROPERTIES"
|
||||||
|
|
||||||
|
Friend Event m_CloseWindow(bDialogResult As Boolean)
|
||||||
|
|
||||||
|
Private m_PRCList As New ObservableCollection(Of PRC)
|
||||||
|
Public ReadOnly Property PRCList As ObservableCollection(Of PRC)
|
||||||
|
Get
|
||||||
|
Return m_PRCList
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_SelPRC As PRC = Nothing
|
||||||
|
Public Property SelPRC As PRC
|
||||||
|
Get
|
||||||
|
Return m_SelPRC
|
||||||
|
End Get
|
||||||
|
Set(value As PRC)
|
||||||
|
If value IsNot m_SelPRC Then
|
||||||
|
m_SelPRC = value
|
||||||
|
' aggiorno lista parametri
|
||||||
|
m_ParamList.Clear()
|
||||||
|
Dim ParamIndex As Integer = 1
|
||||||
|
Dim NewBTLParam As BTLParamM = Nothing
|
||||||
|
' leggo tutti i P della feature
|
||||||
|
While BTLIniFile.GetBeamPrivateProfileParam(m_SelPRC.nGRP, m_SelPRC.nPRC, m_SelPRC.nVARIANT, True, ParamIndex, Nothing, NewBTLParam)
|
||||||
|
m_ParamList.Add(New Parameters(NewBTLParam))
|
||||||
|
ParamIndex += 1
|
||||||
|
End While
|
||||||
|
' aggiungo bDO come parametro
|
||||||
|
m_ParamList.Add(New Parameters(BTLParamM.CreateNewBTLParam(), True))
|
||||||
|
' seleziono parametro vuoto per dargli un valore iniziale ed evitare che visualizzi sia text che check
|
||||||
|
m_SelParam = New Parameters(BTLParamM.CreateNewBTLParam())
|
||||||
|
NotifyPropertyChanged(NameOf(SelParam))
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_ParamList As New ObservableCollection(Of Parameters)
|
||||||
|
Public Property ParamList As ObservableCollection(Of Parameters)
|
||||||
|
Get
|
||||||
|
Return m_ParamList
|
||||||
|
End Get
|
||||||
|
Set(value As ObservableCollection(Of Parameters))
|
||||||
|
m_ParamList = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
Private m_SelParam As Parameters = New Parameters(BTLParamM.CreateNewBTLParam()) ' False, BTLParamType.STRING_, "") ' per dargli un valore iniziale ed evitare che visualizzi sia text che check
|
||||||
|
Public Property SelParam As Parameters
|
||||||
|
Get
|
||||||
|
Return m_SelParam
|
||||||
|
End Get
|
||||||
|
Set(value As Parameters)
|
||||||
|
m_SelParam = value
|
||||||
|
NotifyPropertyChanged(NameOf(SelParam))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Definizione comandi
|
||||||
|
Private m_cmdOk As ICommand
|
||||||
|
|
||||||
|
#End Region ' FIELDS & PROPERTIES
|
||||||
|
|
||||||
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
|
Sub New()
|
||||||
|
Dim TempPRCList As New ObservableCollection(Of Integer)
|
||||||
|
GetBeamPrivateProfileProcessList(GRPType.T, TempPRCList)
|
||||||
|
m_PRCList.Clear()
|
||||||
|
For Each PRC In TempPRCList
|
||||||
|
If Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refProjectVM.BTLStructureVM.BTLPartVMList.Any(Function(x) x.BTLFeatureVMList.Any(Function(y) y.nPRC = PRC AndAlso CalcBeamPrivateProfileGRP(y.nSelGRP) = 1)) Then
|
||||||
|
m_PRCList.Add(New PRC(GRPType.T, PRC, GetBeamPrivateProfileName(GRPType.T, PRC)))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
GetBeamPrivateProfileProcessList(GRPType.L, TempPRCList)
|
||||||
|
For Each PRC In TempPRCList
|
||||||
|
If Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Map.refProjectVM.BTLStructureVM.BTLPartVMList.Any(Function(x) x.BTLFeatureVMList.Any(Function(y) y.nPRC = PRC AndAlso CalcBeamPrivateProfileGRP(y.nSelGRP) = 0)) Then
|
||||||
|
m_PRCList.Add(New PRC(GRPType.L, PRC, GetBeamPrivateProfileName(GRPType.L, PRC)))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' CONSTRUCTOR
|
||||||
|
|
||||||
|
#Region "COMMANDS"
|
||||||
|
|
||||||
|
#Region "Ok"
|
||||||
|
|
||||||
|
Public ReadOnly Property Ok_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdOk Is Nothing Then
|
||||||
|
m_cmdOk = New Command(AddressOf Ok)
|
||||||
|
End If
|
||||||
|
Return m_cmdOk
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public Sub Ok()
|
||||||
|
'verifico che tutti i campi contengano un valore valido
|
||||||
|
If Not IsNothing(m_SelPRC) AndAlso
|
||||||
|
Not IsNothing(m_SelParam) AndAlso m_SelParam.sName <> "" Then
|
||||||
|
RaiseEvent m_CloseWindow(True)
|
||||||
|
Else
|
||||||
|
MessageBox.Show(EgtMsg(61858), EgtMsg(30007))
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Ok
|
||||||
|
|
||||||
|
#End Region ' COMMANDS
|
||||||
|
|
||||||
|
End Class
|
||||||
|
|
||||||
|
Public Class Parameters
|
||||||
|
Inherits BTLParamVM
|
||||||
|
|
||||||
|
Private m_dActualValue As Double
|
||||||
|
Private m_sActualValue As String
|
||||||
|
Public ReadOnly Property dActualValue As Double
|
||||||
|
Get
|
||||||
|
Return m_dActualValue
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Public Property sActualValue As String
|
||||||
|
Get
|
||||||
|
Select Case m_BTLParamM.nType
|
||||||
|
Case BTLParamType.DOUBLE_
|
||||||
|
Return DoubleToString(m_dActualValue, 3)
|
||||||
|
Case BTLParamType.LENGTH
|
||||||
|
Return LenToString(m_dActualValue, 3)
|
||||||
|
Case Else ' BTLParamType.STRING_
|
||||||
|
Return m_sActualValue
|
||||||
|
End Select
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
Select Case m_BTLParamM.nType
|
||||||
|
Case BTLParamType.DOUBLE_
|
||||||
|
StringToDoubleAdv(value, m_dActualValue, True)
|
||||||
|
Case BTLParamType.LENGTH
|
||||||
|
StringToLenAdv(value, m_dActualValue, True)
|
||||||
|
Case Else ' BTLParamType.STRING_
|
||||||
|
m_sActualValue = value
|
||||||
|
End Select
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_dNewValue As Double
|
||||||
|
Private m_sNewValue As String
|
||||||
|
Public ReadOnly Property dNewValue As Double
|
||||||
|
Get
|
||||||
|
Return m_dNewValue
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Public Property sNewValue As String
|
||||||
|
Get
|
||||||
|
Select Case m_BTLParamM.nType
|
||||||
|
Case BTLParamType.DOUBLE_
|
||||||
|
Return DoubleToString(m_dNewValue, 3)
|
||||||
|
Case BTLParamType.LENGTH
|
||||||
|
Return LenToString(m_dNewValue, 3)
|
||||||
|
Case Else ' BTLParamType.STRING_
|
||||||
|
Return m_sNewValue
|
||||||
|
End Select
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
Select Case m_BTLParamM.nType
|
||||||
|
Case BTLParamType.DOUBLE_
|
||||||
|
StringToDoubleAdv(value, m_dNewValue, True)
|
||||||
|
Case BTLParamType.LENGTH
|
||||||
|
StringToLenAdv(value, m_dNewValue, True)
|
||||||
|
Case Else ' BTLParamType.STRING_
|
||||||
|
m_sNewValue = value
|
||||||
|
End Select
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_bActualValue As Boolean
|
||||||
|
Public Property bActualValue As Boolean
|
||||||
|
Get
|
||||||
|
Return m_bActualValue
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
m_bActualValue = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_bNewValue As Boolean
|
||||||
|
Public Property bNewValue As Boolean
|
||||||
|
Get
|
||||||
|
Return m_bNewValue
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
m_bNewValue = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_bIsCheckBox As Boolean = False
|
||||||
|
Public Property IsTextBox_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return If(m_bIsCheckBox, Visibility.Collapsed, Visibility.Visible)
|
||||||
|
End Get
|
||||||
|
Set(value As Visibility)
|
||||||
|
m_bIsCheckBox = Not value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
Public Property IsCheckBox_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return If(m_bIsCheckBox, Visibility.Visible, Visibility.Collapsed)
|
||||||
|
End Get
|
||||||
|
Set(value As Visibility)
|
||||||
|
m_bIsCheckBox = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property sNameAndDescription As String
|
||||||
|
Get
|
||||||
|
Return If(m_bIsCheckBox, "Attivazione", sName & " " & sDescription)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Sub New(BTLParamM As BTLParamM, Optional IsCheckBox As Boolean = False)
|
||||||
|
MyBase.New(BTLParamM)
|
||||||
|
m_bIsCheckBox = IsCheckBox
|
||||||
|
If IsCheckBox Then m_BTLParamM.SetType(BTLParamType.CHECKBOX)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
<DockPanel x:Class="ConfigurationPageV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.Optimizer"
|
||||||
|
DataContext="{StaticResource ConfigurationPageVM}">
|
||||||
|
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="10*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="6*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<TabControl Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Grid.ColumnSpan="2"
|
||||||
|
SelectedIndex="{Binding SelConfigSubPage}">
|
||||||
|
<TabItem>
|
||||||
|
<TabItem.Header>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<TextBlock Text="{Binding General_Msg}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<Button Command="{Binding SaveCommand}"
|
||||||
|
ToolTip="{Binding SaveToolTip}"
|
||||||
|
Visibility="{Binding General_Visibility}"
|
||||||
|
Style="{StaticResource OptionPanel_Button}">
|
||||||
|
<Image Source="/Resources/ProjectManager/Save.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
</StackPanel>
|
||||||
|
</TabItem.Header>
|
||||||
|
<TabItem.Content>
|
||||||
|
<EgtBEAMWALLCORE:General_ConfigurationPageV/>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>
|
||||||
|
<TabItem>
|
||||||
|
<TabItem.Header>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<TextBlock Text="{Binding ParameterQ_Msg}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<Button Command="{Binding SaveCommand}"
|
||||||
|
ToolTip="{Binding SaveToolTip}"
|
||||||
|
Visibility="{Binding ParameterQ_Visibility}"
|
||||||
|
Style="{StaticResource OptionPanel_Button}">
|
||||||
|
<Image Source="/Resources/ProjectManager/Save.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
</StackPanel>
|
||||||
|
</TabItem.Header>
|
||||||
|
<TabItem.Content>
|
||||||
|
<EgtBEAMWALLCORE:QParameter_ConfigurationPageV/>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>
|
||||||
|
<TabItem>
|
||||||
|
<TabItem.Header>
|
||||||
|
<TextBlock Text="{Binding Machine_Msg}"
|
||||||
|
Style="{StaticResource Machine_TextBlock}"/>
|
||||||
|
</TabItem.Header>
|
||||||
|
<TabItem.Content>
|
||||||
|
<EgtBEAMWALLCORE:Machine_ConfigurationPageV/>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>
|
||||||
|
<TabItem>
|
||||||
|
<TabItem.Header>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<TextBlock Text="{Binding PDFEditor_Msg}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<Button Command="{Binding SaveCommand}"
|
||||||
|
ToolTip="{Binding SaveToolTip}"
|
||||||
|
Visibility="{Binding PDFEditor_Visibility}"
|
||||||
|
Style="{StaticResource OptionPanel_Button}">
|
||||||
|
<Image Source="/Resources/ProjectManager/Save.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
</StackPanel>
|
||||||
|
</TabItem.Header>
|
||||||
|
|
||||||
|
<TabItem.Content>
|
||||||
|
<EgtBEAMWALL:PDFEditorV/>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>
|
||||||
|
|
||||||
|
</TabControl>
|
||||||
|
</Grid>
|
||||||
|
</DockPanel>
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
Public Class ConfigurationPageV
|
||||||
|
Private Sub ScrollViewer_Scroll(sender As Object, e As Primitives.ScrollEventArgs)
|
||||||
|
|
||||||
|
End Sub
|
||||||
|
End Class
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,118 @@
|
|||||||
|
<Grid x:Class="General_ConfigurationPageV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
|
||||||
|
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<StackPanel Grid.Row="0" Grid.Column="0" Margin="5,5,5,0">
|
||||||
|
<GroupBox Header="{Binding CurrentLanguage_Msg}"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<UniformGrid Rows="2" Margin="3,3,3,3">
|
||||||
|
<ComboBox ItemsSource="{Binding LanguageList, Mode=OneWay}" Height="25"
|
||||||
|
DisplayMemberPath="Name" SelectedItem="{Binding SelectedLanguage}"
|
||||||
|
Margin="0,0,0,5"/>
|
||||||
|
<TextBlock Text="{Binding LanguageAdvert_Msg}" TextWrapping="Wrap"
|
||||||
|
TextAlignment="Center"/>
|
||||||
|
</UniformGrid>
|
||||||
|
</GroupBox>
|
||||||
|
<UniformGrid Columns="2"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<TextBlock Text="{Binding MMUnits_Msg}" VerticalAlignment="Center"/>
|
||||||
|
<ComboBox ItemsSource="{Binding UnitMeasureList, Mode=OneWay}"
|
||||||
|
SelectedIndex="{Binding SelMeasureUnit}" Height="25"
|
||||||
|
Margin="0,5,0,0"/>
|
||||||
|
</UniformGrid>
|
||||||
|
<GroupBox Header="{Binding Nesting_Msg}"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<StackPanel>
|
||||||
|
<UniformGrid Columns="2"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<TextBlock Text="{Binding SectionTime_Msg}"
|
||||||
|
Grid.Row="0" Grid.Column="0"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Text="{Binding SectionTime, UpdateSourceTrigger=Explicit}"
|
||||||
|
Grid.Row="0" Grid.Column="1"/>
|
||||||
|
</UniformGrid>
|
||||||
|
<UniformGrid Columns="2"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<TextBlock Text="{Binding PartTime_Msg}"
|
||||||
|
Grid.Row="1" Grid.Column="0"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Text="{Binding PartTime, UpdateSourceTrigger=Explicit}"
|
||||||
|
Grid.Row="1" Grid.Column="1"/>
|
||||||
|
</UniformGrid>
|
||||||
|
</StackPanel>
|
||||||
|
</GroupBox>
|
||||||
|
<UniformGrid Columns="2"
|
||||||
|
Margin="0,0,0,5">
|
||||||
|
<TextBlock Text="{Binding PrintLabel_Msg}" VerticalAlignment="Center"/>
|
||||||
|
<CheckBox IsChecked="{Binding bPrintLabel_IsChecked}"
|
||||||
|
Margin="0,5,0,0"/>
|
||||||
|
</UniformGrid>
|
||||||
|
<GroupBox Header="Backup And Restore">
|
||||||
|
<Grid>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Grid Grid.Row="0"
|
||||||
|
Margin="0,2,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<CheckBox x:Name="ExternalBackup_CheckBox"
|
||||||
|
IsChecked="{Binding bExternalBackupActive}"
|
||||||
|
VerticalAlignment="Center"/>
|
||||||
|
<TextBlock Grid.Column="1"
|
||||||
|
Text="External file path:"
|
||||||
|
VerticalAlignment="Center"/>
|
||||||
|
</Grid>
|
||||||
|
<Grid Grid.Row="1"
|
||||||
|
Margin="0,2,0,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBox Text="{Binding ExternalBackupFolderPath}"
|
||||||
|
IsEnabled="{Binding IsChecked, ElementName=ExternalBackup_CheckBox}"
|
||||||
|
Margin="0,0,2.5,0"/>
|
||||||
|
<Button Grid.Column="1"
|
||||||
|
Content="..."
|
||||||
|
Width="18"
|
||||||
|
Command="{Binding ChooseExternalBackupFolderPath_Command}"
|
||||||
|
IsEnabled="{Binding IsChecked, ElementName=ExternalBackup_CheckBox}"
|
||||||
|
Margin="2.5,0,0,0"/>
|
||||||
|
</Grid>
|
||||||
|
<Grid Grid.Row="2">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text="Reminder Frequency"/>
|
||||||
|
<ComboBox Grid.Column="1"
|
||||||
|
ItemsSource="{Binding ReminderList}"
|
||||||
|
SelectedItem="{Binding SelReminder}"/>
|
||||||
|
</Grid>
|
||||||
|
<StackPanel Grid.Row="3"
|
||||||
|
Orientation="Horizontal">
|
||||||
|
<Button Content="Backup"
|
||||||
|
Command="{Binding Backup_Command}"
|
||||||
|
Style="{StaticResource ToolBar_TextButton}"/>
|
||||||
|
<Button Content="Restore"
|
||||||
|
Command="{Binding Restore_Command}"
|
||||||
|
Style="{StaticResource ToolBar_TextButton}"/>
|
||||||
|
</StackPanel>
|
||||||
|
</Grid>
|
||||||
|
</GroupBox>
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class General_ConfigurationPageV
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
<Grid x:Class="Machine_ConfigurationPageV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.ViewerOptimizer"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5">
|
||||||
|
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="10*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
|
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal">
|
||||||
|
<GroupBox Style="{StaticResource GroupBoxStyle_NoHeader}" Padding="5,10,5,5">
|
||||||
|
<EgtBEAMWALL:MachinePanelV DataContext="{Binding MachinePanelVM}" VerticalAlignment="Center"/>
|
||||||
|
</GroupBox>
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
<StackPanel Grid.Row="1" Grid.Column="0" Orientation="Horizontal">
|
||||||
|
<ItemsControl ItemsSource="{Binding ConfigMachTableList}">
|
||||||
|
<ItemsControl.ItemsPanel>
|
||||||
|
<ItemsPanelTemplate>
|
||||||
|
<StackPanel x:Name="GroupStackPanel" Orientation="Horizontal"/>
|
||||||
|
</ItemsPanelTemplate>
|
||||||
|
</ItemsControl.ItemsPanel>
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<GroupBox Header="{Binding sName}" Width="Auto" VerticalAlignment="Top" Height="Auto">
|
||||||
|
<ItemsControl Name="MachParamsItemsControl" ItemsSource="{Binding MachParamList}" Margin="0,5,0,0">
|
||||||
|
<ItemsControl.ItemsPanel>
|
||||||
|
<ItemsPanelTemplate>
|
||||||
|
<WrapPanel Orientation="Vertical"/>
|
||||||
|
</ItemsPanelTemplate>
|
||||||
|
</ItemsControl.ItemsPanel>
|
||||||
|
<ItemsControl.ItemTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<Grid Margin="0,0,5,5">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
<ColumnDefinition Width="*" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<TextBlock Text="{Binding sName}"
|
||||||
|
TextWrapping="WrapWithOverflow"
|
||||||
|
Width="100"
|
||||||
|
Style="{StaticResource MachParamTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Text="{Binding sValue, UpdateSourceTrigger=Explicit}"
|
||||||
|
Grid.Column="1"
|
||||||
|
Width="70"/>
|
||||||
|
<TextBlock Text="{Binding sDescription}"
|
||||||
|
TextWrapping="WrapWithOverflow"
|
||||||
|
Width="200"
|
||||||
|
Style="{StaticResource MachParamTextBlock}"
|
||||||
|
Grid.Column="2"/>
|
||||||
|
</Grid>
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ItemsControl>
|
||||||
|
</GroupBox>
|
||||||
|
</DataTemplate>
|
||||||
|
</ItemsControl.ItemTemplate>
|
||||||
|
</ItemsControl>
|
||||||
|
</StackPanel>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class Machine_ConfigurationPageV
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,143 @@
|
|||||||
|
<Grid x:Class="OnlyProdCheckVersionV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.Optimizer">
|
||||||
|
<Grid.Resources>
|
||||||
|
<!--<EgtBEAMWALL:IsPermittedConverter x:Key="IsPermittedConverter"/>-->
|
||||||
|
</Grid.Resources>
|
||||||
|
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid Margin="10"
|
||||||
|
VerticalAlignment="Top"
|
||||||
|
HorizontalAlignment="Left">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="Auto"/>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
|
||||||
|
<TextBlock Text="{Binding ActVersion_Msg}"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
FontSize="15"
|
||||||
|
FontWeight="Bold"
|
||||||
|
Margin="10,0,0,0"
|
||||||
|
Style="{StaticResource OptionTextBlock_OnlyProd}"/>
|
||||||
|
<TextBlock Text="{Binding ActualVersion}"
|
||||||
|
VerticalAlignment="Center"
|
||||||
|
FontSize="15"
|
||||||
|
FontWeight="Bold"
|
||||||
|
Margin="10,0,0,0"
|
||||||
|
Style="{StaticResource OptionTextBlock_OnlyProd}"/>
|
||||||
|
</StackPanel>
|
||||||
|
<UniformGrid Grid.Row="1"
|
||||||
|
Columns="2"
|
||||||
|
Margin="0,20,0,10">
|
||||||
|
<Button Content="{Binding AllVersion_Msg}"
|
||||||
|
Width="180"
|
||||||
|
Command="{Binding GetAllReleaseCommand}"
|
||||||
|
Style="{StaticResource OnlyProdEgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="{Binding VersionFrom_Msg}"
|
||||||
|
Width="150"
|
||||||
|
Command="{Binding GetVersionFromCommand}"
|
||||||
|
Style="{StaticResource OnlyProdEgtWPFLib5_InputButton}"/>
|
||||||
|
</UniformGrid>
|
||||||
|
<Border Grid.Row="2"
|
||||||
|
Margin="0,10,10,10"
|
||||||
|
Visibility="{Binding ProgramVersionListVisibility}"
|
||||||
|
Style="{StaticResource OnlyProdPage_Border}">
|
||||||
|
<DataGrid ItemsSource="{Binding ProgramVersionList}"
|
||||||
|
SelectedItem="{Binding ProgramVersionListItem}"
|
||||||
|
AutoGenerateColumns="False"
|
||||||
|
CanUserSortColumns="False"
|
||||||
|
CanUserResizeColumns="False"
|
||||||
|
CanUserResizeRows="False"
|
||||||
|
CanUserReorderColumns="False"
|
||||||
|
SelectionMode="Single"
|
||||||
|
ScrollViewer.CanContentScroll="True"
|
||||||
|
ScrollViewer.VerticalScrollBarVisibility="Auto"
|
||||||
|
ScrollViewer.HorizontalScrollBarVisibility="Hidden"
|
||||||
|
AlternatingRowBackground="{StaticResource BeamWall_LinkWater}"
|
||||||
|
AlternationCount="2"
|
||||||
|
CellStyle="{StaticResource CellDataGrid_CustomHighLight}"
|
||||||
|
RowStyle="{StaticResource RowDataGrid_CustomHighLight}"
|
||||||
|
Style="{StaticResource DataGrid_OnlyProd}">
|
||||||
|
<DataGrid.ColumnHeaderStyle>
|
||||||
|
<Style TargetType="{x:Type DataGridColumnHeader}">
|
||||||
|
<Setter Property="Background" Value="{StaticResource BeamWall_Teal}"/>
|
||||||
|
<Setter Property="Foreground" Value="{StaticResource BeamWall_White}"/>
|
||||||
|
<Setter Property="HorizontalContentAlignment" Value="Center"/>
|
||||||
|
<Setter Property="FontWeight" Value="Bold"/>
|
||||||
|
<Setter Property="FontSize" Value="15"/>
|
||||||
|
</Style>
|
||||||
|
</DataGrid.ColumnHeaderStyle>
|
||||||
|
<DataGrid.Columns>
|
||||||
|
<!--Numero Versione-->
|
||||||
|
<DataGridTemplateColumn Width="170">
|
||||||
|
<DataGridTemplateColumn.HeaderTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding DataContext.NumVersion_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.HeaderTemplate>
|
||||||
|
<DataGridTemplateColumn.CellTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding VersNum}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.CellTemplate>
|
||||||
|
</DataGridTemplateColumn>
|
||||||
|
<!--Versione-->
|
||||||
|
<DataGridTemplateColumn Width="110">
|
||||||
|
<DataGridTemplateColumn.HeaderTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding DataContext.Version_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.HeaderTemplate>
|
||||||
|
<DataGridTemplateColumn.CellTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding VersText}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.CellTemplate>
|
||||||
|
</DataGridTemplateColumn>
|
||||||
|
<!--Data di Rilascio-->
|
||||||
|
<DataGridTemplateColumn Width="160">
|
||||||
|
<DataGridTemplateColumn.HeaderTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding DataContext.DateVersion_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.HeaderTemplate>
|
||||||
|
<DataGridTemplateColumn.CellTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding ReleaseDate, StringFormat=dd/MM/yyyy}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.CellTemplate>
|
||||||
|
</DataGridTemplateColumn>
|
||||||
|
<!--Stato Versione-->
|
||||||
|
<DataGridTemplateColumn Width="150">
|
||||||
|
<DataGridTemplateColumn.HeaderTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding DataContext.StateVersion_Msg, RelativeSource={RelativeSource AncestorType=DataGrid}}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.HeaderTemplate>
|
||||||
|
<!--<DataGridTemplateColumn.CellTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<TextBlock Text="{Binding Converter={StaticResource IsPermittedConverter}}"/>
|
||||||
|
</DataTemplate>
|
||||||
|
</DataGridTemplateColumn.CellTemplate>-->
|
||||||
|
</DataGridTemplateColumn>
|
||||||
|
</DataGrid.Columns>
|
||||||
|
</DataGrid>
|
||||||
|
</Border>
|
||||||
|
</Grid>
|
||||||
|
<Border Grid.Column="1"
|
||||||
|
Margin="0,10,10,10"
|
||||||
|
Style="{StaticResource OnlyProdPage_Border}">
|
||||||
|
<!--<WebView:WebView2 Grid.Column="1"
|
||||||
|
Source="{Binding LinkVersionView}"/>-->
|
||||||
|
</Border>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class OnlyProdCheckVersionV
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
<DockPanel x:Class="OnlyProdConfigurationPageV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtBEAMWALLCORE="clr-namespace:EgtBEAMWALL.Core;assembly=EgtBEAMWALL.Core"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.Optimizer"
|
||||||
|
DataContext="{StaticResource ConfigurationPageVM}">
|
||||||
|
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="10*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
<RowDefinition Height="6*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<TabControl Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Grid.ColumnSpan="2"
|
||||||
|
SelectedIndex="{Binding SelConfigSubPage}"
|
||||||
|
Style="{StaticResource OnlyProd_TabControl}">
|
||||||
|
<TabItem>
|
||||||
|
<TabItem.Header>
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="5">
|
||||||
|
<TextBlock Text="{Binding General_Msg}"
|
||||||
|
FontSize="15"/>
|
||||||
|
<Button Command="{Binding SaveCommand}"
|
||||||
|
ToolTip="{Binding SaveToolTip}"
|
||||||
|
Visibility="{Binding General_Visibility}"
|
||||||
|
Style="{StaticResource SaveOptionPanel_Button}">
|
||||||
|
<Image Source="/Resources/ProjectManager/Save.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
</StackPanel>
|
||||||
|
</TabItem.Header>
|
||||||
|
<TabItem.Content>
|
||||||
|
<EgtBEAMWALLCORE:OnlyProdGeneral_ConfigurationPageV/>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>
|
||||||
|
<!--<TabItem>
|
||||||
|
<TabItem.Header>
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="5">
|
||||||
|
<TextBlock Text="{Binding ParameterQ_Msg}"
|
||||||
|
FontSize="15"/>
|
||||||
|
<Button Command="{Binding SaveCommand}"
|
||||||
|
ToolTip="{Binding SaveToolTip}"
|
||||||
|
Visibility="{Binding ParameterQ_Visibility}"
|
||||||
|
Style="{StaticResource SaveOptionPanel_Button}">
|
||||||
|
<Image Source="/Resources/ProjectManager/Save.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
</StackPanel>
|
||||||
|
</TabItem.Header>
|
||||||
|
<TabItem.Content>
|
||||||
|
<EgtBEAMWALLCORE:OnlyProdQParameter_ConfigurationPageV/>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>-->
|
||||||
|
<TabItem>
|
||||||
|
<TabItem.Header>
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="5">
|
||||||
|
<TextBlock Text="{Binding Machine_Msg}"
|
||||||
|
FontSize="15"/>
|
||||||
|
</StackPanel>
|
||||||
|
</TabItem.Header>
|
||||||
|
<TabItem.Content>
|
||||||
|
<StackPanel>
|
||||||
|
<Button Content="Strategies"
|
||||||
|
Command="{Binding StrategyManager_Command}"/>
|
||||||
|
<EgtBEAMWALLCORE:OnlyProdMachine_ConfigurationPageV/>
|
||||||
|
</StackPanel>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>
|
||||||
|
<TabItem>
|
||||||
|
<TabItem.Header>
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="5">
|
||||||
|
<TextBlock Text="{Binding PDFEditor_Msg}"
|
||||||
|
FontSize="15"/>
|
||||||
|
<Button Command="{Binding SaveCommand}"
|
||||||
|
ToolTip="{Binding SaveToolTip}"
|
||||||
|
Visibility="{Binding PDFEditor_Visibility}"
|
||||||
|
Style="{StaticResource SaveOptionPanel_Button}">
|
||||||
|
<Image Source="/Resources/ProjectManager/Save.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
</StackPanel>
|
||||||
|
</TabItem.Header>
|
||||||
|
<TabItem.Content>
|
||||||
|
<EgtBEAMWALL:OnlyProdPDFEditorV/>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>
|
||||||
|
<!--<TabItem>
|
||||||
|
<TabItem.Header>
|
||||||
|
<StackPanel Orientation="Horizontal" Margin="5">
|
||||||
|
<TextBlock Text="{Binding CtrlVersion_Msg}"
|
||||||
|
FontSize="15"/>
|
||||||
|
</StackPanel>
|
||||||
|
</TabItem.Header>
|
||||||
|
<TabItem.Content>
|
||||||
|
<EgtBEAMWALL:OnlyProdCheckVersionV/>
|
||||||
|
</TabItem.Content>
|
||||||
|
</TabItem>-->
|
||||||
|
</TabControl>
|
||||||
|
</Grid>
|
||||||
|
</DockPanel>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
Public Class OnlyProdConfigurationPageV
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
<Grid x:Class="QParameter_ConfigurationPageV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.ViewerOptimizer">
|
||||||
|
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="1*"/>
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<EgtBEAMWALL:QParamListV DataContext="{Binding}"
|
||||||
|
ItemsSource="{Binding QBTLParamVMList}"
|
||||||
|
SelectedItem="{Binding SelQParam}"
|
||||||
|
Grid.Column="0"
|
||||||
|
Margin="5">
|
||||||
|
<DataGrid.GroupStyle>
|
||||||
|
<GroupStyle>
|
||||||
|
<GroupStyle.Panel>
|
||||||
|
<ItemsPanelTemplate>
|
||||||
|
<DataGridRowsPresenter/>
|
||||||
|
</ItemsPanelTemplate>
|
||||||
|
</GroupStyle.Panel>
|
||||||
|
<GroupStyle.HeaderTemplate>
|
||||||
|
<DataTemplate>
|
||||||
|
<StackPanel>
|
||||||
|
<TextBlock Text="{Binding Path=Name}"/>
|
||||||
|
</StackPanel>
|
||||||
|
</DataTemplate>
|
||||||
|
</GroupStyle.HeaderTemplate>
|
||||||
|
<GroupStyle.ContainerStyle>
|
||||||
|
<Style TargetType="{x:Type GroupItem}">
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="{x:Type GroupItem}">
|
||||||
|
<Expander IsExpanded="True">
|
||||||
|
<Expander.Background>
|
||||||
|
<SolidColorBrush Color="#FFBABABA"></SolidColorBrush>
|
||||||
|
</Expander.Background>
|
||||||
|
<Expander.Header>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<TextBlock Text="{Binding Path=Name}" />
|
||||||
|
</StackPanel>
|
||||||
|
</Expander.Header>
|
||||||
|
<ItemsPresenter />
|
||||||
|
</Expander>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
</GroupStyle.ContainerStyle>
|
||||||
|
</GroupStyle>
|
||||||
|
<GroupStyle>
|
||||||
|
<GroupStyle.ContainerStyle>
|
||||||
|
<Style TargetType="{x:Type GroupItem}">
|
||||||
|
<Setter Property="Template">
|
||||||
|
<Setter.Value>
|
||||||
|
<ControlTemplate TargetType="{x:Type GroupItem}">
|
||||||
|
<Expander IsExpanded="True">
|
||||||
|
<Expander.Background>
|
||||||
|
<SolidColorBrush Color="LightGray"></SolidColorBrush>
|
||||||
|
</Expander.Background>
|
||||||
|
<Expander.Header>
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<TextBlock Text="{Binding Path=Name}" />
|
||||||
|
</StackPanel>
|
||||||
|
</Expander.Header>
|
||||||
|
<ItemsPresenter />
|
||||||
|
</Expander>
|
||||||
|
</ControlTemplate>
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</Style>
|
||||||
|
</GroupStyle.ContainerStyle>
|
||||||
|
</GroupStyle>
|
||||||
|
</DataGrid.GroupStyle>
|
||||||
|
</EgtBEAMWALL:QParamListV>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class QParameter_ConfigurationPageV
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
Module ConstWarehouseIni
|
||||||
|
|
||||||
|
Public Const WH_BASIC_INI_FILE_NAME As String = "Basic.ini"
|
||||||
|
Public Const WH_MEDIUM_INI_FILE_NAME As String = "Medium.ini"
|
||||||
|
|
||||||
|
Public Const K_CURRENTL As String = "CurrentL"
|
||||||
|
Public Const K_CURRENTS As String = "CurrentS"
|
||||||
|
Public Const K_STARTOFFSET As String = "StartOffset"
|
||||||
|
Public Const K_KERF As String = "Kerf"
|
||||||
|
Public Const K_OFFSET As String = "Offset"
|
||||||
|
Public Const K_QUANTITY As String = "Quantity"
|
||||||
|
Public Const K_L As String = "L"
|
||||||
|
Public Const K_S As String = "S"
|
||||||
|
Public Const K_RANGE As String = "Range"
|
||||||
|
|
||||||
|
End Module
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
Public Interface IListItemConverter
|
||||||
|
Function Convert(ByVal masterListItem As Object) As Object
|
||||||
|
Function ConvertBack(ByVal targetListItem As Object) As Object
|
||||||
|
End Interface
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
Imports System.Windows.Controls.Primitives
|
||||||
|
|
||||||
|
Public Class MultiSelectorBehaviours
|
||||||
|
|
||||||
|
Public Shared ReadOnly SynchronizedSelectedItemsProperty As DependencyProperty = DependencyProperty.RegisterAttached("SynchronizedSelectedItems", GetType(IList), GetType(MultiSelectorBehaviours), New PropertyMetadata(Nothing, AddressOf OnSynchronizedSelectedItemsChanged))
|
||||||
|
Public Shared ReadOnly SynchronizationManagerProperty As DependencyProperty = DependencyProperty.RegisterAttached("SynchronizationManager", GetType(SynchronizationManager), GetType(MultiSelectorBehaviours), New PropertyMetadata(Nothing))
|
||||||
|
|
||||||
|
|
||||||
|
Public Shared Function GetSynchronizedSelectedItems(ByVal dependencyObject As DependencyObject) As IList
|
||||||
|
Return CType(dependencyObject.GetValue(SynchronizedSelectedItemsProperty), IList)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Shared Sub SetSynchronizedSelectedItems(ByVal dependencyObject As DependencyObject, ByVal value As IList)
|
||||||
|
dependencyObject.SetValue(SynchronizedSelectedItemsProperty, value)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Shared Function GetSynchronizationManager(ByVal dependencyObject As DependencyObject) As SynchronizationManager
|
||||||
|
Return CType(dependencyObject.GetValue(SynchronizationManagerProperty), SynchronizationManager)
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Shared Sub SetSynchronizationManager(ByVal dependencyObject As DependencyObject, ByVal value As SynchronizationManager)
|
||||||
|
dependencyObject.SetValue(SynchronizationManagerProperty, value)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Shared Sub OnSynchronizedSelectedItemsChanged(ByVal dependencyObject As DependencyObject, ByVal e As DependencyPropertyChangedEventArgs)
|
||||||
|
If e.OldValue IsNot Nothing Then
|
||||||
|
Dim synchronizer As SynchronizationManager = GetSynchronizationManager(dependencyObject)
|
||||||
|
synchronizer.StopSynchronizing()
|
||||||
|
SetSynchronizationManager(dependencyObject, Nothing)
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim list As IList = TryCast(e.NewValue, IList)
|
||||||
|
Dim selector As Selector = TryCast(dependencyObject, Selector)
|
||||||
|
|
||||||
|
If list IsNot Nothing AndAlso selector IsNot Nothing Then
|
||||||
|
Dim synchronizer As SynchronizationManager = GetSynchronizationManager(dependencyObject)
|
||||||
|
|
||||||
|
If synchronizer Is Nothing Then
|
||||||
|
synchronizer = New SynchronizationManager(selector)
|
||||||
|
SetSynchronizationManager(dependencyObject, synchronizer)
|
||||||
|
End If
|
||||||
|
|
||||||
|
synchronizer.StartSynchronizingList()
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Class SynchronizationManager
|
||||||
|
Private ReadOnly _multiSelector As Selector
|
||||||
|
Private _synchronizer As TwoListSynchronizer
|
||||||
|
|
||||||
|
Friend Sub New(ByVal selector As Selector)
|
||||||
|
_multiSelector = selector
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub StartSynchronizingList()
|
||||||
|
Dim list As IList = GetSynchronizedSelectedItems(_multiSelector)
|
||||||
|
|
||||||
|
If list IsNot Nothing Then
|
||||||
|
_synchronizer = New TwoListSynchronizer(GetSelectedItemsCollection(_multiSelector), list)
|
||||||
|
_synchronizer.StartSynchronizing()
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub StopSynchronizing()
|
||||||
|
_synchronizer.StopSynchronizing()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Shared Function GetSelectedItemsCollection(ByVal selector As Selector) As IList
|
||||||
|
If TypeOf selector Is MultiSelector Then
|
||||||
|
Return (TryCast(selector, MultiSelector)).SelectedItems
|
||||||
|
ElseIf TypeOf selector Is ListBox Then
|
||||||
|
Return (TryCast(selector, ListBox)).SelectedItems
|
||||||
|
Else
|
||||||
|
Throw New InvalidOperationException("Target object has no SelectedItems property to bind.")
|
||||||
|
End If
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,164 @@
|
|||||||
|
Imports System.Collections.Specialized
|
||||||
|
|
||||||
|
Public Class TwoListSynchronizer
|
||||||
|
Implements IWeakEventListener
|
||||||
|
|
||||||
|
Private Shared ReadOnly DefaultConverter As IListItemConverter = New DoNothingListItemConverter()
|
||||||
|
Private ReadOnly _masterList As IList
|
||||||
|
Private ReadOnly _masterTargetConverter As IListItemConverter
|
||||||
|
Private ReadOnly _targetList As IList
|
||||||
|
|
||||||
|
Public Sub New(ByVal masterList As IList, ByVal targetList As IList, ByVal masterTargetConverter As IListItemConverter)
|
||||||
|
_masterList = masterList
|
||||||
|
_targetList = targetList
|
||||||
|
_masterTargetConverter = masterTargetConverter
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub New(ByVal masterList As IList, ByVal targetList As IList)
|
||||||
|
Me.New(masterList, targetList, DefaultConverter)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Delegate Sub ChangeListAction(ByVal list As IList, ByVal e As NotifyCollectionChangedEventArgs, ByVal converter As Converter(Of Object, Object))
|
||||||
|
|
||||||
|
Public Sub StartSynchronizing()
|
||||||
|
ListenForChangeEvents(_masterList)
|
||||||
|
ListenForChangeEvents(_targetList)
|
||||||
|
SetListValuesFromSource(_masterList, _targetList, New Converter(Of Object, Object)(AddressOf ConvertFromMasterToTarget))
|
||||||
|
|
||||||
|
If Not TargetAndMasterCollectionsAreEqual() Then
|
||||||
|
SetListValuesFromSource(_targetList, _masterList, New Converter(Of Object, Object)(AddressOf ConvertFromTargetToMaster))
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Sub StopSynchronizing()
|
||||||
|
StopListeningForChangeEvents(_masterList)
|
||||||
|
StopListeningForChangeEvents(_targetList)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public Function ReceiveWeakEvent(ByVal managerType As Type, ByVal sender As Object, ByVal e As EventArgs) As Boolean Implements IWeakEventListener.ReceiveWeakEvent
|
||||||
|
HandleCollectionChanged(TryCast(sender, IList), TryCast(e, NotifyCollectionChangedEventArgs))
|
||||||
|
Return True
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Protected Sub ListenForChangeEvents(ByVal list As IList)
|
||||||
|
If TypeOf list Is INotifyCollectionChanged Then
|
||||||
|
CollectionChangedEventManager.AddListener(TryCast(list, INotifyCollectionChanged), Me)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Protected Sub StopListeningForChangeEvents(ByVal list As IList)
|
||||||
|
If TypeOf list Is INotifyCollectionChanged Then
|
||||||
|
CollectionChangedEventManager.RemoveListener(TryCast(list, INotifyCollectionChanged), Me)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub AddItems(ByVal list As IList, ByVal e As NotifyCollectionChangedEventArgs, ByVal converter As Converter(Of Object, Object))
|
||||||
|
Dim itemCount As Integer = e.NewItems.Count
|
||||||
|
|
||||||
|
For i As Integer = 0 To itemCount - 1
|
||||||
|
Dim insertionPoint As Integer = e.NewStartingIndex + i
|
||||||
|
|
||||||
|
If insertionPoint > list.Count Then
|
||||||
|
list.Add(converter(e.NewItems(i)))
|
||||||
|
Else
|
||||||
|
list.Insert(insertionPoint, converter(e.NewItems(i)))
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Function ConvertFromMasterToTarget(ByVal masterListItem As Object) As Object
|
||||||
|
Return If(_masterTargetConverter Is Nothing, masterListItem, _masterTargetConverter.Convert(masterListItem))
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Function ConvertFromTargetToMaster(ByVal targetListItem As Object) As Object
|
||||||
|
Return If(_masterTargetConverter Is Nothing, targetListItem, _masterTargetConverter.ConvertBack(targetListItem))
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Sub HandleCollectionChanged(ByVal sender As Object, ByVal e As NotifyCollectionChangedEventArgs)
|
||||||
|
Dim sourceList As IList = TryCast(sender, IList)
|
||||||
|
|
||||||
|
Select Case e.Action
|
||||||
|
Case NotifyCollectionChangedAction.Add
|
||||||
|
PerformActionOnAllLists(AddressOf AddItems, sourceList, e)
|
||||||
|
Case NotifyCollectionChangedAction.Move
|
||||||
|
PerformActionOnAllLists(AddressOf MoveItems, sourceList, e)
|
||||||
|
Case NotifyCollectionChangedAction.Remove
|
||||||
|
PerformActionOnAllLists(AddressOf RemoveItems, sourceList, e)
|
||||||
|
Case NotifyCollectionChangedAction.Replace
|
||||||
|
PerformActionOnAllLists(AddressOf ReplaceItems, sourceList, e)
|
||||||
|
Case NotifyCollectionChangedAction.Reset
|
||||||
|
UpdateListsFromSource(TryCast(sender, IList))
|
||||||
|
Case Else
|
||||||
|
End Select
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub MoveItems(ByVal list As IList, ByVal e As NotifyCollectionChangedEventArgs, ByVal converter As Converter(Of Object, Object))
|
||||||
|
RemoveItems(list, e, converter)
|
||||||
|
AddItems(list, e, converter)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub PerformActionOnAllLists(ByVal action As ChangeListAction, ByVal sourceList As IList, ByVal collectionChangedArgs As NotifyCollectionChangedEventArgs)
|
||||||
|
If sourceList Is _masterList Then
|
||||||
|
PerformActionOnList(_targetList, action, collectionChangedArgs, New Converter(Of Object, Object)(AddressOf ConvertFromMasterToTarget))
|
||||||
|
Else
|
||||||
|
PerformActionOnList(_masterList, action, collectionChangedArgs, New Converter(Of Object, Object)(AddressOf ConvertFromTargetToMaster))
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub PerformActionOnList(ByVal list As IList, ByVal action As ChangeListAction, ByVal collectionChangedArgs As NotifyCollectionChangedEventArgs, ByVal converter As Converter(Of Object, Object))
|
||||||
|
StopListeningForChangeEvents(list)
|
||||||
|
action(list, collectionChangedArgs, converter)
|
||||||
|
ListenForChangeEvents(list)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub RemoveItems(ByVal list As IList, ByVal e As NotifyCollectionChangedEventArgs, ByVal converter As Converter(Of Object, Object))
|
||||||
|
If e.OldItems.Count = 1 AndAlso e.OldStartingIndex <= list.Count - 1 Then
|
||||||
|
list.RemoveAt(e.OldStartingIndex)
|
||||||
|
Else
|
||||||
|
For Each Item In e.OldItems
|
||||||
|
list.Remove(Item)
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub ReplaceItems(ByVal list As IList, ByVal e As NotifyCollectionChangedEventArgs, ByVal converter As Converter(Of Object, Object))
|
||||||
|
RemoveItems(list, e, converter)
|
||||||
|
AddItems(list, e, converter)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub SetListValuesFromSource(ByVal sourceList As IList, ByVal targetList As IList, ByVal converter As Converter(Of Object, Object))
|
||||||
|
StopListeningForChangeEvents(targetList)
|
||||||
|
targetList.Clear()
|
||||||
|
|
||||||
|
For Each o As Object In sourceList
|
||||||
|
targetList.Add(converter(o))
|
||||||
|
Next
|
||||||
|
|
||||||
|
ListenForChangeEvents(targetList)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Function TargetAndMasterCollectionsAreEqual() As Boolean
|
||||||
|
Return _masterList.Cast(Of Object)().SequenceEqual(_targetList.Cast(Of Object)().[Select](Function(item) ConvertFromTargetToMaster(item)))
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Private Sub UpdateListsFromSource(ByVal sourceList As IList)
|
||||||
|
If sourceList Is _masterList Then
|
||||||
|
SetListValuesFromSource(_masterList, _targetList, New Converter(Of Object, Object)(AddressOf ConvertFromMasterToTarget))
|
||||||
|
Else
|
||||||
|
SetListValuesFromSource(_targetList, _masterList, New Converter(Of Object, Object)(AddressOf ConvertFromTargetToMaster))
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Class DoNothingListItemConverter
|
||||||
|
Implements IListItemConverter
|
||||||
|
|
||||||
|
Public Function Convert(ByVal masterListItem As Object) As Object Implements IListItemConverter.Convert
|
||||||
|
Return masterListItem
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Public Function ConvertBack(ByVal targetListItem As Object) As Object Implements IListItemConverter.ConvertBack
|
||||||
|
Return targetListItem
|
||||||
|
End Function
|
||||||
|
End Class
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,946 @@
|
|||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{4BD87FB8-9D12-46E3-ABCB-6576415BCE9A}</ProjectGuid>
|
||||||
|
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
|
||||||
|
<OutputType>WinExe</OutputType>
|
||||||
|
<RootNamespace>EgtBEAMWALL.Optimizer</RootNamespace>
|
||||||
|
<AssemblyName>EgtBEAMWALL.Optimizer</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
|
||||||
|
<MyType>Custom</MyType>
|
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<OptionExplicit>On</OptionExplicit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<OptionCompare>Binary</OptionCompare>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<OptionStrict>Off</OptionStrict>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<OptionInfer>On</OptionInfer>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DefineDebug>true</DefineDebug>
|
||||||
|
<DefineTrace>true</DefineTrace>
|
||||||
|
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||||
|
<DocumentationFile>EgtBEAMWALL.Optimizer.xml</DocumentationFile>
|
||||||
|
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<Prefer32Bit>true</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||||
|
<DefineTrace>true</DefineTrace>
|
||||||
|
<OutputPath>bin\x86\Release\</OutputPath>
|
||||||
|
<DocumentationFile>EgtBEAMWALL.Optimizer.xml</DocumentationFile>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<NoWarn>41999,42016,42017,42018,42019,42020,42021,42022,42032,42036,42314</NoWarn>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<Prefer32Bit>true</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="EgtBEAMWALL.Core">
|
||||||
|
<HintPath>..\EgtBEAMWALL.Core\bin\Debug\EgtBEAMWALL.Core.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="EgtBEAMWALL.DataLayer">
|
||||||
|
<HintPath>..\EgtBEAMWALL.DataLayer\bin\Debug\EgtBEAMWALL.DataLayer.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="EgtUILib">
|
||||||
|
<HintPath>..\ExtLibs\EgtUILib.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="EgtWPFLib5">
|
||||||
|
<HintPath>..\ExtLibs\EgtWPFLib5.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="PresentationFramework.Aero2" />
|
||||||
|
<Reference Include="System.ComponentModel" />
|
||||||
|
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
|
<Reference Include="System.Configuration.Install" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.Drawing.Design" />
|
||||||
|
<Reference Include="System.IO.Compression" />
|
||||||
|
<Reference Include="System.Management" />
|
||||||
|
<Reference Include="System.Numerics" />
|
||||||
|
<Reference Include="System.Security" />
|
||||||
|
<Reference Include="System.Transactions" />
|
||||||
|
<Reference Include="System.Web" />
|
||||||
|
<Reference Include="System.Windows.Forms" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
<Reference Include="System.Xaml">
|
||||||
|
<RequiredTargetFramework>4.0</RequiredTargetFramework>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Windows">
|
||||||
|
<HintPath>..\..\..\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.22000.0\Windows.winmd</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="WindowsBase" />
|
||||||
|
<Reference Include="PresentationCore" />
|
||||||
|
<Reference Include="PresentationFramework" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="WindowsFormsIntegration" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ApplicationDefinition Include="Application.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</ApplicationDefinition>
|
||||||
|
<Compile Include="AboutBoxWindow\AboutBoxV.xaml.vb">
|
||||||
|
<DependentUpon>AboutBoxV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="AddFeatureWnd\AddFeatureWndVM.vb" />
|
||||||
|
<Compile Include="AddFeatureWnd\NewAddFeatureWndV.xaml.vb">
|
||||||
|
<DependentUpon>NewAddFeatureWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="AddPartWnd\AddPartWndVM.vb" />
|
||||||
|
<Compile Include="AddPartWnd\OnlyProdAddPartWndV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdAddPartWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="AddRawPartWnd\AddRawPartWndVM.vb" />
|
||||||
|
<Compile Include="AddRawPartWnd\OnlyProdAddRawPartWndV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdAddRawPartWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="AddSectionXMaterialWnd\AddSectionXMaterialWndV.xaml.vb">
|
||||||
|
<DependentUpon>AddSectionXMaterialWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="AddSectionXMaterialWnd\AddSectionXMaterialWndVM.vb" />
|
||||||
|
<Compile Include="Application.xaml.vb">
|
||||||
|
<DependentUpon>Application.xaml</DependentUpon>
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="NestingRunningWnd\NestingRunningWndVM.vb" />
|
||||||
|
<Compile Include="NestingRunningWnd\OnlyProdNestingRunningWndV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdNestingRunningWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="NewOpenProjectFileDialog\NewOpenProjectFileDialogVM.vb" />
|
||||||
|
<Compile Include="OnlyProdManager\OnlyProdManagerV.vb" />
|
||||||
|
<Compile Include="OnlyProdManager\OnlyProdManagerVM.vb" />
|
||||||
|
<Compile Include="OnlyProdProject\OnlyProdProjectV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdProjectV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="OpenProjectFileDialog\OpenProjectFileDialogVM.vb" />
|
||||||
|
<Compile Include="OptimizePanel\OnlyProdOptimizePanelV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdOptimizePanelV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="OptimizePanel\OptimizePanelVM.vb" />
|
||||||
|
<Compile Include="PartManager\OnlyProdPartManagerV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdPartManagerV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="PartManager\PartManagerVM.vb" />
|
||||||
|
<Compile Include="PartParametersWnd\PartParametersWndV.xaml.vb">
|
||||||
|
<DependentUpon>PartParametersWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="PartParametersWnd\PartParametersWndVM.vb" />
|
||||||
|
<Compile Include="PdfViewer\PdfViewer.xaml.vb">
|
||||||
|
<DependentUpon>PdfViewer.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="PdfViewer\PDFViewerVM.vb" />
|
||||||
|
<Compile Include="ProjectFileVM\ProdFileVM.vb" />
|
||||||
|
<Compile Include="ProjectFileVM\ProjFileVM.vb" />
|
||||||
|
<Compile Include="ProjectManager\ProjectManagerVM.vb" />
|
||||||
|
<Compile Include="ProjectTypeWnd\OnlyProdProjectTypeWndV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdProjectTypeWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ProjectTypeWnd\ProjectTypeWndV.xaml.vb">
|
||||||
|
<DependentUpon>ProjectTypeWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ProjectTypeWnd\ProjectTypeWndVM.vb" />
|
||||||
|
<Compile Include="Project\ProjectVM.vb" />
|
||||||
|
<Compile Include="RawPartManager\OnlyProdRawPartManagerV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdRawPartManagerV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="RawPartManager\RawPartManagerVM.vb" />
|
||||||
|
<Compile Include="RawPartManager\RawPartManagerWndV.xaml.vb">
|
||||||
|
<DependentUpon>RawPartManagerWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="SceneHost\MySceneHostVM.vb" />
|
||||||
|
<Compile Include="SceneHost\SceneHostV.xaml.vb">
|
||||||
|
<DependentUpon>SceneHostV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="SetUp\SetUpSupportClass.vb" />
|
||||||
|
<Compile Include="SetUp\SetUpV.xaml.vb">
|
||||||
|
<DependentUpon>SetUpV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="SetUp\SetUpVM.vb" />
|
||||||
|
<Compile Include="ShowBeamPanel\OnlyProdShowBeamPanelV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdShowBeamPanelV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ShowBeamPanel\ShowBeamPanelVM.vb" />
|
||||||
|
<Compile Include="ShowPanel\OnlyProdShowPanelV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdShowPanelV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="SpecialPanel\OnlyProdSpecialPanelV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdSpecialPanelV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="SpecialPanel\SpecialPanelVM.vb" />
|
||||||
|
<Compile Include="StatisticsTimePanel\OnlyProdStatisticsTimePanelV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdStatisticsTimePanelV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StatisticsTimePanel\StatisticsTimePanelVM.vb" />
|
||||||
|
<Compile Include="StatisticsWnd\OptimizerStatisticsWndV.xaml.vb">
|
||||||
|
<DependentUpon>OptimizerStatisticsWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Statistics\OnlyProdOptimizerStatisticsV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdOptimizerStatisticsV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Statistics\OnlyProdPDFEditorV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdPDFEditorV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Statistics\OnlyProdStatisticsV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdStatisticsV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Statistics\PDFEditorVM.vb" />
|
||||||
|
<Compile Include="Statistics\PDFHelper.vb" />
|
||||||
|
<Compile Include="Statistics\StatisticsUtility.vb" />
|
||||||
|
<Compile Include="Statistics\StatisticsVM.vb" />
|
||||||
|
<Compile Include="StatusBar\MyStatusBarVM.vb" />
|
||||||
|
<Compile Include="StatusBar\StatusBarV.xaml.vb">
|
||||||
|
<DependentUpon>StatusBarV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StrategyManagerWnd\StrategyManagerWndV.xaml.vb">
|
||||||
|
<DependentUpon>StrategyManagerWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="StrategyManagerWnd\StrategyManagerWndVM.vb" />
|
||||||
|
<Compile Include="SupervisorCommThread\SupervisorComm.vb" />
|
||||||
|
<Compile Include="SupervisorCommThread\SupervisorCommThread.vb" />
|
||||||
|
<Compile Include="ToolsDbWindow\MyToolDbWindowVM.vb" />
|
||||||
|
<Compile Include="ToolsDbWindow\ToolsUpdate.vb" />
|
||||||
|
<Compile Include="UpdateBTLWnd\OnlyProdUpdateBTLWndV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdUpdateBTLWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="UpdateBTLWnd\OnlyProdUpdateOrAppendWndV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdUpdateOrAppendWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="UpdateBTLWnd\UpdateBTLWndV.xaml.vb">
|
||||||
|
<DependentUpon>UpdateBTLWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="UpdateBTLWnd\UpdateBTLWndVM.vb" />
|
||||||
|
<Compile Include="UpdateBTLWnd\UpdateOrAppendWndV.xaml.vb">
|
||||||
|
<DependentUpon>UpdateOrAppendWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="UpdateBTLWnd\UpdateOrAppendWndVM.vb" />
|
||||||
|
<Compile Include="Utility\Configuration.vb" />
|
||||||
|
<Compile Include="Utility\CurrentMachine.vb" />
|
||||||
|
<Compile Include="Utility\DbControllers.vb" />
|
||||||
|
<Compile Include="Utility\Dictionary.xaml.vb">
|
||||||
|
<DependentUpon>Dictionary.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Utility\DisableModifiedMgr.vb" />
|
||||||
|
<Compile Include="Utility\LuaExec.vb" />
|
||||||
|
<Compile Include="Utility\MachParamIniFile.vb" />
|
||||||
|
<Compile Include="Utility\Map.vb" />
|
||||||
|
<Compile Include="Utility\PartsObservableCollection.vb" />
|
||||||
|
<Compile Include="Utility\SectionXMaterialToBeAdded.vb" />
|
||||||
|
<Compile Include="Utility\Statistic_Messages.vb" />
|
||||||
|
<Compile Include="Utility\TextBlockUtils.vb" />
|
||||||
|
<Compile Include="Utility\TreeViewItemBase.vb" />
|
||||||
|
<Compile Include="ViewPanel\OnlyProdViewPanelV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdViewPanelV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="WarehouseWnd\OnlyProdWarehouseWndV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdWarehouseWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="WarehouseWnd\WarehouseHelper.vb" />
|
||||||
|
<Compile Include="WarehouseWnd\WarehouseWndVM.vb" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Import Include="System.Threading.Tasks" />
|
||||||
|
<Import Include="System.Linq" />
|
||||||
|
<Import Include="System.Xml.Linq" />
|
||||||
|
<Import Include="Microsoft.VisualBasic" />
|
||||||
|
<Import Include="System" />
|
||||||
|
<Import Include="System.Collections" />
|
||||||
|
<Import Include="System.Collections.Generic" />
|
||||||
|
<Import Include="System.Diagnostics" />
|
||||||
|
<Import Include="System.Windows" />
|
||||||
|
<Import Include="System.Windows.Controls" />
|
||||||
|
<Import Include="System.Windows.Data" />
|
||||||
|
<Import Include="System.Windows.Documents" />
|
||||||
|
<Import Include="System.Windows.Input" />
|
||||||
|
<Import Include="System.Windows.Shapes" />
|
||||||
|
<Import Include="System.Windows.Media" />
|
||||||
|
<Import Include="System.Windows.Media.Imaging" />
|
||||||
|
<Import Include="System.Windows.Navigation" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="BlockedWnd\BlockedWndV.xaml.vb">
|
||||||
|
<DependentUpon>BlockedWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="BlockedWnd\BlockedWndVM.vb" />
|
||||||
|
<Compile Include="BTLDataWnd\BTLDataWndV.xaml.vb">
|
||||||
|
<DependentUpon>BTLDataWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="BTLDataWnd\BTLDataWndVM.vb" />
|
||||||
|
<Compile Include="BTLPartManager\BTLPartManagerVM.vb" />
|
||||||
|
<Compile Include="BTLPartManager\OnlyProdBTLPartManagerV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdBTLPartManagerV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="BTLViewModel\BTLFeatureVM.vb" />
|
||||||
|
<Compile Include="BTLViewModel\BTLParamVM.vb" />
|
||||||
|
<Compile Include="BTLViewModel\BTLPartVM.vb" />
|
||||||
|
<Compile Include="BTLViewModel\BTLStructureVM.vb" />
|
||||||
|
<Compile Include="CALCPanel\CALCPanelVM.vb" />
|
||||||
|
<Compile Include="CALCPanel\OnlyProdCalcPanelV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdCalcPanelV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ChangeMaterialWnd\ChangeMaterialWndV.xaml.vb">
|
||||||
|
<DependentUpon>ChangeMaterialWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ChangeMaterialWnd\ChangeMaterialWndVM.vb" />
|
||||||
|
<Compile Include="ChangeParameterWnd\ChangeParameterWndV.xaml.vb">
|
||||||
|
<DependentUpon>ChangeParameterWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ChangeParameterWnd\ChangeParameterWndVM.vb" />
|
||||||
|
<Compile Include="ConfigurationPage\ConfigurationPageVM.vb" />
|
||||||
|
<Compile Include="ConfigurationPage\OnlyProdCheckVersionV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdCheckVersionV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ConfigurationPage\OnlyProdConfigurationPageV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdConfigurationPageV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Constants\ConstWarehouseIni.vb" />
|
||||||
|
<Compile Include="DataGridMultiselectManaging\IListItemConverter.vb" />
|
||||||
|
<Compile Include="DataGridMultiselectManaging\MultiSelectorBehaviours.vb" />
|
||||||
|
<Compile Include="DataGridMultiselectManaging\TwoListSynchronizer.vb" />
|
||||||
|
<Compile Include="FeatureListManager\FeatureListManagerVM.vb" />
|
||||||
|
<Compile Include="FeatureListManager\OnlyProdFeatureListManagerV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdFeatureListManagerV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="FeatureManager\FeatureManagerVM.vb" />
|
||||||
|
<Compile Include="FeatureManager\OnlyProdFeatureManagerV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdFeatureManagerV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="FreeContourInput\FreeContourInputVM.vb" />
|
||||||
|
<Compile Include="FreeContourInput\OnlyProdFreeContourInputV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdFreeContourInputV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="FreeContourManager\FreeContourManagerVM.vb" />
|
||||||
|
<Compile Include="FreeContourManager\OnlyProdFreeContourManagerV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdFreeContourManagerV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="InputPwdWnd\InputPwdWndVM.vb" />
|
||||||
|
<Compile Include="InputPwdWnd\OnlyProdInputPwdWndV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdInputPwdWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="InstrumentPanel\MyInstrumentPanelVM.vb" />
|
||||||
|
<Compile Include="InstrumentPanel\OnlyProdInstrumentPanelV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdInstrumentPanelV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ItemParamList\BTLDataV.xaml.vb">
|
||||||
|
<DependentUpon>BTLDataV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ItemParamList\BTLPartListVM.vb" />
|
||||||
|
<Compile Include="ItemParamList\DuploQParameterListVM.vb" />
|
||||||
|
<Compile Include="ItemParamList\FeatureInPartInRawPartListVM.vb" />
|
||||||
|
<Compile Include="ItemParamList\FeatureListVM.vb" />
|
||||||
|
<Compile Include="ItemParamList\OnlyProdBTLPartListV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdBTLPartListV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ItemParamList\OnlyProdFeatureInPartInRawPartListV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdFeatureInPartInRawPartListV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ItemParamList\OnlyProdFeatureListV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdFeatureListV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ItemParamList\OnlyProdPartInRawPartListV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdPartInRawPartListV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ItemParamList\OnlyProdPParameterListV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdPParameterListV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ItemParamList\OnlyProdQParameterListProdV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdQParameterListProdV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ItemParamList\OnlyProdQParameterListV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdQParameterListV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ItemParamList\OnlyProdRawPartListV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdRawPartListV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ItemParamList\PartInRawPartListVM.vb" />
|
||||||
|
<Compile Include="ItemParamList\PartParametersV.xaml.vb">
|
||||||
|
<DependentUpon>PartParametersV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ItemParamList\PartParametersVM.vb" />
|
||||||
|
<Compile Include="ItemParamList\PParameterListVM.vb" />
|
||||||
|
<Compile Include="ItemParamList\QBTLParamVM.vb" />
|
||||||
|
<Compile Include="ItemParamList\QParameterListVM.vb" />
|
||||||
|
<Compile Include="ItemParamList\QParamListV.xaml.vb">
|
||||||
|
<DependentUpon>QParamListV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="ItemParamList\RawPartListVM.vb" />
|
||||||
|
<Compile Include="LeftPanel\LeftPanelVM.vb" />
|
||||||
|
<Compile Include="LeftPanel\OnlyProdLeftPanelV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdLeftPanelV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="MachGroupPanel\MyMachGroupPanelVM.vb" />
|
||||||
|
<Compile Include="MachGroupPanel\MyMachGroupVM.vb" />
|
||||||
|
<Compile Include="MachGroupPanel\PartVM.vb" />
|
||||||
|
<Compile Include="MachinePanel\MachinePanelVM.vb" />
|
||||||
|
<Compile Include="MacroFeatureWnd\MacroFeatureWndVM.vb" />
|
||||||
|
<Compile Include="MacroFeatureWnd\NewMacroFeatureWnd.xaml.vb">
|
||||||
|
<DependentUpon>NewMacroFeatureWnd.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="MainMenu\MainMenuVM.vb" />
|
||||||
|
<Compile Include="MainMenu\OnlyProdMainMenuV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdMainMenuV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="MainWindow\MainWindowM.vb" />
|
||||||
|
<Compile Include="MainWindow\MainWindowVM.vb" />
|
||||||
|
<Compile Include="MainWindow\OnlyProdMainWindowV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdMainWindowV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="MovePartInRawPartWnd\MovePartInRawPartWndVM.vb" />
|
||||||
|
<Compile Include="MovePartInRawPartWnd\OnlyProdMovePartInRawPartWndV.xaml.vb">
|
||||||
|
<DependentUpon>OnlyProdMovePartInRawPartWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="MultiCopyRawPartWnd\MultiCopyRawPartWndV.xaml.vb">
|
||||||
|
<DependentUpon>MultiCopyRawPartWndV.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="MultiCopyRawPartWnd\MultiCopyRawPartWndVM.vb" />
|
||||||
|
<Compile Include="My Project\AssemblyInfo.vb">
|
||||||
|
<SubType>Code</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="My Project\MyExtensions\MyWpfExtension.vb">
|
||||||
|
<VBMyExtensionTemplateID>Microsoft.VisualBasic.WPF.MyExtension</VBMyExtensionTemplateID>
|
||||||
|
<VBMyExtensionTemplateVersion>1.0.0.0</VBMyExtensionTemplateVersion>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="My Project\Resources.Designer.vb">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="My Project\Settings.Designer.vb">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Settings.settings</DependentUpon>
|
||||||
|
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||||
|
</Compile>
|
||||||
|
<EmbeddedResource Include="My Project\Resources.resx">
|
||||||
|
<Generator>VbMyResourcesResXFileCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>Resources.Designer.vb</LastGenOutput>
|
||||||
|
<CustomToolNamespace>My.Resources</CustomToolNamespace>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<None Include="My Project\Settings.settings">
|
||||||
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
|
<LastGenOutput>Settings.Designer.vb</LastGenOutput>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="App.config" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Page Include="AboutBoxWindow\AboutBoxV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="AddFeatureWnd\NewAddFeatureWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="AddPartWnd\OnlyProdAddPartWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="AddRawPartWnd\OnlyProdAddRawPartWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="AddSectionXMaterialWnd\AddSectionXMaterialWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="BlockedWnd\BlockedWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="BTLDataWnd\BTLDataWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="BTLPartManager\OnlyProdBTLPartManagerV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="CALCPanel\OnlyProdCalcPanelV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ChangeMaterialWnd\ChangeMaterialWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ChangeParameterWnd\ChangeParameterWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ConfigurationPage\OnlyProdCheckVersionV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ConfigurationPage\OnlyProdConfigurationPageV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="FeatureListManager\OnlyProdFeatureListManagerV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="FeatureManager\OnlyProdFeatureManagerV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="FreeContourInput\OnlyProdFreeContourInputV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="FreeContourManager\OnlyProdFreeContourManagerV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="InputPwdWnd\OnlyProdInputPwdWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="InstrumentPanel\OnlyProdInstrumentPanelV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ItemParamList\BTLDataV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ItemParamList\OnlyProdBTLPartListV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ItemParamList\OnlyProdFeatureInPartInRawPartListV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ItemParamList\OnlyProdFeatureListV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ItemParamList\OnlyProdPartInRawPartListV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ItemParamList\OnlyProdPParameterListV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ItemParamList\OnlyProdQParameterListProdV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ItemParamList\OnlyProdQParameterListV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ItemParamList\OnlyProdRawPartListV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ItemParamList\PartParametersV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ItemParamList\QParamListV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="LeftPanel\OnlyProdLeftPanelV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="MacroFeatureWnd\NewMacroFeatureWnd.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="MainMenu\OnlyProdMainMenuV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="MainWindow\OnlyProdMainWindowV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="MovePartInRawPartWnd\OnlyProdMovePartInRawPartWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="MultiCopyRawPartWnd\MultiCopyRawPartWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="NestingRunningWnd\OnlyProdNestingRunningWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="OnlyProdManager\OnlyProdManagerV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="OnlyProdProject\OnlyProdProjectV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="OptimizePanel\OnlyProdOptimizePanelV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="PartManager\OnlyProdPartManagerV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="PartParametersWnd\PartParametersWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="PdfViewer\PdfViewer.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ProjectTypeWnd\OnlyProdProjectTypeWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ProjectTypeWnd\ProjectTypeWndV.xaml">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
<Generator>XamlIntelliSenseFileGenerator</Generator>
|
||||||
|
</Page>
|
||||||
|
<Page Include="RawPartManager\OnlyProdRawPartManagerV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="RawPartManager\RawPartManagerWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="SceneHost\SceneHostV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="SetUp\SetUpV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ShowBeamPanel\OnlyProdShowBeamPanelV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ShowPanel\OnlyProdShowPanelV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="SpecialPanel\OnlyProdSpecialPanelV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="StatisticsTimePanel\OnlyProdStatisticsTimePanelV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="StatisticsWnd\OptimizerStatisticsWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="Statistics\OnlyProdOptimizerStatisticsV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="Statistics\OnlyProdPDFEditorV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="Statistics\OnlyProdStatisticsV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="StatusBar\StatusBarV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="StrategyManagerWnd\StrategyManagerWndV.xaml">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
</Page>
|
||||||
|
<Page Include="UpdateBTLWnd\OnlyProdUpdateBTLWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="UpdateBTLWnd\OnlyProdUpdateOrAppendWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="UpdateBTLWnd\UpdateBTLWndV.xaml">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
<Generator>XamlIntelliSenseFileGenerator</Generator>
|
||||||
|
</Page>
|
||||||
|
<Page Include="UpdateBTLWnd\UpdateOrAppendWndV.xaml">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
<Generator>XamlIntelliSenseFileGenerator</Generator>
|
||||||
|
</Page>
|
||||||
|
<Page Include="Utility\Dictionary.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="ViewPanel\OnlyProdViewPanelV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
<Page Include="WarehouseWnd\OnlyProdWarehouseWndV.xaml">
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</Page>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Resource Include="Resources\AboutBoxImage.png" />
|
||||||
|
<Resource Include="Resources\AboutBox\EgalwareLogo.png" />
|
||||||
|
<Resource Include="Resources\CALCPanel\ChooseMachine.png" />
|
||||||
|
<Resource Include="Resources\CALCPanel\Edit.png" />
|
||||||
|
<Resource Include="Resources\CALCPanel\ResetCalc.png" />
|
||||||
|
<Resource Include="Resources\CALCPanel\Simulate.png" />
|
||||||
|
<Resource Include="Resources\CALCPanel\Verify.png" />
|
||||||
|
<Resource Include="Resources\CALCPanel\VerifyAll.png" />
|
||||||
|
<Resource Include="Resources\Configuration\MachiningsTable.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\AddPointCurve.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ApproxCurve.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Arc3P.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ArcCSE.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ArcFlip.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ArcPDP.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\BreakCurve.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Chamfer.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ChangeColor.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ChangeColorAlpha.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ChangeLayer.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ChangeStart.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Circle3P.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\CircleCD.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\CircleCP.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Delete.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ExplodeCurve.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ExplodeSurf.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ExtendCurve.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ExtractFacetLoops.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ExtractLoops.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ExtractSurfFacet.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Extrude.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Fillet.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\IntersectSurfSurf.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\InvertCurve.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\InvertSurf.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\JoinCurve.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Line2P.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\LinearDimension.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\LinePDL.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\MergeSurf.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Mirror.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Mirror3D.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ModifyCurve.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ModifyText.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Move.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Offset.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Plane.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Point.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Polygon.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\PolygonSide.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Rectangle2P.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\RemoveColor.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\RemovePointCurve.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Revolve.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Rotate.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Rotate3D.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Ruled.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Scale.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Scale3D.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Screw.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\SolidAddSurf.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\SolidIntersectSurf.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\SolidSubtractSurf.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\SplitCurve.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Swept.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\Text.png" />
|
||||||
|
<Resource Include="Resources\DrawPanel\ThickCurve.png" />
|
||||||
|
<Resource Include="Resources\Egalware.ico" />
|
||||||
|
<Resource Include="Resources\EgtBEAMWALL.ico" />
|
||||||
|
<Resource Include="Resources\EgtDialog\Folder.png" />
|
||||||
|
<Resource Include="Resources\EgtDialog\New.png" />
|
||||||
|
<Resource Include="Resources\EgtDialog\Restore.png" />
|
||||||
|
<Resource Include="Resources\EgtDialog\Root.png" />
|
||||||
|
<Resource Include="Resources\EgtMessageBox\Asterisk.png" />
|
||||||
|
<Resource Include="Resources\EgtMessageBox\Error.png" />
|
||||||
|
<Resource Include="Resources\EgtMessageBox\Exclamation.png" />
|
||||||
|
<Resource Include="Resources\EgtMessageBox\Hand.png" />
|
||||||
|
<Resource Include="Resources\EgtMessageBox\Information.png" />
|
||||||
|
<Resource Include="Resources\EgtMessageBox\Question.png" />
|
||||||
|
<Resource Include="Resources\EgtMessageBox\Warning.png" />
|
||||||
|
<Resource Include="Resources\InstrumentPanel\Analyze.png" />
|
||||||
|
<Resource Include="Resources\InstrumentPanel\ChangeParam.png" />
|
||||||
|
<Resource Include="Resources\InstrumentPanel\GetDist.png" />
|
||||||
|
<Resource Include="Resources\InstrumentPanel\Ott.png" />
|
||||||
|
<Resource Include="Resources\InstrumentPanel\Statistics.png" />
|
||||||
|
<Resource Include="Resources\InstrumentPanel\Vis.png" />
|
||||||
|
<Resource Include="Resources\LeftPanel\AddFeature.png" />
|
||||||
|
<Resource Include="Resources\LeftPanel\AddPart.png" />
|
||||||
|
<Resource Include="Resources\LeftPanel\AddToRawPart.png" />
|
||||||
|
<Resource Include="Resources\LeftPanel\CopyFeature.png" />
|
||||||
|
<Resource Include="Resources\LeftPanel\CopyPart.png" />
|
||||||
|
<Resource Include="Resources\LeftPanel\MacroFeature.png" />
|
||||||
|
<Resource Include="Resources\LeftPanel\NewRawPart.png" />
|
||||||
|
<Resource Include="Resources\LeftPanel\NewRawPartAuto.png" />
|
||||||
|
<Resource Include="Resources\LeftPanel\RemoveFeature.png" />
|
||||||
|
<Resource Include="Resources\LeftPanel\RemovePart.png" />
|
||||||
|
<Resource Include="Resources\MainMenu\Send.png" />
|
||||||
|
<Resource Include="Resources\MovePartInRawPart\MoveLeftParts.png" />
|
||||||
|
<Resource Include="Resources\MovePartInRawPart\MoveRightParts.png" />
|
||||||
|
<Resource Include="Resources\OpenProjectFileDialog\Archived.png" />
|
||||||
|
<Resource Include="Resources\OptimizePanel\FlipRot.png" />
|
||||||
|
<Resource Include="Resources\OptimizePanel\UnlockFlip.png" />
|
||||||
|
<Resource Include="Resources\OptimizePanel\UnlockRotation.png" />
|
||||||
|
<Resource Include="Resources\OptimizePanel\Warehouse.png" />
|
||||||
|
<Resource Include="Resources\PartManager\Clock.png" />
|
||||||
|
<Resource Include="Resources\PartManager\LeftInvert.png" />
|
||||||
|
<Resource Include="Resources\PartManager\LeftRotate.png" />
|
||||||
|
<Resource Include="Resources\PartManager\Locked.old.png" />
|
||||||
|
<Resource Include="Resources\PartManager\Locked.png" />
|
||||||
|
<Resource Include="Resources\PartManager\RightInvert.png" />
|
||||||
|
<Resource Include="Resources\PartManager\RightRotate.png" />
|
||||||
|
<Resource Include="Resources\PartManager\Unlocked.old.png" />
|
||||||
|
<Resource Include="Resources\PartManager\Unlocked.png" />
|
||||||
|
<Resource Include="Resources\PDFEditor\Delete.png" />
|
||||||
|
<Resource Include="Resources\PDFEditor\MoveDown.png" />
|
||||||
|
<Resource Include="Resources\PDFEditor\MoveUp.png" />
|
||||||
|
<Resource Include="Resources\PDFEditor\PDFPreview.png" />
|
||||||
|
<Resource Include="Resources\PDFEditor\PrintPDF.png" />
|
||||||
|
<Resource Include="Resources\ProjectManager\AddProj.png" />
|
||||||
|
<Resource Include="Resources\ProjectManager\ExportProject.png" />
|
||||||
|
<Resource Include="Resources\ProjectManager\GoToProd.png" />
|
||||||
|
<Resource Include="Resources\ProjectManager\GoToProj.png" />
|
||||||
|
<Resource Include="Resources\ProjectManager\ImportBTL.png" />
|
||||||
|
<Resource Include="Resources\ProjectManager\ImportProject.png" />
|
||||||
|
<Resource Include="Resources\ProjectManager\New.png" />
|
||||||
|
<Resource Include="Resources\ProjectManager\Open.png" />
|
||||||
|
<Resource Include="Resources\ProjectManager\Options.png" />
|
||||||
|
<Resource Include="Resources\ProjectManager\Save.png" />
|
||||||
|
<Resource Include="Resources\ProjectManager\SaveAs.png" />
|
||||||
|
<Resource Include="Resources\ProjectManager\UpdateBTL.png" />
|
||||||
|
<Resource Include="Resources\ShowBeamPanel\ShowAll.png" />
|
||||||
|
<Resource Include="Resources\ShowBeamPanel\ShowBuilding.png" />
|
||||||
|
<Resource Include="Resources\ShowBeamPanel\ShowSolid.png" />
|
||||||
|
<Resource Include="Resources\ShowPanel\RenderingHL.png" />
|
||||||
|
<Resource Include="Resources\ShowPanel\RenderingSH.png" />
|
||||||
|
<Resource Include="Resources\ShowPanel\RenderingWF.png" />
|
||||||
|
<Resource Include="Resources\Statistics\CopyToClipboard.png" />
|
||||||
|
<Resource Include="Resources\Statistics\PrintPDF.png" />
|
||||||
|
<Resource Include="Resources\TopPanel\CopyRawPart.png" />
|
||||||
|
<Resource Include="Resources\TopPanel\MoveDownPart.png" />
|
||||||
|
<Resource Include="Resources\TopPanel\MovePartInRawPart.png" />
|
||||||
|
<Resource Include="Resources\TopPanel\MoveUpPart.png" />
|
||||||
|
<Resource Include="Resources\TopPanel\ProduceAllRawPart.png" />
|
||||||
|
<Resource Include="Resources\TopPanel\ProduceRawPart.png" />
|
||||||
|
<Resource Include="Resources\TopPanel\RemoveAllRawPart.png" />
|
||||||
|
<Resource Include="Resources\TopPanel\RemovePart.old.png" />
|
||||||
|
<Resource Include="Resources\TopPanel\RemovePart.png" />
|
||||||
|
<Resource Include="Resources\TopPanel\RemoveRawPart.png" />
|
||||||
|
<Resource Include="Resources\TopPanel\ReorderPart.png" />
|
||||||
|
<Resource Include="Resources\TreeView\Folder.png" />
|
||||||
|
<Resource Include="Resources\ViewPanel\LookFromBACK.png" />
|
||||||
|
<Resource Include="Resources\ViewPanel\LookFromBOTTOM.png" />
|
||||||
|
<Resource Include="Resources\ViewPanel\LookFromFRONT.png" />
|
||||||
|
<Resource Include="Resources\ViewPanel\LookFromISO_NE.png" />
|
||||||
|
<Resource Include="Resources\ViewPanel\LookFromISO_NW.png" />
|
||||||
|
<Resource Include="Resources\ViewPanel\LookFromISO_SE.png" />
|
||||||
|
<Resource Include="Resources\ViewPanel\LookFromISO_SW.png" />
|
||||||
|
<Resource Include="Resources\ViewPanel\LookFromLEFT.png" />
|
||||||
|
<Resource Include="Resources\ViewPanel\LookFromRIGHT.png" />
|
||||||
|
<Resource Include="Resources\ViewPanel\LookFromTOP.png" />
|
||||||
|
<Resource Include="Resources\ViewPanel\ZoomAll.png" />
|
||||||
|
<Resource Include="Resources\ViewPanel\ZoomIn.png" />
|
||||||
|
<Resource Include="Resources\ViewPanel\ZoomOut.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Behavior\" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="BouncyCastle">
|
||||||
|
<Version>1.8.5</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="DotNetZip">
|
||||||
|
<Version>1.16.0</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="EntityFramework">
|
||||||
|
<Version>6.4.4</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="Google.Protobuf">
|
||||||
|
<Version>3.21.9</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="K4os.Compression.LZ4.Streams">
|
||||||
|
<Version>1.3.5</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="Microsoft.Windows.SDK.Contracts">
|
||||||
|
<Version>10.0.26100.1742</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="MySql.Data.EntityFramework">
|
||||||
|
<Version>8.0.21</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="Newtonsoft.Json">
|
||||||
|
<Version>13.0.1</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="NLog">
|
||||||
|
<Version>5.0.1</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="PDFsharp-MigraDoc-wpf">
|
||||||
|
<Version>1.50.5147</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="Portable.BouncyCastle">
|
||||||
|
<Version>1.9.0</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="RestSharp">
|
||||||
|
<Version>111.2.0</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="System.IO.Pipelines">
|
||||||
|
<Version>6.0.0</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="System.Runtime.InteropServices.WindowsRuntime">
|
||||||
|
<Version>4.3.0</Version>
|
||||||
|
</PackageReference>
|
||||||
|
<PackageReference Include="System.Runtime.WindowsRuntime.UI.Xaml">
|
||||||
|
<Version>4.6.0</Version>
|
||||||
|
</PackageReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Resource Include="Resources\NewPage\Setting.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Resource Include="Resources\LeftPanel\All_Filter.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Resource Include="Resources\NewPage\Cancel.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Resource Include="Resources\NewPage\Ok.png" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.OptimizerR32.exe
|
||||||
|
IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Debug" copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.OptimizerD32.exe
|
||||||
|
IF "$(PlatformName)"=="x64" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.OptimizerR64.exe
|
||||||
|
IF "$(PlatformName)"=="x64" IF "$(ConfigurationName)" == "Debug" copy $(TargetPath) c:\EgtProg\EgtBEAMWALL\EgtBEAMWALL.OptimizerD64.exe</PostBuildEvent>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<StackPanel x:Class="FeatureListManagerV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
Orientation="Horizontal"
|
||||||
|
HorizontalAlignment="Right"
|
||||||
|
DataContext="{StaticResource FeatureListManagerVM}">
|
||||||
|
|
||||||
|
<Button Command="{Binding CopyFeature_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding CopyFeature_ToolTip}"
|
||||||
|
IsEnabled="{Binding CopyFeature_IsEnabled}"
|
||||||
|
Style="{StaticResource LeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/CopyFeature.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding MacroFeature_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding MacroFeature_ToolTip}"
|
||||||
|
IsEnabled="{Binding MacroFeature_IsEnabled}"
|
||||||
|
Style="{StaticResource LeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/MacroFeature.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding AddFeature_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding AddFeature_ToolTip}"
|
||||||
|
IsEnabled="{Binding AddFeature_IsEnabled}"
|
||||||
|
Style="{StaticResource LeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/AddFeature.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding RemoveFeature_Command}"
|
||||||
|
Visibility="{Binding ViewPage_Visibility}"
|
||||||
|
ToolTip="{Binding RemoveFeature_ToolTip}"
|
||||||
|
IsEnabled="{Binding RemoveFeature_IsEnabled}"
|
||||||
|
Style="{StaticResource LeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/RemoveFeature.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
</StackPanel>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class FeatureListManagerV
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,357 @@
|
|||||||
|
Imports EgtBEAMWALL.Core
|
||||||
|
Imports EgtUILib.EgtInterface
|
||||||
|
Imports EgtWPFLib5
|
||||||
|
|
||||||
|
Public Class FeatureListManagerVM
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
#Region "FIELDS & PROPERTIES"
|
||||||
|
|
||||||
|
Public ReadOnly Property ViewPage_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return If(Map.refMainMenuVM.SelPage = Pages.VIEW OrElse Map.refMainMenuVM.SelPage = Pages.ONLYPRODPAGE, Visibility.Visible, Visibility.Collapsed)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property PartIsSelected As Boolean
|
||||||
|
Get
|
||||||
|
Return Not IsNothing(Map.refProjectVM) AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property FeatureIsSelected As Boolean
|
||||||
|
Get
|
||||||
|
Return PartIsSelected AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
|
||||||
|
Public ReadOnly Property CopyFeature_IsEnabled As Boolean
|
||||||
|
Get
|
||||||
|
Return PartIsSelected AndAlso FeatureIsSelected
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property MacroFeature_IsEnabled As Boolean
|
||||||
|
Get
|
||||||
|
Return PartIsSelected AndAlso FeatureIsSelected
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property AddFeature_IsEnabled As Boolean
|
||||||
|
Get
|
||||||
|
Return PartIsSelected AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Not Map.refProjectVM.BTLStructureVM.SelBTLPartsCnt > 1
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property RemoveFeature_IsEnabled As Boolean
|
||||||
|
Get
|
||||||
|
Return PartIsSelected AndAlso FeatureIsSelected
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
|
||||||
|
Private m_cmdCopyFeature As ICommand
|
||||||
|
Private m_cmdMacroFeature As ICommand
|
||||||
|
Private m_cmdAddFeature As ICommand
|
||||||
|
Private m_cmdRemoveFeature As ICommand
|
||||||
|
|
||||||
|
#End Region ' Fields & Properties
|
||||||
|
|
||||||
|
#Region "Messages"
|
||||||
|
|
||||||
|
Public ReadOnly Property CopyFeature_ToolTip As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61908)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property MacroFeature_ToolTip As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61909)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property AddFeature_ToolTip As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61910)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property RemoveFeature_ToolTip As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61911)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
|
||||||
|
#End Region ' Messages
|
||||||
|
|
||||||
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
|
Sub New()
|
||||||
|
Map.SetRefFeatureListManagerVM(Me)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Constructor
|
||||||
|
|
||||||
|
#Region "METHODS"
|
||||||
|
|
||||||
|
Friend Sub UpdateView()
|
||||||
|
NotifyPropertyChanged(NameOf(ViewPage_Visibility))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub SetLeftPanelIsEnabled(bIsEnabled As Boolean)
|
||||||
|
NotifyPropertyChanged(NameOf(CopyFeature_IsEnabled))
|
||||||
|
NotifyPropertyChanged(NameOf(AddFeature_IsEnabled))
|
||||||
|
NotifyPropertyChanged(NameOf(RemoveFeature_IsEnabled))
|
||||||
|
NotifyPropertyChanged(NameOf(MacroFeature_IsEnabled))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub PartShowAllChanged()
|
||||||
|
NotifyPropertyChanged(NameOf(AddFeature_IsEnabled))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub FeatureSelectionChanged()
|
||||||
|
NotifyPropertyChanged(NameOf(CopyFeature_IsEnabled))
|
||||||
|
NotifyPropertyChanged(NameOf(MacroFeature_IsEnabled))
|
||||||
|
NotifyPropertyChanged(NameOf(RemoveFeature_IsEnabled))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CreateNewFeature(MacroListCount As Integer, nSelMacro As Integer, AddFeatureWndVM As AddFeatureWndVM, nNewFeatureId As Integer, bMacroFlag As Boolean, NewFeat As BTLFeatureM)
|
||||||
|
' verifico se una Macro è selezionata
|
||||||
|
If MacroListCount > 0 AndAlso nSelMacro >= 0 Then
|
||||||
|
' Creo nuova feature sulla base della Macro selezionata
|
||||||
|
' Creo table e setto variabili
|
||||||
|
CreateMacroTable()
|
||||||
|
Dim bOk As Boolean
|
||||||
|
If AddFeatureWndVM.nSelMacroDefault >= 0 Then
|
||||||
|
bOk = EgtLuaExecFile(AddFeatureWndVM.m_MacroCustomFilePathList(nSelMacro))
|
||||||
|
Else
|
||||||
|
bOk = EgtLuaExecFile(AddFeatureWndVM.m_MacroFilePathList(nSelMacro))
|
||||||
|
End If
|
||||||
|
' Leggo variabili
|
||||||
|
EgtLuaGetGlobIntVar("MACRO.FEATUREID", nNewFeatureId)
|
||||||
|
' Reset lua
|
||||||
|
EgtLuaResetGlobVar("MACRO")
|
||||||
|
If Not bOk Then
|
||||||
|
MessageBox.Show(EgtMsg(61869), EgtMsg(30007))
|
||||||
|
Return
|
||||||
|
End If
|
||||||
|
bMacroFlag = True
|
||||||
|
Else
|
||||||
|
' Creo nuova feature (Macro non selezionata)
|
||||||
|
NewFeat = BTLFeatureM.CreateBTLFeature(AddFeatureWndVM.nSelPRC.nPRC, AddFeatureWndVM.nSelPRC.nGRP, AddFeatureWndVM.nSelPRC.nSIDE)
|
||||||
|
NewFeat.SetDefaultValues()
|
||||||
|
Dim vPar() As Double = Nothing
|
||||||
|
Dim sPar As String = String.Empty
|
||||||
|
Dim vParQ() As String = Nothing
|
||||||
|
NewFeat.CalcParamArray(vPar, sPar, vParQ)
|
||||||
|
If NewFeat.nPRC = 900 Then NewFeat.sDES = "2"
|
||||||
|
' aggiorno la feature con nuovo valore
|
||||||
|
EgtBeamSetPart(Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId)
|
||||||
|
nNewFeatureId = EgtBeamAddProcess(NewFeat.nSelGRP, NewFeat.nPRC, NewFeat.nSelSIDE, NewFeat.sDES,
|
||||||
|
Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.NewProcId(),
|
||||||
|
New Frame3d(), vPar, sPar, vParQ, GDB_ID.NULL, GDB_ID.NULL)
|
||||||
|
bMacroFlag = False
|
||||||
|
End If
|
||||||
|
' se è stata creata
|
||||||
|
If nNewFeatureId <> GDB_ID.NULL Then
|
||||||
|
MyMachGroupPanelM.SetDuploModified(Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId)
|
||||||
|
' la aggiungo a struttura BTL corrente
|
||||||
|
NewFeat = BTLFeatureM.CreateBTLFeature(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM, nNewFeatureId)
|
||||||
|
If Not bMacroFlag Then NewFeat.SetDefaultValues()
|
||||||
|
Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.AddBTLFeature(NewFeat)
|
||||||
|
Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.FirstOrDefault(Function(x) x.BTLFeatureM Is NewFeat)
|
||||||
|
Map.refProjectVM.BTLStructureVM.SelBTLPart.ResetCalcPart()
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Private Sub CreateMacroTable()
|
||||||
|
Dim nMacroW, nMacroH As Integer
|
||||||
|
If Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart.m_SelBTLFeatureVM) Then
|
||||||
|
If Map.refProjectVM.BTLStructureVM.SelBTLPart.nROTATED = 0 OrElse Map.refProjectVM.BTLStructureVM.SelBTLPart.nROTATED = 180 Then
|
||||||
|
If Map.refProjectVM.BTLStructureVM.SelBTLPart.m_SelBTLFeatureVM.nSelSIDE = 1 OrElse Map.refProjectVM.BTLStructureVM.SelBTLPart.m_SelBTLFeatureVM.nSelSIDE = 3 Then
|
||||||
|
nMacroW = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlW
|
||||||
|
nMacroH = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlH
|
||||||
|
Else
|
||||||
|
nMacroW = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlH
|
||||||
|
nMacroH = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlW
|
||||||
|
End If
|
||||||
|
ElseIf Map.refProjectVM.BTLStructureVM.SelBTLPart.nROTATED = 90 OrElse Map.refProjectVM.BTLStructureVM.SelBTLPart.nROTATED = 270 Then
|
||||||
|
If Map.refProjectVM.BTLStructureVM.SelBTLPart.m_SelBTLFeatureVM.nSelSIDE = 1 OrElse Map.refProjectVM.BTLStructureVM.SelBTLPart.m_SelBTLFeatureVM.nSelSIDE = 3 Then
|
||||||
|
nMacroW = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlH
|
||||||
|
nMacroH = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlW
|
||||||
|
Else
|
||||||
|
nMacroW = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlW
|
||||||
|
nMacroH = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlH
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
nMacroW = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlW
|
||||||
|
nMacroH = Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlH
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
EgtLuaCreateGlobTable("MACRO")
|
||||||
|
EgtLuaSetGlobNumVar("MACRO.L", Map.refProjectVM.BTLStructureVM.SelBTLPart.dBtlL)
|
||||||
|
EgtLuaSetGlobNumVar("MACRO.W", nMacroW)
|
||||||
|
EgtLuaSetGlobNumVar("MACRO.H", nMacroH)
|
||||||
|
EgtLuaSetGlobIntVar("MACRO.PROCID", Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLPartM.NewProcId())
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Methods
|
||||||
|
|
||||||
|
#Region "COMMANDS"
|
||||||
|
|
||||||
|
#Region "CopyFeature"
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Returns a command that do Exec.
|
||||||
|
''' </summary>
|
||||||
|
Public ReadOnly Property CopyFeature_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdCopyFeature Is Nothing Then
|
||||||
|
m_cmdCopyFeature = New Command(AddressOf CopyFeature)
|
||||||
|
End If
|
||||||
|
Return m_cmdCopyFeature
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
||||||
|
''' </summary>
|
||||||
|
Public Sub CopyFeature()
|
||||||
|
If IsNothing(ProjectManagerVM.CurrProj) Then Return
|
||||||
|
Dim SelPart As BTLPartVM = Map.refProjectVM.BTLStructureVM.SelBTLPart
|
||||||
|
If IsNothing(SelPart) Then Return
|
||||||
|
Dim SelFeature As BTLFeatureVM = SelPart.SelBTLFeatureVM
|
||||||
|
If IsNothing(SelFeature) Then Return
|
||||||
|
' creo copia
|
||||||
|
Dim NewFeature = SelFeature.Copy()
|
||||||
|
If Not IsNothing(NewFeature) Then
|
||||||
|
SelPart.SelBTLFeatureVM = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.FirstOrDefault(Function(x) x.BTLFeatureM Is NewFeature)
|
||||||
|
MyMachGroupPanelM.SetDuploModified(SelPart.nPartId)
|
||||||
|
End If
|
||||||
|
SelPart.ResetCalcPart()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' CopyFeature
|
||||||
|
|
||||||
|
#Region "MacroFeature"
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Returns a command that do Exec.
|
||||||
|
''' </summary>
|
||||||
|
Public ReadOnly Property MacroFeature_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdMacroFeature Is Nothing Then
|
||||||
|
m_cmdMacroFeature = New Command(AddressOf MacroFeature)
|
||||||
|
End If
|
||||||
|
Return m_cmdMacroFeature
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
||||||
|
''' </summary>
|
||||||
|
Public Sub MacroFeature()
|
||||||
|
If IsNothing(ProjectManagerVM.CurrProj) Then Return
|
||||||
|
If IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) Then Return
|
||||||
|
' apro finestra di creazione macro
|
||||||
|
Dim MacroFeatureWndVM As New MacroFeatureWndVM()
|
||||||
|
Dim NewMacroFeatureWnd As New NewMacroFeatureWnd(Application.Current.MainWindow, MacroFeatureWndVM)
|
||||||
|
If NewMacroFeatureWnd.ShowDialog() Then
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' MacroFeature
|
||||||
|
|
||||||
|
#Region "AddFeature"
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Returns a command that do Exec.
|
||||||
|
''' </summary>
|
||||||
|
Public ReadOnly Property AddFeature_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdAddFeature Is Nothing Then
|
||||||
|
m_cmdAddFeature = New Command(AddressOf AddFeature)
|
||||||
|
End If
|
||||||
|
Return m_cmdAddFeature
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
||||||
|
''' </summary>
|
||||||
|
Public Sub AddFeature(ByVal param As Object)
|
||||||
|
If IsNothing(ProjectManagerVM.CurrProj) Then Return
|
||||||
|
If IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) Then Return
|
||||||
|
' apro finestra di definizione nuova feature
|
||||||
|
Dim AddFeatureWndVM As New AddFeatureWndVM()
|
||||||
|
Dim NewFeat As BTLFeatureM = Nothing
|
||||||
|
Dim nNewFeatureId As Integer = 0
|
||||||
|
Dim bMacroFlag As Boolean = False
|
||||||
|
Dim AddNewFeatureWnd As New NewAddFeatureWndV(Application.Current.MainWindow, AddFeatureWndVM)
|
||||||
|
If AddNewFeatureWnd.ShowDialog() Then
|
||||||
|
' verifico se una Macro è selezionata
|
||||||
|
If AddFeatureWndVM.nSelMacroDefault >= 0 Then
|
||||||
|
CreateNewFeature(AddFeatureWndVM.MacroDefaultList.Count, AddFeatureWndVM.nSelMacroDefault, AddFeatureWndVM, nNewFeatureId, bMacroFlag, NewFeat)
|
||||||
|
Else
|
||||||
|
CreateNewFeature(AddFeatureWndVM.MacroCustomList.Count, AddFeatureWndVM.nSelMacroCustom, AddFeatureWndVM, nNewFeatureId, bMacroFlag, NewFeat)
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' AddFeature
|
||||||
|
|
||||||
|
#Region "RemoveFeature"
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Returns a command that do Exec.
|
||||||
|
''' </summary>
|
||||||
|
Public ReadOnly Property RemoveFeature_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdRemoveFeature Is Nothing Then
|
||||||
|
m_cmdRemoveFeature = New Command(AddressOf RemoveFeature)
|
||||||
|
End If
|
||||||
|
Return m_cmdRemoveFeature
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Execute the Exec. This method is invoked by the ExecCommand.
|
||||||
|
''' </summary>
|
||||||
|
Public Sub RemoveFeature()
|
||||||
|
If IsNothing(ProjectManagerVM.CurrProj) Then Return
|
||||||
|
If IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) Then Return
|
||||||
|
If IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM) Then Return
|
||||||
|
If EgtBeamEraseProcess(Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM.nFeatureId) Then
|
||||||
|
MyMachGroupPanelM.SetDuploModified(Map.refProjectVM.BTLStructureVM.SelBTLPart.nPartId)
|
||||||
|
' rimuovo dalla lista feature
|
||||||
|
Dim Index As Integer = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.IndexOf(Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM)
|
||||||
|
If Index = 0 Then
|
||||||
|
If Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.Count > 0 Then
|
||||||
|
Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList(0)
|
||||||
|
Else
|
||||||
|
Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM = Nothing
|
||||||
|
End If
|
||||||
|
ElseIf Index = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.Count - 1 Then
|
||||||
|
If Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.Count > 1 Then
|
||||||
|
Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList(Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.Count - 2)
|
||||||
|
Else
|
||||||
|
Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM = Nothing
|
||||||
|
End If
|
||||||
|
Else
|
||||||
|
Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList(Index - 1)
|
||||||
|
End If
|
||||||
|
Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.RemoveAt(Index)
|
||||||
|
EgtDraw()
|
||||||
|
Map.refProjectVM.BTLStructureVM.SelBTLPart.ResetCalcPart()
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' RemoveFeature
|
||||||
|
|
||||||
|
#End Region ' Commands
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
<StackPanel x:Class="OnlyProdFeatureListManagerV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
DataContext="{StaticResource FeatureListManagerVM}"
|
||||||
|
Style="{StaticResource OnlyProdFeatureListManager_StackPanel}">
|
||||||
|
|
||||||
|
<Button Command="{Binding CopyFeature_Command}"
|
||||||
|
ToolTip="{Binding CopyFeature_ToolTip}"
|
||||||
|
IsEnabled="{Binding CopyFeature_IsEnabled}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/CopyFeature.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding MacroFeature_Command}"
|
||||||
|
ToolTip="{Binding MacroFeature_ToolTip}"
|
||||||
|
IsEnabled="{Binding MacroFeature_IsEnabled}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/MacroFeature.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding AddFeature_Command}"
|
||||||
|
ToolTip="{Binding AddFeature_ToolTip}"
|
||||||
|
IsEnabled="{Binding AddFeature_IsEnabled}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/AddFeature.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding RemoveFeature_Command}"
|
||||||
|
ToolTip="{Binding RemoveFeature_ToolTip}"
|
||||||
|
IsEnabled="{Binding RemoveFeature_IsEnabled}"
|
||||||
|
Style="{StaticResource OnlyProdLeftPanel_Button}">
|
||||||
|
<Image Source="/Resources/LeftPanel/RemoveFeature.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class OnlyProdFeatureListManagerV
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
<StackPanel x:Class="FeatureManagerV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.Optimizer"
|
||||||
|
Orientation="Horizontal"
|
||||||
|
Height="32">
|
||||||
|
|
||||||
|
<TextBlock Text="{Binding Face_Msg}"
|
||||||
|
IsEnabled="{Binding FeatureManager_IsEnabled}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<ComboBox ItemsSource="{Binding Tag.SIDEList, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureManagerV}}}"
|
||||||
|
SelectedItem="{Binding Tag.nSelSIDE, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureManagerV}}}"
|
||||||
|
IsEnabled="{Binding FeatureManager_IsEnabled}"
|
||||||
|
Style="{StaticResource FeatureComboBox}"/>
|
||||||
|
<TextBlock Text="{Binding Group_Msg}"
|
||||||
|
IsEnabled="{Binding FeatureManager_IsEnabled}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<ComboBox ItemsSource="{Binding Tag.GRPList, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureManagerV}}}"
|
||||||
|
SelectedItem="{Binding Tag.nSelGRP, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureManagerV}}}"
|
||||||
|
IsEnabled="{Binding FeatureManager_IsEnabled}"
|
||||||
|
Style="{StaticResource FeatureComboBox}"/>
|
||||||
|
<TextBlock Text="{Binding Priority_Msg}"
|
||||||
|
IsEnabled="{Binding FeatureManager_IsEnabled}"
|
||||||
|
Visibility="{Binding Priority_Visibility}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Text="{Binding Tag.sPriority,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureManagerV}},
|
||||||
|
UpdateSourceTrigger=Explicit}"
|
||||||
|
IsEnabled="{Binding FeatureManager_IsEnabled}"
|
||||||
|
Visibility="{Binding Priority_Visibility}"
|
||||||
|
Width="45"/>
|
||||||
|
<TextBlock Text="{Binding Tag.sName, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureManagerV}}}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<ComboBox ItemsSource="{Binding Tag.VARIANTList, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureManagerV}}}"
|
||||||
|
SelectedItem="{Binding Tag.nSelVARIANT, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureManagerV}}}"
|
||||||
|
IsEnabled="{Binding FeatureManager_IsEnabled}"
|
||||||
|
Visibility="{Binding Variant_Visibility}"
|
||||||
|
Style="{StaticResource FeatureComboBox}"/>
|
||||||
|
|
||||||
|
<Button Content="{Binding Edit_Msg}"
|
||||||
|
Command="{Binding Tag.Edit_Command, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureManagerV}}}"
|
||||||
|
Visibility="{Binding Tag.Edit_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureManagerV}}}"
|
||||||
|
IsEnabled="{Binding Edit_IsEnabled}"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="{Binding Save_Msg}"
|
||||||
|
Command="{Binding Tag.Save_Command, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureManagerV}}}"
|
||||||
|
Visibility="{Binding Tag.SaveCancel_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureManagerV}}}"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Content="{Binding Cancel_Msg}"
|
||||||
|
Command="{Binding Tag.Cancel_Command, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureManagerV}}}"
|
||||||
|
Visibility="{Binding Tag.SaveCancel_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:FeatureManagerV}}}"
|
||||||
|
Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class FeatureManagerV
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
Imports EgtBEAMWALL.Core
|
||||||
|
Imports EgtUILib
|
||||||
|
Imports EgtWPFLib5
|
||||||
|
|
||||||
|
Public Class FeatureManagerVM
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
#Region "FIELDS & PROPERTIES"
|
||||||
|
|
||||||
|
Private m_FeatureManager_IsEnabled As Boolean = True
|
||||||
|
Public Property FeatureManager_IsEnabled As Boolean
|
||||||
|
Get
|
||||||
|
Return m_FeatureManager_IsEnabled
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
m_FeatureManager_IsEnabled = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
|
||||||
|
Private m_Variant_Visibility As Visibility = Visibility.Collapsed
|
||||||
|
Public ReadOnly Property Variant_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return m_Variant_Visibility
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Public Sub SetVariant_Visibility(value As Visibility)
|
||||||
|
m_Variant_Visibility = value
|
||||||
|
NotifyPropertyChanged(NameOf(Variant_Visibility))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Public ReadOnly Property Edit_IsEnabled As Boolean
|
||||||
|
Get
|
||||||
|
Return m_FeatureManager_IsEnabled AndAlso Not IsNothing(Map.refProjectVM.BTLStructureVM) AndAlso
|
||||||
|
Map.refProjectVM.BTLStructureVM.SelBTLParts.Count > 0 AndAlso
|
||||||
|
Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLParts(0)) AndAlso
|
||||||
|
Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLParts(0).SelBTLFeatureVM) AndAlso
|
||||||
|
Map.refProjectVM.BTLStructureVM.SelBTLParts(0).SelBTLFeatureVM.BTLFeatureM.IsFreeContour() AndAlso
|
||||||
|
Map.refProjectVM.BTLStructureVM.SelBTLParts(0).SelBTLFeatureVM.bDO
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Priority_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return If(CurrentMachine.nType = Core.ConstBeam.MachineType.WALL AndAlso CurrentMachine.bIsEnabledPriority, Visibility.Visible, Visibility.Collapsed)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
#Region "Messages"
|
||||||
|
|
||||||
|
Public ReadOnly Property Face_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61824)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Group_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61825)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Priority_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61895)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Edit_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61826)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Save_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61827)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Public ReadOnly Property Cancel_Msg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(61828)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
#End Region ' Messages
|
||||||
|
|
||||||
|
#End Region ' FIELDS & PROPERTIES
|
||||||
|
|
||||||
|
#Region "CONSTRUCTORS"
|
||||||
|
|
||||||
|
Sub New()
|
||||||
|
' imposto riferimento in Map
|
||||||
|
Map.SetRefFeatureManagerVM(Me)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' CONSTRUCTORS
|
||||||
|
|
||||||
|
#Region "METHODS"
|
||||||
|
|
||||||
|
Friend Sub SetFeatureManagerIsEnabled(bIsEnabled As Boolean)
|
||||||
|
m_FeatureManager_IsEnabled = bIsEnabled
|
||||||
|
NotifyPropertyChanged(NameOf(FeatureManager_IsEnabled))
|
||||||
|
NotifyPropertyChanged(NameOf(Edit_IsEnabled))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub SetEditIsEnabled()
|
||||||
|
' aggiorno stato abilitazione del bottone modifica free contour
|
||||||
|
NotifyPropertyChanged(NameOf(Edit_IsEnabled))
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' METHODS
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
<Grid x:Class="OnlyProdFeatureManagerV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
xmlns:EgtBEAMWALL="clr-namespace:EgtBEAMWALL.Optimizer"
|
||||||
|
Margin="30,4,0,2">
|
||||||
|
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<Expander Header="{Binding Face_Msg}"
|
||||||
|
IsEnabled="{Binding FeatureManager_IsEnabled}"
|
||||||
|
Width="80">
|
||||||
|
<ListBox ItemsSource="{Binding Tag.SIDEList, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdFeatureManagerV}}}"
|
||||||
|
SelectedItem="{Binding Tag.nSelSIDE, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdFeatureManagerV}}}"
|
||||||
|
IsEnabled="{Binding FeatureManager_IsEnabled}"
|
||||||
|
Style="{StaticResource FeatureManager_ListBox}"
|
||||||
|
ItemContainerStyle="{StaticResource AlternationIndex_ListBoxItem}"/>
|
||||||
|
</Expander>
|
||||||
|
<Expander Grid.Column="1"
|
||||||
|
Header="{Binding Group_Msg}"
|
||||||
|
IsEnabled="{Binding FeatureManager_IsEnabled}"
|
||||||
|
Width="80">
|
||||||
|
<ListBox ItemsSource="{Binding Tag.GRPList, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdFeatureManagerV}}}"
|
||||||
|
SelectedItem="{Binding Tag.nSelGRP, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdFeatureManagerV}}}"
|
||||||
|
IsEnabled="{Binding FeatureManager_IsEnabled}"
|
||||||
|
Style="{StaticResource FeatureManager_ListBox}"
|
||||||
|
ItemContainerStyle="{StaticResource AlternationIndex_ListBoxItem}"/>
|
||||||
|
</Expander>
|
||||||
|
<TextBlock Grid.Column="2"
|
||||||
|
Text="{Binding Priority_Msg}"
|
||||||
|
IsEnabled="{Binding FeatureManager_IsEnabled}"
|
||||||
|
Visibility="{Binding Priority_Visibility}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<EgtWPFLib5:EgtTextBox Grid.Column="3"
|
||||||
|
Text="{Binding Tag.sPriority,
|
||||||
|
RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdFeatureManagerV}},
|
||||||
|
UpdateSourceTrigger=Explicit}"
|
||||||
|
IsEnabled="{Binding FeatureManager_IsEnabled}"
|
||||||
|
Visibility="{Binding Priority_Visibility}"
|
||||||
|
Style="{StaticResource Dimension_TextBox}"/>
|
||||||
|
<TextBlock Grid.Column="4"
|
||||||
|
Text="{Binding Tag.sName, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdFeatureManagerV}}}"
|
||||||
|
Style="{StaticResource OnlyProdFeatureManager_OnlyProd}"/>
|
||||||
|
<Button Grid.Column="5"
|
||||||
|
Content="{Binding Edit_Msg}"
|
||||||
|
Command="{Binding Tag.Edit_Command, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdFeatureManagerV}}}"
|
||||||
|
Visibility="{Binding Tag.Edit_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdFeatureManagerV}}}"
|
||||||
|
IsEnabled="{Binding Edit_IsEnabled}"
|
||||||
|
Style="{StaticResource GeneralConfigurationToolBar_TextButton}"/>
|
||||||
|
<Button Grid.Column="6"
|
||||||
|
Content="{Binding Save_Msg}"
|
||||||
|
Command="{Binding Tag.Save_Command, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdFeatureManagerV}}}"
|
||||||
|
Visibility="{Binding Tag.SaveCancel_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdFeatureManagerV}}}"
|
||||||
|
Style="{StaticResource GeneralConfigurationToolBar_TextButton}"/>
|
||||||
|
<Button Grid.Column="7"
|
||||||
|
Content="{Binding Cancel_Msg}"
|
||||||
|
Command="{Binding Tag.Cancel_Command, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdFeatureManagerV}}}"
|
||||||
|
Visibility="{Binding Tag.SaveCancel_Visibility, RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:OnlyProdFeatureManagerV}}}"
|
||||||
|
Style="{StaticResource GeneralConfigurationToolBar_TextButton}"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class OnlyProdFeatureManagerV
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
<UserControl x:Class="FreeContourInputV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
|
||||||
|
Height="32">
|
||||||
|
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<StackPanel.Style>
|
||||||
|
<Style TargetType="{x:Type StackPanel}">
|
||||||
|
<Style.Triggers>
|
||||||
|
<DataTrigger Binding="{Binding FocusTextBox}" Value="True">
|
||||||
|
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=PropertySearch}"/>
|
||||||
|
</DataTrigger>
|
||||||
|
</Style.Triggers>
|
||||||
|
</Style>
|
||||||
|
</StackPanel.Style>
|
||||||
|
<TextBlock Text="{Binding Message}"
|
||||||
|
Visibility="{Binding Message_Visibility}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<TextBox Text="{Binding Text, UpdateSourceTrigger=PropertyChanged}"
|
||||||
|
Width="200"
|
||||||
|
Visibility="{Binding Text_Visibility}" Margin="5,0,5,0"
|
||||||
|
Style="{StaticResource FreeContour_TextBox}">
|
||||||
|
<TextBox.InputBindings>
|
||||||
|
<KeyBinding Key="Enter" Command="{Binding Done_Command, UpdateSourceTrigger=PropertyChanged}"/>
|
||||||
|
<KeyBinding Key="S" Modifiers="Control" Command="{Binding Show_Command}"/>
|
||||||
|
</TextBox.InputBindings>
|
||||||
|
</TextBox>
|
||||||
|
<CheckBox Content="{Binding CheckBoxText}" IsChecked="{Binding IsChecked}"
|
||||||
|
Visibility="{Binding Check_Visibility}" Margin="5,0,5,0"
|
||||||
|
VerticalAlignment="Center"/>
|
||||||
|
<ComboBox ItemsSource="{Binding ComboItemsList}" SelectedIndex="{Binding ComboSelectedIndex}"
|
||||||
|
Visibility="{Binding Combo_Visibility}" Margin="5,0,5,0" Style="{x:Null}"/>
|
||||||
|
<Grid Margin="5,0,5,0">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Button Command="{Binding Show_Command}" Visibility="{Binding ShowBtn_Visibility}"
|
||||||
|
Content="{Binding ShowMsg}" Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
<Button Command="{Binding Done_Command}" Visibility="{Binding DoneBtn_Visibility}"
|
||||||
|
Grid.Column="1"
|
||||||
|
Content="{Binding OkMsg}" Style="{StaticResource EgtWPFLib5_InputButton}"/>
|
||||||
|
</Grid>
|
||||||
|
</StackPanel>
|
||||||
|
</UserControl>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class FreeContourInputV
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,335 @@
|
|||||||
|
Imports System.Collections.ObjectModel
|
||||||
|
Imports EgtUILib
|
||||||
|
Imports EgtWPFLib5
|
||||||
|
|
||||||
|
Public Class FreeContourInputVM
|
||||||
|
Inherits VMBase
|
||||||
|
|
||||||
|
#Region "FIELDS & PROPERTIES"
|
||||||
|
|
||||||
|
Private m_Title As String
|
||||||
|
Public Property Title As String
|
||||||
|
Get
|
||||||
|
Return m_Title
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_Title = value
|
||||||
|
NotifyPropertyChanged(NameOf(Title))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' TextBlock fields
|
||||||
|
Private m_Message As String
|
||||||
|
Public Property Message As String
|
||||||
|
Get
|
||||||
|
Return m_Message
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_Message = value
|
||||||
|
NotifyPropertyChanged(NameOf(Message))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' TextBox fields
|
||||||
|
Private m_Text As String
|
||||||
|
Public Property Text As String
|
||||||
|
Get
|
||||||
|
Return m_Text
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_Text = value
|
||||||
|
'Map.refProjectVM.NotifyInputText(value)
|
||||||
|
NotifyPropertyChanged(NameOf(Text))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_Text_Visibility As Visibility
|
||||||
|
Public Property Text_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return m_Text_Visibility
|
||||||
|
End Get
|
||||||
|
Set(value As Visibility)
|
||||||
|
If value <> m_Text_Visibility Then
|
||||||
|
m_Text_Visibility = value
|
||||||
|
NotifyPropertyChanged(NameOf(Text_Visibility))
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_Message_Visibility As Visibility
|
||||||
|
Public Property Message_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return m_Message_Visibility
|
||||||
|
End Get
|
||||||
|
Set(value As Visibility)
|
||||||
|
If value <> m_Message_Visibility Then
|
||||||
|
m_Message_Visibility = value
|
||||||
|
NotifyPropertyChanged(NameOf(Message_Visibility))
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_FocusTextBox As Boolean
|
||||||
|
Public Property FocusTextBox As Boolean
|
||||||
|
Get
|
||||||
|
Return m_FocusTextBox
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
m_FocusTextBox = value
|
||||||
|
NotifyPropertyChanged(NameOf(FocusTextBox))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
'CheckBox fields
|
||||||
|
Private m_CheckBoxText As String
|
||||||
|
Public Property CheckBoxText As String
|
||||||
|
Get
|
||||||
|
Return m_CheckBoxText
|
||||||
|
End Get
|
||||||
|
Set(value As String)
|
||||||
|
m_CheckBoxText = value
|
||||||
|
NotifyPropertyChanged(NameOf(CheckBoxText))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_IsChecked As Boolean = False
|
||||||
|
Public Property IsChecked As Boolean
|
||||||
|
Get
|
||||||
|
Return m_IsChecked
|
||||||
|
End Get
|
||||||
|
Set(value As Boolean)
|
||||||
|
If value <> m_IsChecked Then
|
||||||
|
Map.refSceneHostVM.MainController.SetLastBoolean(value)
|
||||||
|
m_IsChecked = value
|
||||||
|
NotifyPropertyChanged(NameOf(IsChecked))
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_Check_Visibility As Visibility
|
||||||
|
Public Property Check_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return m_Check_Visibility
|
||||||
|
End Get
|
||||||
|
Set(value As Visibility)
|
||||||
|
If value <> m_Check_Visibility Then
|
||||||
|
m_Check_Visibility = value
|
||||||
|
NotifyPropertyChanged(NameOf(Check_Visibility))
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' ComboBox fields
|
||||||
|
Private m_ComboItemsList As New ObservableCollection(Of String)
|
||||||
|
Public Property ComboItemsList As ObservableCollection(Of String)
|
||||||
|
Get
|
||||||
|
Return m_ComboItemsList
|
||||||
|
End Get
|
||||||
|
Set(value As ObservableCollection(Of String))
|
||||||
|
m_ComboItemsList = value
|
||||||
|
NotifyPropertyChanged(NameOf(ComboItemsList))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_ComboSelectedIndex As Integer
|
||||||
|
Public Property ComboSelectedIndex As Integer
|
||||||
|
Get
|
||||||
|
Return m_ComboSelectedIndex
|
||||||
|
End Get
|
||||||
|
Set(value As Integer)
|
||||||
|
Map.refSceneHostVM.MainController.SetLastInteger(value)
|
||||||
|
m_ComboSelectedIndex = value
|
||||||
|
NotifyPropertyChanged(NameOf(ComboSelectedIndex))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_Combo_Visibility As Visibility
|
||||||
|
Public Property Combo_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return m_Combo_Visibility
|
||||||
|
End Get
|
||||||
|
Set(value As Visibility)
|
||||||
|
If value <> m_Combo_Visibility Then
|
||||||
|
m_Combo_Visibility = value
|
||||||
|
NotifyPropertyChanged(NameOf(Combo_Visibility))
|
||||||
|
End If
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Buttons fields
|
||||||
|
Private m_ShowBtn_Visibility As Visibility
|
||||||
|
Public Property ShowBtn_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return m_ShowBtn_Visibility
|
||||||
|
End Get
|
||||||
|
Set(value As Visibility)
|
||||||
|
m_ShowBtn_Visibility = value
|
||||||
|
NotifyPropertyChanged(NameOf(ShowBtn_Visibility))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
Private m_DoneBtn_Visibility As Visibility
|
||||||
|
Public Property DoneBtn_Visibility As Visibility
|
||||||
|
Get
|
||||||
|
Return m_DoneBtn_Visibility
|
||||||
|
End Get
|
||||||
|
Set(value As Visibility)
|
||||||
|
m_DoneBtn_Visibility = value
|
||||||
|
NotifyPropertyChanged(NameOf(DoneBtn_Visibility))
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
|
|
||||||
|
' Commands definition
|
||||||
|
Private m_cmdShow As ICommand
|
||||||
|
Private m_cmdDone As ICommand
|
||||||
|
|
||||||
|
#Region "Messages"
|
||||||
|
|
||||||
|
Public ReadOnly Property ShowMsg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(5364)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
Public ReadOnly Property OkMsg As String
|
||||||
|
Get
|
||||||
|
Return EgtMsg(5365)
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
#End Region
|
||||||
|
|
||||||
|
#End Region ' Fields & Properties
|
||||||
|
|
||||||
|
#Region "CONSTRUCTOR"
|
||||||
|
|
||||||
|
Sub New()
|
||||||
|
' Creo riferimento a questa classe in EgtCAM5Map
|
||||||
|
Map.SetRefFreeContourInputVM(Me)
|
||||||
|
' nascondo input box
|
||||||
|
ResetInputBox()
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Constructor
|
||||||
|
|
||||||
|
#Region "METHODS"
|
||||||
|
|
||||||
|
Friend Sub ShowMessage(sTitle As String, sLabel As String)
|
||||||
|
Title = sTitle
|
||||||
|
If sLabel <> "" Then
|
||||||
|
Message = sLabel
|
||||||
|
Message_Visibility = Visibility.Visible
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub PrepareInputBox(sTitle As String, sLabel As String, sCheckLabel As String,
|
||||||
|
bShowCombo As Boolean, bShowBtn As Boolean)
|
||||||
|
Title = sTitle
|
||||||
|
If sLabel <> "" Then
|
||||||
|
Message = sLabel
|
||||||
|
Text = ""
|
||||||
|
Text_Visibility = Visibility.Visible
|
||||||
|
Message_Visibility = Visibility.Visible
|
||||||
|
End If
|
||||||
|
If bShowCombo Then
|
||||||
|
ComboItemsList.Clear()
|
||||||
|
Combo_Visibility = Visibility.Visible
|
||||||
|
End If
|
||||||
|
If bShowBtn Then
|
||||||
|
ShowBtn_Visibility = Visibility.Visible
|
||||||
|
End If
|
||||||
|
DoneBtn_Visibility = Visibility.Visible
|
||||||
|
FocusTextBox = True
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Sub ResetInputBox()
|
||||||
|
Title = EgtMsg(5355)
|
||||||
|
Text_Visibility = Visibility.Collapsed
|
||||||
|
Message_Visibility = Visibility.Collapsed
|
||||||
|
Check_Visibility = Visibility.Collapsed
|
||||||
|
Combo_Visibility = Visibility.Collapsed
|
||||||
|
ShowBtn_Visibility = Visibility.Collapsed
|
||||||
|
DoneBtn_Visibility = Visibility.Collapsed
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
Friend Function SetInputBoxText(sVal As String) As Boolean
|
||||||
|
Text = sVal
|
||||||
|
FocusTextBox = True
|
||||||
|
Return True
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Friend Function ChangeInputBoxCheck() As Boolean
|
||||||
|
IsChecked = Not m_IsChecked
|
||||||
|
Return True
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Friend Function SetInputBoxCheck(bCheck As Boolean) As Boolean
|
||||||
|
IsChecked = bCheck
|
||||||
|
Map.refSceneHostVM.MainController.SetLastBoolean(IsChecked)
|
||||||
|
Return True
|
||||||
|
End Function
|
||||||
|
|
||||||
|
Friend Function AddInputBoxCombo(sText As String, bSelected As Boolean) As Boolean
|
||||||
|
ComboItemsList.Add(sText)
|
||||||
|
If bSelected Then
|
||||||
|
ComboSelectedIndex = ComboItemsList.Count - 1
|
||||||
|
End If
|
||||||
|
Return True
|
||||||
|
End Function
|
||||||
|
|
||||||
|
#End Region ' METHODS
|
||||||
|
|
||||||
|
#Region "COMMANDS"
|
||||||
|
|
||||||
|
#Region "Show"
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Returns a command that do Point.
|
||||||
|
''' </summary>
|
||||||
|
Public ReadOnly Property Show_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdShow Is Nothing Then
|
||||||
|
m_cmdShow = New Command(AddressOf Show)
|
||||||
|
End If
|
||||||
|
Return m_cmdShow
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Execute the Point. This method is invoked by the PointCommand.
|
||||||
|
''' </summary>
|
||||||
|
Public Sub Show(ByVal param As Object)
|
||||||
|
Map.refSceneHostVM.MainController.Show(m_Text)
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Show
|
||||||
|
|
||||||
|
#Region "Done"
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Returns a command that do Point.
|
||||||
|
''' </summary>
|
||||||
|
Public ReadOnly Property Done_Command As ICommand
|
||||||
|
Get
|
||||||
|
If m_cmdDone Is Nothing Then
|
||||||
|
m_cmdDone = New Command(AddressOf Done)
|
||||||
|
End If
|
||||||
|
Return m_cmdDone
|
||||||
|
End Get
|
||||||
|
End Property
|
||||||
|
|
||||||
|
''' <summary>
|
||||||
|
''' Execute the Point. This method is invoked by the PointCommand.
|
||||||
|
''' </summary>
|
||||||
|
Public Sub Done(ByVal param As Object)
|
||||||
|
If Map.refFreeContourManagerVM.bIsActive AndAlso Map.refFreeContourManagerVM.bIsModifyingTextAngle Then
|
||||||
|
Map.refFreeContourManagerVM.CloseIsModifyingTextAngle(True)
|
||||||
|
Else
|
||||||
|
Map.refSceneHostVM.MainController.Done(m_Text)
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
#End Region ' Done
|
||||||
|
|
||||||
|
#End Region ' COMMANDS
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,53 @@
|
|||||||
|
<UserControl x:Class="OnlyProdFreeContourInputV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
Height="32">
|
||||||
|
|
||||||
|
<StackPanel>
|
||||||
|
<StackPanel.Style>
|
||||||
|
<Style TargetType="{x:Type StackPanel}">
|
||||||
|
<Setter Property="Orientation" Value="Horizontal"/>
|
||||||
|
<Style.Triggers>
|
||||||
|
<DataTrigger Binding="{Binding FocusTextBox}" Value="True">
|
||||||
|
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=PropertySearch}"/>
|
||||||
|
</DataTrigger>
|
||||||
|
</Style.Triggers>
|
||||||
|
</Style>
|
||||||
|
</StackPanel.Style>
|
||||||
|
|
||||||
|
<TextBlock Text="{Binding Message}"
|
||||||
|
Visibility="{Binding Message_Visibility}"
|
||||||
|
Style="{StaticResource OptionTextBlock}"/>
|
||||||
|
<TextBox Text="{Binding Text, UpdateSourceTrigger=PropertyChanged}"
|
||||||
|
Visibility="{Binding Text_Visibility}"
|
||||||
|
Style="{StaticResource FreeContour_TextBox}">
|
||||||
|
<TextBox.InputBindings>
|
||||||
|
<KeyBinding Key="Enter" Command="{Binding Done_Command, UpdateSourceTrigger=PropertyChanged}"/>
|
||||||
|
<KeyBinding Key="S" Modifiers="Control" Command="{Binding Show_Command}"/>
|
||||||
|
</TextBox.InputBindings>
|
||||||
|
</TextBox>
|
||||||
|
<CheckBox Content="{Binding CheckBoxText}"
|
||||||
|
IsChecked="{Binding IsChecked}"
|
||||||
|
Visibility="{Binding Check_Visibility}"
|
||||||
|
Style="{StaticResource FreeContourInput_CheckBox}"/>
|
||||||
|
<ComboBox ItemsSource="{Binding ComboItemsList}"
|
||||||
|
SelectedIndex="{Binding ComboSelectedIndex}"
|
||||||
|
Visibility="{Binding Combo_Visibility}"
|
||||||
|
Margin="5,0,5,0"/>
|
||||||
|
<Grid Margin="5,0,5,0">
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Button Command="{Binding Show_Command}"
|
||||||
|
Visibility="{Binding ShowBtn_Visibility}"
|
||||||
|
Content="{Binding ShowMsg}"
|
||||||
|
Style="{StaticResource GeneralConfigurationToolBar_TextButton}"/>
|
||||||
|
<Button Grid.Column="1"
|
||||||
|
Command="{Binding Done_Command}"
|
||||||
|
Visibility="{Binding DoneBtn_Visibility}"
|
||||||
|
Content="{Binding OkMsg}"
|
||||||
|
Style="{StaticResource GeneralConfigurationToolBar_TextButton}"/>
|
||||||
|
</Grid>
|
||||||
|
</StackPanel>
|
||||||
|
</UserControl>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class OnlyProdFreeContourInputV
|
||||||
|
|
||||||
|
End Class
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
<EgtFloating:EgtFloatingPanel x:Class="FreeContourManagerV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
|
||||||
|
IsTopDockable="True" IsBottomDockable="False" IsLeftDockable="False"
|
||||||
|
IsRightDockable="False" Style="{StaticResource ToolBar_EgtFloatingPanel}">
|
||||||
|
|
||||||
|
<ComboBox ItemsSource="{Binding TypeList}"
|
||||||
|
SelectedIndex="{Binding SelType, Delay=1}"
|
||||||
|
Height="22" Width="160"
|
||||||
|
Margin="0,0,5,0"/>
|
||||||
|
<ComboBox ItemsSource="{Binding PathList}"
|
||||||
|
SelectedIndex="{Binding SelPath}"
|
||||||
|
Height="22" Width="100"
|
||||||
|
Margin="0,0,5,0"
|
||||||
|
Visibility="{Binding PathList_Visibility}"/>
|
||||||
|
<Button Command="{Binding Line2P_Command}"
|
||||||
|
ToolTip="{Binding Line2P_ToolTip}"
|
||||||
|
IsEnabled="{Binding Line2P_IsEnabled}"
|
||||||
|
Style="{StaticResource ToolBar_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/Line2P.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding Delete_Command}"
|
||||||
|
ToolTip="{Binding Delete_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBar_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/Delete.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding ModifyCurve_Command}"
|
||||||
|
ToolTip="{Binding ModifyCurve_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBar_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/ModifyCurve.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding AddPointCurve_Command}"
|
||||||
|
ToolTip="{Binding AddPointCurve_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBar_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/AddPointCurve.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding RemovePointCurve_Command}"
|
||||||
|
ToolTip="{Binding RemovePointCurve_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBar_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/RemovePointCurve.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding ChangeStart_Command}"
|
||||||
|
ToolTip="{Binding ChangeStart_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBar_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/ChangeStart.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding InvertCurve_Command}"
|
||||||
|
ToolTip="{Binding InvertCurve_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBar_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/InvertCurve.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding Move_Command}"
|
||||||
|
ToolTip="{Binding Move_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBar_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/Move.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding Rotate_Command}"
|
||||||
|
ToolTip="{Binding Rotate_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBar_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/Rotate.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding TextAngle_Command}"
|
||||||
|
ToolTip="{Binding TextAngle_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBar_Button}"
|
||||||
|
Visibility="{Binding TextAngle_Visibility}">
|
||||||
|
<Image Source="/Resources/DrawPanel/Text.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
</EgtFloating:EgtFloatingPanel>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
Public Class FreeContourManagerV
|
||||||
|
|
||||||
|
End Class
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,67 @@
|
|||||||
|
<StackPanel x:Class="OnlyProdFreeContourManagerV"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:EgtFloating="clr-namespace:EgtWPFLib5.EgtFloating;assembly=EgtWPFLib5"
|
||||||
|
Style="{StaticResource OnlyProdBTLPartManager_StackPanel}">
|
||||||
|
|
||||||
|
<ComboBox ItemsSource="{Binding TypeList}"
|
||||||
|
SelectedIndex="{Binding SelType, Delay=1}"
|
||||||
|
Style="{StaticResource OnlyProdType_ComboBox}"/>
|
||||||
|
<ComboBox ItemsSource="{Binding PathList}"
|
||||||
|
SelectedIndex="{Binding SelPath}"
|
||||||
|
Visibility="{Binding PathList_Visibility}"
|
||||||
|
Style="{StaticResource OnlyProdPath_ComboBox}"/>
|
||||||
|
<Button Command="{Binding Line2P_Command}"
|
||||||
|
ToolTip="{Binding Line2P_ToolTip}"
|
||||||
|
IsEnabled="{Binding Line2P_IsEnabled}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/Line2P.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding Delete_Command}"
|
||||||
|
ToolTip="{Binding Delete_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/Delete.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding ModifyCurve_Command}"
|
||||||
|
ToolTip="{Binding ModifyCurve_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/ModifyCurve.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding AddPointCurve_Command}"
|
||||||
|
ToolTip="{Binding AddPointCurve_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/AddPointCurve.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding RemovePointCurve_Command}"
|
||||||
|
ToolTip="{Binding RemovePointCurve_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/RemovePointCurve.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding ChangeStart_Command}"
|
||||||
|
ToolTip="{Binding ChangeStart_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/ChangeStart.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding InvertCurve_Command}"
|
||||||
|
ToolTip="{Binding InvertCurve_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/InvertCurve.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding Move_Command}"
|
||||||
|
ToolTip="{Binding Move_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/Move.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding Rotate_Command}"
|
||||||
|
ToolTip="{Binding Rotate_ToolTip}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/Rotate.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
<Button Command="{Binding TextAngle_Command}"
|
||||||
|
ToolTip="{Binding TextAngle_ToolTip}"
|
||||||
|
Visibility="{Binding TextAngle_Visibility}"
|
||||||
|
Style="{StaticResource ToolBarViewPanel_Button}">
|
||||||
|
<Image Source="/Resources/DrawPanel/Text.png" Stretch="Uniform"/>
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
</StackPanel>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user