Compare commits

...

24 Commits

Author SHA1 Message Date
NicolaP d3d7fbacd4 Gestione conversione unità misura mm/inch e viceversa porta 2022-12-21 19:02:21 +01:00
NicolaP 201cf2ddf1 Aggiunti messagi in caso di errore lettura MTTable 2022-12-19 18:29:42 +01:00
NicolaP 80c3634506 Gestione materiale per ogni parametro Hardware 2022-12-19 16:16:09 +01:00
NicolaP 43bc9d7e59 Merge branch 'Features/Manage_Material_GroupChapter' 2022-12-12 16:01:36 +01:00
NicolaP 4ab6a1a393 Cambio versione 2.4l1 2022-12-12 15:18:07 +01:00
NicolaP 929966c456 Correzione gestione materiale HardwareCompo 2022-12-12 15:15:07 +01:00
NicolaP 65f8b72488 Merge branch 'Features/Manage_Config' into Features/Manage_Material_GroupChapter 2022-12-12 11:07:39 +01:00
NicolaP d73ca948c9 Aggiornamento data copyright 2022-12-06 16:51:21 +01:00
NicolaP 9bc09a73b2 Migliorata gestione cambio configurazione 2022-12-06 16:39:19 +01:00
NicolaP 2ba7424137 Gestione scrittura a video nome macchina corrente 2022-12-06 14:49:09 +01:00
NicolaP aea8143807 Migliorata gestione lettura cambio configurazione 2022-11-22 18:05:12 +01:00
NicolaP 79151af902 Gestione configurazione EgtCAM5.ini 2022-11-22 17:54:13 +01:00
NicolaP 5bf6b4acd4 Inizio gestione cambio configurazione 2022-11-21 20:17:04 +01:00
NicolaP 0e7764b9df Merge branch 'Features/Correzione_Sel_Material_Assemb' 2022-11-07 11:38:44 +01:00
NicolaP c745c69ad2 Correzione lettura materiale in assemblato 2022-11-07 11:38:31 +01:00
NicolaP ae2d1e427b Gestione file compialti 2022-09-05 14:21:24 +02:00
NicolaP c12c8f296a Correzione ComboBoxOnOff DDF parmeteer in Hardware 2022-07-11 12:03:49 +02:00
NicolaP 901e151399 Correzione gestione TextBoxOnOff e ComboBoxOnOff 2022-07-11 11:42:54 +02:00
NicolaP 81711ec12e Merge branch 'NicolaP' 2022-07-08 11:31:31 +02:00
NicolaP e6ed99afca Cambio versione 2022-07-08 11:31:16 +02:00
NicolaP be57be1e27 Correzione stampa parameteri On/Off HardwareManager 2022-07-08 11:12:59 +02:00
NicolaP 9853d78cf9 Gestione chiave di protezione 2022-06-28 19:42:18 +02:00
NicolaP f43134d996 Merge branch 'master' into NicolaP 2022-06-27 17:36:46 +02:00
NicolaP 3d259cfb9f Merge branch 'Features/Restyle_Interface_Assembly' 2022-06-27 17:26:13 +02:00
18 changed files with 694 additions and 66 deletions
+68 -9
View File
@@ -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
View File
@@ -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
+2
View File
@@ -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"
+1
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
+2
View File
@@ -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
View File
@@ -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
View File
@@ -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)
+3 -2
View File
@@ -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)
+3 -3
View File
@@ -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")>
+122 -3
View File
@@ -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
+63 -3
View File
@@ -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"
+186 -9
View File
@@ -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
View File
@@ -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
+2 -1
View File
@@ -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
View File
@@ -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