Files
OmagCUT/OptionsPageUC.xaml.vb
T
Renzo Lanza 7be2395fc3 OmagCUT :
- Cambio tema disponibile nella OptionsPageUC (necessario riavvio programma per applicarlo)
2019-09-20 12:44:53 +00:00

765 lines
40 KiB
VB.net

Imports System.IO
Imports EgtUILib
Imports EgtWPFLib
Public Class OptionsPageUC
Dim m_MainWindow As MainWindow = DirectCast(Application.Current.MainWindow, MainWindow)
Private UnitsList() As String = {"inch", "mm"}
Private ThemesList() As String = {"OmagCUT Classic", "OmagCUT Test"}
Private Sub OptionsPageUC_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
' Associazione della lista linguaggi alla combobox
LanguageCmBx.ItemsSource = m_MainWindow.m_LanguagesList
' Associazione della lista unità di misura alla combobox
UnitsOfMeasureCmBx.ItemsSource = UnitsList
' Associazione della lista temi alla combobox
ThemesCmBx.ItemsSource = ThemesList
' Imposto la lingua corrente
LanguageCmBx.SelectedItem = m_MainWindow.m_CurrLanguage
' Imposto l'unità di misura corrente
UnitsOfMeasureCmBx.SelectedIndex = If(EgtUiUnitsAreMM(), 1, 0)
' Imposto il tema corrente
ThemesCmBx.SelectedIndex = GetPrivateProfileInt(S_GENERAL, K_THEME, 0, m_MainWindow.GetIniFile())
Themes_StartUp()
' Rendo invisibile il GroupBox dei Temi la versione corrente
' ThemesGpBx.Visibility = Windows.Visibility.Collapsed
' Leggo se la modalità FastGrid è abilitata, e controllo bit su chiave
If GetPrivateProfileInt(S_FASTGRID, K_FG_ENABLE, 0, m_MainWindow.GetIniFile()) <> 0 Then
FastGridGpBx.Visibility = Windows.Visibility.Visible
' Leggo se la modalità FastGrid è attiva
Dim bFgOn As Boolean = GetPrivateProfileInt(S_FASTGRID, K_FG_ACTIVE, 0, m_MainWindow.GetIniFile()) <> 0
EnableFastGridBtn.IsChecked = bFgOn
' Abilitazione importazione Dxf e pezzi parametrici
m_MainWindow.m_CadCutPageUC.DrawBtn.IsEnabled = Not bFgOn
m_MainWindow.m_CadCutPageUC.ImportBtn.IsEnabled = Not bFgOn
' Abilitazione Csv, Vein Matching e Registrazione
m_MainWindow.m_CadCutPageUC.m_ProjectMgr.CSVBtn.IsEnabled = Not bFgOn
m_MainWindow.m_CadCutPageUC.m_ProjectMgr.VeinMatchingBtn.IsEnabled = Not bFgOn
m_MainWindow.m_CadCutPageUC.m_ProjectMgr.RegisterBtn.IsEnabled = Not bFgOn
Else
FastGridGpBx.Visibility = Windows.Visibility.Collapsed
' Attivo importazione Dxf e pezzi parametrici
m_MainWindow.m_CadCutPageUC.DrawBtn.IsEnabled = True
m_MainWindow.m_CadCutPageUC.ImportBtn.IsEnabled = True
' Attivo Csv, Vein Matching e Registrazione
m_MainWindow.m_CadCutPageUC.m_ProjectMgr.CSVBtn.IsEnabled = True
m_MainWindow.m_CadCutPageUC.m_ProjectMgr.VeinMatchingBtn.IsEnabled = True
m_MainWindow.m_CadCutPageUC.m_ProjectMgr.RegisterBtn.IsEnabled = True
End If
' Se abilitato (bit di chiave + INI), leggo i dati del Box SlabDxf
If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.IMPORT_SLABDXF) And
GetPrivateProfileInt(S_SLABDXF, K_IMPORTSLABDXF, 0, m_MainWindow.GetIniFile()) <> 0 Then
SlabGpBx.Visibility = Windows.Visibility.Visible
UpdateSlabDxf()
Else
SlabGpBx.Visibility = Windows.Visibility.Collapsed
End If
' Leggo i dati di corrispondenza Colore-Angolo e Tallone
UpdateAllCSTA()
' I parametri di TextColor presenti nell'INI vengono caricati
Dim sTextColor As String = " "
If GetPrivateProfileString(S_NEST, K_TEXTCOLOR, " ", sTextColor, m_MainWindow.GetIniFile()) <> 0 Then
Dim sTextColorArray() As String = sTextColor.Split(",")
TextColorBtn.Background = New SolidColorBrush(Color.FromRgb(sTextColorArray(0), sTextColorArray(1), sTextColorArray(2)))
End If
' Messaggi
LanguageGpBx.Header = EgtMsg(MSG_OPTIONSPAGEUC + 1)
LanguageMsgTxBl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 2)
UnitsOfMeasureGpBx.Header = EgtMsg(MSG_OPTIONSPAGEUC + 3)
FastGridGpBx.Header = EgtMsg(MSG_OPTIONSPAGEUC + 11)
FastGridTxBl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 12)
TextColorGpBx.Header = EgtMsg(MSG_OPTIONSPAGEUC + 13)
SlabGpBx.Header = EgtMsg(MSG_OPTIONSPAGEUC + 14)
SlabLayerMsgTxBl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 15)
PartsLayerMsgTxBl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 16)
ScrapLayerMsgTxBl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 17)
StdThickMsgTxBl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 18)
ColorToSideAngGpBx.Header = EgtMsg(MSG_OPTIONSPAGEUC + 19)
CTSAboxEnableMsgTxBl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 20)
ToleranceMsgTxBl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 21)
TalloneMsgTxBl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 22)
InclinazioneMsgTxBl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 23)
FeedbackGpBx.Header = "Feedback"
ThemesGpBx.Header = "Temi"
End Sub
Private Sub UpdateSlabDxf()
' Verifico abilitazione
If SlabGpBx.Visibility <> Windows.Visibility.Visible Then Return
' Leggo parametri SlabDxf
Dim sVal As String = " "
GetPrivateProfileString(S_SLABDXF, K_SLABLAYER, " ", sVal, m_MainWindow.GetIniFile())
SlabLayerMsgTxBx.Text = sVal
GetPrivateProfileString(S_SLABDXF, K_PARTSLAYER, " ", sVal, m_MainWindow.GetIniFile())
PartsLayerMsgTxBx.Text = sVal
GetPrivateProfileString(S_SLABDXF, K_SCRAPLAYER, " ", sVal, m_MainWindow.GetIniFile())
ScrapLayerMsgTxBx.Text = sVal
GetPrivateProfileString(S_SLABDXF, K_STDTHICK, " ", sVal, m_MainWindow.GetIniFile())
Dim dThick As Double : If Not StringToDouble(sVal, dThick) Then dThick = 0
StdThickMsgTxBx.Text = LenToString(dThick, 4)
End Sub
Private Sub UpdateAllCSTA()
' Leggo se la modalità ColorToSideAng è abilitata
CTSAboxEnableChBx.IsChecked = (GetPrivateProfileInt(S_COLORTOSIDEANG, K_CTSA_ENABLE, 0, m_MainWindow.GetIniFile()) <> 0)
' I parametri di ColorSideToAng presenti nell'INI vengono caricati a prescindere dall'abilitazione
Dim nTol As Integer = GetPrivateProfileInt(S_COLORTOSIDEANG, K_CTSA_TOLERANCE, 0, m_MainWindow.GetIniFile())
ToleranceMsgTxBx.Text = nTol
' Nel caso dei colori singoli viene verificata la presenza della Key corrispondente a ciascuno dei
' 10 singoli colori (CTSAindex) e il Valore associato viene splittato in un array di stringhe
For index As Integer = 1 To 10
Dim sColor As String = " "
If GetPrivateProfileString(S_COLORTOSIDEANG, K_CTSA & index, " ", sColor, m_MainWindow.GetIniFile()) <> 0 Then
Dim sArray() As String = sColor.Split(",")
Select Case index
Case 1
' Se non c'è il 6° elemento abilitazione di default a True
CTSA1EnableChBx.IsChecked = If(sArray.Length > 5, sArray(5) = "1", True)
CTSA1Btn.Background = New SolidColorBrush(Color.FromArgb(255, sArray(0), sArray(1), sArray(2)))
CTSA1InclinazioneTxBx.Text = sArray(3)
Dim dHeel As Double : If Not StringToDouble(sArray(4), dHeel) Then dHeel = 0
CTSA1TalloneTxBx.Text = LenToString(dHeel, 4)
Case 2
CTSA2EnableChBx.IsChecked = If(sArray.Length > 5, sArray(5) = "1", True)
CTSA2Btn.Background = New SolidColorBrush(Color.FromArgb(255, sArray(0), sArray(1), sArray(2)))
CTSA2InclinazioneTxBx.Text = sArray(3)
Dim dHeel As Double : If Not StringToDouble(sArray(4), dHeel) Then dHeel = 0
CTSA2TalloneTxBx.Text = LenToString(dHeel, 4)
Case 3
CTSA3EnableChBx.IsChecked = If(sArray.Length > 5, sArray(5).Equals("1"), True)
CTSA3Btn.Background = New SolidColorBrush(Color.FromArgb(255, sArray(0), sArray(1), sArray(2)))
CTSA3InclinazioneTxBx.Text = sArray(3)
Dim dHeel As Double : If Not StringToDouble(sArray(4), dHeel) Then dHeel = 0
CTSA3TalloneTxBx.Text = LenToString(dHeel, 4)
Case 4
CTSA4EnableChBx.IsChecked = If(sArray.Length > 5, sArray(5).Equals("1"), True)
CTSA4Btn.Background = New SolidColorBrush(Color.FromArgb(255, sArray(0), sArray(1), sArray(2)))
CTSA4InclinazioneTxBx.Text = sArray(3)
Dim dHeel As Double : If Not StringToDouble(sArray(4), dHeel) Then dHeel = 0
CTSA4TalloneTxBx.Text = LenToString(dHeel, 4)
Case 5
CTSA5EnableChBx.IsChecked = If(sArray.Length > 5, sArray(5).Equals("1"), True)
CTSA5Btn.Background = New SolidColorBrush(Color.FromArgb(255, sArray(0), sArray(1), sArray(2)))
CTSA5InclinazioneTxBx.Text = sArray(3)
Dim dHeel As Double : If Not StringToDouble(sArray(4), dHeel) Then dHeel = 0
CTSA5TalloneTxBx.Text = LenToString(dHeel, 4)
Case 6
CTSA6EnableChBx.IsChecked = If(sArray.Length > 5, sArray(5).Equals("1"), True)
CTSA6Btn.Background = New SolidColorBrush(Color.FromArgb(255, sArray(0), sArray(1), sArray(2)))
CTSA6InclinazioneTxBx.Text = sArray(3)
Dim dHeel As Double : If Not StringToDouble(sArray(4), dHeel) Then dHeel = 0
CTSA6TalloneTxBx.Text = LenToString(dHeel, 4)
Case 7
CTSA7EnableChBx.IsChecked = If(sArray.Length > 5, sArray(5).Equals("1"), True)
CTSA7Btn.Background = New SolidColorBrush(Color.FromArgb(255, sArray(0), sArray(1), sArray(2)))
CTSA7InclinazioneTxBx.Text = sArray(3)
Dim dHeel As Double : If Not StringToDouble(sArray(4), dHeel) Then dHeel = 0
CTSA7TalloneTxBx.Text = LenToString(dHeel, 4)
Case 8
CTSA8EnableChBx.IsChecked = If(sArray.Length > 5, sArray(5).Equals("1"), True)
CTSA8Btn.Background = New SolidColorBrush(Color.FromArgb(255, sArray(0), sArray(1), sArray(2)))
CTSA8InclinazioneTxBx.Text = sArray(3)
Dim dHeel As Double : If Not StringToDouble(sArray(4), dHeel) Then dHeel = 0
CTSA8TalloneTxBx.Text = LenToString(dHeel, 4)
Case 9
CTSA9EnableChBx.IsChecked = If(sArray.Length > 5, sArray(5).Equals("1"), True)
CTSA9Btn.Background = New SolidColorBrush(Color.FromArgb(255, sArray(0), sArray(1), sArray(2)))
CTSA9InclinazioneTxBx.Text = sArray(3)
Dim dHeel As Double : If Not StringToDouble(sArray(4), dHeel) Then dHeel = 0
CTSA9TalloneTxBx.Text = LenToString(dHeel, 4)
Case 10
CTSA10EnableChBx.IsChecked = If(sArray.Length > 5, sArray(5).Equals("1"), True)
CTSA10Btn.Background = New SolidColorBrush(Color.FromArgb(255, sArray(0), sArray(1), sArray(2)))
CTSA10InclinazioneTxBx.Text = sArray(3)
Dim dHeel As Double : If Not StringToDouble(sArray(4), dHeel) Then dHeel = 0
CTSA10TalloneTxBx.Text = LenToString(dHeel, 4)
End Select
End If
Next
End Sub
Private Sub LanguageCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles LanguageCmBx.SelectionChanged
m_MainWindow.m_CurrLanguage = LanguageCmBx.SelectedItem
WritePrivateProfileString(S_GENERAL, K_MESSAGES, m_MainWindow.m_CurrLanguage.LanguageName, m_MainWindow.GetIniFile())
End Sub
Private Sub UnitsOfMeasureCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles UnitsOfMeasureCmBx.SelectionChanged
Dim bMM As Boolean = (UnitsOfMeasureCmBx.SelectedIndex <> 0)
EgtSetUiUnits(bMM)
m_MainWindow.m_CurrentProjectPageUC.UpdateHeightTxBx()
WritePrivateProfileString(S_GENERAL, K_MMUNITS, If(bMM, "1", "0"), m_MainWindow.GetIniFile())
' Aggiorno dati nella pagina dipendenti da unità di misura
UpdateSlabDxf()
UpdateAllCSTA()
End Sub
Private Sub ThemesCmBx_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles ThemesCmBx.SelectionChanged
Dim app As Application = Application.Current
If (ThemesCmBx.SelectedIndex = 0) Then
'app.ChangeTheme(New Uri("/OmagCUT;component/OmagCUTClassicDictionary.xaml", UriKind.Relative))
'm_MainWindow.EgtWPFInit()
WritePrivateProfileString(S_GENERAL, K_THEME, 0, m_MainWindow.GetIniFile())
End If
If (ThemesCmBx.SelectedIndex = 1) Then
'app.ChangeTheme(New Uri("/OmagCUT;component/OmagCUTTestDictionary.xaml", UriKind.Relative))
'Application.Current.Resources("GroupBox_CornerRadius") = 3
'Application.Current.Resources("Button_CornerRadius") = 3
'Application.Current.Resources("EmptyBorder_CornerRadius") = New CornerRadius(3)
'm_MainWindow.EgtWPFInit()
WritePrivateProfileString(S_GENERAL, K_THEME, 1, m_MainWindow.GetIniFile())
End If
End Sub
Private Sub Themes_StartUp()
Dim app As Application = Application.Current
If (ThemesCmBx.SelectedIndex = 0) Then
app.ChangeTheme(New Uri("/OmagCUT;component/OmagCUTClassicDictionary.xaml", UriKind.Relative))
m_MainWindow.EgtWPFInit()
End If
If (ThemesCmBx.SelectedIndex = 1) Then
app.ChangeTheme(New Uri("/OmagCUT;component/OmagCUTTestDictionary.xaml", UriKind.Relative))
Application.Current.Resources("GroupBox_CornerRadius") = 3
Application.Current.Resources("Button_CornerRadius") = 3
Application.Current.Resources("EmptyBorder_CornerRadius") = New CornerRadius(3)
m_MainWindow.EgtWPFInit()
End If
End Sub
Private Sub EnableFastGridBtn_Checked(sender As Object, e As RoutedEventArgs) Handles EnableFastGridBtn.Checked
WritePrivateProfileString(S_FASTGRID, K_FG_ACTIVE, 1, m_MainWindow.GetIniFile())
' Disattivo importazione Dxf e pezzi parametrici
m_MainWindow.m_CadCutPageUC.DrawBtn.IsEnabled = False
m_MainWindow.m_CadCutPageUC.ImportBtn.IsEnabled = False
' Disattivo Csv, Vein Matching e Registrazione
m_MainWindow.m_CadCutPageUC.m_ProjectMgr.CSVBtn.IsEnabled = False
m_MainWindow.m_CadCutPageUC.m_ProjectMgr.VeinMatchingBtn.IsEnabled = False
m_MainWindow.m_CadCutPageUC.m_ProjectMgr.RegisterBtn.IsEnabled = False
End Sub
Private Sub EnableFastGridBtn_Unchecked(sender As Object, e As RoutedEventArgs) Handles EnableFastGridBtn.Unchecked
WritePrivateProfileString(S_FASTGRID, K_FG_ACTIVE, 0, m_MainWindow.GetIniFile())
' Attivo importazione Dxf e pezzi parametrici
m_MainWindow.m_CadCutPageUC.DrawBtn.IsEnabled = True
m_MainWindow.m_CadCutPageUC.ImportBtn.IsEnabled = True
' Attivo Csv, Vein Matching e Registrazione
m_MainWindow.m_CadCutPageUC.m_ProjectMgr.CSVBtn.IsEnabled = True
m_MainWindow.m_CadCutPageUC.m_ProjectMgr.VeinMatchingBtn.IsEnabled = True
m_MainWindow.m_CadCutPageUC.m_ProjectMgr.RegisterBtn.IsEnabled = True
End Sub
Private Sub WriteCTSA(BtnCol As Button, sInc As String, sTall As String, bCheck As Boolean, nInd As Integer)
Dim Rvalue As String = (BtnCol.Background.GetValue(SolidColorBrush.ColorProperty)).R
Dim Gvalue As String = (BtnCol.Background.GetValue(SolidColorBrush.ColorProperty)).G
Dim Bvalue As String = (BtnCol.Background.GetValue(SolidColorBrush.ColorProperty)).B
Dim dAng As Double : If Not StringToDouble(sInc, dAng) Then dAng = 0
Dim dHeel As Double : If Not StringToLen(sTall, dHeel) Then dHeel = 0
' Costruisco la string RgbCTSA che corrisponderà al valore da scrivere nell'INI;
' in caso di valore null o " " verrà scritto nella stringa il valore 0 (o 1 nel caso dell'Enable)
Dim RgbCTSA As String = If(String.IsNullOrWhiteSpace(Rvalue), "0", Rvalue) & "," &
If(String.IsNullOrWhiteSpace(Gvalue), "0", Gvalue) & "," &
If(String.IsNullOrWhiteSpace(Bvalue), "0", Bvalue) & "," &
DoubleToString(dAng, 1) & "," &
DoubleToString(dHeel, 4) & "," &
If(bCheck, "1", "0")
WritePrivateProfileString(S_COLORTOSIDEANG, K_CTSA & nInd.ToString(), RgbCTSA, m_MainWindow.GetIniFile())
End Sub
Private Sub CTSA1Btn_Click(sender As Object, e As RoutedEventArgs) Handles CTSA1Btn.Click
' Il click sul bottone aprirà la finestra ChooseColor che permetterà la scelta del colore
m_MainWindow.m_brCurrentColor = CTSA1Btn.Background
Dim ChooseColor As New ChooseColor(m_MainWindow)
If ChooseColor.ShowDialog() Then
CTSA1Btn.Background = m_MainWindow.m_brCurrentColor
WriteCTSA(CTSA1Btn, CTSA1InclinazioneTxBx.Text, CTSA1TalloneTxBx.Text, CTSA1EnableChBx.IsChecked, 1)
End If
End Sub
Private Sub CTSA2Btn_Click(sender As Object, e As RoutedEventArgs) Handles CTSA2Btn.Click
m_MainWindow.m_brCurrentColor = CTSA2Btn.Background
Dim ChooseColor As New ChooseColor(m_MainWindow)
If ChooseColor.ShowDialog() Then
CTSA2Btn.Background = m_MainWindow.m_brCurrentColor
WriteCTSA(CTSA2Btn, CTSA2InclinazioneTxBx.Text, CTSA2TalloneTxBx.Text, CTSA2EnableChBx.IsChecked, 2)
End If
End Sub
Private Sub CTSA3Btn_Click(sender As Object, e As RoutedEventArgs) Handles CTSA3Btn.Click
m_MainWindow.m_brCurrentColor = CTSA3Btn.Background
Dim ChooseColor As New ChooseColor(m_MainWindow)
If ChooseColor.ShowDialog() Then
CTSA3Btn.Background = m_MainWindow.m_brCurrentColor
WriteCTSA(CTSA3Btn, CTSA3InclinazioneTxBx.Text, CTSA3TalloneTxBx.Text, CTSA3EnableChBx.IsChecked, 3)
End If
End Sub
Private Sub CTSA4Btn_Click(sender As Object, e As RoutedEventArgs) Handles CTSA4Btn.Click
m_MainWindow.m_brCurrentColor = CTSA4Btn.Background
Dim ChooseColor As New ChooseColor(m_MainWindow)
If ChooseColor.ShowDialog() Then
CTSA4Btn.Background = m_MainWindow.m_brCurrentColor
WriteCTSA(CTSA4Btn, CTSA4InclinazioneTxBx.Text, CTSA4TalloneTxBx.Text, CTSA4EnableChBx.IsChecked, 4)
End If
End Sub
Private Sub CTSA5Btn_Click(sender As Object, e As RoutedEventArgs) Handles CTSA5Btn.Click
m_MainWindow.m_brCurrentColor = CTSA5Btn.Background
Dim ChooseColor As New ChooseColor(m_MainWindow)
If ChooseColor.ShowDialog() Then
CTSA5Btn.Background = m_MainWindow.m_brCurrentColor
WriteCTSA(CTSA5Btn, CTSA5InclinazioneTxBx.Text, CTSA5TalloneTxBx.Text, CTSA5EnableChBx.IsChecked, 5)
End If
End Sub
Private Sub CTSA6Btn_Click(sender As Object, e As RoutedEventArgs) Handles CTSA6Btn.Click
m_MainWindow.m_brCurrentColor = CTSA6Btn.Background
Dim ChooseColor As New ChooseColor(m_MainWindow)
If ChooseColor.ShowDialog() Then
CTSA6Btn.Background = m_MainWindow.m_brCurrentColor
WriteCTSA(CTSA6Btn, CTSA6InclinazioneTxBx.Text, CTSA6TalloneTxBx.Text, CTSA6EnableChBx.IsChecked, 6)
End If
End Sub
Private Sub CTSA7Btn_Click(sender As Object, e As RoutedEventArgs) Handles CTSA7Btn.Click
m_MainWindow.m_brCurrentColor = CTSA7Btn.Background
Dim ChooseColor As New ChooseColor(m_MainWindow)
If ChooseColor.ShowDialog() Then
CTSA7Btn.Background = m_MainWindow.m_brCurrentColor
WriteCTSA(CTSA7Btn, CTSA7InclinazioneTxBx.Text, CTSA7TalloneTxBx.Text, CTSA7EnableChBx.IsChecked, 7)
End If
End Sub
Private Sub CTSA8Btn_Click(sender As Object, e As RoutedEventArgs) Handles CTSA8Btn.Click
m_MainWindow.m_brCurrentColor = CTSA8Btn.Background
Dim ChooseColor As New ChooseColor(m_MainWindow)
If ChooseColor.ShowDialog() Then
CTSA8Btn.Background = m_MainWindow.m_brCurrentColor
WriteCTSA(CTSA8Btn, CTSA8InclinazioneTxBx.Text, CTSA8TalloneTxBx.Text, CTSA8EnableChBx.IsChecked, 8)
End If
End Sub
Private Sub CTSA9Btn_Click(sender As Object, e As RoutedEventArgs) Handles CTSA9Btn.Click
m_MainWindow.m_brCurrentColor = CTSA9Btn.Background
Dim ChooseColor As New ChooseColor(m_MainWindow)
If ChooseColor.ShowDialog() Then
CTSA9Btn.Background = m_MainWindow.m_brCurrentColor
WriteCTSA(CTSA9Btn, CTSA9InclinazioneTxBx.Text, CTSA9TalloneTxBx.Text, CTSA9EnableChBx.IsChecked, 9)
End If
End Sub
Private Sub CTSA10Btn_Click(sender As Object, e As RoutedEventArgs) Handles CTSA10Btn.Click
m_MainWindow.m_brCurrentColor = CTSA10Btn.Background
Dim ChooseColor As New ChooseColor(m_MainWindow)
If ChooseColor.ShowDialog() Then
CTSA10Btn.Background = m_MainWindow.m_brCurrentColor
WriteCTSA(CTSA10Btn, CTSA10InclinazioneTxBx.Text, CTSA10TalloneTxBx.Text, CTSA10EnableChBx.IsChecked, 10)
End If
End Sub
Private Sub CTSA1EnableChBx_Click(sender As Object, e As RoutedEventArgs) Handles CTSA1EnableChBx.Click
WriteCTSA(CTSA1Btn, CTSA1InclinazioneTxBx.Text, CTSA1TalloneTxBx.Text, CTSA1EnableChBx.IsChecked, 1)
End Sub
Private Sub CTSA2EnableChBx_Click(sender As Object, e As RoutedEventArgs) Handles CTSA2EnableChBx.Click
WriteCTSA(CTSA2Btn, CTSA2InclinazioneTxBx.Text, CTSA2TalloneTxBx.Text, CTSA2EnableChBx.IsChecked, 2)
End Sub
Private Sub CTSA3EnableChBx_Click(sender As Object, e As RoutedEventArgs) Handles CTSA3EnableChBx.Click
WriteCTSA(CTSA3Btn, CTSA3InclinazioneTxBx.Text, CTSA3TalloneTxBx.Text, CTSA3EnableChBx.IsChecked, 3)
End Sub
Private Sub CTSA4EnableChBx_Click(sender As Object, e As RoutedEventArgs) Handles CTSA4EnableChBx.Click
WriteCTSA(CTSA4Btn, CTSA4InclinazioneTxBx.Text, CTSA4TalloneTxBx.Text, CTSA4EnableChBx.IsChecked, 4)
End Sub
Private Sub CTSA5EnableChBx_Click(sender As Object, e As RoutedEventArgs) Handles CTSA5EnableChBx.Click
WriteCTSA(CTSA5Btn, CTSA5InclinazioneTxBx.Text, CTSA5TalloneTxBx.Text, CTSA5EnableChBx.IsChecked, 5)
End Sub
Private Sub CTSA6EnableChBx_Click(sender As Object, e As RoutedEventArgs) Handles CTSA6EnableChBx.Click
WriteCTSA(CTSA6Btn, CTSA6InclinazioneTxBx.Text, CTSA6TalloneTxBx.Text, CTSA6EnableChBx.IsChecked, 6)
End Sub
Private Sub CTSA7EnableChBx_Click(sender As Object, e As RoutedEventArgs) Handles CTSA7EnableChBx.Click
WriteCTSA(CTSA7Btn, CTSA7InclinazioneTxBx.Text, CTSA7TalloneTxBx.Text, CTSA7EnableChBx.IsChecked, 7)
End Sub
Private Sub CTSA8EnableChBx_Click(sender As Object, e As RoutedEventArgs) Handles CTSA8EnableChBx.Click
WriteCTSA(CTSA8Btn, CTSA8InclinazioneTxBx.Text, CTSA8TalloneTxBx.Text, CTSA8EnableChBx.IsChecked, 8)
End Sub
Private Sub CTSA9EnableChBx_Click(sender As Object, e As RoutedEventArgs) Handles CTSA9EnableChBx.Click
WriteCTSA(CTSA9Btn, CTSA9InclinazioneTxBx.Text, CTSA9TalloneTxBx.Text, CTSA9EnableChBx.IsChecked, 9)
End Sub
Private Sub CTSA10EnableChBx_Click(sender As Object, e As RoutedEventArgs) Handles CTSA10EnableChBx.Click
WriteCTSA(CTSA10Btn, CTSA10InclinazioneTxBx.Text, CTSA10TalloneTxBx.Text, CTSA10EnableChBx.IsChecked, 10)
End Sub
Private Sub CTSA1TalloneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA1TalloneTxBx.TextChanged
Dim dHeel As Double
If Not StringToLen(CTSA1TalloneTxBx.Text, dHeel) Then
CTSA1TalloneTxBx.Text = ""
ElseIf dHeel < 0 Then
CTSA1TalloneTxBx.Text = LenToString(Math.Abs(dHeel), 4)
End If
CTSA1EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA2TalloneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA2TalloneTxBx.TextChanged
Dim dHeel As Double
If Not StringToLen(CTSA2TalloneTxBx.Text, dHeel) Then
CTSA2TalloneTxBx.Text = ""
ElseIf dHeel < 0 Then
CTSA2TalloneTxBx.Text = LenToString(Math.Abs(dHeel), 4)
End If
CTSA2EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA3TalloneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA3TalloneTxBx.TextChanged
Dim dHeel As Double
If Not StringToLen(CTSA3TalloneTxBx.Text, dHeel) Then
CTSA3TalloneTxBx.Text = ""
ElseIf dHeel < 0 Then
CTSA3TalloneTxBx.Text = LenToString(Math.Abs(dHeel), 4)
End If
CTSA3EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA4TalloneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA4TalloneTxBx.TextChanged
Dim dHeel As Double
If Not StringToLen(CTSA4TalloneTxBx.Text, dHeel) Then
CTSA4TalloneTxBx.Text = ""
ElseIf dHeel < 0 Then
CTSA4TalloneTxBx.Text = LenToString(Math.Abs(dHeel), 4)
End If
CTSA4EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA5TalloneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA5TalloneTxBx.TextChanged
Dim dHeel As Double
If Not StringToLen(CTSA5TalloneTxBx.Text, dHeel) Then
CTSA5TalloneTxBx.Text = ""
ElseIf dHeel < 0 Then
CTSA5TalloneTxBx.Text = LenToString(Math.Abs(dHeel), 4)
End If
CTSA5EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA6TalloneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA6TalloneTxBx.TextChanged
Dim dHeel As Double
If Not StringToLen(CTSA6TalloneTxBx.Text, dHeel) Then
CTSA6TalloneTxBx.Text = ""
ElseIf dHeel < 0 Then
CTSA6TalloneTxBx.Text = LenToString(Math.Abs(dHeel), 4)
End If
CTSA6EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA7TalloneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA7TalloneTxBx.TextChanged
Dim dHeel As Double
If Not StringToLen(CTSA7TalloneTxBx.Text, dHeel) Then
CTSA7TalloneTxBx.Text = ""
ElseIf dHeel < 0 Then
CTSA7TalloneTxBx.Text = LenToString(Math.Abs(dHeel), 4)
End If
CTSA7EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA8TalloneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA8TalloneTxBx.TextChanged
Dim dHeel As Double
If Not StringToLen(CTSA8TalloneTxBx.Text, dHeel) Then
CTSA8TalloneTxBx.Text = ""
ElseIf dHeel < 0 Then
CTSA8TalloneTxBx.Text = LenToString(Math.Abs(dHeel), 4)
End If
CTSA8EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA9TalloneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA9TalloneTxBx.TextChanged
Dim dHeel As Double
If Not StringToLen(CTSA9TalloneTxBx.Text, dHeel) Then
CTSA9TalloneTxBx.Text = ""
ElseIf dHeel < 0 Then
CTSA9TalloneTxBx.Text = LenToString(Math.Abs(dHeel), 4)
End If
CTSA9EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA10TalloneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA10TalloneTxBx.TextChanged
Dim dHeel As Double
If Not StringToLen(CTSA10TalloneTxBx.Text, dHeel) Then
CTSA10TalloneTxBx.Text = ""
ElseIf dHeel < 0 Then
CTSA10TalloneTxBx.Text = LenToString(Math.Abs(dHeel), 4)
End If
CTSA10EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA1InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA1InclinazioneTxBx.TextChanged
If CTSA1InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA1InclinazioneTxBx.Text, dAng) Then CTSA1InclinazioneTxBx.Text = ""
End If
CTSA1EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA2InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA2InclinazioneTxBx.TextChanged
If CTSA2InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA2InclinazioneTxBx.Text, dAng) Then CTSA2InclinazioneTxBx.Text = ""
End If
CTSA2EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA3InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA3InclinazioneTxBx.TextChanged
If CTSA3InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA3InclinazioneTxBx.Text, dAng) Then CTSA3InclinazioneTxBx.Text = ""
End If
CTSA3EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA4InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA4InclinazioneTxBx.TextChanged
If CTSA4InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA4InclinazioneTxBx.Text, dAng) Then CTSA4InclinazioneTxBx.Text = ""
End If
CTSA4EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA5InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA5InclinazioneTxBx.TextChanged
If CTSA5InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA5InclinazioneTxBx.Text, dAng) Then CTSA5InclinazioneTxBx.Text = ""
End If
CTSA5EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA6InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA6InclinazioneTxBx.TextChanged
If CTSA6InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA6InclinazioneTxBx.Text, dAng) Then CTSA6InclinazioneTxBx.Text = ""
End If
CTSA6EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA7InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA7InclinazioneTxBx.TextChanged
If CTSA7InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA7InclinazioneTxBx.Text, dAng) Then CTSA7InclinazioneTxBx.Text = ""
End If
CTSA7EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA8InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA8InclinazioneTxBx.TextChanged
If CTSA8InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA8InclinazioneTxBx.Text, dAng) Then CTSA8InclinazioneTxBx.Text = ""
End If
CTSA8EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA9InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA9InclinazioneTxBx.TextChanged
If CTSA9InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA9InclinazioneTxBx.Text, dAng) Then CTSA9InclinazioneTxBx.Text = ""
End If
CTSA9EnableChBx_Click(sender, e)
End Sub
Private Sub CTSA10InclinazioneTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles CTSA10InclinazioneTxBx.TextChanged
If CTSA10InclinazioneTxBx.Text <> "-" Then
Dim dAng As Double : If Not StringToLen(CTSA10InclinazioneTxBx.Text, dAng) Then CTSA10InclinazioneTxBx.Text = ""
End If
CTSA10EnableChBx_Click(sender, e)
End Sub
Private Sub ToleranceMsgTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles ToleranceMsgTxBx.TextChanged
Dim nToler As Integer
If Not StringToInt(ToleranceMsgTxBx.Text, nToler) Then
nToler = 25
ToleranceMsgTxBx.Text = nToler.ToString()
End If
WritePrivateProfileString(S_COLORTOSIDEANG, K_CTSA_TOLERANCE, nToler.ToString(), m_MainWindow.GetIniFile())
End Sub
Private Sub SlabLayerMsgTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles SlabLayerMsgTxBx.TextChanged
WritePrivateProfileString(S_SLABDXF, K_SLABLAYER, SlabLayerMsgTxBx.Text, m_MainWindow.GetIniFile())
End Sub
Private Sub PartsLayerMsgTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles PartsLayerMsgTxBx.TextChanged
WritePrivateProfileString(S_SLABDXF, K_PARTSLAYER, PartsLayerMsgTxBx.Text, m_MainWindow.GetIniFile())
End Sub
Private Sub ScrapLayerMsgTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles ScrapLayerMsgTxBx.TextChanged
WritePrivateProfileString(S_SLABDXF, K_SCRAPLAYER, ScrapLayerMsgTxBx.Text, m_MainWindow.GetIniFile())
End Sub
Private Sub StdThickMsgTxBx_TextChanged(sender As Object, e As TextChangedEventArgs) Handles StdThickMsgTxBx.TextChanged
Dim dThick As Double
If Not StringToLen(StdThickMsgTxBx.Text, dThick) Then
dThick = 25.4
StdThickMsgTxBx.Text = LenToString(dThick, 3)
End If
WritePrivateProfileString(S_SLABDXF, K_STDTHICK, DoubleToString(dThick, 3), m_MainWindow.GetIniFile())
End Sub
Private Sub CTSAboxEnableChBx_Click(sender As Object, e As RoutedEventArgs) Handles CTSAboxEnableChBx.Click
If CTSAboxEnableChBx.IsChecked = True Then
WritePrivateProfileString(S_COLORTOSIDEANG, K_CTSA_ENABLE, 1, m_MainWindow.GetIniFile())
ElseIf CTSAboxEnableChBx.IsChecked = False Then
WritePrivateProfileString(S_COLORTOSIDEANG, K_CTSA_ENABLE, 0, m_MainWindow.GetIniFile())
End If
End Sub
Private Sub TextColorBtn_Click(sender As Object, e As RoutedEventArgs) Handles TextColorBtn.Click
' Il click sul bottone aprirà la finestra ChooseColor che permetterà la scelta del colore
m_MainWindow.m_brCurrentColor = TextColorBtn.Background
Dim ChooseColor As New ChooseColor(m_MainWindow)
If ChooseColor.ShowDialog() Then
TextColorBtn.Background = m_MainWindow.m_brCurrentColor
Dim Rvalue As String = (TextColorBtn.Background.GetValue(SolidColorBrush.ColorProperty)).R
Dim Gvalue As String = (TextColorBtn.Background.GetValue(SolidColorBrush.ColorProperty)).G
Dim Bvalue As String = (TextColorBtn.Background.GetValue(SolidColorBrush.ColorProperty)).B
' Costruisco la string RgbCTSA che corrisponderà al valore da scrivere nell'INI;
' in caso di valore null o " " verrà scritto nella stringa il valore 0
Dim RgbCTSA As String = If(String.IsNullOrWhiteSpace(Rvalue), "0", Rvalue) & "," &
If(String.IsNullOrWhiteSpace(Gvalue), "0", Gvalue) & "," &
If(String.IsNullOrWhiteSpace(Bvalue), "0", Bvalue)
WritePrivateProfileString(S_NEST, K_TEXTCOLOR, RgbCTSA, m_MainWindow.GetIniFile())
End If
End Sub
Private Sub FeedbackBtn_Click(sender As Object, e As RoutedEventArgs) Handles FeedbackBtn.Click
' Recupero indirizzo a cui spedire la mail
Dim sSupportAddress As String = String.Empty
GetPrivateProfileString(S_GENERAL, K_SUPPORT, "support@egaltech.com", sSupportAddress, m_MainWindow.GetIniFile())
' se vuoto do messaggio di errore ed esco
If String.IsNullOrWhiteSpace(sSupportAddress) Then
Dim MissingAddress As New EgtMsgBox(m_MainWindow, EgtMsg(MSG_EGTSAVEFILE + 13), EgtMsg(MSG_EGTSAVEFILE + 10), EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL, 1)
Return
End If
' Recupero numero chiave
Dim sKey As String = String.Empty
EgtGetKeyInfo(sKey)
' Recupero file del progetto corrente
Dim sCurrProject As String = String.Empty
EgtGetCurrFilePath(sCurrProject)
' Verifica se progetto corrente da salvare
Dim bPrjToSave As Boolean = False
EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
If EgtGetModified() Or String.IsNullOrWhiteSpace(sCurrProject) Then
Dim SaveCurrProj As EgtMsgBox
If m_MainWindow.IsSiemensPc() Then
SaveCurrProj = New EgtMsgBox(m_MainWindow, Me.ActualWidth / 17 * 5, EgtMsgBox.WidthType.PIXEL, "", EgtMsg(MSG_EGTMSGBOX + 1), EgtMsgBox.Buttons.YES_NO_CANCEL, EgtMsgBox.Icons.NULL)
Else
SaveCurrProj = New EgtMsgBox(m_MainWindow, "", EgtMsg(MSG_EGTMSGBOX + 1), EgtMsgBox.Buttons.YES_NO_CANCEL, EgtMsgBox.Icons.NULL)
End If
Select Case SaveCurrProj.m_nPressedBtn
Case 0 ' Annulla
Return
Case 1 ' Si
bPrjToSave = True
Case 2 ' No
bPrjToSave = False
End Select
End If
' Eventuale salvataggio progetto corrente
If bPrjToSave Then
EgtSetCurrentContext(m_MainWindow.m_CurrentProjectPageUC.CurrentProjectScene.GetCtx())
m_MainWindow.m_CurrentProjectPageUC.SaveNamedProject()
m_MainWindow.m_CurrentProjectPageUC.SaveProject()
End If
EgtGetCurrFilePath(sCurrProject)
' Recupero macchine dei gruppi di lavoro del progetto
Dim Machines As New List(Of String)
Dim nMchGrpId As Integer = EgtGetFirstMachGroup()
While nMchGrpId <> GDB_ID.NULL
Dim sMachineName As String = String.Empty
EgtGetMachGroupMachineName(nMchGrpId, sMachineName)
If Not String.IsNullOrWhiteSpace(sMachineName) Then
Machines.Add(sMachineName)
End If
nMchGrpId = EgtGetNextMachGroup(nMchGrpId)
End While
' Recupero altri file con lo stesso nome del progetto
Dim OtherFiles As New List(Of String)
If Not String.IsNullOrWhiteSpace(sCurrProject) Then
Dim sCurrProjectDir As String = Path.GetDirectoryName(sCurrProject)
If Not String.IsNullOrWhiteSpace(sCurrProjectDir) Then
Dim TempFiles() As String = Directory.GetFiles(sCurrProjectDir)
For FileIndex = 0 To TempFiles.Count - 1
If Path.GetFileNameWithoutExtension(TempFiles(FileIndex)).Contains(Path.GetFileNameWithoutExtension(sCurrProject)) AndAlso TempFiles(FileIndex) <> sCurrProject Then
OtherFiles.Add(TempFiles(FileIndex))
End If
Next
End If
End If
' Creo zip file da allegare
Dim sZipToCreate As String = m_MainWindow.GetTempDir() & "\Feedback.zip"
If File.Exists(sZipToCreate) Then
File.Delete(sZipToCreate)
End If
Try
Using zip As New Ionic.Zip.ZipFile(sZipToCreate, Console.Out)
' aggiungo file macchine
For Each sMachineName As String In Machines
Dim sMachineDir As String = m_MainWindow.GetMachinesRootDir() & "\" & sMachineName
If Directory.Exists(sMachineDir) Then
zip.AddItem(sMachineDir, sMachineName)
End If
Next
' aggiungo progetto corrente
If File.Exists(sCurrProject) Then
zip.AddItem(sCurrProject, "")
End If
' aggiungo file log
If File.Exists(m_MainWindow.GetLogFile()) Then
zip.AddItem(m_MainWindow.GetLogFile(), "")
End If
' aggiungo file ausiliari
For Each sOther As String In OtherFiles
zip.AddItem(sOther, "")
Next
' salvo lo zip
zip.Save()
End Using
Catch ex1 As Exception
EgtOutLog("Exception in zip: " & ex1.ToString())
End Try
' preparo la mail per il supporto
Dim bEx As Boolean = False
Try
Dim sAddressArray As String() = sSupportAddress.Split(CType(",", Char()))
Dim SendFeedbackWindow As New EgtWPFLib5.MapiMailMessage("OmagCUT Feedback - " & sKey)
SendFeedbackWindow.Recipients.Add(sAddressArray(0))
For index As Integer = 1 To sAddressArray.Length() - 1
SendFeedbackWindow.Recipients.Add(sAddressArray(index), EgtWPFLib5.MapiMailMessage.RecipientType.CC)
Next
If Not String.IsNullOrWhiteSpace(sZipToCreate) AndAlso File.Exists(sZipToCreate) Then
SendFeedbackWindow.Files.Add(m_MainWindow.GetTempDir() & "\Feedback.zip")
End If
SendFeedbackWindow.ShowDialog()
Catch ex As Exception
EgtOutLog("Feedback exception: " & ex.ToString)
bEx = True
End Try
Dim SendError As EgtMsgBox
If bEx OrElse EgtWPFLib5.MapiMailMessage.m_ErrorCode <> 0 Then
SendError = New EgtMsgBox(m_MainWindow, Me.ActualWidth / 17 * 5, EgtMsgBox.WidthType.PIXEL, "", EgtMsg(MSG_EGTMSGBOX + 1), EgtMsgBox.Buttons.OK, EgtMsgBox.Icons.NULL)
End If
End Sub
End Class