83f761d713
- correzioni e miglioramenti a pagine ControlsMachineButtonUC e VacuumMachineButtonUC.
316 lines
12 KiB
VB.net
316 lines
12 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports System.ComponentModel
|
|
Imports EgtUILib
|
|
|
|
Public Class VacuumMachineButtonUC
|
|
Implements INotifyPropertyChanged
|
|
|
|
' Costanti per nomi stati dei bottoni
|
|
Private Const BTN_STATE_SPINDLE As String = "Spindle"
|
|
Private Const BTN_STATE_COOLANT As String = "Coolant"
|
|
Private Const BTN_STATE_LASER As String = "Laser"
|
|
Private Const BTN_STATE_THREEAXIS As String = "ThreeAxis"
|
|
Private Const BTN_STATE_FIVEAXIS As String = "FiveAxis"
|
|
Private Const BTN_STATE_NOTHING As String = "Nothing"
|
|
|
|
Private Enum MachineButtonType As Integer
|
|
NOSTATE = 0
|
|
TWOSTATE = 1
|
|
THREESTATE = 2
|
|
DOUBLECOMMAND = 3
|
|
PRESSEDCOMMAND = 4
|
|
End Enum
|
|
|
|
' Dichiarazione delle Page UserControl
|
|
Private m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
|
|
Private m_DirectCutPage As DirectCutPageUC
|
|
Friend m_CN As CN_generico
|
|
Private m_bFirst As Boolean = True
|
|
|
|
' Creazione converter da String a ImageSource
|
|
Dim ImageConverter As New ImageSourceConverter
|
|
|
|
Private m_ButtonList As New ObservableCollection(Of MachineButton)
|
|
Public ReadOnly Property ButtonList As ObservableCollection(Of MachineButton)
|
|
Get
|
|
Return m_ButtonList
|
|
End Get
|
|
End Property
|
|
|
|
Private Sub ManualAxesMove_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
|
|
Me.DataContext = Me
|
|
End Sub
|
|
|
|
Private Sub ManualAxesMove_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
|
|
If m_bFirst Then
|
|
m_DirectCutPage = m_MainWindow.m_DirectCutPageUC
|
|
'MachineButton.m_DirectCutPage = m_DirectCutPage
|
|
'MachineButton.m_CN = m_CN
|
|
m_bFirst = False
|
|
|
|
' Lettura configurazione bottoni da Ini di macchina
|
|
Dim m_nCount As Integer = 1
|
|
Dim bFoundedBtn As Boolean = True
|
|
While bFoundedBtn
|
|
Dim sNameBtn As String = K_BUTTON & (m_nCount).ToString()
|
|
Dim sMachineButtonType As String = String.Empty
|
|
Dim sTImageName As String = String.Empty
|
|
Dim sTLuaScriptName As String = String.Empty
|
|
Dim sFImageName As String = String.Empty
|
|
Dim sFLuaScriptName As String = String.Empty
|
|
Dim sStateFlag As String = String.Empty
|
|
bFoundedBtn = GetPrivateProfileMachineButtons(S_VACUUMMACHBUTTONS, sNameBtn, sMachineButtonType, sTImageName, sTLuaScriptName, sFImageName, sFLuaScriptName, sStateFlag, m_MainWindow.GetMachIniFile())
|
|
If bFoundedBtn Then 'And
|
|
'(Not m_bOnlyLaser Or sButtonStateFlag = sNameBtn) Then
|
|
m_nCount += 1
|
|
Dim ButtonToAdd As MachineButton = Nothing
|
|
Select Case sMachineButtonType
|
|
Case MachineButtonType.NOSTATE
|
|
ButtonToAdd = New TwoStateButton(sTImageName, sTLuaScriptName, sFImageName, sFLuaScriptName, sStateFlag)
|
|
Case MachineButtonType.TWOSTATE
|
|
ButtonToAdd = New TwoStateButton(sTImageName, sTLuaScriptName, sFImageName, sFLuaScriptName, sStateFlag)
|
|
Case MachineButtonType.THREESTATE
|
|
ButtonToAdd = New ThreeStateButton(sTImageName, sTLuaScriptName, sFImageName, sFLuaScriptName, sStateFlag)
|
|
Case MachineButtonType.DOUBLECOMMAND
|
|
ButtonToAdd = New DoubleCommandButton(sTImageName, sTLuaScriptName, sFImageName, sFLuaScriptName, sStateFlag)
|
|
Case MachineButtonType.PRESSEDCOMMAND
|
|
ButtonToAdd = New PressedCommandButton(sTImageName, sTLuaScriptName, sFImageName, sFLuaScriptName, sStateFlag)
|
|
End Select
|
|
If Not IsNothing(ButtonToAdd) Then m_ButtonList.Add(ButtonToAdd)
|
|
End If
|
|
End While
|
|
NotifyPropertyChanged("ButtonList")
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub VacuumUpChanged(VacuumUpState As Boolean)
|
|
Dim VacuumUpButton As TwoStateButton = Nothing
|
|
For Each MachineButton In m_ButtonList
|
|
If MachineButton.StateFlag = K_VACUUMUP Then
|
|
VacuumUpButton = MachineButton
|
|
End If
|
|
Next
|
|
If Not IsNothing(VacuumUpButton) Then
|
|
VacuumUpButton.SetIsChecked(VacuumUpState)
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub VacuumDownChanged(VacuumDownState As Boolean)
|
|
Dim VacuumDownButton As TwoStateButton = Nothing
|
|
For Each MachineButton In m_ButtonList
|
|
If MachineButton.StateFlag = K_VACUUMDOWN Then
|
|
VacuumDownButton = MachineButton
|
|
End If
|
|
Next
|
|
If Not IsNothing(VacuumDownButton) Then
|
|
VacuumDownButton.SetIsChecked(VacuumDownState)
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub Vacuum0Changed(Vacuum0State As Boolean)
|
|
Dim Vacuum0Button As TwoStateButton = Nothing
|
|
For Each MachineButton In m_ButtonList
|
|
If MachineButton.StateFlag = K_VACUUM0 Then
|
|
Vacuum0Button = MachineButton
|
|
End If
|
|
Next
|
|
If Not IsNothing(Vacuum0Button) Then
|
|
Vacuum0Button.SetIsChecked(Vacuum0State)
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub Vacuum90Changed(Vacuum90State As Boolean)
|
|
Dim VacuumRotButton As TwoStateButton = Nothing
|
|
For Each MachineButton In m_ButtonList
|
|
If MachineButton.StateFlag = K_VACUUM90 Then
|
|
VacuumRotButton = MachineButton
|
|
End If
|
|
Next
|
|
If Not IsNothing(VacuumRotButton) Then
|
|
VacuumRotButton.SetIsChecked(Vacuum90State)
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub Vacuum3Changed(Vacuum3State As Boolean)
|
|
Dim Vacuum3StateButton As TwoStateButton = Nothing
|
|
For Each MachineButton In m_ButtonList
|
|
If MachineButton.StateFlag = K_VACUU3STATE Then
|
|
Vacuum3StateButton = MachineButton
|
|
End If
|
|
Next
|
|
If Not IsNothing(Vacuum3StateButton) Then
|
|
Vacuum3StateButton.SetIsChecked(Vacuum3State)
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub Vacuum4Changed(Vacuum4State As Boolean)
|
|
Dim Vacuum4StateButton As TwoStateButton = Nothing
|
|
For Each MachineButton In m_ButtonList
|
|
If MachineButton.StateFlag = K_VACUU4STATE Then
|
|
Vacuum4StateButton = MachineButton
|
|
End If
|
|
Next
|
|
If Not IsNothing(Vacuum4StateButton) Then
|
|
Vacuum4StateButton.SetIsChecked(Vacuum4State)
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub Vacuum135Changed(Vacuum135State As Boolean)
|
|
Dim Vacuum135StateButton As TwoStateButton = Nothing
|
|
For Each MachineButton In m_ButtonList
|
|
If MachineButton.StateFlag = K_VACUU135STATE Then
|
|
Vacuum135StateButton = MachineButton
|
|
End If
|
|
Next
|
|
If Not IsNothing(Vacuum135StateButton) Then
|
|
Vacuum135StateButton.SetIsChecked(Vacuum135State)
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub Vacuum246Changed(Vacuum246State As Boolean)
|
|
Dim Vacuum246StateButton As TwoStateButton = Nothing
|
|
For Each MachineButton In m_ButtonList
|
|
If MachineButton.StateFlag = K_VACUU246STATE Then
|
|
Vacuum246StateButton = MachineButton
|
|
End If
|
|
Next
|
|
If Not IsNothing(Vacuum246StateButton) Then
|
|
Vacuum246StateButton.SetIsChecked(Vacuum246State)
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub OpenAllChanged(OpenAllState As Boolean)
|
|
Dim OpenAllStateButton As TwoStateButton = Nothing
|
|
For Each MachineButton In m_ButtonList
|
|
If MachineButton.StateFlag = K_OPENALLSTATE Then
|
|
OpenAllStateButton = MachineButton
|
|
End If
|
|
Next
|
|
If Not IsNothing(OpenAllStateButton) Then
|
|
OpenAllStateButton.SetIsChecked(OpenAllState)
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub CloseAllChanged(CloseAllState As Boolean)
|
|
Dim CloseAllStateButton As TwoStateButton = Nothing
|
|
For Each MachineButton In m_ButtonList
|
|
If MachineButton.StateFlag = K_CLOSEALLSTATE Then
|
|
CloseAllStateButton = MachineButton
|
|
End If
|
|
Next
|
|
If Not IsNothing(CloseAllStateButton) Then
|
|
CloseAllStateButton.SetIsChecked(CloseAllState)
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub BlowChanged(BlowState As Boolean)
|
|
Dim BlowStateButton As TwoStateButton = Nothing
|
|
For Each MachineButton In m_ButtonList
|
|
If MachineButton.StateFlag = K_BLOWSTATE Then
|
|
BlowStateButton = MachineButton
|
|
End If
|
|
Next
|
|
If Not IsNothing(BlowStateButton) Then
|
|
BlowStateButton.SetIsChecked(BlowState)
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub VacuumOnChanged(VacuumState As Boolean)
|
|
Dim VacuumOnButton As TwoStateButton = Nothing
|
|
For Each MachineButton In m_ButtonList
|
|
If MachineButton.StateFlag = K_VACUUMON Then
|
|
VacuumOnButton = MachineButton
|
|
End If
|
|
Next
|
|
If Not IsNothing(VacuumOnButton) Then
|
|
VacuumOnButton.SetIsChecked(VacuumState)
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub VacuumOffChanged(VacuumState As Boolean)
|
|
Dim VacuumOffButton As TwoStateButton = Nothing
|
|
For Each MachineButton In m_ButtonList
|
|
If MachineButton.StateFlag = K_VACUUMOFF Then
|
|
VacuumOffButton = MachineButton
|
|
End If
|
|
Next
|
|
If Not IsNothing(VacuumOffButton) Then
|
|
VacuumOffButton.SetIsChecked(VacuumState)
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub BypassChanged(BypassState As Boolean)
|
|
Dim BypassStateButton As TwoStateButton = Nothing
|
|
For Each MachineButton In m_ButtonList
|
|
If MachineButton.StateFlag = K_BYPASSTATE Then
|
|
BypassStateButton = MachineButton
|
|
End If
|
|
Next
|
|
If Not IsNothing(BypassStateButton) Then
|
|
BypassStateButton.SetIsChecked(BypassState)
|
|
End If
|
|
End Sub
|
|
|
|
Public Function GetPrivateProfileMachineButtons(
|
|
ByVal lpAppName As String,
|
|
ByVal lpKeyName As String,
|
|
ByRef lpMachineButtonType As String,
|
|
ByRef lpTImageName As String,
|
|
ByRef lpTLuaScriptName As String,
|
|
ByRef lpFImageName As String,
|
|
ByRef lpFLuaScriptName As String,
|
|
ByRef lpStateFlag As String,
|
|
ByVal lpFileName As String) As Boolean
|
|
|
|
Dim sVal As String = String.Empty
|
|
GetPrivateProfileString(lpAppName, lpKeyName, "", sVal, lpFileName)
|
|
Dim sItems() As String = sVal.Split(",".ToCharArray)
|
|
If sItems.Count() >= 3 Then
|
|
lpMachineButtonType = sItems(0)
|
|
lpTImageName = sItems(1)
|
|
lpTLuaScriptName = sItems(2)
|
|
If sItems.Count() >= 4 Then
|
|
lpStateFlag = sItems(3)
|
|
If sItems.Count() >= 6 Then
|
|
lpFImageName = sItems(4)
|
|
lpFLuaScriptName = sItems(5)
|
|
End If
|
|
Else
|
|
lpStateFlag = BTN_STATE_NOTHING
|
|
End If
|
|
Return True
|
|
End If
|
|
Return False
|
|
End Function
|
|
|
|
Private Sub ManualAxesMove_UnLoaded(sender As Object, e As RoutedEventArgs) Handles Me.Unloaded
|
|
End Sub
|
|
|
|
Public Event PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Implements INotifyPropertyChanged.PropertyChanged
|
|
|
|
Public Sub NotifyPropertyChanged(propName As String)
|
|
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
|
|
End Sub
|
|
|
|
#Region "EVENTS"
|
|
|
|
Private Sub PressedCommandButton_PreviewMouseUp(sender As Object, e As MouseButtonEventArgs)
|
|
Dim Button As Button = DirectCast(sender, Button)
|
|
If TypeOf Button.DataContext Is PressedCommandButton Then
|
|
Dim PressedButton As PressedCommandButton = DirectCast(Button.DataContext, PressedCommandButton)
|
|
PressedButton.OnMouseUp()
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub PressedCommandButton_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs)
|
|
Dim Button As Button = DirectCast(sender, Button)
|
|
If TypeOf Button.DataContext Is PressedCommandButton Then
|
|
Dim PressedButton As PressedCommandButton = DirectCast(Button.DataContext, PressedCommandButton)
|
|
PressedButton.OnMouseDown()
|
|
End If
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
End Class
|