From 4d2d5055ce1810b5c201814cc3f3e435fa373d0b Mon Sep 17 00:00:00 2001 From: Emmanuele Sassi Date: Mon, 2 Nov 2015 11:51:20 +0000 Subject: [PATCH] SarmaxWall : - Aggiunti check per attivare e disattivare i ponti colla e tavole nella pagina opzioni. --- ConstIni.vb | 1 + OptionsPageUC.xaml | 26 +++++++++ OptionsPageUC.xaml.vb | 44 +++++++++++--- SarmaxWallDictionary.xaml | 109 +++++++++++++++++++++++++++++++++++ SarmaxWallDictionary.xaml.vb | 39 +++++++++++++ 5 files changed, 210 insertions(+), 9 deletions(-) diff --git a/ConstIni.vb b/ConstIni.vb index bab9241..526e2b5 100644 --- a/ConstIni.vb +++ b/ConstIni.vb @@ -87,5 +87,6 @@ Module ConstIni Public Const K_LAYERTHICK As String = "LayerThickness" Public Const K_PLANKNUMONTOP As String = "PlankNumOnTop" Public Const K_TRANSMITTER As String = "Transmitter" + Public Const K_GANTRIES As String = "Gantries" End Module diff --git a/OptionsPageUC.xaml b/OptionsPageUC.xaml index f5d5a2a..b43f3aa 100644 --- a/OptionsPageUC.xaml +++ b/OptionsPageUC.xaml @@ -107,6 +107,32 @@ + + + + + + + + + + + + + + diff --git a/OptionsPageUC.xaml.vb b/OptionsPageUC.xaml.vb index 08adad5..fe9adec 100644 --- a/OptionsPageUC.xaml.vb +++ b/OptionsPageUC.xaml.vb @@ -15,16 +15,19 @@ Public Class OptionsPageUC ' Imposto i messaggi letti dal file dei messaggi MachineOptionsLbl.Content = EgtMsg(MSG_OPTIONSPAGEUC + 1) 'Machine options - Opzioni macchina GlueingParametersLbl.Content = EgtMsg(MSG_OPTIONSPAGEUC + 2) 'Glueing parameters - Caratteristiche incollaggio - ExtraRawPartXLbl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 3) 'Generate - Extra grezzo in X - ExtraRawPartYLbl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 4) 'Send - Extra grezzo in Y - ExtraGlueLbl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 5) 'Send - Extra colla + ExtraRawPartXLbl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 3) 'X Extra Raw - Extra grezzo in X + ExtraRawPartYLbl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 4) 'Y Extra Raw - Extra grezzo in Y + ExtraGlueLbl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 5) 'Extra glue - Extra colla PlankParametersLbl.Content = EgtMsg(MSG_OPTIONSPAGEUC + 6) 'Plank parameters - Caratteristiche tavole - PlankWidthLbl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 7) 'Send - Larghezza tavola - PlankNumForLayerLbl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 8) 'Send - N° tavole in un piano - SoftwareOptionsLbl.Content = EgtMsg(MSG_OPTIONSPAGEUC + 9) 'Software options - Opzioni software - LanguageLbl.Content = EgtMsg(MSG_OPTIONSPAGEUC + 10) 'Language selection - Selezione lingua - LanguageMsgLbl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 11) 'The new language become the current one from the next software run - La nuova lingua diventerà corrente dal prossimo avvio del programma - ProjectNumberLbl.Content = EgtMsg(MSG_OPTIONSPAGEUC + 12) 'Language selection - Numero progetti da salvare + PlankWidthLbl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 7) 'Plank width - Larghezza tavola + PlankNumForLayerLbl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 8) 'Table count in a layer - N° tavole in un piano + GantriesStateLbl.Content = EgtMsg(MSG_OPTIONSPAGEUC + 9) ' + GlueTxBl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 10) ' + PlankTxBl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 11) ' + SoftwareOptionsLbl.Content = EgtMsg(MSG_OPTIONSPAGEUC + 21) 'Software options - Opzioni software + LanguageLbl.Content = EgtMsg(MSG_OPTIONSPAGEUC + 22) 'Language selection - Selezione lingua + LanguageMsgLbl.Text = EgtMsg(MSG_OPTIONSPAGEUC + 23) 'The new language become the current one from the next software run - La nuova lingua diventerà corrente dal prossimo avvio del programma + ProjectNumberLbl.Content = EgtMsg(MSG_OPTIONSPAGEUC + 24) 'Language selection - Numero progetti da salvare ' Associo TextBox e Label Dim TempLabel1 As New Label @@ -60,6 +63,21 @@ Public Class OptionsPageUC PlankWidthTxBx.Text = dPlankWidth Dim nPlankNumForLayer As Integer = GetPrivateProfileInt(S_MACHINE, K_PLANKNUMINLAYER, 0, m_MainWindow.GetIniFile()) PlankNumForLayerTxBx.Text = nPlankNumForLayer + Dim nGantries As Integer = GetPrivateProfileInt(S_MACHINE, K_GANTRIES, 3, m_MainWindow.GetIniFile()) + Select Case nGantries + Case 0 + GlueChBx.IsChecked = False + PlankChBx.IsChecked = False + Case 1 + GlueChBx.IsChecked = True + PlankChBx.IsChecked = False + Case 2 + GlueChBx.IsChecked = False + PlankChBx.IsChecked = True + Case Else + GlueChBx.IsChecked = True + PlankChBx.IsChecked = True + End Select Dim nMaxProj As Integer = GetPrivateProfileInt(S_GENERAL, K_MAXPROJ, 10, m_MainWindow.GetIniFile()) ProjectNumberTxBx.Text = nMaxProj End Sub @@ -80,6 +98,14 @@ Public Class OptionsPageUC WritePrivateProfileString(S_MACHINE, K_OFFSETGLUE, ExtraGlueTxBx.Text, m_MainWindow.GetIniFile()) WritePrivateProfileString(S_MACHINE, K_PLANKX, PlankWidthTxBx.Text, m_MainWindow.GetIniFile()) WritePrivateProfileString(S_MACHINE, K_PLANKNUMINLAYER, PlankNumForLayerTxBx.Text, m_MainWindow.GetIniFile()) + Dim nGantries As Integer = 0 + If GlueChBx.IsChecked Then + nGantries += 1 + End If + If PlankChBx.IsChecked Then + nGantries += 2 + End If + WritePrivateProfileString(S_MACHINE, K_GANTRIES, nGantries.ToString(), m_MainWindow.GetIniFile()) WritePrivateProfileString(S_GENERAL, K_MESSAGES, m_MainWindow.m_CurrLanguage.LanguageName, m_MainWindow.GetIniFile()) WritePrivateProfileString(S_GENERAL, K_MAXPROJ, ProjectNumberTxBx.Text, m_MainWindow.GetIniFile()) ' Istruzioni per chiudere OptionsPageUC e aprire PlacePage UC diff --git a/SarmaxWallDictionary.xaml b/SarmaxWallDictionary.xaml index 6f90505..bc7bd27 100644 --- a/SarmaxWallDictionary.xaml +++ b/SarmaxWallDictionary.xaml @@ -1,5 +1,6 @@  @@ -151,4 +152,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SarmaxWallDictionary.xaml.vb b/SarmaxWallDictionary.xaml.vb index 29427a4..6e0eb13 100644 --- a/SarmaxWallDictionary.xaml.vb +++ b/SarmaxWallDictionary.xaml.vb @@ -29,3 +29,42 @@ End Sub End Class + +Namespace ArithmeticConverterNameSpace + + Public Class CheckboxConverter + Implements IMultiValueConverter + + Public Function Convert(values() As Object, targetType As Type, parameter As Object, culture As Globalization.CultureInfo) As Object Implements IMultiValueConverter.Convert + If values.Length <> 2 Then + Throw New ArgumentException("There should be three values.") + End If + + If String.IsNullOrEmpty(values(0).ToString) Then + values(0) = "0" + End If + + If String.IsNullOrEmpty(values(1).ToString()) Then + values(2) = "0" + End If + + Dim x As Double + If Not Double.TryParse(values(0).ToString(), x) Then + Throw New ArgumentException("values[0] must parse to double") + End If + + Dim y As Double + If Not Double.TryParse(values(1).ToString(), y) Then + Throw New ArgumentException("values[0] must parse to double") + End If + + Return (x / y) - 1 + + End Function + + Public Function ConvertBack(value As Object, targetTypes() As Type, parameter As Object, culture As Globalization.CultureInfo) As Object() Implements IMultiValueConverter.ConvertBack + Throw New NotImplementedException() + End Function + End Class + +End Namespace \ No newline at end of file