Compare commits
24 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d3d7fbacd4 | |||
| 201cf2ddf1 | |||
| 80c3634506 | |||
| 43bc9d7e59 | |||
| 4ab6a1a393 | |||
| 929966c456 | |||
| 65f8b72488 | |||
| d73ca948c9 | |||
| 9bc09a73b2 | |||
| 2ba7424137 | |||
| aea8143807 | |||
| 79151af902 | |||
| 5bf6b4acd4 | |||
| 0e7764b9df | |||
| c745c69ad2 | |||
| ae2d1e427b | |||
| c12c8f296a | |||
| 901e151399 | |||
| 81711ec12e | |||
| e6ed99afca | |||
| be57be1e27 | |||
| 9853d78cf9 | |||
| f43134d996 | |||
| 3d259cfb9f |
+68
-9
@@ -31,6 +31,13 @@ Public Class Assembly
|
||||
' tutte queste proprietà interagiscono direttamente con le dimensioni del TELAIO
|
||||
' per questo motivo la funzione set può ospitare la chiamata ad una funzione che modifica le dimensioni della porta
|
||||
|
||||
Private m_AssemblyUnit As String = ConstGen.VAL_INCHES
|
||||
Public ReadOnly Property AssemblyUnit As String
|
||||
Get
|
||||
Return m_AssemblyUnit
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#Region "GENERAL"
|
||||
|
||||
#Region "Light Up/Bottom"
|
||||
@@ -1109,6 +1116,28 @@ Public Class Assembly
|
||||
' se non carico nessuna informazione allora non è un assemblato, esco
|
||||
If IndexLine = 0 Then Return ResultReadingAssembInfo.MissingAssembInfo
|
||||
|
||||
' Measure
|
||||
If IndexLine < FileContent.Count - 1 Then
|
||||
If SearchKey(FileContent(IndexLine), "Unit") Then
|
||||
' leggo le dimemensioni dei Jamb e restituisco la riga successiva
|
||||
IndexLine = GetUnit(IndexLine + 1)
|
||||
If IndexLine = -1 Then
|
||||
' 50102: Failed reading DDF file. Missing needed parameter {0}.
|
||||
sErrorInfo += String.Format(EgtMsg(50102), "measures" + vbCrLf)
|
||||
Return ResultReadingAssembInfo.ErrorInAssembInfo
|
||||
End If
|
||||
Else
|
||||
IndexLine = GetUnitFromDoor(IndexLine)
|
||||
If IndexLine = -1 Then
|
||||
' 50102: Failed reading DDF file. Missing needed parameter {0}.
|
||||
sErrorInfo += String.Format(EgtMsg(50102), "measures" + vbCrLf)
|
||||
Return ResultReadingAssembInfo.ErrorInAssembInfo
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
|
||||
IndexLine = SkipWhiteSpace(IndexLine)
|
||||
If IndexLine = 0 Then Return ResultReadingAssembInfo.MissingAssembInfo
|
||||
' Size
|
||||
If IndexLine < FileContent.Count - 1 Then
|
||||
If SearchKey(FileContent(IndexLine), ConstIni.S_SIZE_INI) Then
|
||||
@@ -1184,7 +1213,7 @@ Public Class Assembly
|
||||
If IndexLine < FileContent.Count Then
|
||||
If SearchKey(FileContent(IndexLine), ConstIni.S_DOORS_ASSEMBY) Then
|
||||
' assegno ad una variabile il valore in lettura
|
||||
IndexLine = GetValue(IndexLine, ConstIni.S_DOORS_ASSEMBY, m_DoorNumber)
|
||||
IndexLine = GetValue(IndexLine, ConstIni.S_DOORS_ASSEMBY, m_DoorNumber, False)
|
||||
' assegno il numero di ante
|
||||
SetDoorNumber(m_DoorNumber)
|
||||
If IndexLine = -1 Then
|
||||
@@ -1237,7 +1266,7 @@ Public Class Assembly
|
||||
End Function
|
||||
|
||||
' funzione per la ricerca dei valori, restituice la riga successiva
|
||||
Private Function GetValue(Index As Integer, Name As String, ByRef Var As String) As Integer
|
||||
Private Function GetValue(Index As Integer, Name As String, ByRef Var As String, Optional bConvertUnit As Boolean = True) As Integer
|
||||
If Index = -1 Then Return -1
|
||||
Dim Local_Var As String = GetValueWithKey(FileContent(Index), Name)
|
||||
If String.IsNullOrWhiteSpace(Local_Var) Then
|
||||
@@ -1245,6 +1274,7 @@ Public Class Assembly
|
||||
If Not SearchKey(FileContent(Index), Name) Then Return -1
|
||||
' altrimenti lascia il valore vuoto
|
||||
Else
|
||||
If bConvertUnit Then ConvertDDFValueIntoCurrentUnit(m_AssemblyUnit, Local_Var)
|
||||
Var = Local_Var
|
||||
End If
|
||||
Return Index + 1
|
||||
@@ -1330,6 +1360,35 @@ Public Class Assembly
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' Unit (Metadati Assembly)
|
||||
Private Function GetUnit(Index As Integer) As Integer
|
||||
If Index = -1 Then Return -1
|
||||
Dim PreviuosIndex As Integer = Index
|
||||
Index = GetValue(Index, "measures", m_AssemblyUnit, False)
|
||||
Return Index
|
||||
End Function
|
||||
|
||||
' Measures (Parametri Door)
|
||||
Private Function GetUnitFromDoor(Index As Integer) As Integer
|
||||
' inizio la ricerca all'interno del file
|
||||
Dim PreviuosIndex As Integer = Index
|
||||
Dim bUnitFound As Boolean = False
|
||||
' cerco la prima porta e recupero la sua unità di misura
|
||||
While Not SearchKey(FileContent(Index), "measures") And Index < FileContent.Count - 1
|
||||
Index += 1
|
||||
End While
|
||||
If SearchKey(FileContent(Index), "measures") Then
|
||||
m_AssemblyUnit = GetValueWithKey(FileContent(Index), "measures")
|
||||
bUnitFound = True
|
||||
End If
|
||||
If bUnitFound Then
|
||||
Index = PreviuosIndex
|
||||
Else
|
||||
Index = -1
|
||||
End If
|
||||
Return Index
|
||||
End Function
|
||||
|
||||
' Size
|
||||
Private Function GetSize(Index As Integer) As Integer
|
||||
If Index = -1 Then Return -1
|
||||
@@ -2774,7 +2833,7 @@ Public Class Assembly
|
||||
If TBoxPar.EnableCopy Then
|
||||
TBoxNewPar.SetValue(TBoxPar.Value)
|
||||
TBoxNewPar.SetIsActive(TBoxPar.IsActive)
|
||||
End If
|
||||
End If
|
||||
ElseIf TypeOf PrecCompo.CompoParamList(IndexParam) Is TextBoxParam AndAlso
|
||||
PrecCompo.CompoParamList(IndexParam).DDFName = NewCompo.CompoParamList(IndexParam).DDFName Then
|
||||
Dim TBoxPar As TextBoxParam = DirectCast(PrecCompo.CompoParamList(IndexParam), TextBoxParam)
|
||||
@@ -2796,7 +2855,7 @@ Public Class Assembly
|
||||
Dim CBoxNewPar As ComboBoxParam = DirectCast(NewCompo.CompoParamList(IndexParam), ComboBoxParam)
|
||||
If CBoxNewPar.EnableCopy Then
|
||||
CBoxNewPar.SetSelItem(CBoxNewPar.ItemList(CBoxNewPar.ItemList.IndexOf(CBoxPar.SelItem)))
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
@@ -3735,8 +3794,8 @@ Public Class Assembly
|
||||
End If
|
||||
End If
|
||||
Else
|
||||
' rimuovo dalla lista
|
||||
If bRabbet Then Jamb.CompoList.RemoveAt(IndexCompo)
|
||||
' rimuovo dalla lista
|
||||
If bRabbet Then Jamb.CompoList.RemoveAt(IndexCompo)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
@@ -3763,9 +3822,9 @@ Public Class Assembly
|
||||
TextParam.m_Value = DoubleToString(dDeltaT + dThicknessDoor, 4)
|
||||
End If
|
||||
TextParam.NotifyPropertyChanged("Value")
|
||||
End If
|
||||
' depth
|
||||
CurrCompoParam = CurrCompo.CompoParamList(2)
|
||||
End If
|
||||
' depth
|
||||
CurrCompoParam = CurrCompo.CompoParamList(2)
|
||||
If TypeOf DirectCast(CurrCompoParam, CompoParam) Is TextBoxParam Then
|
||||
Dim TextParam As TextBoxParam = DirectCast(CurrCompoParam, TextBoxParam)
|
||||
Dim sRabbetDepth As String = sOverlap
|
||||
|
||||
+13
-1
@@ -99,6 +99,17 @@ Public Class CompoType
|
||||
m_FolderName = FolderName
|
||||
End Sub
|
||||
|
||||
Private m_DDFMaterial As String
|
||||
Public ReadOnly Property DDFMaterial As String
|
||||
Get
|
||||
Return m_DDFMaterial
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Sub SetDDFMaterial(DDFMaterial As String)
|
||||
m_DDFMaterial = DDFMaterial
|
||||
End Sub
|
||||
|
||||
Public Function LoadListTemplate() As Boolean
|
||||
FolderList.Clear()
|
||||
m_HardwareFolderList.Clear()
|
||||
@@ -114,12 +125,13 @@ Public Class CompoType
|
||||
Return other
|
||||
End Function
|
||||
|
||||
Sub New(sName As String, sDDFName As String, sPath As String, sJambSide As String, sFolderName As String)
|
||||
Sub New(sName As String, sDDFName As String, sPath As String, sJambSide As String, sFolderName As String, Optional ByVal sDDFMaterial As String = "wood")
|
||||
m_Name = sName
|
||||
m_DDFName = sDDFName
|
||||
m_Path = sPath
|
||||
m_JambSide = sJambSide
|
||||
m_FolderName = sFolderName
|
||||
m_DDFMaterial = sDDFMaterial
|
||||
LoadListTemplate()
|
||||
End Sub
|
||||
|
||||
|
||||
@@ -135,9 +135,11 @@ Module ConstCompo
|
||||
Public Const INI_COMBOBOX_ONOFF As String = "ComboBoxOnOff"
|
||||
Public Const INI_COMBOBOX_LUA As String = "ComboBoxLua"
|
||||
Public Const INI_TEXTBOX As String = "TextBox"
|
||||
Public Const INI_TEXTBOX_D As String = "TextBox_d"
|
||||
Public Const INI_TEXTBOXDGC As String = "TextBoxDGC"
|
||||
Public Const INI_TEXTBOXTHICKNESS As String = "TextBoxThickness"
|
||||
Public Const INI_TEXTBOX_ONOFF As String = "TextBoxOnOff"
|
||||
Public Const INI_TEXTBOX_ONOFF_D As String = "TextBoxOnOff_d"
|
||||
Public Const INI_TEXTBOXNGE As String = "TextBoxNge"
|
||||
Public Const INI_TEXTBOXLUA As String = "TextBoxLua"
|
||||
Public Const INI_CHECKBOX As String = "CheckBox"
|
||||
|
||||
@@ -90,6 +90,7 @@ Module ConstIni
|
||||
Public Const K_MYPROJECTDIR As String = "ProjectDirectory"
|
||||
Public Const K_TEMPLATEDIR As String = "TemplateDirectory"
|
||||
Public Const K_MACHINDIR As String = "MachinDirectory"
|
||||
Public Const K_MTABLE As String = "MTable"
|
||||
|
||||
Public Const S_REPORT As String = "Report"
|
||||
Public Const K_REPORTDIR As String = "ReportDirectory"
|
||||
|
||||
+11
-2
@@ -71,8 +71,10 @@ Friend Module DdfFile
|
||||
DdfFileContent.Add("produce: " & If(Part.IsActive, "true", "false"))
|
||||
'Genero una lista di stringhe
|
||||
DdfFileContent.Add("")
|
||||
If IsNothing(Part.Measure) Then Part.Measure = ConvertMmUnitsToString(OptionModule.m_bIsMmUnit)
|
||||
DdfFileContent.Add(ConstCompo.S_MEASURES & ": " & Part.Measure)
|
||||
'If IsNothing(Part.Measure) Then Part.Measure = ConvertMmUnitsToString(OptionModule.m_bIsMmUnit)
|
||||
'DdfFileContent.Add(ConstCompo.S_MEASURES & ": " & Part.Measure)
|
||||
DdfFileContent.Add(ConstCompo.S_MEASURES & ": " & ConvertMmUnitsToString(OptionModule.m_bIsMmUnit))
|
||||
|
||||
' 50200=Unit measure
|
||||
CompoDoorReport.CompoParameterList.Add(New ReportParameter(EgtMsg(50200), Part.Measure))
|
||||
|
||||
@@ -1540,6 +1542,13 @@ Friend Module DdfFile
|
||||
GeneralAssembly.Add("#EGTDOORCREATOR")
|
||||
GeneralAssembly.Add("#GENERAL ASSEMBLY")
|
||||
GeneralAssembly.Add("#")
|
||||
|
||||
' dalla veresione 2.4l1 per gestione conversione mm/inch e viceversa
|
||||
GeneralAssembly.Add(ConstCompo.DDF_METADATA & "Unit : ")
|
||||
GeneralAssembly.Add(ConstCompo.DDF_METADATA & "measures : " & ConvertMmUnitsToString(OptionModule.m_bIsMmUnit))
|
||||
GeneralAssembly.Add(DDF_METADATA)
|
||||
|
||||
' dati assemblato
|
||||
GeneralAssembly.Add(ConstCompo.DDF_METADATA & "Size : ")
|
||||
If StringToDouble(CurrAssembly.Thickness, dVal) Then
|
||||
GeneralAssembly.Add(ConstCompo.DDF_METADATA & "thickness : " & DoubleToString(dVal, 5))
|
||||
|
||||
+35
-5
@@ -1134,7 +1134,7 @@ Public Class Compo
|
||||
|
||||
Return True
|
||||
|
||||
Case INI_TEXTBOX
|
||||
Case INI_TEXTBOX, INI_TEXTBOX_D
|
||||
' NomeDDF e Nome del Text
|
||||
Dim sTextList() As String = sItems(1).Split("/"c)
|
||||
Dim sDDFName As String = String.Empty
|
||||
@@ -1150,20 +1150,30 @@ Public Class Compo
|
||||
' Se ci sono 2 elementi "TextBox; NomeDDF/Nome"
|
||||
If sItems.Count < 3 Then
|
||||
NewCompoParam = New TextBoxParam(sDDFName, sName, Me, "0.000", Nothing, Nothing)
|
||||
If Trim(sItems(0)).EndsWith("d"c) Then
|
||||
Dim Loc_TextBox_d As TextBoxParam = DirectCast(NewCompoParam, TextBoxParam)
|
||||
Loc_TextBox_d.bIsLen = False
|
||||
NewCompoParam = Loc_TextBox_d
|
||||
End If
|
||||
' Errore nella lettura {0} nel parametro {1} della componente: non esiste il valore.
|
||||
sErrorList = ConcatErrorString(sErrorList, String.Format(EgtMsg(50125), sName, m_CompoType.DDFName))
|
||||
Return True
|
||||
End If
|
||||
' recupero il valore di default
|
||||
Dim dHeight As Double = 500 ' Attenzione ai mm
|
||||
If Not ConvertCompoConfig(sItems(2), dHeight) Then
|
||||
If Not Trim(sItems(0)).EndsWith("d"c) AndAlso Not ConvertCompoConfig(sItems(2), dHeight) Then
|
||||
sErrorList = ConcatErrorString(sErrorList, String.Format(EgtMsg(50147), sName, sItems(2)))
|
||||
End If
|
||||
|
||||
NewCompoParam = New TextBoxParam(sDDFName, sName, Me, sItems(2), Nothing, Nothing)
|
||||
If Trim(sItems(0)).EndsWith("d"c) Then
|
||||
Dim Loc_TextBox_d As TextBoxParam = DirectCast(NewCompoParam, TextBoxParam)
|
||||
Loc_TextBox_d.bIsLen = False
|
||||
NewCompoParam = Loc_TextBox_d
|
||||
End If
|
||||
Return True
|
||||
|
||||
Case INI_TEXTBOX_ONOFF
|
||||
Case INI_TEXTBOX_ONOFF, INI_TEXTBOX_ONOFF_D
|
||||
' NomeDDF e Nome del Text
|
||||
Dim sTextList() As String = sItems(1).Split("/"c)
|
||||
Dim sDDFName As String = String.Empty
|
||||
@@ -1179,6 +1189,11 @@ Public Class Compo
|
||||
' Se ci sono 2 elementi "TextBox; NomeDDF/Nome"
|
||||
If sItems.Count < 3 Then
|
||||
NewCompoParam = New TextBoxOnOffParam(sDDFName, sName, Me, "0.000", Nothing, Nothing, False)
|
||||
If Trim(sItems(0)).EndsWith("d"c) Then
|
||||
Dim Loc_TextBox_d As TextBoxOnOffParam = DirectCast(NewCompoParam, TextBoxOnOffParam)
|
||||
Loc_TextBox_d.bIsLen = False
|
||||
NewCompoParam = Loc_TextBox_d
|
||||
End If
|
||||
' Errore nella lettura {0} nel parametro {1} della componente: non esiste il valore.
|
||||
sErrorList = ConcatErrorString(sErrorList, String.Format(EgtMsg(50125), sName, m_CompoType.DDFName))
|
||||
Return True
|
||||
@@ -1191,12 +1206,16 @@ Public Class Compo
|
||||
|
||||
' recupero il valore di default
|
||||
Dim dHeight As Double = 500 ' Attenzione ai mm
|
||||
If Not ConvertCompoConfig(sItems(2), dHeight) Then
|
||||
If Not Trim(sItems(0)).EndsWith("d"c) AndAlso Not ConvertCompoConfig(sItems(2), dHeight) Then
|
||||
sErrorList = ConcatErrorString(sErrorList, String.Format(EgtMsg(50147), sName, sItems(2)))
|
||||
End If
|
||||
|
||||
NewCompoParam = New TextBoxOnOffParam(sDDFName, sName, Me, sItems(2), Nothing, Nothing, bActiveBox)
|
||||
|
||||
If Trim(sItems(0)).EndsWith("d"c) Then
|
||||
Dim Loc_TextBox_d As TextBoxOnOffParam = DirectCast(NewCompoParam, TextBoxOnOffParam)
|
||||
Loc_TextBox_d.bIsLen = False
|
||||
NewCompoParam = Loc_TextBox_d
|
||||
End If
|
||||
Return True
|
||||
|
||||
End Select
|
||||
@@ -2367,6 +2386,17 @@ Public Class TextBoxParam
|
||||
Shared m_PrecCompoIdCode As String = "-1"
|
||||
Shared m_PrecNameParam As String = String.Empty
|
||||
|
||||
' utilizzata per riconoscere se il valore della text deve essere convertito mm/inch o viceversa
|
||||
Private m_bIsLen As Boolean = True
|
||||
Public Property bIsLen As Boolean
|
||||
Get
|
||||
Return m_bIsLen
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
m_bIsLen = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
' utilizzato negli Hardware
|
||||
Private m_TypeVar As String
|
||||
Public Property TypeVar As String
|
||||
|
||||
+26
-2
@@ -1940,6 +1940,7 @@ Public Class Part
|
||||
'50159= Missing parameter in ddf!
|
||||
MessageBox.Show(String.Format(EgtMsg(50141), ConstIni.K_WIDTH_INI) & EgtMsg(50159), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
Else
|
||||
ConvertDDFValueIntoCurrentUnit(m_Measure, Width)
|
||||
SetWidth(Width)
|
||||
End If
|
||||
Index = NextIndex(Index)
|
||||
@@ -1956,6 +1957,7 @@ Public Class Part
|
||||
' 50159 = Missing parameter in ddf!
|
||||
MessageBox.Show(String.Format(EgtMsg(50141), ConstIni.K_HEIGHT_INI) & EgtMsg(50159), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
Else
|
||||
ConvertDDFValueIntoCurrentUnit(m_Measure, Height)
|
||||
SetHeight(Height)
|
||||
End If
|
||||
Index = NextIndex(Index)
|
||||
@@ -1972,6 +1974,7 @@ Public Class Part
|
||||
' 50159 = Missing parameter in ddf!
|
||||
MessageBox.Show(String.Format(EgtMsg(50141), ConstIni.K_THICKNESS_INI) & EgtMsg(50159), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
Else
|
||||
ConvertDDFValueIntoCurrentUnit(m_Measure, Thickness)
|
||||
SetThickness(Thickness)
|
||||
End If
|
||||
Map.refAssemblyPageVM.CurrAssembly.SetVarAssembly()
|
||||
@@ -2355,6 +2358,7 @@ Public Class Part
|
||||
If String.IsNullOrWhiteSpace(LockEdgeOverMaterial) Then
|
||||
If Not SearchKey(sLine, K_OVERMATERIAL) Then Return -1
|
||||
Else
|
||||
ConvertDDFValueIntoCurrentUnit(m_Measure, LockEdgeOverMaterial)
|
||||
m_LockEdgeOverMaterial = LockEdgeOverMaterial
|
||||
End If
|
||||
Index = NextIndex(Index)
|
||||
@@ -2417,9 +2421,11 @@ Public Class Part
|
||||
If String.IsNullOrWhiteSpace(HingeEdgeOverMaterial) Then
|
||||
If Not SearchKey(sLine, K_OVERMATERIAL) Then Return -1
|
||||
Else
|
||||
ConvertDDFValueIntoCurrentUnit(m_Measure, HingeEdgeOverMaterial)
|
||||
m_HingeEdgeOverMaterial = HingeEdgeOverMaterial
|
||||
End If
|
||||
Index = NextIndex(Index)
|
||||
'-------------------------------------------------------------------------------
|
||||
' Top
|
||||
If Index > FileContent.Count() - 1 Then Return -1
|
||||
sLine = RemoveComment(FileContent(Index))
|
||||
@@ -2476,12 +2482,14 @@ Public Class Part
|
||||
If String.IsNullOrWhiteSpace(TopOverMaterial) Then
|
||||
If Not SearchKey(sLine, K_OVERMATERIAL) Then Return -1
|
||||
Else
|
||||
ConvertDDFValueIntoCurrentUnit(m_Measure, TopOverMaterial)
|
||||
m_TopOverMaterial = TopOverMaterial
|
||||
End If
|
||||
Index = NextIndex(Index)
|
||||
If Index > FileContent.Count() - 1 Then Return -1
|
||||
sLine = RemoveComment(FileContent(Index))
|
||||
'-------------------------------------------------------------------------------
|
||||
' Top Arc
|
||||
Dim Radius As String = GetValueWithKey(sLine, ConstCompo.K_RADIUS)
|
||||
If Not String.IsNullOrEmpty(Radius) Then
|
||||
Index = NextIndex(Index)
|
||||
@@ -2495,7 +2503,9 @@ Public Class Part
|
||||
Index = NextIndex(Index)
|
||||
Else
|
||||
Index = NextIndex(Index)
|
||||
ConvertDDFValueIntoCurrentUnit(m_Measure, Radius)
|
||||
m_Radius = Radius
|
||||
ConvertDDFValueIntoCurrentUnit(m_Measure, Posx)
|
||||
m_Posx = Posx
|
||||
TopArcIsChecked = True
|
||||
TopShapeIsChecked = True
|
||||
@@ -2519,6 +2529,7 @@ Public Class Part
|
||||
Else
|
||||
Index = NextIndex(Index)
|
||||
m_Angle = Angle
|
||||
ConvertDDFValueIntoCurrentUnit(m_Measure, PosxAngle)
|
||||
m_PosxAngle = PosxAngle
|
||||
TopAngleIsChecked = True
|
||||
SelectedShape = m_TopShapeList(1)
|
||||
@@ -2584,6 +2595,7 @@ Public Class Part
|
||||
If String.IsNullOrWhiteSpace(BottomOverMaterial) Then
|
||||
If Not SearchKey(sLine, K_OVERMATERIAL) Then Return -1
|
||||
Else
|
||||
ConvertDDFValueIntoCurrentUnit(m_Measure, BottomOverMaterial)
|
||||
m_BottomOverMaterial = BottomOverMaterial
|
||||
End If
|
||||
CalcBevelFromSecure()
|
||||
@@ -2955,7 +2967,13 @@ Public Class Part
|
||||
Dim sVal As String = GetValueWithoutKey(sLine)
|
||||
' per ora non esegue nessun tipo di controllo sui valori letti dal file DDF
|
||||
' DirectCast(CurrCompoParam, TextBoxParam).m_Value = sVal
|
||||
DirectCast(CurrCompoParam, TextBoxParam).Value = sVal
|
||||
Dim Local_TextBoxParam As TextBoxParam = DirectCast(CurrCompoParam, TextBoxParam)
|
||||
If Local_TextBoxParam.bIsLen Then
|
||||
ConvertDDFValueIntoCurrentUnit(m_Measure, sVal)
|
||||
Local_TextBoxParam.Value = sVal
|
||||
Else
|
||||
Local_TextBoxParam.Value = sVal
|
||||
End If
|
||||
' avviso che il file è modificato (in caso di chiusura del programma obbligo a passare dal salvataggio)
|
||||
Dim dVal As Double
|
||||
If String.IsNullOrEmpty(sVal) OrElse Not StringToDouble(sVal, dVal) Then
|
||||
@@ -3002,7 +3020,13 @@ Public Class Part
|
||||
If String.Equals(Trim(CompoTemplateItem.CompoParamList(IndexParam).DDFName), GetKey(sLine)) Then
|
||||
' se la stringa c'è nel DDF vuol dire che è stata selezionata
|
||||
Dim sVal As String = GetValueWithKey(sLine, Trim(CurrCompoParam.DDFName))
|
||||
DirectCast(CurrCompoParam, TextBoxOnOffParam).m_Value = sVal
|
||||
Dim Local_TextBoxOnOffParam As TextBoxOnOffParam = DirectCast(CurrCompoParam, TextBoxOnOffParam)
|
||||
If Local_TextBoxOnOffParam.bIsLen Then
|
||||
ConvertDDFValueIntoCurrentUnit(m_Measure, sVal)
|
||||
Local_TextBoxOnOffParam.m_Value = sVal
|
||||
Else
|
||||
Local_TextBoxOnOffParam.m_Value = sVal
|
||||
End If
|
||||
'DirectCast(CurrCompoParam, TextBoxOnOffParam).Value = sVal
|
||||
Dim dVal As Double
|
||||
If String.IsNullOrEmpty(sVal) OrElse Not StringToDouble(sVal, dVal) Then
|
||||
|
||||
@@ -41,6 +41,8 @@ Public Module Doors
|
||||
Dim sExecName As String = String.Empty
|
||||
GetMainPrivateProfileString(S_DOORS, K_DDFEXEC, "", sExecName)
|
||||
sExecPath = IniFile.m_sDoorsDirPath & "\" & sExecName
|
||||
EgtLuaCreateGlobTable("DGD")
|
||||
EgtLuaSetGlobStringVar("DGD.BASEDIR", IniFile.m_sDoorsDirPath & "\")
|
||||
If Not EgtLuaExecFile(sExecPath) Then Return False
|
||||
' Setto variabili per quotatura Lua
|
||||
For Each HardwareDimension In Map.refDimensioningPanelVM.HardwareDimensionList
|
||||
|
||||
+76
-14
@@ -739,14 +739,16 @@ Public Class Hardware
|
||||
Dim nIsActiveMaterial As Integer = 3
|
||||
Dim bIsCurrentMaterial As Boolean = True
|
||||
StdTemplateGetPrivateProfileListMaterial(S_CHAPTER & ChapterIndex, K_MATERIAL, sMaterialList, nIsActiveMaterial)
|
||||
For Each ItemMaterial In sMaterialList
|
||||
bIsCurrentMaterial = False
|
||||
Dim ArrayItemMaterial As String() = ItemMaterial.Split("/"c)
|
||||
If Trim(ArrayItemMaterial(0)) = Trim(Map.refHardwarePageVM.GenericPart.SelectedMaterial.NameDDF) Then
|
||||
bIsCurrentMaterial = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
'For Each ItemMaterial In sMaterialList
|
||||
' bIsCurrentMaterial = False
|
||||
' Dim ArrayItemMaterial As String() = ItemMaterial.Split("/"c)
|
||||
' If Trim(ArrayItemMaterial(0)) = Trim(Map.refHardwarePageVM.GenericPart.SelectedMaterial.NameDDF) Then
|
||||
' bIsCurrentMaterial = True
|
||||
' Exit For
|
||||
' End If
|
||||
'Next
|
||||
IsCurrentMaterial(sMaterialList, bIsCurrentMaterial)
|
||||
|
||||
If Not bIsCurrentMaterial And nIsActive <> 4 Then
|
||||
nIsActive = nIsActiveMaterial
|
||||
End If
|
||||
@@ -792,6 +794,18 @@ Public Class Hardware
|
||||
Dim NewParam As New CompoParam(m_HardwareGeneral.DDFName, m_HardwareGeneral.Name, Chapter)
|
||||
Dim sHelpParam As String = String.Empty
|
||||
EgtUILib.GetPrivateProfileString(S_CHAPTER & ChapterIndex, "HelpParam" & ParamIndex, "", sHelpParam, m_StdTemplate)
|
||||
' verifico se il materiale corrente deve essere visualizzato in funzione del materiale associato al parametro
|
||||
Dim sMaterialParam As String = String.Empty
|
||||
Dim MaterialParamList As New List(Of String)
|
||||
Dim bIsCurrentMaterialParam As Boolean = True
|
||||
Dim sDefaultGhostValue As String = ""
|
||||
StdTemplateGetPrivateProfileListMaterialParam(S_CHAPTER & ChapterIndex, "MaterialParam" & ParamIndex, MaterialParamList, sDefaultGhostValue)
|
||||
IsCurrentMaterial(MaterialParamList, bIsCurrentMaterialParam)
|
||||
If Not bIsCurrentMaterialParam Then
|
||||
' trasformo il parametro in Ghost
|
||||
TrasformCurrParamInGhost(sParam, sDefaultGhostValue)
|
||||
End If
|
||||
|
||||
' leggo il tipo di parametro, se la lettura va a buon fine la carico
|
||||
If Chapter.ReadParamHardware(sParam, sHelpParam, NewParam, ErrorReading) Then Chapter.CompoParamList.Add(NewParam)
|
||||
If TypeOf NewParam Is TextBoxOnOffParam Then
|
||||
@@ -833,6 +847,29 @@ Public Class Hardware
|
||||
End If
|
||||
End Sub
|
||||
|
||||
' recupera il l'elenco dei materiali indicati nella stringa e verifica se nell'elenco è presente il materiale attivo nella porta
|
||||
Private Sub IsCurrentMaterial(sMaterialList As List(Of String), ByRef bIsCurrentMaterial As Boolean)
|
||||
For Each ItemMaterial In sMaterialList
|
||||
bIsCurrentMaterial = False
|
||||
Dim ArrayItemMaterial As String() = ItemMaterial.Split("/"c)
|
||||
If Trim(ArrayItemMaterial(0)) = Trim(Map.refHardwarePageVM.GenericPart.SelectedMaterial.NameDDF) Then
|
||||
bIsCurrentMaterial = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End Sub
|
||||
|
||||
Private Sub TrasformCurrParamInGhost(ByRef sParamLine As String, ByVal sDefaultValue As String)
|
||||
' separo la stringa
|
||||
Dim sItems As String() = sParamLine.Split(";"c)
|
||||
If sItems.Count > 2 Then
|
||||
sItems(0) = "Ghost"
|
||||
sItems(2) = sDefaultValue
|
||||
End If
|
||||
' riassemblo la stringa iniziale
|
||||
sParamLine = Trim(sItems(0)) & "; " & Trim(sItems(1)) & "; " & Trim(sItems(2))
|
||||
End Sub
|
||||
|
||||
' carico la liste dei nomi dei capitoli
|
||||
Private Function SetGroupChaptername(sName As String) As Boolean
|
||||
If m_GroupChapterName.Count = 0 Then m_GroupChapterName.Add(sName)
|
||||
@@ -988,6 +1025,10 @@ Public Class Hardware
|
||||
' caricamento dei dati del file lua
|
||||
Private Function FindParamTemplateInConfigList(sParam As String, sValue As String) As Boolean
|
||||
For IndexGroupChapters As Integer = 0 To m_GroupChapters.Count - 1
|
||||
' verifico che sia attivo il gruppo
|
||||
If Not m_GroupChapters(IndexGroupChapters).EnableChapter Then
|
||||
Continue For
|
||||
End If
|
||||
For IndexChapter As Integer = 0 To m_GroupChapters(IndexGroupChapters).CompoParamList.Count - 1
|
||||
If m_GroupChapters(IndexGroupChapters).CompoParamList(IndexChapter).DDFName = sParam Then
|
||||
' ho trovato una corrispondenza tra il valore de file ini e quello lua in lettura
|
||||
@@ -1953,10 +1994,16 @@ Public Class Hardware
|
||||
End If
|
||||
|
||||
For IndexGroupChapters As Integer = 0 To m_GroupChapters.Count - 1
|
||||
' se il presente gruppo non è attivo passo al successivo (di default assegno "nil", in caso di uscita senza gruppo il valore
|
||||
If Not m_GroupChapters(IndexGroupChapters).EnableChapter Then
|
||||
sValue = " nil"
|
||||
Continue For
|
||||
End If
|
||||
For IndexChapter As Integer = 0 To m_GroupChapters(IndexGroupChapters).CompoParamList.Count - 1
|
||||
If m_GroupChapters(IndexGroupChapters).CompoParamList(IndexChapter).DDFName = NameParam Then
|
||||
' verifico che il parametro da stampare sia abilitato alla stampa (altriementi NON scrivere nel file)
|
||||
If Not m_GroupChapters(IndexGroupChapters).IsActiveChapter Then sValue = " nil" : Return True
|
||||
|
||||
If TypeOf m_GroupChapters(IndexGroupChapters).CompoParamList(IndexChapter) Is TextBoxDGCParam Then
|
||||
Dim Text As TextBoxDGCParam = DirectCast(m_GroupChapters(IndexGroupChapters).CompoParamList(IndexChapter), TextBoxDGCParam)
|
||||
sValue = String.Empty
|
||||
@@ -2072,8 +2119,15 @@ Public Class Hardware
|
||||
End Select
|
||||
' se testo numerico, eseguo opportune conversioni per H,W e T
|
||||
sValue = ConvertFromDGD(Text.TypeVar, sValue)
|
||||
' se parametro spento
|
||||
If Not Text.IsActive Then sValue &= "; 0"
|
||||
' se parametro spento (Solo per capitolo DDF)
|
||||
If Not Text.IsActive Then
|
||||
If m_GroupChapters(IndexGroupChapters).TemplateDDFName = "DDF" Then
|
||||
sValue &= "; 0"
|
||||
Else
|
||||
' per inidicare di spegnere il valore deve essere restituito il valore " nill"
|
||||
sValue = " nil"
|
||||
End If
|
||||
End If
|
||||
Return True
|
||||
ElseIf TypeOf m_GroupChapters(IndexGroupChapters).CompoParamList(IndexChapter) Is TextBoxParam Then
|
||||
Dim Text As TextBoxParam = DirectCast(m_GroupChapters(IndexGroupChapters).CompoParamList(IndexChapter), TextBoxParam)
|
||||
@@ -2143,13 +2197,21 @@ Public Class Hardware
|
||||
'-- attenzione a quando abbiamo da stampare delle stringhe! e non dei valori numerici
|
||||
Dim Text As ComboBoxOnOffParam = DirectCast(m_GroupChapters(IndexGroupChapters).CompoParamList(IndexChapter), ComboBoxOnOffParam)
|
||||
sValue = String.Empty
|
||||
If Not Text.IsActive Then sValue = " nil" : Return True
|
||||
For Index As Integer = 0 To Text.ItemList.Count - 1
|
||||
If Text.SelItem = Text.ItemList(Index) Then sValue = Text.ItemListDDF(Index) : Return True
|
||||
If Text.SelItem = Text.ItemList(Index) Then sValue = Text.ItemListDDF(Index)
|
||||
Next
|
||||
sValue = Text.SelItem
|
||||
If String.IsNullOrEmpty(sValue) Then
|
||||
sValue = Text.SelItem
|
||||
End If
|
||||
' se parametro spento
|
||||
If Not Text.IsActive Then sValue &= "; 0"
|
||||
If Not Text.IsActive Then
|
||||
If m_GroupChapters(IndexGroupChapters).TemplateDDFName = "DDF" Then
|
||||
sValue &= "; 0"
|
||||
Else
|
||||
' per inidicare di spegnere il valore deve essere restituito il valore " nill"
|
||||
sValue = " nil"
|
||||
End If
|
||||
End If
|
||||
Return True
|
||||
|
||||
ElseIf TypeOf m_GroupChapters(IndexGroupChapters).CompoParamList(IndexChapter) Is ComboBoxParam Then
|
||||
|
||||
+23
@@ -59,6 +59,8 @@ Friend Module IniFile
|
||||
Friend m_sListLabelCurrent As String = String.Empty
|
||||
' Path dell'eseguibile Cam5
|
||||
Friend m_sEgtCameEXEPath As String = String.Empty
|
||||
' Path LuaLibs Dir
|
||||
Friend m_sLuaLibsDir As String = String.Empty
|
||||
|
||||
' EgtDoorCreator.ini
|
||||
Public Function GetPrivateProfileLanguage(ByVal lpAppName As String, ByVal lpKeyName As String) As Language
|
||||
@@ -289,6 +291,27 @@ Friend Module IniFile
|
||||
Return True
|
||||
End Function
|
||||
|
||||
' restituisce l'elenco dei materiali ed eventualmente il valore di default da associare al parametro Ghost che viene generato in sostituzione del parametro letto
|
||||
Public Function StdTemplateGetPrivateProfileListMaterialParam(ByVal lpAppName As String, ByVal lpKeyName As String, ByVal List As List(Of String), ByRef sDefaultParam As String) As Boolean
|
||||
Dim sVal As String = String.Empty
|
||||
StdTemplateGetPrivateProfileString(lpAppName, lpKeyName, "", sVal)
|
||||
If String.IsNullOrEmpty(sVal) Then Return False
|
||||
Dim sItems() As String = sVal.Split(",".ToCharArray)
|
||||
' se la lista ha almeno due elementi
|
||||
If sItems.Count > 1 Then
|
||||
For Index = 0 To sItems.Count() - 2
|
||||
List.Add(Trim(sItems(Index)))
|
||||
Next
|
||||
End If
|
||||
' se la lista ha un solo elemento, oppure ha un solo elemento
|
||||
Dim LastItems As String() = sItems.Last.Split(";"c)
|
||||
List.Add(Trim(LastItems(0)))
|
||||
If LastItems.Count > 1 Then
|
||||
sDefaultParam = Trim(LastItems(1))
|
||||
End If
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Public Function StdTemplateGetPrivateProfileChapterName(ByVal lpAppName As String, ByVal lpKeyName As String, ByRef sValueLua As String, ByRef sValue As String) As Boolean
|
||||
Dim sVal As String = String.Empty
|
||||
StdTemplateGetPrivateProfileString(lpAppName, lpKeyName, "", sVal)
|
||||
|
||||
@@ -57,8 +57,8 @@ Friend Class MainWindowModel
|
||||
EgtUILib.GetPrivateProfileString(S_LICENCE, K_KEY, "", sKey, sLicFile)
|
||||
EgtSetKey(sKey)
|
||||
' Recupero livello e opzioni della chiave
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2406, 1, IniFile.m_nKeyLevel) And
|
||||
EgtGetKeyOptions(3279, 2406, 1, IniFile.m_nKeyOptions)
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2412, 1, IniFile.m_nKeyLevel) And
|
||||
EgtGetKeyOptions(3279, 2412, 1, IniFile.m_nKeyOptions)
|
||||
'Inizializzazione generale di EgtInterface
|
||||
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
|
||||
Dim sLogFile As String = IniFile.m_sTempDir & "\" & GENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
|
||||
@@ -96,6 +96,7 @@ Friend Class MainWindowModel
|
||||
Dim sLuaLibsDir As String = String.Empty
|
||||
GetMainPrivateProfileString(S_LUA, K_LIBSDIR, "", sLuaLibsDir)
|
||||
EgtSetLuaLibs(sLuaLibsDir)
|
||||
IniFile.m_sLuaLibsDir = sLuaLibsDir
|
||||
Dim sLuaBaseLib As String = String.Empty
|
||||
GetMainPrivateProfileString(S_LUA, K_BASELIB, "EgtBase", sLuaBaseLib)
|
||||
EgtLuaRequire(sLuaBaseLib)
|
||||
|
||||
@@ -32,7 +32,7 @@ Imports System.Windows
|
||||
|
||||
<Assembly: AssemblyCompany("EgalTech s.r.l.")>
|
||||
<Assembly: AssemblyProduct("EgtDOORCreator")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2016-2021 by EgalTech s.r.l.")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2016-2022 by EgalTech s.r.l.")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
<Assembly: ComVisible(false)>
|
||||
|
||||
@@ -72,5 +72,5 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.4.6.1")>
|
||||
<Assembly: AssemblyFileVersion("2.4.6.1")>
|
||||
<Assembly: AssemblyVersion("2.4.12.1")>
|
||||
<Assembly: AssemblyFileVersion("2.4.12.1")>
|
||||
|
||||
@@ -11,6 +11,11 @@ Friend Module OptionModule
|
||||
Friend m_LanguageList As New ObservableCollection(Of Language)
|
||||
Friend m_SelectedLanguage As Language
|
||||
|
||||
' Elenco delle MTable disponibili nella configurazione corrente
|
||||
Friend m_MTableList As New ObservableCollection(Of MTable)
|
||||
Friend m_SelectedMTable As MTable
|
||||
Friend m_CurrentMachine As String = String.Empty
|
||||
|
||||
Friend m_OptionLauncherList As New List(Of String)
|
||||
Friend m_SelectedOptionLauncher As Integer = 0
|
||||
Friend m_bLauncherOpenOnce As Boolean = False
|
||||
@@ -391,6 +396,10 @@ Friend Module OptionModule
|
||||
DefaultGetMmUnits(ConstCompo.S_GENERALINI, ConstCompo.K_MMUNITSINI, IsMM)
|
||||
m_IsMM = IsMM
|
||||
|
||||
If GetCurrentMTableList() Then
|
||||
' abilito la modifica della MTbale solo se Debug superioere a 5
|
||||
End If
|
||||
|
||||
Dim Width As String = String.Empty
|
||||
DefaultGetPrivateProfileString(S_SIZE_INI, K_WIDTH_INI, "32", Width)
|
||||
Utility.ConvertCompoConfig(Width, 500)
|
||||
@@ -824,12 +833,17 @@ Friend Module OptionModule
|
||||
Friend Sub CreateNewPropertiesList(ByRef LocalPart As Part)
|
||||
If OptionModule.m_DisableProperties <> Visibility.Visible Then Return
|
||||
If OptionModule.m_MaterialList.Count > 0 Then
|
||||
LocalPart.SetMaterial(OptionModule.m_MaterialList(0))
|
||||
' assegno la proprietà di materiale
|
||||
If Not IsNothing(LocalPart.SelectedMaterial) Then
|
||||
LocalPart.SetMaterial(LocalPart.SelectedMaterial)
|
||||
Else
|
||||
LocalPart.SetMaterial(OptionModule.m_MaterialList(0))
|
||||
End If
|
||||
LocalPart.SetPropertiesList(OptionModule.m_MaterialList(0).PropertiesList)
|
||||
Return
|
||||
End If
|
||||
' configurazione senza materiali
|
||||
If LocalPart.PropertiesList.Count > 0 Then LocalPart.PropertiesList.Clear()
|
||||
' configurazione senza materiali
|
||||
If LocalPart.PropertiesList.Count > 0 Then LocalPart.PropertiesList.Clear()
|
||||
For Each Item In OptionModule.m_PropertList
|
||||
LocalPart.PropertiesList.Add(New PropertyItem(Item.Name, Item.GraphicName, Item.IsChecked))
|
||||
Next
|
||||
@@ -995,6 +1009,81 @@ Friend Module OptionModule
|
||||
End If
|
||||
End Function
|
||||
|
||||
Public Function GetCurrentMTableList() As Boolean
|
||||
If String.IsNullOrEmpty(IniFile.m_sDoorsDirPath) Then Return False
|
||||
m_MTableList.Clear()
|
||||
Dim sMTableDir As String = IniFile.m_sDoorsDirPath & "\MTables"
|
||||
If Not Directory.Exists(sMTableDir) Then
|
||||
EgtOutLog("Directory " & "'" & sMTableDir & "'" & " not found.")
|
||||
Return False
|
||||
End If
|
||||
Dim Items As String() = Directory.GetFiles(sMTableDir)
|
||||
' recupero i file che hanno estemsione *.mtl
|
||||
For Each MTableFile As String In Items
|
||||
If MTableFile.EndsWith(".mtl") Then
|
||||
Dim sName As String = Path.GetFileNameWithoutExtension(MTableFile).ToLower
|
||||
Dim sPath As String = MTableFile
|
||||
Dim bIsValid As Boolean = True
|
||||
Dim ExcludeList As List(Of String) = GetExludeList()
|
||||
For Each ExcludedItem As String In ExcludeList
|
||||
If sName.ToLower.Contains(ExcludedItem) Then
|
||||
bIsValid = False
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
If bIsValid Then
|
||||
sName = Path.GetFileNameWithoutExtension(MTableFile)
|
||||
Dim LocalMTable As New MTable(sName.Trim, sPath.Trim)
|
||||
m_MTableList.Add(LocalMTable)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
If m_MTableList.Count < 1 Then
|
||||
EgtOutLog("Not valid file in directory " & "'" & sMTableDir & "'" & ".")
|
||||
Return False
|
||||
End If
|
||||
' leggo il nome della MTable attiva
|
||||
Dim sSelectedMTable As String = String.Empty
|
||||
Dim nbSelected As Boolean = False
|
||||
If GetMainPrivateProfileString(S_DOORS, K_MTABLE, "", sSelectedMTable) <> 0 Then
|
||||
For Each ItemFile As MTable In m_MTableList
|
||||
If ItemFile.FilePath.ToLower = sSelectedMTable.Trim.ToLower Then
|
||||
m_SelectedMTable = ItemFile
|
||||
nbSelected = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
End If
|
||||
If Not nbSelected Then m_SelectedMTable = m_MTableList(0)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Private Function GetExludeList() As List(Of String)
|
||||
Dim LocalList As New List(Of String)
|
||||
Dim sVal As String = String.Empty
|
||||
GetMainPrivateProfileString(S_DOORS, "Exclude", "", sVal)
|
||||
Dim sItems As String() = sVal.Split(","c)
|
||||
For Each Item As String In sItems
|
||||
LocalList.Add(Item.Trim)
|
||||
Next
|
||||
Return LocalList
|
||||
End Function
|
||||
|
||||
Public Sub GetCurrentMachineInMTable()
|
||||
' aggiorno il file Config.ini dell'EgtCAM5
|
||||
EgtLuaExecFile(IniFile.m_sLuaLibsDir & "\ChangeConfig.lua")
|
||||
' assegno variabili
|
||||
Dim sDir As String = IniFile.m_sDoorsDirPath.Replace("\", "/")
|
||||
EgtLuaSetGlobStringVar("CCD.NewBaseDir", sDir)
|
||||
EgtLuaSetGlobStringVar("CCD.NewMTable", m_SelectedMTable.Name)
|
||||
' eseguo la funzione che esegue la scrittura delle variabili
|
||||
EgtLuaCallFunction("CCD.GetCurrentMachineInMTable")
|
||||
Dim sVal As String = ""
|
||||
EgtLuaGetGlobStringVar("CCD.NewMachineName", sVal)
|
||||
OptionModule.m_CurrentMachine = sVal
|
||||
EgtLuaResetGlobVar("CCD")
|
||||
End Sub
|
||||
|
||||
End Module
|
||||
|
||||
' Classe che identifica una lingua del programma con nome e path del file dei messaggi
|
||||
@@ -1027,3 +1116,33 @@ Public Class Language
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
Public Class MTable
|
||||
|
||||
Private m_sName As String
|
||||
Private m_sFilePath As String
|
||||
|
||||
Public Property Name As String
|
||||
Get
|
||||
Return m_sName
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sName = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property FilePath As String
|
||||
Get
|
||||
Return m_sFilePath
|
||||
End Get
|
||||
Set(value As String)
|
||||
m_sFilePath = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Sub New(sName As String, sFilePath As String)
|
||||
Me.Name = sName
|
||||
Me.FilePath = sFilePath
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -5,12 +5,14 @@
|
||||
Title="{Binding Title}" Icon="/Resources/EgtDOOR.ico"
|
||||
TitleBarBrush="{StaticResource EgaltechBlue1}"
|
||||
BorderBrush="{StaticResource EgaltechBlue1}"
|
||||
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
|
||||
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30"
|
||||
IsResizable="True" IsMovable="True"
|
||||
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
|
||||
CloseCommand="{Binding CloseOptionsCommand,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}">
|
||||
|
||||
<EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
<KeyBinding Key="F1" Command="{Binding OptionGuideCmd}"/>
|
||||
<KeyBinding Key="Esc" Command="{Binding CloseOptionsCommand}"/>
|
||||
</EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
|
||||
|
||||
@@ -27,7 +29,7 @@
|
||||
<RowDefinition Height="6.7*"/>
|
||||
<RowDefinition Height="1.5*"/>
|
||||
<RowDefinition Height="1.5*"/>
|
||||
<RowDefinition Height="1.5*"/>
|
||||
<RowDefinition Height="1.5*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
@@ -253,6 +255,64 @@
|
||||
</GroupBox>
|
||||
</Grid>
|
||||
</TabItem>
|
||||
<TabItem Header="{Binding ConfigOption}" IsEnabled="{Binding EnableConfig}">
|
||||
<Grid Margin="3,3,3,3">
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
<ColumnDefinition Width="1*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="3.25*"/>
|
||||
<RowDefinition Height="3.0*"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<GroupBox Header="{Binding ConfigMsg}" Grid.Row="0" Grid.ColumnSpan="4">
|
||||
<Grid >
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition Width="23*"/>
|
||||
<ColumnDefinition Width="125*"/>
|
||||
<ColumnDefinition Width="443*"/>
|
||||
<ColumnDefinition Width="147*"/>
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="0.5*"/>
|
||||
<RowDefinition Height="1*"/>
|
||||
<RowDefinition Height="0.5*"/>
|
||||
</Grid.RowDefinitions>
|
||||
<TextBlock Text="{Binding ConfigDirectoryMsg}" Grid.Row="1" Grid.Column="0" Margin="2,10,5,5"
|
||||
Style="{StaticResource DoorParamsTxBl}" Grid.ColumnSpan="2"/>
|
||||
<TextBlock Text="{Binding BaseDir}" Grid.Row="1" Grid.Column="2" Margin="2,10,5,5"
|
||||
Style="{StaticResource DoorParamsTxBl}"/>
|
||||
<Button Content="{Binding ChangeConfigMsg}" Grid.Row="1" Grid.Column="3"
|
||||
Command="{Binding BrowseCommand}" Margin="5"
|
||||
CommandParameter="ConfigDir"/>
|
||||
</Grid>
|
||||
</GroupBox>
|
||||
|
||||
<!--Seclta della MTable-->
|
||||
<GroupBox Header="{Binding MTableMsg}" Grid.Row="1">
|
||||
<UniformGrid Rows="2">
|
||||
<ComboBox ItemsSource="{Binding MTableList, Mode=OneWay}"
|
||||
DisplayMemberPath="Name" SelectedItem="{Binding SelectedMTable}"
|
||||
Style="{StaticResource DoorParamsCmBx}"
|
||||
Margin="5,0,5,0"/>
|
||||
<TextBlock Text="{Binding MTableAdvertMsg}" TextWrapping="Wrap"
|
||||
TextAlignment="Center" Margin="5,0,5,0"/>
|
||||
</UniformGrid>
|
||||
</GroupBox>
|
||||
|
||||
<!--Seclta della MTable-->
|
||||
<GroupBox Header="{Binding CurrMachTitleMsg}" Grid.Row="1" Grid.Column="1">
|
||||
<UniformGrid Rows="1">
|
||||
<TextBlock Text="{Binding CurrentMachine}" TextWrapping="Wrap"
|
||||
TextAlignment="Center" VerticalAlignment="Center" FontWeight="Black" Margin="5,0,5,0"/>
|
||||
</UniformGrid>
|
||||
</GroupBox>
|
||||
|
||||
</Grid>
|
||||
</TabItem>
|
||||
</TabControl>
|
||||
|
||||
<!--Impostazioni generali della porta-->
|
||||
@@ -327,7 +387,7 @@
|
||||
Margin="0,10,5,18"
|
||||
Style="{StaticResource DoorParamsChBx}" />
|
||||
|
||||
<TextBox Style="{StaticResource DoorParamsTxBx}"
|
||||
<TextBox Style="{StaticResource DoorParamsTxBx}"
|
||||
Grid.Column="0"
|
||||
Text="{Binding WeightValue, UpdateSourceTrigger=PropertyChanged}"
|
||||
Margin="5,5,10,13"
|
||||
|
||||
@@ -80,9 +80,25 @@ Public Class OptionsVM
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
m_SelectedTabGeneral = value
|
||||
If m_SelectedTabGeneral = 2 Then
|
||||
OptionModule.GetCurrentMachineInMTable()
|
||||
NotifyPropertyChanged("CurrentMachine")
|
||||
m_OrigBaseDir = IniFile.m_sDoorsDirPath
|
||||
m_OrigMTable = OptionModule.m_SelectedMTable.Name
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_IsChangedConfig As Boolean = False
|
||||
Public ReadOnly Property IsChangedConfig As Boolean
|
||||
Get
|
||||
Return m_IsChangedConfig
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private m_OrigBaseDir As String = String.Empty
|
||||
Private m_OrigMTable As String = String.Empty
|
||||
|
||||
|
||||
#End Region ' Hardware_part
|
||||
|
||||
@@ -104,6 +120,68 @@ Public Class OptionsVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property EnableConfig As Boolean
|
||||
Get
|
||||
If GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0) > 4 And File.Exists(IniFile.m_sLuaLibsDir & "\ChangeConfig.lua") Then
|
||||
Return True
|
||||
Else
|
||||
Return False
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property MTableList As ObservableCollection(Of MTable)
|
||||
Get
|
||||
Return OptionModule.m_MTableList
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public Property SelectedMTable As MTable
|
||||
Get
|
||||
Return OptionModule.m_SelectedMTable
|
||||
End Get
|
||||
Set(value As MTable)
|
||||
If Not IsNothing(value) AndAlso value IsNot OptionModule.m_SelectedMTable Then
|
||||
OptionModule.m_SelectedMTable = value
|
||||
WriteMainPrivateProfileString(S_DOORS, K_MTABLE, OptionModule.m_SelectedMTable.FilePath)
|
||||
NotifyPropertyChanged("SelectedMTable")
|
||||
OptionModule.GetCurrentMachineInMTable()
|
||||
NotifyPropertyChanged("CurrentMachine")
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public Property BaseDir As String
|
||||
Get
|
||||
Return IniFile.m_sDoorsDirPath
|
||||
End Get
|
||||
Set(value As String)
|
||||
If value.Trim.ToLower <> IniFile.m_sDoorsDirPath.ToLower Then
|
||||
Dim sPreValue As String = IniFile.m_sDoorsDirPath
|
||||
IniFile.m_sDoorsDirPath = value
|
||||
If Not GetCurrentMTableList() Then
|
||||
MessageBox.Show("Currente directory '" & value & "' is not valid as BaseDir!", EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
IniFile.m_sDoorsDirPath = sPreValue
|
||||
GetCurrentMTableList()
|
||||
End If
|
||||
WriteMainPrivateProfileString(S_DOORS, K_BASEDIR, IniFile.m_sDoorsDirPath)
|
||||
m_IsChangedConfig = True
|
||||
NotifyPropertyChanged("SelectedMTable")
|
||||
End If
|
||||
NotifyPropertyChanged("MTableList")
|
||||
NotifyPropertyChanged("ConfigDir")
|
||||
OptionModule.GetCurrentMachineInMTable()
|
||||
NotifyPropertyChanged("CurrentMachine")
|
||||
NotifyPropertyChanged("BaseDir")
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property CurrentMachine As String
|
||||
Get
|
||||
Return OptionModule.m_CurrentMachine
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property MeasureUnitList As List(Of String)
|
||||
Get
|
||||
Return OptionModule.m_MeasureUnitList
|
||||
@@ -116,6 +194,28 @@ Public Class OptionsVM
|
||||
End Get
|
||||
Set(value As String)
|
||||
If value IsNot OptionModule.m_SelectedMeasureUnit Then
|
||||
|
||||
Dim sMessage As String = "The program will be shut down, do you want to proced?"
|
||||
Dim bRestartProgram As Boolean = EnableConfig
|
||||
If bRestartProgram Then
|
||||
sMessage = "The program will be restart, do you want to proced?"
|
||||
End If
|
||||
|
||||
' chiedo se desidera procedere con lo spegnimento del programma
|
||||
If MessageBox.Show(sMessage, "Warning", MessageBoxButton.OKCancel, MessageBoxImage.Exclamation, MessageBoxResult.Cancel) = MessageBoxResult.OK Then
|
||||
' procedo alla chiusura del programma
|
||||
Map.refMainWindowVM.CloseApplication()
|
||||
If bRestartProgram Then Process.Start(Application.ResourceAssembly.Location)
|
||||
Else
|
||||
' esco senza salvare la selezione
|
||||
Return
|
||||
End If
|
||||
' sa la chiusura del porgramma è stata interotta
|
||||
If Map.refMainWindowVM.StopClosingApplication Then
|
||||
' esco senza salvare la selezione
|
||||
Return
|
||||
End If
|
||||
|
||||
OptionModule.m_bIsMmUnit = (value = OptionModule.m_MeasureUnitList(0))
|
||||
EgtSetUiUnits(OptionModule.m_bIsMmUnit)
|
||||
WriteMainPrivateProfileString(S_SCENE, K_MMUNITS, If(OptionModule.m_bIsMmUnit, "1", "0"))
|
||||
@@ -1112,9 +1212,9 @@ Public Class OptionsVM
|
||||
Public ReadOnly Property Title As String
|
||||
Get
|
||||
Dim sTitle As String = EgtMsg(MSG_MAINWINDOW + 209)
|
||||
If Map.refMainWindowVM.SelectedPage =MainWindowVM.ListPageEnum.nDDFPage then
|
||||
If Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nDDFPage Then
|
||||
sTitle = "DOOR - " & sTitle
|
||||
else
|
||||
Else
|
||||
sTitle = "HARDWARE - " & sTitle
|
||||
End If
|
||||
Return sTitle
|
||||
@@ -1139,6 +1239,12 @@ Public Class OptionsVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property MTableAdvertMsg As String
|
||||
Get
|
||||
Return "Going out this page the program will restart."
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property MeasureUnit As String
|
||||
Get
|
||||
Return EgtMsg(50211)
|
||||
@@ -1322,7 +1428,7 @@ Public Class OptionsVM
|
||||
|
||||
Public ReadOnly Property MachMsg As String
|
||||
Get
|
||||
' Mach.
|
||||
' Mach.
|
||||
Return EgtMsg(50711)
|
||||
End Get
|
||||
End Property
|
||||
@@ -1352,20 +1458,56 @@ Public Class OptionsVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' TabMsg
|
||||
Public ReadOnly Property GeneralOption As String
|
||||
Get
|
||||
' 50729=General
|
||||
Return EgtMsg(50729)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property GeneralCam As String
|
||||
Get
|
||||
' 50730=Report
|
||||
Return EgtMsg(50730)
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property ConfigOption As String
|
||||
Get
|
||||
Return "Config"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ChangeConfigMsg As String
|
||||
Get
|
||||
Return "Change config"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property MTableMsg As String
|
||||
Get
|
||||
Return "MTable"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ConfigMsg As String
|
||||
Get
|
||||
Return "Door Config"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property CurrMachTitleMsg As String
|
||||
Get
|
||||
Return "Current Machine"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property ConfigDirectoryMsg As String
|
||||
Get
|
||||
Return "Directory"
|
||||
End Get
|
||||
End Property
|
||||
|
||||
' GenearlCamMsg
|
||||
Public ReadOnly Property ExtLineLenMsg As String
|
||||
Get
|
||||
' Estensione linea
|
||||
@@ -1524,14 +1666,14 @@ Public Class OptionsVM
|
||||
|
||||
Public ReadOnly Property LightUpMsg As String
|
||||
Get
|
||||
' Light Up
|
||||
' Light Up
|
||||
Return EgtMsg(50056)
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Public ReadOnly Property LightLockMsg As String
|
||||
Get
|
||||
' Light Lock
|
||||
' Light Lock
|
||||
Return EgtMsg(50057)
|
||||
End Get
|
||||
End Property
|
||||
@@ -1724,10 +1866,17 @@ Public Class OptionsVM
|
||||
Return m_EnableAssembly
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
Dim sMessage As String = "The program will be shut down, do you want to proced?"
|
||||
Dim bRestartProgram As Boolean = EnableConfig
|
||||
If bRestartProgram Then
|
||||
sMessage = "The program will be restart, do you want to proced?"
|
||||
End If
|
||||
|
||||
' chiedo se desidera procedere con lo spegnimento del programma
|
||||
If MessageBox.Show("The program will be shut down, do you want to proced?", "Warning", MessageBoxButton.OKCancel, MessageBoxImage.Exclamation, MessageBoxResult.Cancel) = MessageBoxResult.OK Then
|
||||
If MessageBox.Show(sMessage, "Warning", MessageBoxButton.OKCancel, MessageBoxImage.Exclamation, MessageBoxResult.Cancel) = MessageBoxResult.OK Then
|
||||
' procedo alla chiusura del programma
|
||||
Map.refMainWindowVM.CloseApplication()
|
||||
If bRestartProgram Then Process.Start(Application.ResourceAssembly.Location)
|
||||
Else
|
||||
' esco senza salvare la selezione
|
||||
Return
|
||||
@@ -1883,10 +2032,10 @@ Public Class OptionsVM
|
||||
|
||||
Sub New()
|
||||
Map.SetRefOptionsVM(Me)
|
||||
If IsEnableHarwarePart then
|
||||
If IsEnableHarwarePart Then
|
||||
m_HardwarePartVM = New HardwarePartVM
|
||||
m_HardwarePartV = New HardwarePartV(m_HardwarePartVM)
|
||||
End if
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#Region "COMMANDS"
|
||||
@@ -1916,6 +2065,25 @@ Public Class OptionsVM
|
||||
OptionsWindow.Close()
|
||||
End If
|
||||
Next
|
||||
|
||||
If m_IsChangedConfig AndAlso EnableConfig AndAlso m_OrigBaseDir <> IniFile.m_sDoorsDirPath AndAlso m_OrigMTable <> OptionModule.m_SelectedMTable.Name Then
|
||||
' aggiorno il file Config.ini dell'EgtCAM5
|
||||
EgtLuaExecFile(IniFile.m_sLuaLibsDir & "\ChangeConfig.lua")
|
||||
' assegno variabili
|
||||
EgtLuaSetGlobStringVar("CCD.NewBaseDir", IniFile.m_sDoorsDirPath)
|
||||
EgtLuaSetGlobStringVar("CCD.NewMTable", OptionModule.m_SelectedMTable.Name)
|
||||
' eseguo la funzione che esegue la scrittura delle variabili
|
||||
EgtLuaCallFunction("CCD.ChangeConfigDirectory")
|
||||
Dim sVal As String = ""
|
||||
EgtLuaGetGlobStringVar("CCD.NewMachineName", sVal)
|
||||
OptionModule.m_CurrentMachine = sVal
|
||||
EgtLuaResetGlobVar("CCD")
|
||||
' chiudo il programma e lo riavvio
|
||||
Map.refMainWindowVM.CloseApplication()
|
||||
Process.Start(Application.ResourceAssembly.Location)
|
||||
'End If
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
#End Region ' CloseOptionsCommand
|
||||
@@ -1959,6 +2127,15 @@ Public Class OptionsVM
|
||||
Return
|
||||
End If
|
||||
TemplateDir = FolderBrowserDialog.SelectedPath
|
||||
Case "ConfigDir"
|
||||
Dim FolderBrowserDialog As New System.Windows.Forms.FolderBrowserDialog
|
||||
FolderBrowserDialog.SelectedPath = IniFile.m_sDoorsDirPath
|
||||
' mostriamo la finestra di dialogo aperta fino alla directory MyProjects
|
||||
If FolderBrowserDialog.ShowDialog <> Forms.DialogResult.OK Then
|
||||
' se la risposta è diversa da OK esce
|
||||
Return
|
||||
End If
|
||||
BaseDir = FolderBrowserDialog.SelectedPath
|
||||
End Select
|
||||
|
||||
End Sub
|
||||
|
||||
+9
-1
@@ -88,13 +88,21 @@ Module RegexFunction
|
||||
Dim sErrorMsg As String = String.Format(EgtMsg(50196), ConfigurationCompo)
|
||||
MessageBox.Show(sErrorMsg, "Error", MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
Else
|
||||
' se abilitata la modifica delle configurazioni cambio messaggio e disabilito la chiusura del programma
|
||||
If Map.refOptionsVM.EnableConfig Then
|
||||
Dim sWarningMsg As String = String.Format("The current ddf configuration ({0}) is different from the current program configuration ({1})", ConfigurationCompo, Path.GetFileName(IniFile.m_sDoorsDirPath), vbCrLf)
|
||||
MessageBox.Show(sWarningMsg, "Warning", MessageBoxButton.OK, MessageBoxImage.Warning)
|
||||
Part.LastPartName = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name
|
||||
Return True
|
||||
End If
|
||||
|
||||
Dim MsgBoxResult As MessageBoxResult = MessageBoxResult.No
|
||||
' 50195=The current ddf configuration ({0}) is different from the current program configuration ({1}).
|
||||
Dim sWarningMas As String = String.Format(EgtMsg(50195), ConfigurationCompo, Path.GetFileName(IniFile.m_sDoorsDirPath), vbCrLf)
|
||||
MsgBoxResult = MessageBox.Show(sWarningMas, "Warning", MessageBoxButton.YesNo, MessageBoxImage.Warning)
|
||||
If MsgBoxResult = MessageBoxResult.Yes Then
|
||||
' Imposto nuova configurazione
|
||||
WriteMainPrivateProfileString("Doors", "BaseDir", sConfCompoPath)
|
||||
WriteMainPrivateProfileString(S_DOORS, K_BASEDIR, sConfCompoPath)
|
||||
' Imposto progetto corrente
|
||||
WriteMainPrivateProfileString(S_LAUNCHERWINDOW, K_LASTPROJECT, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name)
|
||||
' Imposto apertura automatica al prossimo avvio
|
||||
|
||||
@@ -109,7 +109,8 @@ Public Class SceneManagerVM
|
||||
' Creazione scena
|
||||
PreInitializeScene()
|
||||
' Se tutto bene
|
||||
If m_ProjectScene.Init() And (IniFile.m_nKeyOptions And KEY_OPT.DOORCREATOR) <> 0 Then
|
||||
If m_ProjectScene.Init() And ((IniFile.m_nKeyOptions And KEY_OPT.DOORCREATOR) <> 0 OrElse
|
||||
(Not (IniFile.m_nKeyOptions And KEY_OPT.DOORCREATOR) <> 0 AndAlso (IniFile.m_nKeyOptions And KEY_OPT.READ_ONLY) <> 0)) Then
|
||||
EgtSetCurrentContext(m_ProjectScene.GetCtx)
|
||||
PostInitializeScene()
|
||||
m_ProjectScene.SetStatusNull()
|
||||
|
||||
+49
-11
@@ -43,14 +43,14 @@ Public Module Utility
|
||||
Dim sLockFile As String = GenerateLockFileName(CurrDirectory, CurrFile)
|
||||
Dim bIsLocked As Boolean = False
|
||||
Dim FileList As String() = Directory.GetFiles(CurrDirectory)
|
||||
|
||||
|
||||
' recurpero il nome del primo file bloccato nel direttorio corrente (se non è specificato un file)
|
||||
If String.IsNullOrEmpty(CurrFile) then
|
||||
Try
|
||||
If String.IsNullOrEmpty(CurrFile) Then
|
||||
Try
|
||||
sLockFile = FileList.First(Function(x) x.EndsWith(LCK_EXTENSION))
|
||||
Catch ex As Exception
|
||||
End Try
|
||||
End If
|
||||
End If
|
||||
|
||||
If File.Exists(sLockFile) Then
|
||||
Try
|
||||
@@ -104,9 +104,9 @@ Public Module Utility
|
||||
m_CurrLockFile = GenerateLockFileName(CurrDirectory, CurrFile)
|
||||
m_StopSaving = False
|
||||
'If VerifyFileLocked(CurrDirectory, CurrFile) Then Return False
|
||||
If Not IsNothing(Map.refMainWindowVM.AssemblyManagerControl) then
|
||||
If Not IsNothing(Map.refMainWindowVM.AssemblyManagerControl) Then
|
||||
Map.refMainWindowVM.AssemblyManagerControl.Visibility = Visibility.Visible
|
||||
End If
|
||||
End If
|
||||
Try
|
||||
Dim NomeUtente As String = Environment.MachineName & "/" & Environment.UserName
|
||||
File.WriteAllText(m_CurrLockFile, NomeUtente, New System.Text.UTF8Encoding(False))
|
||||
@@ -358,6 +358,22 @@ Public Module Utility
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Friend Function DirectInchesToMm(ByRef sMeasure As String) As Boolean
|
||||
Dim dVal As Double = 0.0
|
||||
If Not StringToDouble(sMeasure, dVal) Then Return False
|
||||
dVal = dVal * ONEINCH
|
||||
sMeasure = DoubleToString(dVal, 3)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Friend Function DirectMmToInches(ByRef sMeasure As String) As Boolean
|
||||
Dim dVal As Double = 0.0
|
||||
If Not StringToDouble(sMeasure, dVal) Then Return False
|
||||
dVal = dVal / ONEINCH
|
||||
sMeasure = DoubleToString(dVal, 4)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Friend Function ConvertCurrentUnitMeasure(ByRef sMeasure As String) As Boolean
|
||||
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES Then
|
||||
' non eseguo nessun tipo di conversione
|
||||
@@ -388,10 +404,10 @@ Public Module Utility
|
||||
' conevrsione in lettura dei valori delle textbox nel DoorCreator/HardwareManager
|
||||
Friend Function ConvertCompoConfig(ByRef sItems As String, ByRef dControlValue As Double) As Boolean
|
||||
Dim dDefaultValue As Double = 0
|
||||
If sItems.Contains("$") then
|
||||
If sItems.Contains("$") Then
|
||||
sItems = "$"
|
||||
Return true
|
||||
end
|
||||
Return True
|
||||
End
|
||||
End If
|
||||
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES And Not OptionModule.m_IsMM Then
|
||||
' Concordi = Inches
|
||||
@@ -453,6 +469,28 @@ Public Module Utility
|
||||
Return False
|
||||
End Function
|
||||
|
||||
Friend Function ConvertDDFValueIntoCurrentUnit(sCurrUnitDDF As String, ByRef sValue As String) As Boolean
|
||||
Dim bCurrUnitDDFIsMM As Boolean = ConvertStringToMmUnits(sCurrUnitDDF)
|
||||
Dim dDefaultValue As Double = 0
|
||||
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES And Not bCurrUnitDDFIsMM Then
|
||||
' non eseguo cenversione: Concordi = Inches
|
||||
Return True
|
||||
ElseIf OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES And bCurrUnitDDFIsMM Then
|
||||
' eseguo conversione: Discordi= MM → Inches
|
||||
DirectMmToInches(sValue)
|
||||
'InchesToMm(sValue)
|
||||
Return True
|
||||
ElseIf OptionModule.m_SelectedMeasureUnit = ConstGen.MM And Not bCurrUnitDDFIsMM Then
|
||||
' eseguo conversione: Discordi= Inches → MM
|
||||
DirectInchesToMm(sValue)
|
||||
Return True
|
||||
ElseIf OptionModule.m_SelectedMeasureUnit = ConstGen.MM And bCurrUnitDDFIsMM Then
|
||||
' non eseguo cenversione: Concordi = MM
|
||||
Return True
|
||||
End If
|
||||
Return False
|
||||
End Function
|
||||
|
||||
' Converte il valore Boolean in una stringa ON/OFF (attributo machining)
|
||||
Friend Function ConvertBooleanToOnOff(bValue As Boolean) As String
|
||||
Return If(bValue, DDF_ON, DDF_OFF)
|
||||
@@ -468,9 +506,9 @@ Public Module Utility
|
||||
End Function
|
||||
|
||||
Friend Function ConvertStringToMmUnits(sUnit As String) As Boolean
|
||||
If Trim(sUnit) = ConstGen.MM Then
|
||||
If Trim(sUnit).ToLower = ConstGen.MM.ToLower Then
|
||||
Return True
|
||||
ElseIf Trim(sUnit) = ConstGen.VAL_INCHES Then
|
||||
ElseIf Trim(sUnit).ToLower = ConstGen.VAL_INCHES.ToLower Then
|
||||
Return False
|
||||
Else
|
||||
Return OptionModule.m_bIsMmUnit
|
||||
|
||||
Reference in New Issue
Block a user