Compare commits

...
9 Commits
9 changed files with 113 additions and 93 deletions
+2 -1
View File
@@ -90,7 +90,8 @@ Module ConstIni
Public Const K_DDFFUNCTION As String = "DdfFun"
Public Const K_MYPROJECTDIR As String = "ProjectDirectory"
Public Const K_TEMPLATEDIR As String = "TemplateDirectory"
Public Const K_MACHINDIR As String = "MachinDirectory"
' Correzione nome Chiave valore ver 2.6k2 "MachineDirectory"
Public Const K_MACHINDIR As String = "MachineDirectory"
Public Const K_MTABLE As String = "MTable"
Public Const S_REPORT As String = "Report"
+1 -5
View File
@@ -10,11 +10,7 @@ Module Modified
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
If Not IsNothing(Map.refPartPageVM) AndAlso Not IsNothing(Map.refPartPageVM.CurrPart) Then
For Each Compo In Map.refPartPageVM.CurrPart.CompoList
Compo.BorderColor = DirectCast(New BrushConverter().ConvertFrom("#DCDCDC"), SolidColorBrush)
Compo.BackGroundColor = DirectCast(New BrushConverter().ConvertFrom("#FFFFFF"), SolidColorBrush)
Compo.Foreground = DirectCast(New BrushConverter().ConvertFrom("#000000"), SolidColorBrush)
Compo.BorderThickness = 1
Compo.FontBold = FontWeights.Normal
Compo.ResetMark()
Next
End If
Else
+8 -4
View File
@@ -1535,7 +1535,7 @@ Public Class Part
' ontengo la posizione prevista nella grafica
Dim IndexInList As Integer = DdfFile.GetIndexInList(TempList, m_SelCompo)
' recupero la lista ordinata
Dim sCompoName As String = m_SelCompo.SelFile
Dim sCompoName As String = m_SelCompo.TemplateSelItem
' recupero il primo part disponibile
Dim nIdFirstPart As Integer = EgtGetFirstPart()
Dim nIdLay As Integer = EgtGetFirstLayer(nIdFirstPart)
@@ -1543,12 +1543,12 @@ Public Class Part
While nIdLay <> GDB_ID.NULL
Dim sInfoPath As String = String.Empty
If EgtGetInfo(nIdLay, "Path", sInfoPath) Then
Dim sNamePath As String = Path.GetFileNameWithoutExtension(sInfoPath)
If sNamePath = sCompoName And IndexLay = IndexInList Then
Dim sNamePath As String = sInfoPath
If sNamePath.Contains(sCompoName) And IndexLay = IndexInList Then
EgtSetMark(nIdLay)
m_SelCompo.SetMark()
Exit While
ElseIf sNamePath = sCompoName And IndexLay < IndexInList Then
ElseIf sNamePath.Contains(sCompoName) And IndexLay < IndexInList Then
IndexLay = IndexLay + 1
End If
End If
@@ -2172,6 +2172,10 @@ Public Class Part
MessageBox.Show(String.Format(EgtMsg(50141), ConstIni.K_SWING_INI) & EgtMsg(50159), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
Else
' carico il valore nella porta corrente
If m_refPartDoor.IsTemplate And OptionModule.AdjustDDT AndAlso Not String.IsNullOrEmpty(OptionModule.ForcesSideSwing) Then
Swing = Swing.Remove(0, 1)
Swing = OptionModule.ForcesSideSwing & Swing
End If
m_Swing = Swing
OptionModule.SetCurrSwing(m_SwingAlias, m_Swing)
If IsNothing(m_SwingAlias) Then Return -1
+2 -2
View File
@@ -76,8 +76,8 @@ Friend Class MainWindowModel
m_bAutoNest = Not String.IsNullOrWhiteSpace(sNestKey)
' Recupero livello e opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2611, 1, IniFile.m_nKeyLevel) And
EgtGetKeyOptions(3279, 2611, 1, IniFile.m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2612, 1, IniFile.m_nKeyLevel) And
EgtGetKeyOptions(3279, 2612, 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())
+40 -56
View File
@@ -27,33 +27,7 @@ Class MainWindowV
Private Sub MainWindowV_ContentRendered(sender As Object, e As EventArgs) Handles Me.ContentRendered
' se è assente la chiave di protezione non mostro la finestra Launcher
If Map.refSceneManagerVM.bProtectKey Then
If Not IsNothing(m_args) Then
' leggo gli argomenti: Il programma si chiude appena termina la scrittura del file DDF
Dim Items() As String = m_args(0).Split(";"c)
If Items.Length = 5 Then
' Avvio progetto - LauncherOpt.Open_last_project (1)
OptionModule.m_bLauncherOpenOnce = True
' Indico il percorso del file
OptionModule.FileNameFromArgs = Items(0)
' Assegno i valore Width, Height, Thickness
OptionModule.m_Width = Items(1)
OptionModule.m_Height = Items(2)
OptionModule.m_Thickness = Items(3)
' Indico il percoso di salvataggio file DDF
OptionModule.SaveFileNameFromArgs = Items(4)
' abilito lettura dati
OptionModule.AdjustDDT = True
Else
' blocco lettura dati
OptionModule.AdjustDDT = False
' TERMINO TUTTO SUBITO!
End
End If
End If
Map.refMainWindowVM.SetLauncher()
Map.refMainWindowVM.ShowErrorCompoLoad()
End If
RunBlindCode()
End Sub
Private Sub MainWindowV_Unloaded(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles Me.Closing
@@ -67,38 +41,48 @@ Class MainWindowV
Private Sub RunBlindCode()
If Map.refSceneManagerVM.bProtectKey Then
If Not IsNothing(m_args) Then
StartBlinProgdLog(IniFile.m_sTempDir & "\BlindProgLog.txt")
' leggo gli argomenti: Il programma si chiude appena termina la scrittura del file DDF
Dim Items() As String = m_args(0).Split(";"c)
If Items.Length = 5 Then
' Avvio progetto - LauncherOpt.Open_last_project (1)
OptionModule.m_bLauncherOpenOnce = True
' Indico il percorso del file
OptionModule.FileNameFromArgs = Items(0)
BlindProgLog(" File '.ddt' input : " & OptionModule.FileNameFromArgs)
' Assegno i valore Width, Height, Thickness
OptionModule.m_Width = Items(1)
BlindProgLog(" width : " & OptionModule.m_Width)
OptionModule.m_Height = Items(2)
BlindProgLog(" height : " & OptionModule.m_Height)
OptionModule.m_Thickness = Items(3)
BlindProgLog(" thickness : " & OptionModule.m_Thickness)
' Indico il percoso di salvataggio file DDF
OptionModule.SaveFileNameFromArgs = Items(4)
BlindProgLog(" File '.ddf' output : " & OptionModule.SaveFileNameFromArgs)
' abilito lettura dati
OptionModule.AdjustDDT = True
Else
' blocco lettura dati
OptionModule.AdjustDDT = False
' TERMINO TUTTO SUBITO!
End
End If
End If
ReadArgs()
Map.refMainWindowVM.SetLauncher()
Map.refMainWindowVM.ShowErrorCompoLoad()
End If
End Sub
' Lettura degli argomenti e scrittura di un file di Log con i parametri caricati
Private Sub ReadArgs()
If Not IsNothing(m_args) Then
StartBlinProgdLog(IniFile.m_sTempDir & "\BlindProgLog.txt")
' leggo gli argomenti: Il programma si chiude appena termina la scrittura del file DDF
Dim Items() As String = m_args(0).Split(";"c)
If Items.Length >= 5 Then
' Avvio progetto - LauncherOpt.Open_last_project (1)
OptionModule.m_bLauncherOpenOnce = True
' Indico il percorso del file
OptionModule.FileNameFromArgs = Items(0)
BlindProgLog(" File '.ddt' input : " & OptionModule.FileNameFromArgs)
' Assegno i valore Width, Height, Thickness
OptionModule.m_Width = Items(1)
BlindProgLog(" width : " & OptionModule.m_Width)
OptionModule.m_Height = Items(2)
BlindProgLog(" height : " & OptionModule.m_Height)
OptionModule.m_Thickness = Items(3)
BlindProgLog(" thickness : " & OptionModule.m_Thickness)
' Indico il percoso di salvataggio file DDF
OptionModule.SaveFileNameFromArgs = Items(4)
BlindProgLog(" File '.ddf' output : " & OptionModule.SaveFileNameFromArgs)
' Nuovo parametro da laggere per gestione Swing
If Items.Length = 6 Then
OptionModule.ForcesSideSwing = Items(5)
BlindProgLog(" swing : " & OptionModule.ForcesSideSwing)
End If
' abilito lettura dati
OptionModule.AdjustDDT = True
Else
' blocco lettura dati
OptionModule.AdjustDDT = False
' TERMINO TUTTO SUBITO!
End
End If
End If
End Sub
End Class
+2 -2
View File
@@ -72,5 +72,5 @@ Imports System.Windows
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.6.11.2")>
<Assembly: AssemblyFileVersion("2.6.11.2")>
<Assembly: AssemblyVersion("2.6.12.1")>
<Assembly: AssemblyFileVersion("2.6.12.1")>
+2
View File
@@ -11,6 +11,8 @@ Friend Module OptionModule
Friend AdjustDDT As Boolean = False
Friend FileNameFromArgs As String = String.Empty
Friend SaveFileNameFromArgs As String = String.Empty
' Forza la scrittura dello swing Left(L..) oppure Right(R..)
Friend ForcesSideSwing As String = String.Empty
' Parametri che contengono lista delle lingue disponibili e lingua selezionata
Friend m_LanguageList As New ObservableCollection(Of Language)
+50 -23
View File
@@ -172,7 +172,7 @@ Public Class SceneManagerVM
' Chiudo il programma
End
End If
Return m_ProjectSceneHost
Return m_ProjectSceneHost
End Get
End Property
@@ -346,7 +346,7 @@ Public Class SceneManagerVM
ElseIf Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nAssemblyPage Then
If Not EnableRefresh Then Return
' Verifico esista elemento selezionato
If IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) orelse IsNothing(Map.refAssemblyPageVM.CurrAssembly) Then Return
If IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) OrElse IsNothing(Map.refAssemblyPageVM.CurrAssembly) Then Return
DdfFile.WriteDDFAssembly(Map.refAssemblyPageVM.CurrAssembly, sTempFile, True)
ExecDoors(m_ProjectScene, sTempFile, False)
' mantengo i layer accesi
@@ -445,6 +445,7 @@ Public Class SceneManagerVM
Return
End If
Dim LocalCompoList As ObservableCollection(Of Compo) = Map.refPartPageVM.CurrPart.CompoList
' Ripulisco la scena da i Mark
Map.refPartPageVM.CurrPart.ResetAllMark()
' Se la lista dei componenti è vuota allora esco
If Map.refPartPageVM.CurrPart.CompoList.Count < 1 Then Return
@@ -464,7 +465,7 @@ Public Class SceneManagerVM
If Not sNameLayer.StartsWith("AUX") Or Not sNameLayer.StartsWith("SOLID") Or Not sNameLayer.StartsWith("DIM") Then
' scorro l'elenco dei componenti fino a trovare un riscontro tra i nomi e i parametri
For Each ItemCompo As Compo In LocalCompoList
MatchCompoFromScena(nIdParent, ItemCompo, LocalCompoList)
If MatchCompoFromScena(nIdParent, ItemCompo, LocalCompoList) Then Exit While
Next
End If
End If
@@ -473,36 +474,62 @@ Public Class SceneManagerVM
End While
End Sub
Private Sub MatchCompoFromScena(nIdLay As Integer, CurrCompo As Compo, CompoList As ObservableCollection(Of Compo))
If IsNothing(CurrCompo) Then Return
'ResetAllMark()
Private Function MatchCompoFromScena(nIdLay As Integer, CurrCompo As Compo, CompoList As ObservableCollection(Of Compo)) As Boolean
If IsNothing(CurrCompo) Then Return True
' recupero la lista dei compo dello stesso tipo
Dim TempList As ObservableCollection(Of Compo) = DdfFile.GetCurrentListSameCompoType(CompoList, CurrCompo.CompoType.DDFName)
' recupero la lista dei compo con lo stesso nome
TempList = DdfFile.GetCurrentListSameCompoDDFName(TempList, CurrCompo.SelFile, CurrCompo.SelBrandPart)
' riordino la lista appena trovata secondo le regole di stampa DDF
DdfFile.GetOrderedListSameCompo(TempList)
' ontengo la posizione prevista nella grafica
' ottengo la posizione prevista nella grafica
Dim IndexInList As Integer = DdfFile.GetIndexInList(TempList, CurrCompo)
' recupero la lista ordinata
Dim sCompoName As String = CurrCompo.SelFile
' recupero il primo part disponibile
Dim IndexLay As Integer = 0
If nIdLay <> GDB_ID.NULL Then
Dim sInfoPath As String = String.Empty
If EgtGetInfo(nIdLay, "Path", sInfoPath) Then
Dim sNamePath As String = Path.GetFileNameWithoutExtension(sInfoPath)
If sNamePath = sCompoName And IndexLay = IndexInList Then
EgtSetMark(nIdLay)
' evidenzio la compo corrente
CurrCompo.SetMark()
ElseIf sNamePath = sCompoName And IndexLay < IndexInList Then
IndexLay = IndexLay + 1
Dim sCompoName As String = CurrCompo.TemplateSelItem
' oridnamento del layer
Dim IndexLay As Integer = -1
' recupero il nome della comaponente selezionata con MouseOver
Dim sInfoPath As String = String.Empty
If Not EgtGetInfo(nIdLay, "Path", sInfoPath) Then Return True
' Dim sNamePath As String = Path.GetFileNameWithoutExtension(sInfoPath)
Dim sNamePath As String = sInfoPath
'If sNamePath = sCompoName Then
If sNamePath.Contains(sCompoName) Then
Dim nCurrLayId As Integer = nIdLay
Dim nCounter As Integer = 1
While nCurrLayId <> GDB_ID.NULL
nCurrLayId = EgtGetNext(nCurrLayId)
Dim LocalsPath As String = String.Empty
If EgtGetInfo(nCurrLayId, "Path", LocalsPath) Then
If sNamePath.Trim = LocalsPath.Trim Then
nCounter += 1
End If
End If
End If
End While
IndexLay = TempList.Count - nCounter
End If
EgtDraw()
End Sub
' la compo passata non ha lo stesso nome, quindi mi aspetto un'altra compo
If IndexLay = -1 Then Return False
While IndexInList < TempList.Count And nIdLay <> GDB_ID.NULL
' recupero l'ordinamento del layer
If sNamePath.Contains(sCompoName) And IndexLay = IndexInList Then
EgtSetMark(nIdLay)
' evidenzio la compo corrente
TempList(IndexInList).SetMark()
EgtDraw()
' ricerca terminata correttamente
Return True
Exit While
ElseIf sNamePath.Contains(sCompoName) And IndexInList < IndexLay Then
IndexInList += 1
Else
Return False
End If
End While
' prova con un'altra compo
Return False
End Function
#End Region ' Event scene
+6
View File
@@ -22,6 +22,10 @@ Public Module Utility
' CurrFile deve arrivare già senza estensione!
Private Function GenerateLockFileName(ByVal CurrDirectory As String, Optional ByVal CurrFile As String = "") As String
' Se in modalità Modifica file DDT allora non bloccare il file
If OptionModule.AdjustDDT Then
Return String.Empty
End If
If OptionModule.ReadOnlyDDF Then
Return String.Empty
End If
@@ -711,6 +715,8 @@ Public Module Utility
sFilePath = sPath
sFileBlindProgLog = New System.IO.StreamWriter(sPath, True)
Dim sInfoStart As String = Date.Now.ToString & " Avvio programma in cieco"
sInfoStart &= vbCrLf & My.Application.Info.Version.Major.ToString() & "." & My.Application.Info.Version.Minor.ToString() &
(ChrW(97 - 1 + My.Application.Info.Version.Build)).ToString() & My.Application.Info.Version.Revision.ToString()
sFileBlindProgLog.WriteLine(sInfoStart)
sFileBlindProgLog.Close()
End Sub