1056 lines
48 KiB
VB.net
1056 lines
48 KiB
VB.net
Imports EgtUILib
|
|
|
|
Public Class MachineButtonsUC
|
|
|
|
'Riferimento alla MainWindow
|
|
Dim m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
|
|
Private m_DirectCutPage As DirectCutPageUC
|
|
Friend m_CN As CN_generico
|
|
|
|
Public nCountButton As Integer = 11
|
|
|
|
Private m_bOnlyLaser As Boolean = False
|
|
Private m_bFirst As Boolean = True
|
|
|
|
' 9/2 aggiunto spazio per un nuovo bottone
|
|
Private Const MAX_BUTTONS As Integer = 11
|
|
Private m_nCount As Integer = 0
|
|
Private ImageArrayY(MAX_BUTTONS - 1) As String
|
|
Private ImageArrayN(MAX_BUTTONS - 1) As String
|
|
Private CommandArrayY(MAX_BUTTONS - 1) As String
|
|
Private CommandArrayN(MAX_BUTTONS - 1) As String
|
|
Private StateFlagArray(MAX_BUTTONS - 1) As String
|
|
|
|
' Creazione converter da String a ImageSource
|
|
Dim ImageConverter As New ImageSourceConverter
|
|
|
|
' 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_LASERTRAC As String = "LaserTrac"
|
|
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 Const BTN_STATE_DOOR_OPENED As String = "DoorOpened"
|
|
Private Const BTN_STATE_DOOR_CLOSED As String = "DoorClosed"
|
|
Private Const BTN_STATE_PARKING As String = "Parking"
|
|
Private Const BTN_STATE_HOME As String = "Home"
|
|
Private Const BTN_ENABLE_ZONE_1 As String = "EnableZone1"
|
|
Private Const BTN_ENABLE_ZONE_2 As String = "EnableZone2"
|
|
Private Const BTN_ENABLE_PC As String = "EnablePC"
|
|
|
|
Public Sub New(Optional bOnlyLaser As Boolean = False)
|
|
' This call is required by the designer.
|
|
InitializeComponent()
|
|
' Imposto
|
|
m_bOnlyLaser = bOnlyLaser
|
|
End Sub
|
|
|
|
Private Sub MachineButtons_Loaded(sender As Object, e As RoutedEventArgs)
|
|
|
|
If m_bFirst Then
|
|
m_DirectCutPage = m_MainWindow.m_DirectCutPageUC
|
|
m_bFirst = False
|
|
End If
|
|
|
|
' Lettura configurazione bottoni da Ini di macchina
|
|
Dim m_nCount As Integer = 0
|
|
For nIndex As Integer = 0 To MAX_BUTTONS - 1
|
|
Dim sButton As String = K_BUTTON & (nIndex + 1).ToString()
|
|
Dim sButtonImage As String = String.Empty
|
|
Dim sButtonCommand As String = String.Empty
|
|
Dim sButtonStateFlag As String = String.Empty
|
|
If GetPrivateProfileMachineButtons(S_MACHBUTTONS, sButton & "Y", sButtonImage, sButtonCommand, sButtonStateFlag, m_MainWindow.GetMachIniFile()) And
|
|
(Not m_bOnlyLaser Or sButtonStateFlag = BTN_STATE_LASER) Then
|
|
ImageArrayY(m_nCount) = sButtonImage
|
|
CommandArrayY(m_nCount) = sButtonCommand
|
|
StateFlagArray(m_nCount) = sButtonStateFlag
|
|
If GetPrivateProfileMachineButtons(S_MACHBUTTONS, sButton & "N", sButtonImage, sButtonCommand, sButtonStateFlag, m_MainWindow.GetMachIniFile()) Then
|
|
ImageArrayN(m_nCount) = sButtonImage
|
|
CommandArrayN(m_nCount) = sButtonCommand
|
|
End If
|
|
m_nCount += 1
|
|
End If
|
|
Next
|
|
|
|
' Nascondo bottoni inutilizzati
|
|
For nIndex As Integer = m_nCount To MAX_BUTTONS - 1
|
|
GetToggleButton(nIndex + 1).Visibility = Windows.Visibility.Hidden
|
|
Next
|
|
|
|
' notifico nella variabile pubblica il numero di pulsanti inseriti nella barra
|
|
nCountButton = m_nCount
|
|
|
|
' Se variabile di stato "Nothing"/"DoorOpened"/"DoorClosed" imposto immagine fissa
|
|
For nIndex As Integer = 0 To m_nCount - 1
|
|
If StateFlagArray(nIndex) = BTN_STATE_NOTHING OrElse
|
|
StateFlagArray(nIndex) = BTN_STATE_DOOR_OPENED OrElse
|
|
StateFlagArray(nIndex) = BTN_STATE_DOOR_CLOSED OrElse
|
|
StateFlagArray(nIndex) = BTN_ENABLE_PC OrElse
|
|
StateFlagArray(nIndex) = BTN_ENABLE_ZONE_1 OrElse
|
|
StateFlagArray(nIndex) = BTN_ENABLE_ZONE_2 Then
|
|
' mostra immagine fissa
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
'Dim s As String = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayY(nIndex))
|
|
End Try
|
|
End If
|
|
Next
|
|
|
|
' Se non collegato a CN metto immagini fisse (o nessuna immagine)
|
|
If Not m_MainWindow.m_bNCLink Then
|
|
For nIndex As Integer = 0 To m_nCount - 1
|
|
Dim sImage As String = If(String.IsNullOrEmpty(ImageArrayN(nIndex)), ImageArrayY(nIndex), ImageArrayN(nIndex))
|
|
If Not String.IsNullOrEmpty(sImage) Then
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & sImage
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & sImage
|
|
End If
|
|
'Dim s As String = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & sImage
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & sImage)
|
|
End Try
|
|
Else
|
|
' In attesa che attivono le icone di questi pulsanti scrivo il contenuto del bottone
|
|
Try
|
|
Dim CurrToggleBtn As Primitives.ToggleButton = GetToggleButton(nIndex + 1)
|
|
If StateFlagArray(nIndex) = K_XYJOG Then
|
|
CurrToggleBtn.Content = "X - Y"
|
|
ElseIf StateFlagArray(nIndex) = K_ZCJOG Then
|
|
CurrToggleBtn.Content = "Z - C"
|
|
ElseIf StateFlagArray(nIndex) = K_ZBJOG Then
|
|
CurrToggleBtn.Content = "Z - B"
|
|
ElseIf StateFlagArray(nIndex) = K_REMOTE Then
|
|
CurrToggleBtn.Content = EgtMsg(90262) 'Remote
|
|
End If
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading content " & StateFlagArray(nIndex))
|
|
End Try
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub MachineButton_Click(sender As Object, e As RoutedEventArgs) Handles MachineButton1.Click, MachineButton2.Click, MachineButton3.Click, MachineButton4.Click, MachineButton5.Click,
|
|
MachineButton6.Click, MachineButton7.Click, MachineButton8.Click, MachineButton9.Click, MachineButton10.Click,
|
|
MachineButton11.Click
|
|
Dim CurrentBtn As Primitives.ToggleButton = e.Source
|
|
' recupero l'inidce del bottone selezionato
|
|
Dim nIndex As Integer = GetToggleButtonIndex(CurrentBtn) - 1
|
|
|
|
Dim sBaseDir As String = m_MainWindow.m_CurrentMachine.sMachDir & "\DirectCmd\"
|
|
Dim sLuaFileName As String = String.Empty
|
|
|
|
' Se il bottone chiamantè quello delle porte allora devo eseguire due comandi MDI
|
|
If nIndex = Array.IndexOf(StateFlagArray, BTN_STATE_DOOR_OPENED) OrElse
|
|
nIndex = Array.IndexOf(StateFlagArray, BTN_STATE_DOOR_CLOSED) Then
|
|
Dim sTLuaFile As String = sBaseDir & CommandArrayY(nIndex)
|
|
Dim sFLuaFile As String = sBaseDir & CommandArrayN(nIndex)
|
|
ExecuteMDICommand(CurrentBtn, sTLuaFile)
|
|
ExecuteMDICommand(CurrentBtn, sFLuaFile)
|
|
CurrentBtn.IsChecked = False
|
|
Return
|
|
End If
|
|
|
|
' Se il bottone chiamantè quello per la selezione del pannello di controllo
|
|
If nIndex = Array.IndexOf(StateFlagArray, BTN_ENABLE_PC) Then
|
|
Dim sTLuaFile As String = sBaseDir & CommandArrayY(nIndex)
|
|
Dim sFLuaFile As String = sBaseDir & CommandArrayN(nIndex)
|
|
If m_CN.nEnablePc = 1 Then
|
|
ExecuteMDICommand(CurrentBtn, sTLuaFile)
|
|
ElseIf m_CN.nEnablePc = 2 Then
|
|
ExecuteMDICommand(CurrentBtn, sFLuaFile)
|
|
End If
|
|
Return
|
|
End If
|
|
|
|
If CurrentBtn.IsChecked() Then
|
|
'EgtLuaExecFile(sBaseDir & CommandArrayY(nIndex))
|
|
sLuaFileName = sBaseDir & CommandArrayY(nIndex)
|
|
Else
|
|
If Not (StateFlagArray(nIndex) = BTN_STATE_THREEAXIS Or
|
|
StateFlagArray(nIndex) = BTN_STATE_FIVEAXIS) Then
|
|
'EgtLuaExecFile(sBaseDir & CommandArrayN(nIndex))
|
|
sLuaFileName = sBaseDir & CommandArrayN(nIndex)
|
|
Else
|
|
Return
|
|
End If
|
|
End If
|
|
|
|
ExecuteMDICommand(CurrentBtn, sLuaFileName)
|
|
|
|
' se non ha stato e quindi è un bottone normale, tolgo il check
|
|
If StateFlagArray(nIndex) = BTN_STATE_NOTHING Then
|
|
CurrentBtn.IsChecked = False
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Friend Sub ExecuteMDICommand(CurrentBtn As Primitives.ToggleButton, sLuaFileName As String)
|
|
If String.IsNullOrWhiteSpace(sLuaFileName) Then Return
|
|
Dim CmdString As String = String.Empty
|
|
Dim b2Start As Boolean = False
|
|
Dim EActive As Boolean = False
|
|
Dim ENumber As String = String.Empty
|
|
Dim EValue As String = String.Empty
|
|
Dim EType As String = 0
|
|
Dim ENumber2 As String = String.Empty
|
|
Dim EValue2 As String = String.Empty
|
|
Dim EType2 As String = 0
|
|
' eseguo la lettura del file .lua associato al comando
|
|
ExecuteDirectCmdLua(sLuaFileName, CmdString, b2Start, EActive, ENumber, EValue, EType, ENumber2, EValue2, EType2)
|
|
' comunico i dati calcolati al PLC (quidni ignoro eventuali comandi MDI), scrivo messaggio MDI
|
|
If EActive Then
|
|
Select Case m_MainWindow.m_CNCommunication.m_nNCType
|
|
Case 1, 2
|
|
If m_CN.m_NewVariable And m_MainWindow.m_CNCommunication.m_nNCType = 2 Then
|
|
' solo per Flexium
|
|
m_CN.DPlcVariables_WriteVariables(ENumber, EValue)
|
|
If Not IsNothing(ENumber2) And Not IsNothing(EValue2) Then
|
|
m_CN.DPlcVariables_WriteVariables(ENumber2, EValue2)
|
|
End If
|
|
' altrimenti scrittura delle variabili E
|
|
Else
|
|
m_CN.DVariables_WriteVariables2(ENumber, EValue)
|
|
End If
|
|
Return
|
|
Case 3
|
|
If m_MainWindow.m_DirectCutPageUC.m_NewMachineButtonsType Then
|
|
' scrivo prima variabile
|
|
Select Case CShort(EType)
|
|
Case 1
|
|
m_CN.DVariables_WriteVariables3(ENumber, CShort(EType), CInt(EValue), 0, 0, "")
|
|
EgtOutLog("ENumber= " & ENumber & "EType= " & CShort(EType) & "EValue= " & CInt(EValue))
|
|
Case 2
|
|
m_CN.DVariables_WriteVariables3(ENumber, CShort(EType), 0, CLng(EValue), 0, "")
|
|
EgtOutLog("ENumber= " & ENumber & "EType= " & CShort(EType) & "EValue= " & CLng(EValue))
|
|
Case 3
|
|
Dim d As Double = 0
|
|
StringToDouble(EValue, d)
|
|
m_CN.DVariables_WriteVariables3(ENumber, CShort(EType), 0, 0, d, "")
|
|
EgtOutLog("ENumber= " & ENumber & "EType= " & CShort(EType) & "EValue= " & d)
|
|
Case 4
|
|
m_CN.DVariables_WriteVariables3(ENumber, CShort(EType), 0, 0, 0, EValue)
|
|
EgtOutLog("ENumber= " & ENumber & "EType= " & CShort(EType) & "EValue= " & EValue)
|
|
End Select
|
|
EgtOutLog("dopo scrittura prima variabile")
|
|
If Not IsNothing(EType2) AndAlso CShort(EType) > 0 Then
|
|
System.Threading.Thread.Sleep(100)
|
|
' scrivo seconda variabile
|
|
Select Case CShort(EType2)
|
|
Case 1
|
|
m_CN.DVariables_WriteVariables3(ENumber2, CShort(EType2), CInt(EValue2), 0, 0, "")
|
|
EgtOutLog("ENumber2= " & ENumber2 & "EType2= " & CShort(EType2) & "EValue2= " & CInt(EValue2))
|
|
Case 2
|
|
m_CN.DVariables_WriteVariables3(ENumber2, CShort(EType2), 0, CLng(EValue2), 0, "")
|
|
EgtOutLog("ENumber2= " & ENumber2 & "EType2= " & CShort(EType2) & "EValue2= " & CLng(EValue2))
|
|
Case 3
|
|
Dim d As Double = 0
|
|
StringToDouble(EValue2, d)
|
|
m_CN.DVariables_WriteVariables3(ENumber2, CShort(EType2), 0, 0, d, "")
|
|
EgtOutLog("ENumber2= " & ENumber2 & "EType2= " & CShort(EType2) & "EValue2= " & d)
|
|
Case 4
|
|
m_CN.DVariables_WriteVariables3(ENumber2, CShort(EType2), 0, 0, 0, EValue2)
|
|
EgtOutLog("ENumber2= " & ENumber2 & "EType2= " & CShort(EType2) & "EValue2= " & EValue2)
|
|
End Select
|
|
EgtOutLog("dopo scrittura seconda variabile")
|
|
End If
|
|
Return
|
|
End If
|
|
' CONTROLLO FANUC
|
|
Case 4
|
|
' ------------------------------------ FANUC ------------------------------------
|
|
' eventuale scrittura di linea di comando MDI
|
|
If Not String.IsNullOrEmpty(CmdString) Then
|
|
' attivo mpdalità MDI
|
|
m_CN.DGeneralFunctions_WriteCncMode(2)
|
|
System.Threading.Thread.Sleep(100)
|
|
' salvo la stringa di comando ricevuta dal file lua
|
|
m_CN.sz_ManualDataInput = CmdString
|
|
' esguo la funzione che ha il compito di scrivere il comando MDI
|
|
m_CN.MDI_command()
|
|
End If
|
|
' attivo modalità AUTO
|
|
m_CN.DGeneralFunctions_WriteCncMode(7)
|
|
System.Threading.Thread.Sleep(100)
|
|
If String.IsNullOrEmpty(EValue) Then
|
|
' EActive: impulsivo "D#####"
|
|
m_CN.NC_pulse_bit(ENumber)
|
|
EgtOutLog("Fanuc_DNumber= " & ENumber)
|
|
Else
|
|
' EActive + EValue: scrittura comando invariabile Short oppure Bit
|
|
If ENumber.Contains(".") Then
|
|
' D#####.#
|
|
Dim bEValue As Boolean
|
|
If EValue.Trim = "1" Then bEValue = True
|
|
m_CN.NC_write_var_bit(ENumber, CBool(EValue))
|
|
Else
|
|
' D#####
|
|
m_CN.NC_write_var_short(ENumber, CShort(EValue))
|
|
End If
|
|
EgtOutLog("Fanuc_DNumber= " & ENumber & " DValue= " & EValue)
|
|
End If
|
|
' eventale caricamento seconda variabile
|
|
If String.IsNullOrEmpty(EValue2) Then
|
|
' EActive: impulsivo "D#####"
|
|
m_CN.NC_pulse_bit(ENumber2)
|
|
EgtOutLog("Fanuc_DNumber= " & ENumber2)
|
|
Else
|
|
' EActive + EValue: scrittura comando invariabile Short oppure Bit
|
|
If ENumber2.Contains(".") Then
|
|
' D#####.#
|
|
Dim bEValue2 As Boolean
|
|
If EValue2.Trim = "1" Then bEValue2 = True
|
|
m_CN.NC_write_var_bit(ENumber2, CBool(EValue2))
|
|
Else
|
|
' D#####
|
|
m_CN.NC_write_var_short(ENumber2, CShort(EValue2))
|
|
End If
|
|
EgtOutLog("Fanuc_DNumber2= " & ENumber2 & " DValue2= " & EValue2)
|
|
End If
|
|
Return
|
|
End Select
|
|
End If
|
|
|
|
|
|
Dim nResult As Short
|
|
' Imposto modalità MDI per controlli num
|
|
Select Case m_MainWindow.m_CNCommunication.m_nNCType
|
|
Case 1, 2
|
|
nResult = m_CN.DGeneralFunctions_WriteCncMode(2)
|
|
Case 3
|
|
'Per il siemens non devo fare nulla
|
|
End Select
|
|
m_CN.sz_ManualDataInput = CmdString
|
|
m_CN.MDI_command()
|
|
Select Case m_MainWindow.m_CNCommunication.m_nNCType
|
|
Case 1, 2
|
|
System.Threading.Thread.Sleep(300)
|
|
m_CN.DGeneralFunctions_CycleStart()
|
|
Case 3
|
|
'Per il siemens non devo fare nulla
|
|
Case 4
|
|
' Nicola: 27/03/2023 attivazione della funzione M# indicata?
|
|
End Select
|
|
|
|
If b2Start Then
|
|
System.Threading.Thread.Sleep(800)
|
|
m_CN.DGeneralFunctions_CycleStart()
|
|
End If
|
|
System.Threading.Thread.Sleep(300)
|
|
nResult = m_CN.DGeneralFunctions_WriteCncMode(7) ' Modalità manuale
|
|
End Sub
|
|
|
|
' questa è una copia della funzione presente nel codice ControlsMachineButtonUC.xaml.vb
|
|
Friend Sub ExecuteDirectCmdLua(LuaFileName As String, ByRef CmdString As String, ByRef b2Start As Boolean, ByRef EActive As Boolean, ByRef ENumber As String, ByRef EValue As String, ByRef EType As String, ByRef ENumber2 As String, ByRef EValue2 As String, ByRef EType2 As String)
|
|
'Dim sBaseDir As String = m_MainWindow.m_CurrentMachine.sMachDir & "\DirectCmd\"
|
|
If EgtLuaExecFile(LuaFileName) Then
|
|
EgtOutLog("Lua " & LuaFileName & " eseguito")
|
|
Else
|
|
EgtOutLog("Lua " & LuaFileName & " non eseguito")
|
|
End If
|
|
Dim dFeed As Double = 0
|
|
If Not String.IsNullOrWhiteSpace(m_DirectCutPage.m_ManualAxesMove.FeedTxBx.Text) Then
|
|
StringToLen(m_DirectCutPage.m_ManualAxesMove.FeedTxBx.Text, dFeed)
|
|
Else
|
|
EgtTdbSetCurrTool(m_MainWindow.m_CurrentProjectPageUC.ToolTxBx.Text)
|
|
EgtTdbGetCurrToolParam(MCH_TP.FEED, dFeed)
|
|
End If
|
|
EgtLuaSetGlobNumVar("CMD.F", dFeed)
|
|
Dim dSpeed As Double = 0
|
|
If Not String.IsNullOrWhiteSpace(m_DirectCutPage.m_ManualAxesMove.SpeedTxBx.Text) Then
|
|
StringToDouble(m_DirectCutPage.m_ManualAxesMove.SpeedTxBx.Text, dSpeed)
|
|
Else
|
|
EgtTdbSetCurrTool(m_MainWindow.m_CurrentProjectPageUC.ToolTxBx.Text)
|
|
EgtTdbGetCurrToolParam(MCH_TP.SPEED, dSpeed)
|
|
End If
|
|
EgtLuaSetGlobNumVar("CMD.S", dSpeed)
|
|
' versione 2.5e1
|
|
EgtTdbSetCurrTool(m_MainWindow.m_CurrentProjectPageUC.ToolTxBx.Text)
|
|
Dim sToolPos As String = String.Empty
|
|
If EgtTdbGetCurrToolParam(MCH_TP.TCPOS, sToolPos) Then
|
|
EgtLuaGetGlobStringVar("CMD.TCPOS", sToolPos)
|
|
End If
|
|
Dim dToolDiam As Double = 0
|
|
If EgtTdbGetCurrToolParam(MCH_TP.DIAM, dToolDiam) Then
|
|
EgtLuaSetGlobNumVar("CMD.DIAM", dToolDiam * 1000)
|
|
End If
|
|
|
|
Dim dL1, dL2, dL3, dR1, dR2 As Double
|
|
m_MainWindow.m_CNCommunication.GetAxesPositions(dL1, dL2, dL3, dR1, dR2)
|
|
EgtLuaSetGlobNumVar("CMD.L1", dL1)
|
|
EgtLuaSetGlobNumVar("CMD.L2", dL2)
|
|
EgtLuaSetGlobNumVar("CMD.L3", dL3)
|
|
EgtLuaSetGlobNumVar("CMD.R1", dR1)
|
|
EgtLuaSetGlobNumVar("CMD.R2", dR2)
|
|
EgtLuaSetGlobBoolVar("CMD.INCHES", m_MainWindow.m_CNCommunication.GetMachineInInches())
|
|
EgtLuaCallFunction("CmdString")
|
|
' Leggo variabili
|
|
CmdString = String.Empty
|
|
EgtLuaGetGlobStringVar("CMD.CMDSTRING", CmdString)
|
|
b2Start = False
|
|
EgtLuaGetGlobBoolVar("CMD.DOUBLESTART", b2Start)
|
|
EActive = False
|
|
EgtLuaGetGlobBoolVar("CMD.EACTIVE", EActive)
|
|
ENumber = String.Empty
|
|
EgtLuaGetGlobStringVar("CMD.ENUMBER", ENumber)
|
|
EValue = String.Empty
|
|
EgtLuaGetGlobStringVar("CMD.EVALUE", EValue)
|
|
EType = String.Empty
|
|
EgtLuaGetGlobStringVar("CMD.ETYPE", EType)
|
|
EgtOutLog("ENUMBER: " & ENumber & " EVALUE: " & EValue & " ETYPE: " & EType)
|
|
ENumber2 = String.Empty
|
|
EgtLuaGetGlobStringVar("CMD.ENUMBER2", ENumber2)
|
|
EValue2 = String.Empty
|
|
EgtLuaGetGlobStringVar("CMD.EVALUE2", EValue2)
|
|
EType2 = String.Empty
|
|
EgtLuaGetGlobStringVar("CMD.ETYPE2", EType2)
|
|
EgtOutLog("ENUMBER2: " & ENumber2 & " EVALUE2: " & EValue2 & " ETYPE2: " & EType2)
|
|
' Reset lua
|
|
EgtLuaResetGlobVar("CmdString")
|
|
EgtLuaResetGlobVar("CMD")
|
|
' Log del comando
|
|
EgtOutLog("CmdString=" & If(Not String.IsNullOrEmpty(CmdString), CmdString, "") &
|
|
" b2Start=" & b2Start.ToString() &
|
|
" EActive=" & EActive.ToString &
|
|
" ENumber=" & If(Not String.IsNullOrEmpty(ENumber), ENumber, "") &
|
|
" EValue=" & If(Not String.IsNullOrEmpty(EValue), EValue, "") &
|
|
" EType=" & If(Not String.IsNullOrEmpty(EType), CInt(EType).ToString, "") &
|
|
" ENumber2=" & If(Not String.IsNullOrEmpty(ENumber2), ENumber2, "") &
|
|
" EValue2=" & If(Not String.IsNullOrEmpty(EValue2), EValue2, "") &
|
|
" EType2=" & If(Not String.IsNullOrEmpty(EType2), CInt(EType2).ToString, ""))
|
|
End Sub
|
|
|
|
#Region "STATE CHANGED"
|
|
|
|
Friend Sub SpindleStateChanged(SpindleState As Boolean)
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, BTN_STATE_SPINDLE)
|
|
If nIndex = -1 Then Return
|
|
If SpindleState Then
|
|
GetToggleButton(nIndex + 1).IsChecked = True
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayY(nIndex + 1))
|
|
End Try
|
|
Else
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayN(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayN(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayN(nIndex + 1))
|
|
End Try
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub CoolantStateChanged(CoolantState As Boolean)
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, BTN_STATE_COOLANT)
|
|
If nIndex = -1 Then Return
|
|
If CoolantState Then
|
|
GetToggleButton(nIndex + 1).IsChecked = True
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayY(nIndex + 1))
|
|
End Try
|
|
Else
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayN(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayN(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayN(nIndex + 1))
|
|
End Try
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub LaserStateChanged(LaserState As Boolean)
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, BTN_STATE_LASER)
|
|
If nIndex = -1 Then Return
|
|
If LaserState Then
|
|
GetToggleButton(nIndex + 1).IsChecked = True
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayY(nIndex + 1))
|
|
End Try
|
|
Else
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayN(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayN(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayN(nIndex + 1))
|
|
End Try
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub LaserTracStateChanged(LaserState As Boolean)
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, BTN_STATE_LASERTRAC)
|
|
If nIndex = -1 Then Return
|
|
If LaserState Then
|
|
GetToggleButton(nIndex + 1).IsChecked = True
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayY(nIndex + 1))
|
|
End Try
|
|
Else
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayN(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayN(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayN(nIndex + 1))
|
|
End Try
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub ThreeAxisStateChanged(ThreeAxisState As Boolean)
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, BTN_STATE_THREEAXIS)
|
|
If nIndex = -1 Then Return
|
|
If ThreeAxisState Then
|
|
GetToggleButton(nIndex + 1).IsChecked = True
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayY(nIndex + 1))
|
|
End Try
|
|
Else
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayN(nIndex + 1))
|
|
End Try
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub FiveAxisStateChanged(FiveAxisState As Boolean)
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, BTN_STATE_FIVEAXIS)
|
|
If nIndex = -1 Then Return
|
|
If FiveAxisState Then
|
|
GetToggleButton(nIndex + 1).IsChecked = True
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayY(nIndex + 1))
|
|
End Try
|
|
Else
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayN(nIndex + 1))
|
|
End Try
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub DoorStateChanged(DoorState As Integer)
|
|
If IsNothing(DoorState) Then
|
|
EgtOutLog("Error: door state null!")
|
|
Return
|
|
End If
|
|
' recupero le associazioni con i bottoni
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, BTN_STATE_DOOR_OPENED)
|
|
If nIndex = -1 Then Return
|
|
' bottone di apertura porte
|
|
Dim DoorOpenedButton As Primitives.ToggleButton = GetToggleButton(nIndex + 1)
|
|
nIndex = Array.IndexOf(StateFlagArray, BTN_STATE_DOOR_CLOSED)
|
|
If nIndex = -1 Then Return
|
|
' bottone di chiusura porte
|
|
Dim DoorClosedButton As Primitives.ToggleButton = GetToggleButton(nIndex + 1)
|
|
' modifico il colore dei bottoni
|
|
If Not IsNothing(DoorState) AndAlso Not IsNothing(DoorClosedButton) Then
|
|
Select Case DoorState
|
|
Case 0
|
|
DoorClosedButton.Background = Application.Current.FindResource("OmagCut_Red")
|
|
Case 1, 2
|
|
DoorClosedButton.Background = Application.Current.FindResource("OmagCut_LightGray")
|
|
End Select
|
|
End If
|
|
If Not IsNothing(DoorState) AndAlso Not IsNothing(DoorOpenedButton) Then
|
|
Select Case DoorState
|
|
Case 0
|
|
DoorOpenedButton.Background = Application.Current.FindResource("OmagCut_LightGray")
|
|
Case 1
|
|
DoorOpenedButton.Background = Application.Current.FindResource("OmagCut_Yellow")
|
|
Case 2
|
|
DoorOpenedButton.Background = Application.Current.FindResource("OmagCut_Green")
|
|
End Select
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub ParkingStateChanged(ParkingState As Boolean)
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, BTN_STATE_PARKING)
|
|
If nIndex = -1 Then Return
|
|
If ParkingState Then
|
|
GetToggleButton(nIndex + 1).IsChecked = True
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayY(nIndex + 1))
|
|
End Try
|
|
Else
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayN(nIndex + 1))
|
|
End Try
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub HomeStateChanged(HomeState As Boolean)
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, BTN_STATE_HOME)
|
|
If nIndex = -1 Then Return
|
|
If HomeState Then
|
|
GetToggleButton(nIndex + 1).IsChecked = True
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayY(nIndex + 1))
|
|
End Try
|
|
Else
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayN(nIndex + 1))
|
|
End Try
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub EnableZoneStateChanged(ZoneState As Integer)
|
|
Dim sFlag As String = String.Empty
|
|
If ZoneState = 1 Then
|
|
sFlag = BTN_ENABLE_ZONE_1
|
|
ElseIf ZoneState = 2 Then
|
|
sFlag = BTN_ENABLE_ZONE_2
|
|
End If
|
|
' recupero il bottone che deve essere acceso (quindi spengo l'altro)
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, sFlag)
|
|
|
|
' se non trovo nessun riferimento allora spengo entrambi i comandi
|
|
If nIndex = -1 Then
|
|
nIndex = Array.IndexOf(StateFlagArray, BTN_ENABLE_ZONE_1)
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
nIndex = Array.IndexOf(StateFlagArray, BTN_ENABLE_ZONE_2)
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
Return
|
|
End If
|
|
|
|
If ZoneState = 1 Then
|
|
GetToggleButton(nIndex + 1).IsChecked = True
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayY(nIndex + 1))
|
|
End Try
|
|
' spengo l'altro bottone (lo stato dei due bottoni sono gestiti da una sola variabile)
|
|
nIndex = Array.IndexOf(StateFlagArray, BTN_ENABLE_ZONE_2)
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
|
|
ElseIf ZoneState = 2 Then
|
|
GetToggleButton(nIndex + 1).IsChecked = True
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayN(nIndex + 1))
|
|
End Try
|
|
' spengo l'altro bottone (lo stato dei due bottoni sono gestiti da una sola variabile)
|
|
nIndex = Array.IndexOf(StateFlagArray, BTN_ENABLE_ZONE_1)
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub EnablePcStateChanged(PcState As Integer)
|
|
' il comando ButtonY accendo il Pannello_1, il comando ButtonN accendo il Pannello_2 (uno è la negazione dell'altro)
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, BTN_ENABLE_PC)
|
|
If nIndex = -1 Then Return
|
|
If PcState = 1 Then
|
|
GetToggleButton(nIndex + 1).IsChecked = True
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayY(nIndex + 1))
|
|
End Try
|
|
ElseIf PcState = 2 Then
|
|
GetToggleButton(nIndex + 1).IsChecked = True
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayN(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayN(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayN(nIndex + 1))
|
|
End Try
|
|
Else
|
|
' nessuno dei due pannelli attivo
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub TableUpChanged(TableUpState As Boolean)
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, K_TABLEUP)
|
|
If nIndex = -1 Then Return
|
|
If TableUpState Then
|
|
GetToggleButton(nIndex + 1).IsChecked = True
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayY(nIndex + 1))
|
|
End Try
|
|
Else
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayN(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayN(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayN(nIndex + 1))
|
|
End Try
|
|
End If
|
|
End Sub
|
|
|
|
Friend Sub TableDownChanged(TableDownState As Boolean)
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, K_TABLEDOWN)
|
|
If nIndex = -1 Then Return
|
|
If TableDownState Then
|
|
GetToggleButton(nIndex + 1).IsChecked = True
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayY(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayY(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayY(nIndex + 1))
|
|
End Try
|
|
Else
|
|
GetToggleButton(nIndex + 1).IsChecked = False
|
|
Try
|
|
Dim s As String
|
|
If (m_MainWindow.m_OptionsPageUC.ThemesCmBx.SelectedIndex = 0) Then
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\" & ImageArrayN(nIndex)
|
|
Else
|
|
s = m_MainWindow.GetResourcesDir() & "\MachineButtonsImage\NewIcons\" & ImageArrayN(nIndex)
|
|
End If
|
|
Dim sButtonImageSource As ImageSource = ImageConverter.ConvertFromString(s)
|
|
GetImage(nIndex + 1).Source = sButtonImageSource
|
|
Catch ex As Exception
|
|
EgtOutLog("Error loading image " & ImageArrayN(nIndex + 1))
|
|
End Try
|
|
End If
|
|
End Sub
|
|
|
|
'----------------- Queste funzioni determina lo stato del bottone direttamente dalla lettura delle variabili CN
|
|
Friend Sub XYJogChanged(ByVal bXYAxes As Boolean)
|
|
' recupero le asscociazioni con i bottoni
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, K_XYJOG)
|
|
If nIndex = -1 Then Return
|
|
' selezoiono lo stato del bottone
|
|
GetToggleButton(nIndex + 1).IsChecked = bXYAxes
|
|
End Sub
|
|
|
|
Friend Sub ZJogChanged(ByVal bZAxes As Boolean)
|
|
' recupero le asscociazioni con i bottoni
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, K_ZCJOG)
|
|
If nIndex = -1 Then Return
|
|
' selezoiono lo stato del bottone
|
|
GetToggleButton(nIndex + 1).IsChecked = bZAxes
|
|
End Sub
|
|
|
|
Friend Sub BCJogChanged(ByVal bBCAxes As Boolean)
|
|
' recupero le asscociazioni con i bottoni
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, K_ZBJOG)
|
|
If nIndex = -1 Then Return
|
|
' selezoiono lo stato del bottone
|
|
GetToggleButton(nIndex + 1).IsChecked = bBCAxes
|
|
End Sub
|
|
|
|
Friend Sub RemoteChanged(ByVal bRemote As Boolean)
|
|
' recupero le asscociazioni con i bottoni
|
|
Dim nIndex As Integer = Array.IndexOf(StateFlagArray, K_REMOTE)
|
|
If nIndex = -1 Then Return
|
|
' selezoiono lo stato del bottone
|
|
GetToggleButton(nIndex + 1).IsChecked = bRemote
|
|
End Sub
|
|
|
|
'-----------------------------------------------------------------------------------------------------------------
|
|
|
|
#End Region ' State changed
|
|
|
|
Private Function GetToggleButton(ByVal nIndex As Integer) As Primitives.ToggleButton
|
|
Select Case nIndex
|
|
Case 1
|
|
Return MachineButton1
|
|
Case 2
|
|
Return MachineButton2
|
|
Case 3
|
|
Return MachineButton3
|
|
Case 4
|
|
Return MachineButton4
|
|
Case 5
|
|
Return MachineButton5
|
|
Case 6
|
|
Return MachineButton6
|
|
Case 7
|
|
Return MachineButton7
|
|
Case 8
|
|
Return MachineButton8
|
|
Case 9
|
|
Return MachineButton9
|
|
Case 10
|
|
Return MachineButton10
|
|
Case Else
|
|
Return MachineButton11
|
|
End Select
|
|
End Function
|
|
|
|
Private Function GetToggleButtonIndex(ByVal nBtnName As Primitives.ToggleButton) As Integer
|
|
Select Case nBtnName.Name
|
|
Case MachineButton1.Name
|
|
Return 1
|
|
Case MachineButton2.Name
|
|
Return 2
|
|
Case MachineButton3.Name
|
|
Return 3
|
|
Case MachineButton4.Name
|
|
Return 4
|
|
Case MachineButton5.Name
|
|
Return 5
|
|
Case MachineButton6.Name
|
|
Return 6
|
|
Case MachineButton7.Name
|
|
Return 7
|
|
Case MachineButton8.Name
|
|
Return 8
|
|
Case MachineButton9.Name
|
|
Return 9
|
|
Case MachineButton10.Name
|
|
Return 10
|
|
Case Else
|
|
Return 11
|
|
End Select
|
|
End Function
|
|
|
|
Private Function GetImage(ByVal nInd As Integer) As Image
|
|
Select Case nInd
|
|
Case 1
|
|
Return ImageButton1
|
|
Case 2
|
|
Return ImageButton2
|
|
Case 3
|
|
Return ImageButton3
|
|
Case 4
|
|
Return ImageButton4
|
|
Case 5
|
|
Return ImageButton5
|
|
Case 6
|
|
Return ImageButton6
|
|
Case 7
|
|
Return ImageButton7
|
|
Case 8
|
|
Return ImageButton8
|
|
Case 9
|
|
Return ImageButton9
|
|
Case 10
|
|
Return ImageButton10
|
|
Case Else
|
|
Return ImageButton11
|
|
End Select
|
|
End Function
|
|
|
|
Public Function GetPrivateProfileMachineButtons(
|
|
ByVal lpAppName As String,
|
|
ByVal lpKeyName As String,
|
|
ByRef lpButtonImage As String,
|
|
ByRef lpCommand 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() >= 2 Then
|
|
lpButtonImage = sItems(0)
|
|
lpCommand = sItems(1)
|
|
If sItems.Count() >= 3 Then
|
|
lpStateFlag = sItems(2)
|
|
Else
|
|
lpStateFlag = BTN_STATE_NOTHING
|
|
End If
|
|
Return True
|
|
End If
|
|
Return False
|
|
|
|
End Function
|
|
|
|
End Class
|