Files
omagoffice/OptionWindow/OptionWindowVM.vb
T
Dario Sassi 38f034a675 OmagOFFICE :
- aggiunta gestione import Dxf
- migliorie pezzi in parcheggio tra più macchinate.
2017-04-18 06:29:06 +00:00

107 lines
3.3 KiB
VB.net

Imports System.Collections.ObjectModel
Imports EgtUILib
Imports EgtWPFLib5
Public Class OptionWindowVM
#Region "FIELDS & PROPERTIES"
Private m_LanguageList As New List(Of Language)
Public ReadOnly Property LanguageList As List(Of Language)
Get
Return m_LanguageList
End Get
End Property
Private m_SelLanguage As Language
Public Property SelLanguage As Language
Get
Return m_SelLanguage
End Get
Set(value As Language)
If value IsNot m_SelLanguage Then
m_SelLanguage = value
WriteMainPrivateProfileString(S_GENERAL, K_MESSAGES, m_SelLanguage.Name)
End If
End Set
End Property
Private m_MeasureUnitList As New List(Of String)({"inch", "mm"})
Public ReadOnly Property MeasureUnitList As List(Of String)
Get
Return m_MeasureUnitList
End Get
End Property
Public Property SelMeasureUnit As Integer
Get
Return If(EgtUiUnitsAreMM(), MeasureUnitOpt.MM, MeasureUnitOpt.INCH)
End Get
Set(value As Integer)
' salvo unità di misura precedente
Dim PrevMeasureUnit As MeasureUnitOpt = If(EgtUiUnitsAreMM(), MeasureUnitOpt.MM, MeasureUnitOpt.INCH)
If value <> PrevMeasureUnit Then
' cambio unità di misura
EgtSetUiUnits(DirectCast(value, MeasureUnitOpt) = MeasureUnitOpt.MM)
OmagOFFICEMap.refStatusBarVM.SetMeasureUnit(value)
WriteMainPrivateProfileString(S_GENERAL, K_MMUNITS, value.ToString())
' aggiorno le unità di misura nelle Tab
OmagOFFICEMap.refRawPartTabVM.Refresh(PrevMeasureUnit)
OmagOFFICEMap.refNestingTabVM.Refresh(PrevMeasureUnit)
OmagOFFICEMap.refMoveRawModeVM.Refresh(PrevMeasureUnit)
OmagOFFICEMap.refSimulTabVM.Refresh(PrevMeasureUnit)
End If
End Set
End Property
#Region "Messages"
Public ReadOnly Property Title As String
Get
Return EgtMsg(MSG_OPTIONSPAGEUC + 1)
End Get
End Property
Public ReadOnly Property CurrentLanguageMsg As String
Get
Return EgtMsg(MSG_OPTIONSPAGEUC + 1)
End Get
End Property
Public ReadOnly Property LanguageAdvertMsg As String
Get
Return EgtMsg(MSG_OPTIONSPAGEUC + 2)
End Get
End Property
Public ReadOnly Property MeasureUnitMsg As String
Get
Return EgtMsg(MSG_OPTIONSPAGEUC + 3)
End Get
End Property
#End Region
#End Region ' FIELDS & PROPERTIES
#Region "CONSTRUCTOR"
Sub New()
' Leggo nome lingua corrente
Dim sLanguage As String = String.Empty
GetMainPrivateProfileString(S_GENERAL, K_MESSAGES, "", sLanguage)
' Leggo elenco lingue disponibili da file ini e imposto lingua corrente
Dim nIndex As Integer = 1
While True
Dim ReadLanguage As Language = GetMainPrivateProfileLanguage(S_LANGUAGES, K_LANGUAGE & nIndex)
If IsNothing(ReadLanguage) Then Exit While
m_LanguageList.Add(ReadLanguage)
If String.Compare(ReadLanguage.Name, sLanguage, True) = 0 Then
m_SelLanguage = ReadLanguage
End If
nIndex += 1
End While
End Sub
#End Region ' CONSTRUCTOR
End Class