38f034a675
- aggiunta gestione import Dxf - migliorie pezzi in parcheggio tra più macchinate.
107 lines
3.3 KiB
VB.net
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
|