00a338c202
This reverts commit1f49d0936e, reversing changes made to236eeac038.
1872 lines
78 KiB
VB.net
1872 lines
78 KiB
VB.net
Imports System.Windows.Forms.Integration
|
|
Imports System.Collections.ObjectModel
|
|
Imports System.Reflection
|
|
Imports System.IO
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class ToolDbWindowVM
|
|
Inherits VMBase
|
|
|
|
#Region "NEW INTERFACE PROPERTIES"
|
|
|
|
Private m_bPersonalInterface As Boolean = False
|
|
Public Property bPersonalInterface As Boolean
|
|
Get
|
|
Return m_bPersonalInterface
|
|
End Get
|
|
Set(value As Boolean)
|
|
m_bPersonalInterface = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BorderBrushIsMouseOver As Brush
|
|
Public Property BorderBrushIsMouseOver As Brush
|
|
Get
|
|
Return m_BorderBrushIsMouseOver
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BorderBrushIsMouseOver = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_GeneralBorderBrush As Brush
|
|
Public Property GeneralBorderBrush As Brush
|
|
Get
|
|
Return m_GeneralBorderBrush
|
|
End Get
|
|
Set(value As Brush)
|
|
m_GeneralBorderBrush = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BorderBrushIsFocused As Brush
|
|
Public Property BorderBrushIsFocused As Brush
|
|
Get
|
|
Return m_BorderBrushIsFocused
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BorderBrushIsFocused = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BackgroundBrdEnable As Brush
|
|
Public Property BackgroundBrdEnable As Brush
|
|
Get
|
|
Return m_BackgroundBrdEnable
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BackgroundBrdEnable = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BackgroundBrdDisable As Brush
|
|
Public Property BackgroundBrdDisable As Brush
|
|
Get
|
|
Return m_BackgroundBrdDisable
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BackgroundBrdDisable = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BackgroundTxBlDisable As Brush
|
|
Public Property BackgroundTxBlDisable As Brush
|
|
Get
|
|
Return m_BackgroundTxBlDisable
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BackgroundTxBlDisable = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_ForegroundTxBlEnable As Brush
|
|
Public Property ForegroundTxBlEnable As Brush
|
|
Get
|
|
Return m_ForegroundTxBlEnable
|
|
End Get
|
|
Set(value As Brush)
|
|
m_ForegroundTxBlEnable = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_ForegroundTxBlDisable As Brush
|
|
Public Property ForegroundTxBlDisable As Brush
|
|
Get
|
|
Return m_ForegroundTxBlDisable
|
|
End Get
|
|
Set(value As Brush)
|
|
m_ForegroundTxBlDisable = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_GeneralForeground As Brush
|
|
Public Property GeneralForeground As Brush
|
|
Get
|
|
Return m_GeneralForeground
|
|
End Get
|
|
Set(value As Brush)
|
|
m_GeneralForeground = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_GeneralBackground As Brush
|
|
Public Property GeneralBackground As Brush
|
|
Get
|
|
Return m_GeneralBackground
|
|
End Get
|
|
Set(value As Brush)
|
|
m_GeneralBackground = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_MyBorderGrbThickness As Double
|
|
Public Property MyBorderGrbThickness As Double
|
|
Get
|
|
Return m_MyBorderGrbThickness
|
|
End Get
|
|
Set(value As Double)
|
|
m_MyBorderGrbThickness = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_MyForegroundGrbColor As Brush
|
|
Public Property MyForegroundGrbColor As Brush
|
|
Get
|
|
Return m_MyForegroundGrbColor
|
|
End Get
|
|
Set(value As Brush)
|
|
m_MyForegroundGrbColor = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BackgroundCmBxTxBl As Brush
|
|
Public Property BackgroundCmBxTxBl As Brush
|
|
Get
|
|
Return m_BackgroundCmBxTxBl
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BackgroundCmBxTxBl = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_ForegroundCmBxTxBl As Brush
|
|
Public Property ForegroundCmBxTxBl As Brush
|
|
Get
|
|
Return m_ForegroundCmBxTxBl
|
|
End Get
|
|
Set(value As Brush)
|
|
m_ForegroundCmBxTxBl = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BorderThicknessCmBxTxBl As Thickness
|
|
Public Property BorderThicknessCmBxTxBl As Thickness
|
|
Get
|
|
Return m_BorderThicknessCmBxTxBl
|
|
End Get
|
|
Set(value As Thickness)
|
|
m_BorderThicknessCmBxTxBl = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_VerticalContentAlignmentCmBxTxBl As String
|
|
Public Property VerticalContentAlignmentCmBxTxBl As String
|
|
Get
|
|
Return m_VerticalContentAlignmentCmBxTxBl
|
|
End Get
|
|
Set(value As String)
|
|
m_VerticalContentAlignmentCmBxTxBl = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_HeightCmBxTxBl As String
|
|
Public Property HeightCmBxTxBl As String
|
|
Get
|
|
Return m_HeightCmBxTxBl
|
|
End Get
|
|
Set(value As String)
|
|
m_HeightCmBxTxBl = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_WidthCmBxTxBl As String
|
|
Public Property WidthCmBxTxBl As String
|
|
Get
|
|
Return m_WidthCmBxTxBl
|
|
End Get
|
|
Set(value As String)
|
|
m_WidthCmBxTxBl = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_ForegroundTextBoxCmBxTxBl As Brush
|
|
Public Property ForegroundTextBoxCmBxTxBl As Brush
|
|
Get
|
|
Return m_ForegroundTextBoxCmBxTxBl
|
|
End Get
|
|
Set(value As Brush)
|
|
m_ForegroundTextBoxCmBxTxBl = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BackgroundButton As Brush
|
|
Public Property BackgroundButton As Brush
|
|
Get
|
|
Return m_BackgroundButton
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BackgroundButton = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_ForegroundButton As Brush
|
|
Public Property ForegroundButton As Brush
|
|
Get
|
|
Return m_ForegroundButton
|
|
End Get
|
|
Set(value As Brush)
|
|
m_ForegroundButton = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BorderBrushButton As Brush
|
|
Public Property BorderBrushButton As Brush
|
|
Get
|
|
Return m_BorderBrushButton
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BorderBrushButton = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BorderThicknessButton As Thickness
|
|
Public Property BorderThicknessButton As Thickness
|
|
Get
|
|
Return m_BorderThicknessButton
|
|
End Get
|
|
Set(value As Thickness)
|
|
m_BorderThicknessButton = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_HeaderVisibility As DataGridHeadersVisibility = DataGridHeadersVisibility.Column
|
|
Public Property HeaderVisibility As DataGridHeadersVisibility
|
|
Get
|
|
Return m_HeaderVisibility
|
|
End Get
|
|
Set(value As DataGridHeadersVisibility)
|
|
m_HeaderVisibility = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BackgroundDataGrid As Brush = Brushes.White
|
|
Public Property BackgroundDataGrid As Brush
|
|
Get
|
|
Return m_BackgroundDataGrid
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BackgroundDataGrid = value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
Private m_BackGroundHeader As Brush = Brushes.White
|
|
Public Property BackGroundHeader As Brush
|
|
Get
|
|
Return m_BackGroundHeader
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BackGroundHeader = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_ForegroundHeader As Brush = Brushes.White
|
|
Public Property ForegroundHeader As Brush
|
|
Get
|
|
Return m_ForegroundHeader
|
|
End Get
|
|
Set(value As Brush)
|
|
m_ForegroundHeader = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BorderBrushHeader As Brush = Brushes.DarkGray
|
|
Public Property BorderBrushHeader As Brush
|
|
Get
|
|
Return m_BorderBrushHeader
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BorderBrushHeader = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BorderThicknessHeader As Double = 1.0
|
|
Public Property BorderThicknessHeader As Double
|
|
Get
|
|
Return m_BorderThicknessHeader
|
|
End Get
|
|
Set(value As Double)
|
|
m_BorderThicknessHeader = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_FontWeightHeader As FontWeight = FontWeights.Normal
|
|
Public Property FontWeightHeader As FontWeight
|
|
Get
|
|
Return m_FontWeightHeader
|
|
End Get
|
|
Set(value As FontWeight)
|
|
m_FontWeightHeader = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BorderBrushDataGrid As Brush = Brushes.DarkGray
|
|
Public Property BorderBrushDataGrid As Brush
|
|
Get
|
|
Return m_BorderBrushDataGrid
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BorderBrushDataGrid = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BackgroundDataGridRow As Brush = Brushes.White
|
|
Public Property BackgroundDataGridRow As Brush
|
|
Get
|
|
Return m_BackgroundDataGridRow
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BackgroundDataGridRow = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_ForegroundDataGridRow As Brush = Brushes.White
|
|
Public Property ForegroundDataGridRow As Brush
|
|
Get
|
|
Return m_ForegroundDataGridRow
|
|
End Get
|
|
Set(value As Brush)
|
|
m_ForegroundDataGridRow = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BorderBrushDataGridRow As Brush = Brushes.DarkGray
|
|
Public Property BorderBrushDataGridRow As Brush
|
|
Get
|
|
Return m_BorderBrushDataGridRow
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BorderBrushDataGridRow = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BorderThicknessDataGridRow As String = "0 0 0 1"
|
|
Public Property BorderThicknessDataGridRow As String
|
|
Get
|
|
Return m_BorderThicknessDataGridRow
|
|
End Get
|
|
Set(value As String)
|
|
m_BorderThicknessDataGridRow = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BorderBrushDataGridCell As Brush = Brushes.DarkGray
|
|
Public Property BorderBrushDataGridCell As Brush
|
|
Get
|
|
Return m_BorderBrushDataGridCell
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BorderBrushDataGridCell = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BorderThicknessDataGridCell As String = "0 0 0 1"
|
|
Public Property BorderThicknessDataGridCell As String
|
|
Get
|
|
Return m_BorderThicknessDataGridCell
|
|
End Get
|
|
Set(value As String)
|
|
m_BorderThicknessDataGridCell = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BorderBrushCmBxTxBl As Brush
|
|
Public Property BorderBrushCmBxTxBl As Brush
|
|
Get
|
|
Return m_BorderBrushCmBxTxBl
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BorderBrushCmBxTxBl = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_BackgroundListCmBxTxBl As Brush
|
|
Public Property BackgroundListCmBxTxBl As Brush
|
|
Get
|
|
Return m_BackgroundListCmBxTxBl
|
|
End Get
|
|
Set(value As Brush)
|
|
m_BackgroundListCmBxTxBl = value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
#End Region ' New interface properties
|
|
|
|
Public Event m_CloseWindow(bDialogResult As Boolean)
|
|
|
|
Private Const SETUP_FILEEXTENSION As String = ".stu"
|
|
|
|
Friend Shared m_bActive As Boolean = False
|
|
Friend Shared m_ProjectSceneContext As Integer = 0
|
|
Public Shared ReadOnly Property ProjectSceneContext As Integer
|
|
Get
|
|
Return m_ProjectSceneContext
|
|
End Get
|
|
End Property
|
|
Friend Shared m_ToolDbSceneContext As Integer = 0
|
|
Public Shared ReadOnly Property ToolDbSceneContext As Integer
|
|
Get
|
|
Return m_ToolDbSceneContext
|
|
End Get
|
|
End Property
|
|
Friend Shared m_sToolMakersDirPath As String = String.Empty
|
|
Friend Shared m_sMachineIniPath As String = String.Empty
|
|
Friend Shared m_sScriptDirPath As String = String.Empty
|
|
Friend Shared m_sToolDirPath As String = String.Empty
|
|
Friend Shared m_MatType As MaterialType = Nothing
|
|
Friend Shared m_bVisibleSysNotes As Boolean = False
|
|
|
|
Public Property MatType As MaterialType
|
|
Get
|
|
Return m_MatType
|
|
End Get
|
|
Set(value As MaterialType)
|
|
m_MatType = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_Title As String
|
|
Public ReadOnly Property Title As String
|
|
Get
|
|
Return EgtMsg(MSG_MAINWINDOW + 3)
|
|
End Get
|
|
End Property
|
|
|
|
' Lista degli utensili
|
|
Private m_ToolsList As New ObservableCollection(Of FamilyToolTreeViewItem)
|
|
Public Property ToolsList As ObservableCollection(Of FamilyToolTreeViewItem)
|
|
Get
|
|
Return m_ToolsList
|
|
End Get
|
|
Set(value As ObservableCollection(Of FamilyToolTreeViewItem))
|
|
m_ToolsList = value
|
|
End Set
|
|
End Property
|
|
|
|
Public ReadOnly Property SelFamily As FamilyToolTreeViewItem
|
|
Get
|
|
Return m_ToolsList.FirstOrDefault(Function(x) x.IsSelected)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property SelTool As ToolTreeViewItem
|
|
Get
|
|
For Each Family In m_ToolsList
|
|
Dim Tool As InheritableTreeViewItem = Family.Items.FirstOrDefault(Function(x) x.IsSelected)
|
|
If Not IsNothing(Tool) Then
|
|
Return DirectCast(Tool, ToolTreeViewItem)
|
|
End If
|
|
Next
|
|
Return Nothing
|
|
End Get
|
|
End Property
|
|
|
|
Private m_IsEnabledNewBtn As Boolean
|
|
Public ReadOnly Property IsEnabledNewBtn As Boolean
|
|
Get
|
|
Return m_IsEnabledNewBtn
|
|
End Get
|
|
End Property
|
|
|
|
Private m_IsEnabledSaveBtn As Boolean
|
|
Public ReadOnly Property IsEnabledSaveBtn As Boolean
|
|
Get
|
|
Return m_IsEnabledSaveBtn
|
|
End Get
|
|
End Property
|
|
|
|
Private m_IsEnabledRemoveBtn As Boolean
|
|
Public ReadOnly Property IsEnabledRemoveBtn As Boolean
|
|
Get
|
|
Return m_IsEnabledRemoveBtn
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property IsEnabledImpExpBtn As Boolean
|
|
Get
|
|
Return IsNothing(SelTool) OrElse SelTool.IsValid()
|
|
End Get
|
|
End Property
|
|
|
|
Private StoneDrillToolParamPageV As StoneDrillParamPageV
|
|
Private WoodDrillToolParamPageV As WoodDrillParamPageV
|
|
Private StoneSawToolParamPageV As StoneSawParamPageV
|
|
Private WoodSawToolParamPageV As WoodSawParamPageV
|
|
Private StoneMillToolParamPageV As StoneMillParamPageV
|
|
Private WoodMillToolParamPageV As WoodMillParamPageV
|
|
Private BeamMillToolParamPageV As BeamMillParamPageV
|
|
Private ChiselToolParamPageV As ChiselParamPageV
|
|
Private MortiseToolParamPageV As MortiseParamPageV
|
|
Private WaterjetToolParamPageV As WaterjetParamPageV
|
|
|
|
Public ReadOnly Property ParamPageV As ContentControl
|
|
Get
|
|
Dim selToolFamily As FamilyToolTreeViewItem = Nothing
|
|
Dim selTool As ToolTreeViewItem = Nothing
|
|
Dim selToolFamilyType As Integer = 0
|
|
For Each ToolFamily In ToolsList
|
|
For Each Tool In ToolFamily.Items
|
|
If Tool.IsSelected Then
|
|
selTool = DirectCast(Tool, ToolTreeViewItem)
|
|
Exit For
|
|
End If
|
|
Next
|
|
If Not IsNothing(selTool) Then
|
|
selToolFamilyType = ToolFamily.ToolType
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
' disattivo disegno utensile
|
|
ToolTreeViewItem.SuspendToolDrawUpdate = True
|
|
|
|
Select Case selToolFamilyType
|
|
Case MCH_TF.DRILLBIT
|
|
If m_MatType = MaterialType.STONE Then
|
|
If IsNothing(StoneDrillToolParamPageV) Then StoneDrillToolParamPageV = New StoneDrillParamPageV
|
|
StoneDrillToolParamPageV.DataContext = selTool
|
|
' Recupero lo stile da programma chiamante, Altrienti imposto i colori di Default
|
|
If Not m_bPersonalInterface Then
|
|
'texbox
|
|
m_GeneralBackground = StoneDrillParamPageV.GetGeneralBackground(StoneDrillToolParamPageV)
|
|
m_GeneralForeground = StoneDrillParamPageV.GetGeneralForeground(StoneDrillToolParamPageV)
|
|
m_GeneralBorderBrush = StoneDrillParamPageV.GetGeneralBorderBrush(StoneDrillToolParamPageV)
|
|
m_BorderBrushIsMouseOver = StoneDrillParamPageV.GetBorderBrushIsMouseOver(StoneDrillToolParamPageV)
|
|
m_BorderBrushIsFocused = StoneDrillParamPageV.GetBorderBrushIsFocused(StoneDrillToolParamPageV)
|
|
m_BackgroundBrdEnable = StoneDrillParamPageV.GetBackgroundBrdEnable(StoneDrillToolParamPageV)
|
|
m_BackgroundBrdDisable = StoneDrillParamPageV.GetBackgroundBrdDisable(StoneDrillToolParamPageV)
|
|
m_ForegroundTxBlEnable = StoneDrillParamPageV.GetForegroundTxBlEnable(StoneDrillToolParamPageV)
|
|
m_ForegroundTxBlDisable = StoneDrillParamPageV.GetForegroundTxBlDisable(StoneDrillToolParamPageV)
|
|
m_BackgroundTxBlDisable = StoneDrillParamPageV.GetBackgroundTxBlDisable(StoneDrillToolParamPageV)
|
|
'combobox
|
|
m_BackgroundCmBxTxBl = StoneDrillParamPageV.GetBackgroundCmBxTxBl(StoneDrillToolParamPageV)
|
|
m_BackgroundListCmBxTxBl = StoneDrillParamPageV.GetBackgroundListCmBxTxBl(StoneDrillToolParamPageV)
|
|
m_ForegroundCmBxTxBl = StoneDrillParamPageV.GetForegroundCmBxTxBl(StoneDrillToolParamPageV)
|
|
m_BorderBrushCmBxTxBl = StoneDrillParamPageV.GetBorderBrushCmBxTxBl(StoneDrillToolParamPageV)
|
|
m_BorderThicknessCmBxTxBl = StoneDrillParamPageV.GetBorderThicknessCmBxTxBl(StoneDrillToolParamPageV)
|
|
m_VerticalContentAlignmentCmBxTxBl = StoneDrillParamPageV.GetVerticalContentAlignmentCmBxTxBl(StoneDrillToolParamPageV)
|
|
m_HeightCmBxTxBl = StoneDrillParamPageV.GetHeightCmBxTxBl(StoneDrillToolParamPageV)
|
|
m_WidthCmBxTxBl = StoneDrillParamPageV.GetWidthCmBxTxBl(StoneDrillToolParamPageV)
|
|
m_ForegroundTextBoxCmBxTxBl = StoneDrillParamPageV.GetForegroundTextBoxCmBxTxBl(StoneDrillToolParamPageV)
|
|
'groupbox
|
|
m_MyBorderGrbThickness = StoneDrillParamPageV.GetMyBorderGrbThickness(StoneDrillToolParamPageV)
|
|
m_MyForegroundGrbColor = StoneDrillParamPageV.GetMyForegroundGrbColor(StoneDrillToolParamPageV)
|
|
'button
|
|
m_BackgroundButton = StoneDrillParamPageV.GetBackgroundButton(StoneDrillToolParamPageV)
|
|
m_ForegroundButton = StoneDrillParamPageV.GetForegroundButton(StoneDrillToolParamPageV)
|
|
m_BorderBrushButton = StoneDrillParamPageV.GetBorderBrushButton(StoneDrillToolParamPageV)
|
|
m_BorderThicknessButton = StoneDrillParamPageV.GetBorderThicknessButton(StoneDrillToolParamPageV)
|
|
End If
|
|
|
|
'Imposto stile groupbox
|
|
StoneDrillToolParamPageV.MyBorderGrbThickness = m_MyBorderGrbThickness
|
|
StoneDrillToolParamPageV.MyForegroundGrbColor = m_MyForegroundGrbColor
|
|
' Imposto il colore delle TextBlock (definito nel programma chimamante)
|
|
StoneDrillToolParamPageV.BorderBrushIsMouseOver = m_BorderBrushIsMouseOver
|
|
StoneDrillToolParamPageV.GeneralBorderBrush = m_GeneralBorderBrush
|
|
StoneDrillToolParamPageV.BorderBrushIsFocused = m_BorderBrushIsFocused
|
|
StoneDrillToolParamPageV.BackgroundBrdEnable = m_BackgroundBrdEnable
|
|
StoneDrillToolParamPageV.BackgroundBrdDisable = m_BackgroundBrdDisable
|
|
StoneDrillToolParamPageV.BackgroundTxBlDisable = m_BackgroundTxBlDisable
|
|
StoneDrillToolParamPageV.ForegroundTxBlEnable = m_ForegroundTxBlEnable
|
|
StoneDrillToolParamPageV.ForegroundTxBlDisable = m_ForegroundTxBlDisable
|
|
StoneDrillToolParamPageV.GeneralForeground = m_GeneralForeground
|
|
StoneDrillToolParamPageV.GeneralBackground = m_GeneralBackground
|
|
'Imposto stile combobox
|
|
StoneDrillToolParamPageV.BackgroundCmBxTxBl = m_BackgroundCmBxTxBl
|
|
StoneDrillToolParamPageV.BackgroundListCmBxTxBl = m_BackgroundListCmBxTxBl
|
|
StoneDrillToolParamPageV.ForegroundCmBxTxBl = m_ForegroundCmBxTxBl
|
|
StoneDrillToolParamPageV.BorderBrushCmBxTxBl = m_BorderBrushCmBxTxBl
|
|
StoneDrillToolParamPageV.BorderThicknessCmBxTxBl = m_BorderThicknessCmBxTxBl
|
|
StoneDrillToolParamPageV.VerticalContentAlignmentCmBxTxBl = m_VerticalContentAlignmentCmBxTxBl
|
|
StoneDrillToolParamPageV.HeightCmBxTxBl = m_HeightCmBxTxBl
|
|
StoneDrillToolParamPageV.WidthCmBxTxBl = m_WidthCmBxTxBl
|
|
StoneDrillToolParamPageV.ForegroundTextBoxCmBxTxBl = m_ForegroundTextBoxCmBxTxBl
|
|
'Imposto stile button
|
|
StoneDrillToolParamPageV.BackgroundButton = m_BackgroundButton
|
|
StoneDrillToolParamPageV.ForegroundButton = m_ForegroundButton
|
|
StoneDrillToolParamPageV.BorderBrushButton = m_BorderBrushButton
|
|
StoneDrillToolParamPageV.BorderThicknessButton = m_BorderThicknessButton
|
|
Return StoneDrillToolParamPageV
|
|
|
|
ElseIf m_MatType = MaterialType.WOOD Or m_MatType = MaterialType.BEAM Then
|
|
If IsNothing(WoodDrillToolParamPageV) Then WoodDrillToolParamPageV = New WoodDrillParamPageV
|
|
WoodDrillToolParamPageV.DataContext = selTool
|
|
Return WoodDrillToolParamPageV
|
|
End If
|
|
|
|
Case MCH_TF.SAWBLADE
|
|
If m_MatType = MaterialType.STONE Then
|
|
If IsNothing(StoneSawToolParamPageV) Then StoneSawToolParamPageV = New StoneSawParamPageV
|
|
StoneSawToolParamPageV.DataContext = selTool
|
|
' Recupero lo stile da programma chiamante, Altrienti imposto i colori di Default
|
|
If Not m_bPersonalInterface Then
|
|
'texbox
|
|
m_GeneralBackground = StoneSawParamPageV.GetGeneralBackground(StoneSawToolParamPageV)
|
|
m_GeneralForeground = StoneSawParamPageV.GetGeneralForeground(StoneSawToolParamPageV)
|
|
m_GeneralBorderBrush = StoneSawParamPageV.GetGeneralBorderBrush(StoneSawToolParamPageV)
|
|
m_BorderBrushIsMouseOver = StoneSawParamPageV.GetBorderBrushIsMouseOver(StoneSawToolParamPageV)
|
|
m_BorderBrushIsFocused = StoneSawParamPageV.GetBorderBrushIsFocused(StoneSawToolParamPageV)
|
|
m_BackgroundBrdEnable = StoneSawParamPageV.GetBackgroundBrdEnable(StoneSawToolParamPageV)
|
|
m_BackgroundBrdDisable = StoneSawParamPageV.GetBackgroundBrdDisable(StoneSawToolParamPageV)
|
|
m_ForegroundTxBlEnable = StoneSawParamPageV.GetForegroundTxBlEnable(StoneSawToolParamPageV)
|
|
m_ForegroundTxBlDisable = StoneSawParamPageV.GetForegroundTxBlDisable(StoneSawToolParamPageV)
|
|
m_BackgroundTxBlDisable = StoneSawParamPageV.GetBackgroundTxBlDisable(StoneSawToolParamPageV)
|
|
'combobox
|
|
m_BackgroundCmBxTxBl = StoneSawParamPageV.GetBackgroundCmBxTxBl(StoneSawToolParamPageV)
|
|
m_BackgroundListCmBxTxBl = StoneSawParamPageV.GetBackgroundListCmBxTxBl(StoneSawToolParamPageV)
|
|
m_ForegroundCmBxTxBl = StoneSawParamPageV.GetForegroundCmBxTxBl(StoneSawToolParamPageV)
|
|
m_BorderBrushCmBxTxBl = StoneSawParamPageV.GetBorderBrushCmBxTxBl(StoneSawToolParamPageV)
|
|
m_BorderThicknessCmBxTxBl = StoneSawParamPageV.GetBorderThicknessCmBxTxBl(StoneSawToolParamPageV)
|
|
m_VerticalContentAlignmentCmBxTxBl = StoneSawParamPageV.GetVerticalContentAlignmentCmBxTxBl(StoneSawToolParamPageV)
|
|
m_HeightCmBxTxBl = StoneSawParamPageV.GetHeightCmBxTxBl(StoneSawToolParamPageV)
|
|
m_WidthCmBxTxBl = StoneSawParamPageV.GetWidthCmBxTxBl(StoneSawToolParamPageV)
|
|
m_ForegroundTextBoxCmBxTxBl = StoneSawParamPageV.GetForegroundTextBoxCmBxTxBl(StoneSawToolParamPageV)
|
|
'groupbox
|
|
m_MyBorderGrbThickness = StoneSawParamPageV.GetMyBorderGrbThickness(StoneSawToolParamPageV)
|
|
m_MyForegroundGrbColor = StoneSawParamPageV.GetMyForegroundGrbColor(StoneSawToolParamPageV)
|
|
'button
|
|
m_BackgroundButton = StoneSawParamPageV.GetBackgroundButton(StoneSawToolParamPageV)
|
|
m_ForegroundButton = StoneSawParamPageV.GetForegroundButton(StoneSawToolParamPageV)
|
|
m_BorderBrushButton = StoneSawParamPageV.GetBorderBrushButton(StoneSawToolParamPageV)
|
|
m_BorderThicknessButton = StoneSawParamPageV.GetBorderThicknessButton(StoneSawToolParamPageV)
|
|
End If
|
|
|
|
'Imposto stile groupbox
|
|
StoneSawToolParamPageV.MyBorderGrbThickness = m_MyBorderGrbThickness
|
|
StoneSawToolParamPageV.MyForegroundGrbColor = m_MyForegroundGrbColor
|
|
' Imposto il colore delle TextBlock (definito nel programma chimamante)
|
|
StoneSawToolParamPageV.BorderBrushIsMouseOver = m_BorderBrushIsMouseOver
|
|
StoneSawToolParamPageV.GeneralBorderBrush = m_GeneralBorderBrush
|
|
StoneSawToolParamPageV.BorderBrushIsFocused = m_BorderBrushIsFocused
|
|
StoneSawToolParamPageV.BackgroundBrdEnable = m_BackgroundBrdEnable
|
|
StoneSawToolParamPageV.BackgroundBrdDisable = m_BackgroundBrdDisable
|
|
StoneSawToolParamPageV.BackgroundTxBlDisable = m_BackgroundTxBlDisable
|
|
StoneSawToolParamPageV.ForegroundTxBlEnable = m_ForegroundTxBlEnable
|
|
StoneSawToolParamPageV.ForegroundTxBlDisable = m_ForegroundTxBlDisable
|
|
StoneSawToolParamPageV.GeneralForeground = m_GeneralForeground
|
|
StoneSawToolParamPageV.GeneralBackground = m_GeneralBackground
|
|
'Imposto stile combobox
|
|
StoneSawToolParamPageV.BackgroundCmBxTxBl = m_BackgroundCmBxTxBl
|
|
StoneSawToolParamPageV.BackgroundListCmBxTxBl = m_BackgroundListCmBxTxBl
|
|
StoneSawToolParamPageV.ForegroundCmBxTxBl = m_ForegroundCmBxTxBl
|
|
StoneSawToolParamPageV.BorderBrushCmBxTxBl = m_BorderBrushCmBxTxBl
|
|
StoneSawToolParamPageV.BorderThicknessCmBxTxBl = m_BorderThicknessCmBxTxBl
|
|
StoneSawToolParamPageV.VerticalContentAlignmentCmBxTxBl = m_VerticalContentAlignmentCmBxTxBl
|
|
StoneSawToolParamPageV.HeightCmBxTxBl = m_HeightCmBxTxBl
|
|
StoneSawToolParamPageV.WidthCmBxTxBl = m_WidthCmBxTxBl
|
|
StoneSawToolParamPageV.ForegroundTextBoxCmBxTxBl = m_ForegroundTextBoxCmBxTxBl
|
|
'Imposto stile button
|
|
StoneSawToolParamPageV.BackgroundButton = m_BackgroundButton
|
|
StoneSawToolParamPageV.ForegroundButton = m_ForegroundButton
|
|
StoneSawToolParamPageV.BorderBrushButton = m_BorderBrushButton
|
|
StoneSawToolParamPageV.BorderThicknessButton = m_BorderThicknessButton
|
|
Return StoneSawToolParamPageV
|
|
|
|
ElseIf m_MatType = MaterialType.WOOD Or m_MatType = MaterialType.BEAM Then
|
|
If IsNothing(WoodSawToolParamPageV) Then WoodSawToolParamPageV = New WoodSawParamPageV
|
|
WoodSawToolParamPageV.DataContext = selTool
|
|
Return WoodSawToolParamPageV
|
|
End If
|
|
|
|
Case MCH_TF.MILL
|
|
If m_MatType = MaterialType.STONE Then
|
|
If IsNothing(StoneMillToolParamPageV) Then StoneMillToolParamPageV = New StoneMillParamPageV
|
|
StoneMillToolParamPageV.DataContext = selTool
|
|
' Recupero lo stile da programma chiamante, Altrienti imposto i colori di Default
|
|
If Not m_bPersonalInterface Then
|
|
'texbox
|
|
m_GeneralBackground = StoneMillParamPageV.GetGeneralBackground(StoneMillToolParamPageV)
|
|
m_GeneralForeground = StoneMillParamPageV.GetGeneralForeground(StoneMillToolParamPageV)
|
|
m_GeneralBorderBrush = StoneMillParamPageV.GetGeneralBorderBrush(StoneMillToolParamPageV)
|
|
m_BorderBrushIsMouseOver = StoneMillParamPageV.GetBorderBrushIsMouseOver(StoneMillToolParamPageV)
|
|
m_BorderBrushIsFocused = StoneMillParamPageV.GetBorderBrushIsFocused(StoneMillToolParamPageV)
|
|
m_BackgroundBrdEnable = StoneMillParamPageV.GetBackgroundBrdEnable(StoneMillToolParamPageV)
|
|
m_BackgroundBrdDisable = StoneMillParamPageV.GetBackgroundBrdDisable(StoneMillToolParamPageV)
|
|
m_ForegroundTxBlEnable = StoneMillParamPageV.GetForegroundTxBlEnable(StoneMillToolParamPageV)
|
|
m_ForegroundTxBlDisable = StoneMillParamPageV.GetForegroundTxBlDisable(StoneMillToolParamPageV)
|
|
m_BackgroundTxBlDisable = StoneMillParamPageV.GetBackgroundTxBlDisable(StoneMillToolParamPageV)
|
|
'combobox
|
|
m_BackgroundCmBxTxBl = StoneMillParamPageV.GetBackgroundCmBxTxBl(StoneMillToolParamPageV)
|
|
m_BackgroundListCmBxTxBl = StoneMillParamPageV.GetBackgroundListCmBxTxBl(StoneMillToolParamPageV)
|
|
m_ForegroundCmBxTxBl = StoneMillParamPageV.GetForegroundCmBxTxBl(StoneMillToolParamPageV)
|
|
m_BorderBrushCmBxTxBl = StoneMillParamPageV.GetBorderBrushCmBxTxBl(StoneMillToolParamPageV)
|
|
m_BorderThicknessCmBxTxBl = StoneMillParamPageV.GetBorderThicknessCmBxTxBl(StoneMillToolParamPageV)
|
|
m_VerticalContentAlignmentCmBxTxBl = StoneMillParamPageV.GetVerticalContentAlignmentCmBxTxBl(StoneMillToolParamPageV)
|
|
m_HeightCmBxTxBl = StoneMillParamPageV.GetHeightCmBxTxBl(StoneMillToolParamPageV)
|
|
m_WidthCmBxTxBl = StoneMillParamPageV.GetWidthCmBxTxBl(StoneMillToolParamPageV)
|
|
m_ForegroundTextBoxCmBxTxBl = StoneMillParamPageV.GetForegroundTextBoxCmBxTxBl(StoneMillToolParamPageV)
|
|
'groupbox
|
|
m_MyBorderGrbThickness = StoneMillParamPageV.GetMyBorderGrbThickness(StoneMillToolParamPageV)
|
|
m_MyForegroundGrbColor = StoneMillParamPageV.GetMyForegroundGrbColor(StoneMillToolParamPageV)
|
|
'button
|
|
m_BackgroundButton = StoneMillParamPageV.GetBackgroundButton(StoneMillToolParamPageV)
|
|
m_ForegroundButton = StoneMillParamPageV.GetForegroundButton(StoneMillToolParamPageV)
|
|
m_BorderBrushButton = StoneMillParamPageV.GetBorderBrushButton(StoneMillToolParamPageV)
|
|
m_BorderThicknessButton = StoneMillParamPageV.GetBorderThicknessButton(StoneMillToolParamPageV)
|
|
End If
|
|
|
|
'Imposto stile groupbox
|
|
StoneMillToolParamPageV.MyBorderGrbThickness = m_MyBorderGrbThickness
|
|
StoneMillToolParamPageV.MyForegroundGrbColor = m_MyForegroundGrbColor
|
|
' Imposto il colore delle TextBlock (definito nel programma chimamante)
|
|
StoneMillToolParamPageV.BorderBrushIsMouseOver = m_BorderBrushIsMouseOver
|
|
StoneMillToolParamPageV.GeneralBorderBrush = m_GeneralBorderBrush
|
|
StoneMillToolParamPageV.BorderBrushIsFocused = m_BorderBrushIsFocused
|
|
StoneMillToolParamPageV.BackgroundBrdEnable = m_BackgroundBrdEnable
|
|
StoneMillToolParamPageV.BackgroundBrdDisable = m_BackgroundBrdDisable
|
|
StoneMillToolParamPageV.BackgroundTxBlDisable = m_BackgroundTxBlDisable
|
|
StoneMillToolParamPageV.ForegroundTxBlEnable = m_ForegroundTxBlEnable
|
|
StoneMillToolParamPageV.ForegroundTxBlDisable = m_ForegroundTxBlDisable
|
|
StoneMillToolParamPageV.GeneralForeground = m_GeneralForeground
|
|
StoneMillToolParamPageV.GeneralBackground = m_GeneralBackground
|
|
'Imposto stile combobox
|
|
StoneMillToolParamPageV.BackgroundCmBxTxBl = m_BackgroundCmBxTxBl
|
|
StoneMillToolParamPageV.BackgroundListCmBxTxBl = m_BackgroundListCmBxTxBl
|
|
StoneMillToolParamPageV.ForegroundCmBxTxBl = m_ForegroundCmBxTxBl
|
|
StoneMillToolParamPageV.BorderBrushCmBxTxBl = m_BorderBrushCmBxTxBl
|
|
StoneMillToolParamPageV.BorderThicknessCmBxTxBl = m_BorderThicknessCmBxTxBl
|
|
StoneMillToolParamPageV.VerticalContentAlignmentCmBxTxBl = m_VerticalContentAlignmentCmBxTxBl
|
|
StoneMillToolParamPageV.HeightCmBxTxBl = m_HeightCmBxTxBl
|
|
StoneMillToolParamPageV.WidthCmBxTxBl = m_WidthCmBxTxBl
|
|
StoneMillToolParamPageV.ForegroundTextBoxCmBxTxBl = m_ForegroundTextBoxCmBxTxBl
|
|
'Imposto stile togglebutton
|
|
StoneMillToolParamPageV.BackgroundButton = m_BackgroundButton
|
|
StoneMillToolParamPageV.ForegroundButton = m_ForegroundButton
|
|
StoneMillToolParamPageV.BorderBrushButton = m_BorderBrushButton
|
|
StoneMillToolParamPageV.BorderThicknessButton = m_BorderThicknessButton
|
|
Return StoneMillToolParamPageV
|
|
|
|
ElseIf m_MatType = MaterialType.WOOD Then
|
|
If IsNothing(WoodMillToolParamPageV) Then WoodMillToolParamPageV = New WoodMillParamPageV
|
|
WoodMillToolParamPageV.DataContext = selTool
|
|
Return WoodMillToolParamPageV
|
|
|
|
ElseIf m_MatType = MaterialType.BEAM Then
|
|
If IsNothing(BeamMillToolParamPageV) Then BeamMillToolParamPageV = New BeamMillParamPageV
|
|
BeamMillToolParamPageV.DataContext = selTool
|
|
Return BeamMillToolParamPageV
|
|
End If
|
|
|
|
Case MCH_TF.MORTISE
|
|
If IsNothing(MortiseToolParamPageV) Then MortiseToolParamPageV = New MortiseParamPageV
|
|
MortiseToolParamPageV.DataContext = selTool
|
|
Return MortiseToolParamPageV
|
|
|
|
Case MCH_TF.CHISEL
|
|
If IsNothing(ChiselToolParamPageV) Then ChiselToolParamPageV = New ChiselParamPageV
|
|
ChiselToolParamPageV.DataContext = selTool
|
|
Return ChiselToolParamPageV
|
|
|
|
Case MCH_TF.WATERJET
|
|
If IsNothing(WaterjetToolParamPageV) Then WaterjetToolParamPageV = New WaterjetParamPageV
|
|
WaterjetToolParamPageV.DataContext = selTool
|
|
' Recupero lo stile da programma chiamante, Altrienti imposto i colori di Default
|
|
If Not m_bPersonalInterface Then
|
|
'texbox
|
|
m_GeneralBackground = WaterjetParamPageV.GetGeneralBackground(WaterjetToolParamPageV)
|
|
m_GeneralForeground = WaterjetParamPageV.GetGeneralForeground(WaterjetToolParamPageV)
|
|
m_GeneralBorderBrush = WaterjetParamPageV.GetGeneralBorderBrush(WaterjetToolParamPageV)
|
|
m_BorderBrushIsMouseOver = WaterjetParamPageV.GetBorderBrushIsMouseOver(WaterjetToolParamPageV)
|
|
m_BorderBrushIsFocused = WaterjetParamPageV.GetBorderBrushIsFocused(WaterjetToolParamPageV)
|
|
m_BackgroundBrdEnable = WaterjetParamPageV.GetBackgroundBrdEnable(WaterjetToolParamPageV)
|
|
m_BackgroundBrdDisable = WaterjetParamPageV.GetBackgroundBrdDisable(WaterjetToolParamPageV)
|
|
m_ForegroundTxBlEnable = WaterjetParamPageV.GetForegroundTxBlEnable(WaterjetToolParamPageV)
|
|
m_ForegroundTxBlDisable = WaterjetParamPageV.GetForegroundTxBlDisable(WaterjetToolParamPageV)
|
|
m_BackgroundTxBlDisable = WaterjetParamPageV.GetBackgroundTxBlDisable(WaterjetToolParamPageV)
|
|
'combobox
|
|
m_BackgroundCmBxTxBl = WaterjetParamPageV.GetBackgroundCmBxTxBl(WaterjetToolParamPageV)
|
|
m_BackgroundListCmBxTxBl = WaterjetParamPageV.GetBackgroundListCmBxTxBl(WaterjetToolParamPageV)
|
|
m_ForegroundCmBxTxBl = WaterjetParamPageV.GetForegroundCmBxTxBl(WaterjetToolParamPageV)
|
|
m_BorderBrushCmBxTxBl = WaterjetParamPageV.GetBorderBrushCmBxTxBl(WaterjetToolParamPageV)
|
|
m_BorderThicknessCmBxTxBl = WaterjetParamPageV.GetBorderThicknessCmBxTxBl(WaterjetToolParamPageV)
|
|
m_VerticalContentAlignmentCmBxTxBl = WaterjetParamPageV.GetVerticalContentAlignmentCmBxTxBl(WaterjetToolParamPageV)
|
|
m_HeightCmBxTxBl = WaterjetParamPageV.GetHeightCmBxTxBl(WaterjetToolParamPageV)
|
|
m_WidthCmBxTxBl = WaterjetParamPageV.GetWidthCmBxTxBl(WaterjetToolParamPageV)
|
|
m_ForegroundTextBoxCmBxTxBl = WaterjetParamPageV.GetForegroundTextBoxCmBxTxBl(WaterjetToolParamPageV)
|
|
'groupbox
|
|
m_MyBorderGrbThickness = WaterjetParamPageV.GetMyBorderGrbThickness(WaterjetToolParamPageV)
|
|
m_MyForegroundGrbColor = WaterjetParamPageV.GetMyForegroundGrbColor(WaterjetToolParamPageV)
|
|
'button
|
|
m_BackgroundButton = WaterjetParamPageV.GetBackgroundButton(WaterjetToolParamPageV)
|
|
m_ForegroundButton = WaterjetParamPageV.GetForegroundButton(WaterjetToolParamPageV)
|
|
m_BorderBrushButton = WaterjetParamPageV.GetBorderBrushButton(WaterjetToolParamPageV)
|
|
m_BorderThicknessButton = WaterjetParamPageV.GetBorderThicknessButton(WaterjetToolParamPageV)
|
|
End If
|
|
|
|
'Imposto stile groupbox
|
|
WaterjetToolParamPageV.MyBorderGrbThickness = m_MyBorderGrbThickness
|
|
WaterjetToolParamPageV.MyForegroundGrbColor = m_MyForegroundGrbColor
|
|
' Imposto il colore delle TextBlock (definito nel programma chimamante)
|
|
WaterjetToolParamPageV.BorderBrushIsMouseOver = m_BorderBrushIsMouseOver
|
|
WaterjetToolParamPageV.GeneralBorderBrush = m_GeneralBorderBrush
|
|
WaterjetToolParamPageV.BorderBrushIsFocused = m_BorderBrushIsFocused
|
|
WaterjetToolParamPageV.BackgroundBrdEnable = m_BackgroundBrdEnable
|
|
WaterjetToolParamPageV.BackgroundBrdDisable = m_BackgroundBrdDisable
|
|
WaterjetToolParamPageV.BackgroundTxBlDisable = m_BackgroundTxBlDisable
|
|
WaterjetToolParamPageV.ForegroundTxBlEnable = m_ForegroundTxBlEnable
|
|
WaterjetToolParamPageV.ForegroundTxBlDisable = m_ForegroundTxBlDisable
|
|
WaterjetToolParamPageV.GeneralForeground = m_GeneralForeground
|
|
WaterjetToolParamPageV.GeneralBackground = m_GeneralBackground
|
|
'Imposto stile combobox
|
|
WaterjetToolParamPageV.BackgroundCmBxTxBl = m_BackgroundCmBxTxBl
|
|
WaterjetToolParamPageV.BackgroundListCmBxTxBl = m_BackgroundListCmBxTxBl
|
|
WaterjetToolParamPageV.ForegroundCmBxTxBl = m_ForegroundCmBxTxBl
|
|
WaterjetToolParamPageV.BorderBrushCmBxTxBl = m_BorderBrushCmBxTxBl
|
|
WaterjetToolParamPageV.BorderThicknessCmBxTxBl = m_BorderThicknessCmBxTxBl
|
|
WaterjetToolParamPageV.VerticalContentAlignmentCmBxTxBl = m_VerticalContentAlignmentCmBxTxBl
|
|
WaterjetToolParamPageV.HeightCmBxTxBl = m_HeightCmBxTxBl
|
|
WaterjetToolParamPageV.WidthCmBxTxBl = m_WidthCmBxTxBl
|
|
WaterjetToolParamPageV.ForegroundTextBoxCmBxTxBl = m_ForegroundTextBoxCmBxTxBl
|
|
'Imposto stile togglebutton
|
|
WaterjetToolParamPageV.BackgroundButton = m_BackgroundButton
|
|
WaterjetToolParamPageV.ForegroundButton = m_ForegroundButton
|
|
WaterjetToolParamPageV.BorderBrushButton = m_BorderBrushButton
|
|
WaterjetToolParamPageV.BorderThicknessButton = m_BorderThicknessButton
|
|
Return WaterjetToolParamPageV
|
|
End Select
|
|
|
|
' riattivo disegno utensile
|
|
ToolTreeViewItem.SuspendToolDrawUpdate = False
|
|
|
|
Return Nothing
|
|
End Get
|
|
End Property
|
|
|
|
'PROJECT PAGE'S SCENE FIELDS AND PROPERTIES
|
|
' Reference to the ProjectScene
|
|
Private WithEvents m_ToolScene As New Scene
|
|
' Reference to the ProjectSceneHost
|
|
Private SceneHost As WindowsFormsHost
|
|
' Property used to bind the scene to the WindowsFormsHost in XAML
|
|
Private m_bfirst As Boolean = True
|
|
Public ReadOnly Property ToolSceneHost As WindowsFormsHost
|
|
Get
|
|
If m_bfirst Then
|
|
SceneHost = New WindowsFormsHost() With {.Child = m_ToolScene}
|
|
If Not m_ToolScene.Init() Then
|
|
EgtOutLog("Error in Tool scene creation")
|
|
'Application.Msn.NotifyColleagues(Application.CLOSEAPPLICATION)
|
|
End If
|
|
m_ToolDbSceneContext = m_ToolScene.GetCtx()
|
|
' inibisco selezione diretta da Scene
|
|
m_ToolScene.SetStatusNull()
|
|
'OnPropertyChanged("SelectedMachine")
|
|
m_bfirst = False
|
|
End If
|
|
Return SceneHost
|
|
End Get
|
|
End Property
|
|
|
|
Public Sub SetBackgroundColor(BackTopColor As Color3d, BackBotColor As Color3d)
|
|
If Not IsNothing(m_ToolScene) Then
|
|
m_ToolScene.SetViewBackground(BackTopColor, BackBotColor)
|
|
End If
|
|
End Sub
|
|
|
|
' visibilità parametro Active
|
|
Private m_Active_Visibility As Boolean
|
|
Public ReadOnly Property Active_Visibility As Visibility
|
|
Get
|
|
Return If(m_Active_Visibility, Visibility.Visible, Visibility.Collapsed)
|
|
End Get
|
|
End Property
|
|
|
|
Public Overridable Sub OnCursorPos(ByVal sender As Object, ByVal sCursorPos As String) Handles m_ToolScene.OnCursorPos
|
|
LibMap.refStatusBarVM.SetCurrPos(sCursorPos)
|
|
End Sub
|
|
|
|
' Definizione comandi
|
|
Private m_cmdNew As ICommand
|
|
Private m_cmdSave As ICommand
|
|
Private m_cmdRemove As ICommand
|
|
Private m_cmdImport As ICommand
|
|
Private m_cmdExport As ICommand
|
|
Private m_cmdReloadTool As ICommand
|
|
Private m_cmdCloseToolsDb As ICommand
|
|
|
|
#Region "MESSAGES"
|
|
|
|
'Definizione dei messaggi della pagina
|
|
Public ReadOnly Property NewMsg As String
|
|
Get
|
|
Return EgtMsg(31701)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property SaveMsg As String
|
|
Get
|
|
Return EgtMsg(31702)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property RemoveMsg As String
|
|
Get
|
|
Return EgtMsg(31703)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property ImportMsg As String
|
|
Get
|
|
Return EgtMsg(31161)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property ExportMsg As String
|
|
Get
|
|
Return EgtMsg(31162)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property ResetMsg As String
|
|
Get
|
|
Return EgtMsg(31167)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property CorrTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 51)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property ExitParTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 52)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property TypeTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 53)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property CoolantTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 54)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property CornRadTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 55)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property DiamTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 56)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property TotDiamTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 57)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property FeedTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 58)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property EndFeedTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 59)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property StartFeedTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 60)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property LenTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 62)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property TotLenTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 63)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property MaxMatTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 64)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property LonOffsetTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 65)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property RadOffsetTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 66)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property SpeedTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 67)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property SideAngTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 68)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property MaxSpeedTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 69)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property ThickTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 70)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property StemDiamTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 81)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property MaxAbsorptionTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 71)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property MinFeedTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 72)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property DrawTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 73)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property HeadTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 74)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property NameParTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 75)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property UserNotesTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 76)
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property TcPosTxBl As String
|
|
Get
|
|
Return EgtMsg(MSG_TOOLDB + 77)
|
|
End Get
|
|
End Property
|
|
|
|
#End Region
|
|
|
|
#Region "CONSTRUCTOR"
|
|
|
|
Sub New(sMachineDirPath As String, sMachineIniPath As String, ProjectSceneContext As Integer, Optional sMatType As String = "Wood", Optional bVisibleSysNotes As Boolean = False)
|
|
|
|
m_bActive = True
|
|
m_ProjectSceneContext = ProjectSceneContext
|
|
m_sMachineIniPath = sMachineIniPath
|
|
m_sScriptDirPath = sMachineDirPath & "\Scripts"
|
|
m_sToolDirPath = sMachineDirPath & "\Tools"
|
|
' leggo direttorio toolmakers
|
|
GetMainPrivateProfileString(S_MACH, K_TOOLMAKERSDIR, "", m_sToolMakersDirPath)
|
|
m_bVisibleSysNotes = bVisibleSysNotes
|
|
|
|
EgtUILib.GetPrivateProfileString(S_GENERAL, K_MATERIAL, sMatType, sMatType, sMachineIniPath)
|
|
Select Case sMatType
|
|
Case "Stone"
|
|
m_MatType = MaterialType.STONE
|
|
Case "Wood"
|
|
m_MatType = MaterialType.WOOD
|
|
Case "Beam"
|
|
m_MatType = MaterialType.BEAM
|
|
Case "Additive"
|
|
m_MatType = MaterialType.WOOD
|
|
Case Else
|
|
' Se il materiale spcificato nel file INI della macchina non corrisponde ai 3 sopracitati viene emesso un messaggio di errore
|
|
m_MatType = Nothing
|
|
MsgBox(EgtMsg(31409), MsgBoxStyle.Exclamation, EgtMsg(31551))
|
|
Exit Sub
|
|
End Select
|
|
|
|
' Passo all'item della lista il delegato alla funzione che permette di cancellare una lavorazione
|
|
ToolTreeViewItem.m_delRemoveTool = AddressOf RemoveTool
|
|
' Passo all'item della lista il delegato alla funzione che permette di disattivare la lista delle lavorazioni
|
|
ToolTreeViewItem.m_delErrorOnTool = AddressOf ErrorOnTool
|
|
FamilyToolTreeViewItem.m_delErrorOnTool = AddressOf ErrorOnTool
|
|
' Passo all'item della lista il delegato alla funzione che permette di disattivare la lista delle lavorazioni
|
|
ToolTreeViewItem.m_delIsEnabledBtns = AddressOf IsEnabledBtns
|
|
FamilyToolTreeViewItem.m_delIsEnabledBtns = AddressOf IsEnabledBtns
|
|
ToolTreeViewItem.m_delNotifyPropertyChanged = AddressOf ccc
|
|
FamilyToolTreeViewItem.m_delNotifyPropertyChanged = AddressOf ccc
|
|
' Passo all'item della lista il delegato alla funzione che restituisce l'utensile selezionato
|
|
ToolTreeViewItem.m_delGetSelectedTool = AddressOf GetSelectedTool
|
|
|
|
LoadSelectedMachineTools()
|
|
|
|
' carico Lua che contiene le funzioni di attrezzaggio
|
|
EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext)
|
|
Dim bScriptFileExec As Boolean = EgtLuaExecFile(m_sScriptDirPath & "\SetUp.lua")
|
|
|
|
' carico lista teste
|
|
ToolTreeViewItem.m_OrigHeadList.Clear()
|
|
Dim sHeads As String = String.Empty
|
|
EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext)
|
|
If EgtGetAllHeadsNames(sHeads) Then
|
|
Dim sHeadList() As String = sHeads.Split(","c)
|
|
For HeadIndex = 0 To sHeadList.Count - 1
|
|
If bScriptFileExec Then
|
|
' Verifico che la testa sia valida
|
|
EgtLuaSetGlobStringVar("STU.HEAD", sHeadList(HeadIndex))
|
|
If EgtLuaExistsFunction("STU.IsValidHead") AndAlso EgtLuaCallFunction("STU.IsValidHead") Then
|
|
' Leggo variabili
|
|
Dim IsValidHead As Boolean = False
|
|
EgtLuaGetGlobBoolVar("STU.ISVALID", IsValidHead)
|
|
If Not IsValidHead Then Continue For
|
|
End If
|
|
End If
|
|
' Cerco messaggio per questa testa
|
|
Dim sHText As String = String.Empty
|
|
EgtUILib.GetPrivateProfileString(S_HEADS, sHeadList(HeadIndex), "", sHText, m_sMachineIniPath)
|
|
Dim sHTextMsg As String = String.Empty
|
|
If IsNumeric(sHText) Then
|
|
sHTextMsg = EgtMsg(CInt(sHText))
|
|
If sHTextMsg = ("Msg" & CInt(sHText)) Then
|
|
sHTextMsg = sHText
|
|
End If
|
|
Else
|
|
sHTextMsg = sHText
|
|
End If
|
|
sHTextMsg &= " (" & sHeadList(HeadIndex) & ")"
|
|
ToolTreeViewItem.m_OrigHeadList.Add(New HeadItem(sHeadList(HeadIndex), sHTextMsg))
|
|
Next
|
|
Else
|
|
MessageBox.Show("Impossible loading Head list from machine!", "Error", MessageBoxButton.OK, MessageBoxImage.Error)
|
|
EgtOutLog("Error: Impossible loading Head list from machine!")
|
|
End If
|
|
|
|
ToolTreeViewItem.m_OrigTcPosList.Clear()
|
|
If bScriptFileExec Then
|
|
' creo lista di tutti i TcPos
|
|
Dim nPosIndex As Integer = 1
|
|
Dim sTcPos As String = String.Empty
|
|
Dim nErr As Integer = 0
|
|
While nErr = 0
|
|
EgtLuaSetGlobIntVar("STU.INDEX", nPosIndex)
|
|
If Not EgtLuaCallFunction("STU.GetTcPosFromPos") Then Exit While
|
|
' Leggo variabili
|
|
EgtLuaGetGlobStringVar("STU.TCPOS", sTcPos)
|
|
If Not EgtLuaGetGlobIntVar("STU.ERR", nErr) Then nErr = 999
|
|
If nErr = 0 Then
|
|
ToolTreeViewItem.m_OrigTcPosList.Add(sTcPos)
|
|
End If
|
|
nPosIndex += 1
|
|
End While
|
|
End If
|
|
|
|
If Not bScriptFileExec Then
|
|
MessageBox.Show(EgtMsg(MSG_TOOLDBERRORS + 25), EgtMsg(MSG_TOOLDBERRORS + 26), MessageBoxButton.OK, MessageBoxImage.Error)
|
|
EgtOutLog("Error: SetUp configuration file not found!")
|
|
End If
|
|
|
|
' leggo da ini se parametro Active è attivo
|
|
m_Active_Visibility = (EgtUILib.GetPrivateProfileInt(S_TOOLS, K_ACTIVE, 0, m_sMachineIniPath) <> 0)
|
|
|
|
' StoneDrillToolParamPageV = New StoneDrillParamPageV
|
|
' WoodDrillToolParamPageV = New WoodDrillParamPageV
|
|
' StoneSawToolParamPageV = New StoneSawParamPageV
|
|
' WoodSawToolParamPageV = New WoodSawParamPageV
|
|
' StoneMillToolParamPageV = New StoneMillParamPageV
|
|
' WoodMillToolParamPageV = New WoodMillParamPageV
|
|
' BeamMillToolParamPageV = New BeamMillParamPageV
|
|
' MortiseToolParamPageV = New MortiseParamPageV
|
|
' ChiselToolParamPageV = New ChiselParamPageV
|
|
' WaterjetToolParamPageV = New WaterjetParamPageV
|
|
|
|
LibMap.SetRefToolDbWindowVM(Me)
|
|
|
|
NotifyPropertyChanged("ParamPageV")
|
|
End Sub
|
|
|
|
#End Region ' Constructor
|
|
|
|
#Region "METHODS"
|
|
|
|
Private Sub ccc()
|
|
NotifyPropertyChanged("ParamPageV")
|
|
End Sub
|
|
|
|
Private Sub IsEnabledBtns(bIsEnabledNewBtn As Boolean, bIsEnabledSaveBtn As Boolean, bIsEnabledDeleteBtn As Boolean)
|
|
m_IsEnabledNewBtn = bIsEnabledNewBtn
|
|
m_IsEnabledSaveBtn = bIsEnabledSaveBtn
|
|
m_IsEnabledRemoveBtn = bIsEnabledDeleteBtn
|
|
NotifyPropertyChanged("IsEnabledNewBtn")
|
|
NotifyPropertyChanged("IsEnabledSaveBtn")
|
|
NotifyPropertyChanged("IsEnabledRemoveBtn")
|
|
NotifyPropertyChanged("IsEnabledImpExpBtn")
|
|
End Sub
|
|
|
|
' Quando chiamato, disattiva tutti gli item dell'albero o li riattiva a seconda che ci sia o meno un errore
|
|
Private Sub ErrorOnTool(bIsEnabled As Boolean)
|
|
For Each FamilyToolItem In ToolsList
|
|
FamilyToolItem.IsEnabled = Not bIsEnabled
|
|
Next
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Method that search tools for the currently selected Machine and add it to the ToolsList.
|
|
''' </summary>
|
|
Private Sub LoadSelectedMachineTools()
|
|
' Creo la lista degli utensili (leggo tutti gli utensili)
|
|
Dim ActiveToolsFamilies() As ToolsFamily = MachineUtility.ReadToolFamilies(m_sMachineIniPath)
|
|
For Each ToolsFamily In ActiveToolsFamilies
|
|
Dim FamilyTreeView As New FamilyToolTreeViewItem(ToolsFamily.Name, ToolsFamily.Id)
|
|
ToolsList.Add(FamilyTreeView)
|
|
Dim nType As Integer = 0
|
|
Dim ToolName As String = String.Empty
|
|
EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext)
|
|
|
|
' distinguo il tipo di fresa
|
|
If ToolsFamily.Id = MCH_TF.MILL And MatType = MaterialType.STONE Then
|
|
|
|
If ToolsFamily.Name = EgtMsg(90754) Then
|
|
' MOLA SCASSO
|
|
nType = 0
|
|
If EgtTdbGetFirstTool(ToolsFamily.Id, ToolName, nType) Then
|
|
If nType = MCH_TY.MILL_NOTIP Then
|
|
FamilyTreeView.Items.Add(New ToolTreeViewItem(ToolName))
|
|
End If
|
|
While EgtTdbGetNextTool(ToolsFamily.Id, ToolName, nType)
|
|
If nType = MCH_TY.MILL_NOTIP Then
|
|
FamilyTreeView.Items.Add(New ToolTreeViewItem(ToolName))
|
|
End If
|
|
End While
|
|
End If
|
|
ElseIf ToolsFamily.Name = EgtMsg(90756) Then
|
|
' MOLA LUCIDANTE
|
|
nType = 0
|
|
If EgtTdbGetFirstTool(ToolsFamily.Id, ToolName, nType) Then
|
|
If nType = MCH_TY.MILL_POLISHING Then
|
|
FamilyTreeView.Items.Add(New ToolTreeViewItem(ToolName))
|
|
End If
|
|
While EgtTdbGetNextTool(ToolsFamily.Id, ToolName, nType)
|
|
If nType = MCH_TY.MILL_POLISHING Then
|
|
FamilyTreeView.Items.Add(New ToolTreeViewItem(ToolName))
|
|
End If
|
|
End While
|
|
End If
|
|
Else
|
|
nType = 0
|
|
If EgtTdbGetFirstTool(ToolsFamily.Id, ToolName, nType) Then
|
|
If nType = MCH_TY.MILL_STD Then
|
|
FamilyTreeView.Items.Add(New ToolTreeViewItem(ToolName))
|
|
End If
|
|
While EgtTdbGetNextTool(ToolsFamily.Id, ToolName, nType)
|
|
If nType = MCH_TY.MILL_STD Then
|
|
FamilyTreeView.Items.Add(New ToolTreeViewItem(ToolName))
|
|
End If
|
|
End While
|
|
End If
|
|
End If
|
|
' riparto con il ciclo for
|
|
Continue For
|
|
End If
|
|
|
|
If EgtTdbGetFirstTool(ToolsFamily.Id, ToolName, nType) Then
|
|
FamilyTreeView.Items.Add(New ToolTreeViewItem(ToolName))
|
|
While EgtTdbGetNextTool(ToolsFamily.Id, ToolName, nType)
|
|
FamilyTreeView.Items.Add(New ToolTreeViewItem(ToolName))
|
|
End While
|
|
End If
|
|
Next
|
|
|
|
' Se esiste almeno una famiglia di utensili, la seleziono
|
|
If ToolsList.Count > 0 Then
|
|
ToolsList(0).IsSelected = True
|
|
ToolsList(0).NotifyPropertyChanged("IsSelected")
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Function GetSelectedTool() As ToolTreeViewItem
|
|
For Each ToolFamily In m_ToolsList
|
|
For Each Tool In ToolFamily.Items
|
|
If Tool.m_IsSelected Then
|
|
Return DirectCast(Tool, ToolTreeViewItem)
|
|
End If
|
|
Next
|
|
Next
|
|
Return Nothing
|
|
End Function
|
|
|
|
' Funzione che aggiorna setup default con tool che hanno parametro Active
|
|
' (deve essere sovrascitta se il programma prevede l'uso del parametro Active)
|
|
Public Overridable Function UpdateDefSetup() As Boolean
|
|
Return True
|
|
End Function
|
|
|
|
' Funzione che verifica modifica utensile selezionato ed eventualmente chiede se salvarlo
|
|
Public Function VerifySelectedToolModification() As Boolean
|
|
' Se non c'è utensile selezionato, esco con continuazione
|
|
If IsNothing(SelTool) Then Return True
|
|
' Se utensile selezionato non valido, esco con blocco
|
|
If Not SelTool.IsValid() Then Return False
|
|
' Verifico salvataggio
|
|
SelTool.WriteToolParam()
|
|
If EgtTdbIsCurrToolModified() Or SelTool.m_IsModifiedName Or SelTool.NewTool Then
|
|
Select Case MsgBox(EgtMsg(MSG_TOOLDBERRORS), MsgBoxStyle.YesNoCancel, EgtMsg(MSG_TOOLDBERRORS + 1))
|
|
Case MsgBoxResult.Yes
|
|
SelTool.NewTool = False
|
|
SelTool.m_Name = SelTool.m_Name.Trim()
|
|
SelTool.WriteToolName()
|
|
EgtTdbSaveCurrTool()
|
|
Case MsgBoxResult.No
|
|
If SelTool.NewTool Then
|
|
RemoveTool(SelTool)
|
|
ElseIf SelTool.m_IsModifiedName Then
|
|
Dim DbName As String = String.Empty
|
|
EgtTdbGetCurrToolParam(MCH_TP.NAME, DbName)
|
|
SelTool.NamePar = DbName
|
|
End If
|
|
Case MsgBoxResult.Cancel
|
|
Return False
|
|
End Select
|
|
End If
|
|
Return True
|
|
End Function
|
|
|
|
''' <summary>
|
|
''' Method that search imported tools for the currently selected Machine and add it to the ToolsList.
|
|
''' </summary>
|
|
Private Sub LoadImportedMachineTools(vsImportedTools As String())
|
|
' Leggo tutti gli utensili presenti nella Macchina (quindi anche quelli appena importati).
|
|
Dim ActiveToolsFamilies() As ToolsFamily = MachineUtility.ReadToolFamilies(m_sMachineIniPath)
|
|
Dim ToolsFamilyIndex As Integer = 0
|
|
For Each ToolsFamily In ActiveToolsFamilies
|
|
Dim FamilyTreeView As New FamilyToolTreeViewItem(ToolsFamily.Name, ToolsFamily.Id)
|
|
Dim ToolFamilyItem = ToolsList.FirstOrDefault(Function(ToolFamily) ToolFamily.ToolType = FamilyTreeView.ToolType)
|
|
If IsNothing(ToolFamilyItem) Then
|
|
ToolsList.Insert(ToolsFamilyIndex, FamilyTreeView)
|
|
End If
|
|
Dim nType As Integer = 0
|
|
Dim ToolName As String = String.Empty
|
|
Dim ToolIndex As Integer = 0
|
|
EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext)
|
|
If EgtTdbGetFirstTool(ToolsFamily.Id, ToolName, nType) Then
|
|
Dim ToolItem = ToolsList(ToolsFamilyIndex).Items.FirstOrDefault(Function(Tool) Tool.Name = ToolName)
|
|
If IsNothing(ToolItem) Then
|
|
' Se leggo un utensile non presente nella ToolsList visualizzata lo aggiungo ad essa.
|
|
ToolsList(ToolsFamilyIndex).Items.Insert(ToolIndex, New ToolTreeViewItem(ToolName))
|
|
ElseIf vsImportedTools.Contains(ToolName) Then
|
|
' Se un utensile è presente nella ToolsList visualizzata ma nel contempo è nell'array vsImported
|
|
' vuol dire che è stato sovrascritto perciò lo rimuovo e lo riaggiungo alla ToolsList.
|
|
ToolsList(ToolsFamilyIndex).Items.Remove(ToolsList(ToolsFamilyIndex).Items.FirstOrDefault(Function(Tool) Tool.Name = ToolName))
|
|
ToolsList(ToolsFamilyIndex).Items.Insert(ToolIndex, New ToolTreeViewItem(ToolName))
|
|
End If
|
|
ToolIndex += 1
|
|
While EgtTdbGetNextTool(ToolsFamily.Id, ToolName, nType)
|
|
ToolItem = ToolsList(ToolsFamilyIndex).Items.FirstOrDefault(Function(Tool) Tool.Name = ToolName)
|
|
If IsNothing(ToolItem) Then
|
|
' Se leggo un utensile non presente nella ToolsList visualizzata lo aggiungo ad essa.
|
|
ToolsList(ToolsFamilyIndex).Items.Insert(ToolIndex, New ToolTreeViewItem(ToolName))
|
|
ElseIf vsImportedTools.Contains(ToolName) Then
|
|
' Se un utensile è presente nella ToolsList visualizzata ma nel contempo è nell'array vsImported
|
|
' vuol dire che è stato sovrascritto perciò lo rimuovo e lo riaggiungo alla ToolsList.
|
|
ToolsList(ToolsFamilyIndex).Items.Remove(ToolsList(ToolsFamilyIndex).Items.FirstOrDefault(Function(Tool) Tool.Name = ToolName))
|
|
ToolsList(ToolsFamilyIndex).Items.Insert(ToolIndex, New ToolTreeViewItem(ToolName))
|
|
End If
|
|
ToolIndex += 1
|
|
End While
|
|
End If
|
|
ToolsFamilyIndex += 1
|
|
Next
|
|
End Sub
|
|
|
|
#End Region ' Methods
|
|
|
|
#Region "COMMANDS"
|
|
|
|
#Region "NewCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that create a new tool.
|
|
''' </summary>
|
|
Public ReadOnly Property NewCommand As ICommand
|
|
Get
|
|
If m_cmdNew Is Nothing Then
|
|
m_cmdNew = New Command(AddressOf NewPar)
|
|
End If
|
|
Return m_cmdNew
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Creata the new tool. This method is invoked by the NewCommand.
|
|
''' </summary>
|
|
Public Overridable Sub NewPar(ByVal param As Object)
|
|
EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext)
|
|
' Verifico se sia selezionata una famiglia
|
|
Dim NewToolItem As ToolTreeViewItem
|
|
If TypeOf param Is FamilyToolTreeViewItem Then
|
|
Dim ToolFamily As FamilyToolTreeViewItem = DirectCast(param, FamilyToolTreeViewItem)
|
|
Dim NewName As String = ToolFamily.Name
|
|
EgtTdbGetToolNewName(NewName)
|
|
If EgtTdbAddTool(NewName, ToolFamily.ToolType) Then
|
|
NewToolItem = New ToolTreeViewItem(NewName)
|
|
ToolFamily.Items.Add(NewToolItem)
|
|
EgtTdbSaveCurrTool()
|
|
NewToolItem.NewTool = True
|
|
' Determino il tipo di utensile
|
|
Dim nType As Integer
|
|
EgtTdbGetCurrToolParam(MCH_TP.TYPE, nType)
|
|
Dim bSaw As Boolean = ((nType And MCH_TF.SAWBLADE) <> 0)
|
|
' Imposto testa e uscita
|
|
' Sempre lame su H1.1 e altri utensili su H1.2
|
|
EgtTdbSetCurrToolParam(MCH_TP.HEAD, "H1")
|
|
EgtTdbSetCurrToolParam(MCH_TP.EXIT_, If(bSaw, 1, 2))
|
|
' Per macchine senza ToolChanger, resetto la posizione su questo
|
|
If CurrentMachine.ShowToolChanger = 0 Then
|
|
EgtTdbSetCurrToolParam(MCH_TP.TCPOS, "")
|
|
End If
|
|
' Imposto dimensioni standard
|
|
If (nType And MCH_TF.DRILLBIT) <> 0 Then
|
|
EgtTdbSetCurrToolParam(MCH_TP.LEN, 80.0)
|
|
EgtTdbSetCurrToolParam(MCH_TP.TOTLEN, 80.0)
|
|
EgtTdbSetCurrToolParam(MCH_TP.DIAM, 20.0)
|
|
EgtTdbSetCurrToolParam(MCH_TP.TOTDIAM, 20.0)
|
|
EgtTdbSetCurrToolParam(MCH_TP.MAXMAT, 40.0)
|
|
ElseIf (nType And MCH_TF.SAWBLADE) <> 0 Then
|
|
EgtTdbSetCurrToolParam(MCH_TP.LEN, 80.0)
|
|
EgtTdbSetCurrToolParam(MCH_TP.TOTLEN, 80.0)
|
|
EgtTdbSetCurrToolParam(MCH_TP.DIAM, 600.0)
|
|
EgtTdbSetCurrToolParam(MCH_TP.TOTDIAM, 600.0)
|
|
EgtTdbSetCurrToolParam(MCH_TP.THICK, 5.0)
|
|
EgtTdbSetCurrToolParam(MCH_TP.MAXMAT, 40.0)
|
|
ElseIf (nType And MCH_TF.MILL) <> 0 Then
|
|
EgtTdbSetCurrToolParam(MCH_TP.LEN, 80.0)
|
|
EgtTdbSetCurrToolParam(MCH_TP.TOTLEN, 80.0)
|
|
EgtTdbSetCurrToolParam(MCH_TP.DIAM, 20.0)
|
|
EgtTdbSetCurrToolParam(MCH_TP.TOTDIAM, 20.0)
|
|
EgtTdbSetCurrToolParam(MCH_TP.MAXMAT, 40.0)
|
|
End If
|
|
' Salvo e aggiorno interfaccia utente
|
|
EgtTdbSaveCurrTool()
|
|
' Seleziono il nuovo utensile
|
|
If Not ToolFamily.IsExpanded Then ToolFamily.IsExpanded = True
|
|
NewToolItem.IsSelected = True
|
|
NewToolItem.NotifyPropertyChanged("IsSelected")
|
|
End If
|
|
' Verifico se sia selezionato un utensile
|
|
ElseIf TypeOf param Is ToolTreeViewItem Then
|
|
Dim ToolCopied As ToolTreeViewItem = DirectCast(param, ToolTreeViewItem)
|
|
Dim NewName As String = ToolCopied.Name
|
|
EgtTdbGetToolNewName(NewName)
|
|
If EgtTdbCopyTool(ToolCopied.Name, NewName) Then
|
|
' Elimino disegno che non deve essere copiato
|
|
EgtTdbSetCurrToolParam(MCH_TP.DRAW, String.Empty)
|
|
Dim CurrType As Integer
|
|
EgtTdbGetCurrToolParam(MCH_TP.TYPE, CurrType)
|
|
For Each ToolFamily In ToolsList
|
|
If (ToolFamily.ToolType And CurrType) <> 0 Then
|
|
NewToolItem = New ToolTreeViewItem(NewName)
|
|
ToolFamily.Items.Add(NewToolItem)
|
|
EgtTdbSaveCurrTool()
|
|
NewToolItem.NewTool = True
|
|
' Reimposto l'utensile vecchio nel Db per deselezionarlo e fare le verifiche correttamente
|
|
EgtTdbSetCurrTool(ToolCopied.Name)
|
|
ToolCopied.IsSelected = False
|
|
ToolCopied.NotifyPropertyChanged("IsSelected")
|
|
NewToolItem.IsSelected = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
End Sub
|
|
|
|
#End Region ' NewCommand
|
|
|
|
#Region "SaveCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that save the current selected tool.
|
|
''' </summary>
|
|
Public ReadOnly Property SaveCommand() 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>
|
|
''' Saves the current tool. This method is invoked by the SaveCommand.
|
|
''' </summary>
|
|
Public Sub Save(ByVal param As Object)
|
|
Dim CurrTool As ToolTreeViewItem = DirectCast(param, ToolTreeViewItem)
|
|
CurrTool.WriteToolParam()
|
|
CurrTool.m_Name = CurrTool.m_Name.Trim()
|
|
CurrTool.WriteToolName()
|
|
EgtTdbSaveCurrTool()
|
|
' La funzione di salvataggio utensile forza lo stato di modificato allo stesso per poi salvare il disegno e il DB
|
|
CurrTool.NewTool = False
|
|
CurrTool.IsModifiedReset()
|
|
IsEnabledBtns(CurrTool.IsValid And Not CurrTool.IsModified, CurrTool.IsValid, True)
|
|
End Sub
|
|
|
|
#End Region ' SaveCommand
|
|
|
|
#Region "RemoveCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that remove the current selected tool.
|
|
''' </summary>
|
|
Public ReadOnly Property RemoveCommand() As ICommand
|
|
Get
|
|
If m_cmdRemove Is Nothing Then
|
|
m_cmdRemove = New Command(AddressOf Remove)
|
|
End If
|
|
Return m_cmdRemove
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Remove the current selected tools from Db and TreeView. This method is invoked by the RemoveCommand.
|
|
''' </summary>
|
|
Public Sub Remove(ByVal param As Object)
|
|
EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext)
|
|
Dim ToolToRemove As ToolTreeViewItem = DirectCast(param, ToolTreeViewItem)
|
|
' Verifico se questo utensile viene utilizzato da qualche lavorazione
|
|
Dim UsingMachining As New List(Of String)
|
|
Dim ActiveMachiningsTypes() As MachiningsType = MachineUtility.ReadMachiningFamilies(m_sMachineIniPath)
|
|
For Each MachiningsType In ActiveMachiningsTypes
|
|
Dim MachiningName As String = String.Empty
|
|
EgtMdbGetFirstMachining(MachiningsType.Id, MachiningName)
|
|
While Not String.IsNullOrWhiteSpace(MachiningName)
|
|
' recupero tuuid
|
|
EgtMdbSetCurrMachining(MachiningName)
|
|
Dim sCurrMachTUUID As String = String.Empty
|
|
EgtMdbGetCurrMachiningParam(MCH_MP.TUUID, sCurrMachTUUID)
|
|
If sCurrMachTUUID = ToolToRemove.Uuid Then
|
|
UsingMachining.Add(MachiningName)
|
|
End If
|
|
EgtMdbGetNextMachining(MachiningsType.Id, MachiningName)
|
|
End While
|
|
Next
|
|
Dim MessageBoxText As String = EgtMsg(MSG_TOOLDBERRORS + 22) & " " & ToolToRemove.Name & EgtMsg(MSG_TOOLDBERRORS + 23)
|
|
If UsingMachining.Count > 0 Then
|
|
MessageBoxText &= "This is the list of Machining that use this tool:" & Environment.NewLine
|
|
For MachiningIndex = 0 To UsingMachining.Count - 1
|
|
MessageBoxText &= "- " & UsingMachining(MachiningIndex) & Environment.NewLine
|
|
Next
|
|
End If
|
|
' Chiedo conferma cancellazione lavorazione
|
|
If MessageBox.Show(MessageBoxText, EgtMsg(MSG_TOOLDBERRORS + 24), MessageBoxButton.YesNo, MessageBoxImage.Question) <> MessageBoxResult.Yes Then
|
|
Return
|
|
End If
|
|
RemoveTool(ToolToRemove)
|
|
End Sub
|
|
|
|
Private Sub RemoveTool(ToolToRemove As ToolTreeViewItem)
|
|
EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext)
|
|
' Salvo il tipo di utensile per poterlo cancellare
|
|
Dim ToolType As Integer = ToolToRemove.Type
|
|
' Cancello l'utensile
|
|
Dim CurrToolOriginalName As String = String.Empty
|
|
EgtTdbGetToolFromUUID(ToolToRemove.Uuid, CurrToolOriginalName)
|
|
EgtTdbRemoveTool(CurrToolOriginalName)
|
|
' Rimuovo il nome dell'albero
|
|
For Each ToolFamily In ToolsList
|
|
If (ToolFamily.ToolType And ToolType) <> 0 Then
|
|
ToolFamily.Items.Remove(ToolToRemove)
|
|
End If
|
|
Next
|
|
ErrorOnTool(False)
|
|
End Sub
|
|
|
|
#End Region ' RemoveCommand
|
|
|
|
#Region "ImportCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that remove the current selected machining.
|
|
''' </summary>
|
|
Public ReadOnly Property ImportCommand() As ICommand
|
|
Get
|
|
If m_cmdImport Is Nothing Then
|
|
m_cmdImport = New Command(AddressOf ImportTool)
|
|
End If
|
|
Return m_cmdImport
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Manage the MachiningDb closing. This method is invoked by the CloseMachiningDbCommand.
|
|
''' </summary>
|
|
Public Sub ImportTool(param As Object)
|
|
EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext)
|
|
' Se c'è utensile selezionato, ne verifico salvataggio
|
|
If Not VerifySelectedToolModification() Then Return
|
|
' apro dialogo di scelta file
|
|
Dim ImportFileDlg As New Microsoft.Win32.OpenFileDialog() With {
|
|
.Title = EgtMsg(31161) & " " & EgtMsg(31163),
|
|
.DefaultExt = ".data",
|
|
.Filter = "Tools (.data)|*.data",
|
|
.CheckFileExists = True,
|
|
.ValidateNames = True
|
|
}
|
|
If ImportFileDlg.ShowDialog() <> True Then Return
|
|
Dim ImportFilePath As String = ImportFileDlg.FileName
|
|
' recupero liste utensili da importare
|
|
Dim ImportFileToolNameList As String()
|
|
Dim ImportFileToolFamilyList As Integer()
|
|
EgtTdbToBeImported(ImportFilePath, ImportFileToolNameList, ImportFileToolFamilyList)
|
|
' li inserisco in lista per finestra di scelta
|
|
Dim ToolToImportList As New ObservableCollection(Of ImpExpToolFamily)
|
|
' creo famiglie di utensili in base a quelle trovate in lista importata
|
|
If Not IsNothing(ImportFileToolNameList) AndAlso Not IsNothing(ImportFileToolFamilyList) Then
|
|
For ToolIndex As Integer = 0 To ImportFileToolNameList.Count - 1
|
|
Dim ToolName As String = ImportFileToolNameList(ToolIndex)
|
|
Dim ToolFamily As Integer = ImportFileToolFamilyList(ToolIndex)
|
|
ToolFamily = ToolFamily And
|
|
(MCH_TF.DRILLBIT Or
|
|
MCH_TF.SAWBLADE Or
|
|
MCH_TF.MILL Or
|
|
MCH_TF.MORTISE Or
|
|
MCH_TF.CHISEL Or
|
|
MCH_TF.WATERJET Or
|
|
MCH_TF.COMPO)
|
|
Dim bFounded As Boolean = False
|
|
For Each ToolToImportFamily In ToolToImportList
|
|
If (ToolFamily = ToolToImportFamily.FamilyType) Then
|
|
ToolToImportFamily.ToolList.Add(New ImpExpToolItem(ToolName, AlreadyExist(ToolName)))
|
|
bFounded = True
|
|
Exit For
|
|
End If
|
|
Next
|
|
If Not bFounded Then
|
|
Dim NewFamily As New ImpExpToolFamily(GetToolFamilyName(ToolFamily), ToolFamily)
|
|
NewFamily.ToolList.Add(New ImpExpToolItem(ToolName, AlreadyExist(ToolName)))
|
|
ToolToImportList.Add(NewFamily)
|
|
End If
|
|
Next
|
|
End If
|
|
Dim ImportWndVM As New ImportExportToolWindowVM(ToolToImportList, False, ImportFilePath, ImportFileToolNameList)
|
|
Dim ImportWnd As New ImportExportToolWindowV(Application.Current.MainWindow, ImportWndVM)
|
|
|
|
If ImportWnd.ShowDialog() Then
|
|
' Aggiungo all'albero visualizzato gli utensili appena importati
|
|
LoadImportedMachineTools(ImportWndVM.vsImported)
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Function AlreadyExist(ToolName As String) As Boolean
|
|
For Each ToolFamily In m_ToolsList
|
|
For Each ToolItem As ToolTreeViewItem In ToolFamily.Items
|
|
If ToolName = ToolItem.Name Then
|
|
Return True
|
|
End If
|
|
Next
|
|
Next
|
|
Return False
|
|
End Function
|
|
|
|
Private Function GetToolFamilyName(NewToolFamily As Integer) As String
|
|
For Each ToolFamily In m_ToolsList
|
|
If NewToolFamily = ToolFamily.ToolType Then
|
|
Return ToolFamily.Name
|
|
End If
|
|
Next
|
|
Return ""
|
|
End Function
|
|
|
|
#End Region ' ImportCommand
|
|
|
|
#Region "ExportCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that remove the current selected machining.
|
|
''' </summary>
|
|
Public ReadOnly Property ExportCommand() As ICommand
|
|
Get
|
|
If m_cmdExport Is Nothing Then
|
|
m_cmdExport = New Command(AddressOf ExportTool)
|
|
End If
|
|
Return m_cmdExport
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Manage the MachiningDb closing. This method is invoked by the CloseMachiningDbCommand.
|
|
''' </summary>
|
|
Public Sub ExportTool(param As Object)
|
|
EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext)
|
|
' Se c'è utensile selezionato, ne verifico salvataggio
|
|
If Not VerifySelectedToolModification() Then Return
|
|
' Creo lista utensili per esportazione
|
|
Dim ToolToExportList As New ObservableCollection(Of ImpExpToolFamily)
|
|
For Each Family In m_ToolsList
|
|
Dim ImpExpToolFamily As New ImpExpToolFamily(Family.Name, Family.ToolType)
|
|
For Each Tool In Family.Items
|
|
ImpExpToolFamily.ToolList.Add(New ImpExpToolItem(Tool.Name, False))
|
|
Next
|
|
ToolToExportList.Add(ImpExpToolFamily)
|
|
Next
|
|
Dim ExportWndVM As New ImportExportToolWindowVM(ToolToExportList, True)
|
|
Dim ExportWnd As New ImportExportToolWindowV(Application.Current.MainWindow, ExportWndVM)
|
|
|
|
ExportWnd.ShowDialog()
|
|
|
|
End Sub
|
|
|
|
#End Region ' ExportCommand
|
|
|
|
#Region "ReloadToolCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that reload the current selected tool.
|
|
''' </summary>
|
|
Public ReadOnly Property ReloadToolCommand() As ICommand
|
|
Get
|
|
If m_cmdReloadTool Is Nothing Then
|
|
m_cmdReloadTool = New Command(AddressOf ReloadTool)
|
|
End If
|
|
Return m_cmdReloadTool
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Reload the current selected tools. This method is invoked by the RemoveCommand.
|
|
''' </summary>
|
|
Public Sub ReloadTool(ByVal param As Object)
|
|
If TypeOf param Is FamilyToolTreeViewItem Then
|
|
Return
|
|
' Verifico se sia selezionato un utensile
|
|
ElseIf TypeOf param Is ToolTreeViewItem Then
|
|
Dim ToolToReload As ToolTreeViewItem = DirectCast(param, ToolTreeViewItem)
|
|
EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext)
|
|
ToolToReload.ReadToolParam()
|
|
ToolToReload.ReadToolName()
|
|
ToolToReload.IsModifiedReset()
|
|
End If
|
|
End Sub
|
|
|
|
#End Region ' ReloadToolCommand
|
|
|
|
#Region "CloseToolDbCommand"
|
|
|
|
''' <summary>
|
|
''' Returns a command that close ToolDB Window.
|
|
''' </summary>
|
|
Public ReadOnly Property CloseToolsDbCommand() As ICommand
|
|
Get
|
|
If m_cmdCloseToolsDb Is Nothing Then
|
|
m_cmdCloseToolsDb = New Command(AddressOf CloseToolsDb)
|
|
End If
|
|
Return m_cmdCloseToolsDb
|
|
End Get
|
|
End Property
|
|
|
|
''' <summary>
|
|
''' Manage the ToolDb closing. This method is invoked by the CloseToolDbCommand.
|
|
''' </summary>
|
|
Public Sub CloseToolsDb(param As Object)
|
|
If (Keyboard.Modifiers And ModifierKeys.Alt) = ModifierKeys.Alt OrElse Keyboard.IsKeyDown(Key.F4) Then
|
|
Return
|
|
End If
|
|
m_bActive = False
|
|
' Imposto contesto di progetto
|
|
EgtSetCurrentContext(ToolDbWindowVM.m_ProjectSceneContext)
|
|
' Se c'è utensile selezionato, ne verifico salvataggio
|
|
If Not VerifySelectedToolModification() Then
|
|
If Not SelTool.IsValid() Then
|
|
'Utensile non valido, correggerlo o cancellarlo prima di uscire dal Db Utensili. - Errore
|
|
MessageBox.Show(EgtMsg(31129), EgtMsg(31126))
|
|
End If
|
|
Return
|
|
End If
|
|
' Salvataggio DB utensili
|
|
EgtTdbSave()
|
|
' Reset lua
|
|
EgtLuaResetGlobVar("STU")
|
|
' Dichiaro utensile non più selezionato
|
|
If Not IsNothing(SelTool) Then SelTool.ResetSelected()
|
|
' Se c'è il parametro Active sugli utensili
|
|
If m_Active_Visibility Then
|
|
' aggiorno setup di default
|
|
UpdateDefSetup()
|
|
End If
|
|
' Chiusura finestra
|
|
ToolTreeViewItem.m_delRemoveTool = Nothing
|
|
ToolTreeViewItem.m_delErrorOnTool = Nothing
|
|
ToolTreeViewItem.m_delIsEnabledBtns = Nothing
|
|
FamilyToolTreeViewItem.m_delIsEnabledBtns = Nothing
|
|
For Each Window In Application.Current.Windows
|
|
If TypeOf Window Is ToolDbWindowV Then
|
|
Dim ToolDbWindow As ToolDbWindowV = DirectCast(Window, ToolDbWindowV)
|
|
ToolDbWindow.DataContext = Nothing
|
|
ToolDbWindow.Close()
|
|
End If
|
|
Next
|
|
RaiseEvent m_CloseWindow(True)
|
|
End Sub
|
|
|
|
#End Region ' CloseToolsDbCommand
|
|
|
|
#End Region ' Commands
|
|
|
|
End Class |