diff --git a/AssemblyManager/AssemblyManagerV.xaml b/AssemblyManager/AssemblyManagerV.xaml
index c8a6254..0f61dc7 100644
--- a/AssemblyManager/AssemblyManagerV.xaml
+++ b/AssemblyManager/AssemblyManagerV.xaml
@@ -23,8 +23,9 @@
+ SelectedItem="{Binding CurrProject.SelAssemblyName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
+ Style="{StaticResource DoorListBox}" Name="AssemblyList" Grid.ColumnSpan="2" Margin="0,0,28,0.4" Grid.RowSpan="2">
+
@@ -52,7 +53,7 @@
Style="{StaticResource {x:Type ToggleButton}}"
IsChecked="{Binding Path=IsSelected, RelativeSource={
RelativeSource AncestorType={x:Type ListBoxItem}}}">
-
+
diff --git a/AssemblyManager/AssemblyManagerV.xaml.vb b/AssemblyManager/AssemblyManagerV.xaml.vb
index 14a607c..ed7cf55 100644
--- a/AssemblyManager/AssemblyManagerV.xaml.vb
+++ b/AssemblyManager/AssemblyManagerV.xaml.vb
@@ -3,18 +3,21 @@
Private Sub Door_MouseLeftButtonUp(sender As Object, e As MouseButtonEventArgs)
Dim Item As ListBoxItem = DirectCast(sender, ListBoxItem)
' Gestisco porta corrente modificata
- Dim IsModified As Boolean = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified
- If Not Map.refAssemblyManagerVM.ManageModified() Then
+ If Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified
+ If Not Map.refAssemblyManagerVM.ManageModified() Then
+ Return
+ End If
+ Item.IsSelected=Not Map.refAssemblyManagerVM.CurrProject.IsBlockedSelAssemblyName(DirectCast(Item.DataContext, AssemblyName))
Return
End If
' verifico se il progetto cliccato è quello già selezionato
- If Map.refAssemblyManagerVM.CurrProject.SelAssemblyName Is DirectCast(Item.DataContext, AssemblyName) Then
- ' ricarico la porta
- Map.refAssemblyManagerVM.Open(DirectCast(Item.DataContext, AssemblyName))
- End If
- If IsModified Then
- Map.refAssemblyManagerVM.CurrProject.SelAssemblyName = DirectCast(Item.DataContext, AssemblyName)
- End If
+ 'If Map.refAssemblyManagerVM.CurrProject.SelAssemblyName Is DirectCast(Item.DataContext, AssemblyName) Then
+ ' ricarico la porta
+ e.Handled= Map.refAssemblyManagerVM.CurrProject.IsBlockedSelAssemblyName(DirectCast(Item.DataContext, AssemblyName))
+ 'End If
+ 'If IsModified Then
+ ' Map.refAssemblyManagerVM.CurrProject.SelAssemblyName = DirectCast(Item.DataContext, AssemblyName)
+ 'End If
End Sub
End Class
diff --git a/AssemblyManager/AssemblyManagerVM.vb b/AssemblyManager/AssemblyManagerVM.vb
index 8952892..3aa0276 100644
--- a/AssemblyManager/AssemblyManagerVM.vb
+++ b/AssemblyManager/AssemblyManagerVM.vb
@@ -938,6 +938,8 @@ Public Class AssemblyManagerVM
Public Sub Delete(DeleteAssName As AssemblyName)
' Se il file esiste eliminalo
+ Utility.OutLog("Chiudo progetto")
+ Utility.UnLockDir()
If File.Exists(DeleteAssName.Name) Then
Try
File.Delete(DeleteAssName.Name)
@@ -961,13 +963,19 @@ Public Class AssemblyManagerVM
If SelIndex > m_CurrProject.AssemblyList.Count - 1 Then
m_CurrProject.SelAssemblyName = m_CurrProject.AssemblyList(m_CurrProject.AssemblyList.Count - 1)
Open(m_CurrProject.SelAssemblyName)
+ Utility.OutLog("Apro Progetto: " & m_CurrProject.SelAssemblyName.Name)
+ Utility.LockDir(m_CurrProject.Name, m_CurrProject.SelAssemblyName.GraphicName)
Else
m_CurrProject.SelAssemblyName = m_CurrProject.AssemblyList(SelIndex)
Open(m_CurrProject.SelAssemblyName)
+ Utility.OutLog("Apro Progetto: " & m_CurrProject.SelAssemblyName.Name)
+ Utility.LockDir(m_CurrProject.Name, m_CurrProject.SelAssemblyName.GraphicName)
End If
' se non ci sono altre porte nella lista allora
Else
Dim LastProject As String = m_CurrProject.Name
+ ' confermo che non devono essere prese inconsiderazione le modifiche
+ m_CurrProject.SelAssemblyName.IsModified = False
' elimino qualsiasi resto di porta
m_CurrProject.SelAssemblyName = Nothing
' pulisco entry page
@@ -1226,6 +1234,8 @@ Public Class AssemblyManagerVM
Local_PartDoor.IsChecked = True
CreateNewPropertiesList(Local_PartDoor.Door.PropertiesList, Local_PartDoor.Door.SelectedMaterial)
CurrAssembly.ListPartDoor.Add(Local_PartDoor)
+ Else
+ CurrAssembly.ListPartDoor.Add(ReserchPartDoor(Type))
End If
Next
@@ -1516,11 +1526,20 @@ Public Class AssemblyManagerVM
Else
SaveFileDialog.FileName &= DDF_EXTENSION
End If
+ ' verifico che non sia bloccato (in fase di creazione di una nuova porta posso avere il file .lck senza il ddf)
+ If Utility.IsFileLocked(Path.GetDirectoryName(SaveFileDialog.FileName), Path.GetFileNameWithoutExtension(SaveFileDialog.FileName)) then
+ If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
+ Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
+ Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName)
+ End If
+ Return
+ End If
+
' controllo che il nome non sia presente nella lista degli assemblati
Dim bNameExist As Boolean = False
Dim IndexDoorList As Integer
For IndexDoorList = 0 To m_CurrProject.AssemblyList.Count - 1
- If m_CurrProject.AssemblyList(IndexDoorList).Name = SaveFileDialog.FileName Then
+ If m_CurrProject.AssemblyList(IndexDoorList).Name.ToLower = SaveFileDialog.FileName.ToLower Then
' se il nome è nella lista allora esco dal ciclo e rendo falsa la variabile bNameExist
bNameExist = True
Exit For
@@ -1551,10 +1570,17 @@ Public Class AssemblyManagerVM
' aggiorno la lista
'------------------------------------------------------------------------------------------------------------------------------------------------
' LETTURA DI UN FILE DI TIPO TEMPLATE
- If ImportTemplate(sImportTemplate) Then Return
+ If ImportTemplate(sImportTemplate) Then
+ Utility.OutLog("Apertura progetto : " & Local_AssemblyName.Name)
+ Utility.LockDir(Path.GetDirectoryName(Local_AssemblyName.Name), Path.GetFileNameWithoutExtension(Local_AssemblyName.Name))
+ Return
+ End If
+
'------------------------------------------------------------------------------------------------------------------------------------------------
' Creo nuovo assembly (Solo se non ho importato un template!)
NewCmd(Local_AssemblyName)
+ Utility.OutLog("Apertura progetto : " & Local_AssemblyName.Name)
+ Utility.LockDir(Path.GetDirectoryName(Local_AssemblyName.Name), Path.GetFileNameWithoutExtension(Local_AssemblyName.Name))
' carico il nome come Assemblato selezionato
If Not OptionModule.m_DisableWindowOrder Then
Dim OrderWindow As New OrderV(Application.Current.MainWindow, New OrderVM())
diff --git a/Constants/ConstCompo.vb b/Constants/ConstCompo.vb
index 77c7cb7..252ac51 100644
--- a/Constants/ConstCompo.vb
+++ b/Constants/ConstCompo.vb
@@ -111,6 +111,7 @@ Module ConstCompo
Public Const INI_EXTENSION As String = ".ini"
Public Const TEMPL_EXTENSION As String = ".templ"
Public Const FRAME_FOLDER As String = ".frame"
+ Public Const LCK_EXTENSION as string = ".lck"
Public Const FOLDERDIR As String = "Folder"
' Nome file di matching tra componenti su ante e telaio
diff --git a/DoorParameters/Part.vb b/DoorParameters/Part.vb
index fc1fbed..527758e 100644
--- a/DoorParameters/Part.vb
+++ b/DoorParameters/Part.vb
@@ -212,6 +212,7 @@ Public Class Part
PropertiesIsVisible = Visibility.Collapsed
End if
NotifyPropertyChanged("SelectedMaterial")
+ OptionModule.m_CurrMaterial = m_SelectedMaterial
Map.refSceneManagerVM.RefreshBtn()
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified = True
End if
@@ -222,6 +223,7 @@ Public Class Part
For Each Item In m_MaterilaList
If ItemMaterial.NameDDF = Item.NameDDF then
m_SelectedMaterial = Item
+ OptionModule.m_CurrMaterial = m_SelectedMaterial
NotifyPropertyChanged("SelectedMaterial")
Exit for
End If
@@ -1774,6 +1776,7 @@ Public Class Part
' se trovo il materiale allora carico la sua lista di proprietà ed esco
If Trim(MaterialItem.NameDDF) = Trim(sMaterial) then
m_SelectedMaterial = MaterialItem
+ OptionModule.m_CurrMaterial = m_SelectedMaterial
If Not IsNothing (MaterialItem.PropertiesList) then
PropertiesList = MaterialItem.PropertiesList
SelectedProperty = m_PropertiesList(0)
@@ -2857,7 +2860,15 @@ Public Class Part
Me.m_Height = OptionModule.m_Height
Me.m_Thickness = OptionModule.m_ThicknessJamb
Me.SetSwing(OptionModule.m_Swing)
- Me.SetMaterial(OptionModule.m_MaterialList(0))
+ If Not IsNothing(OptionModule.m_CurrMaterial) then
+ Try
+ Me.SetMaterial(m_MaterialList.First(Function(x) x.Name = Trim(OptionModule.m_CurrMaterial.Name)))
+ Catch ex As Exception
+ Me.SetMaterial(OptionModule.m_MaterialList(0))
+ End Try
+ Else
+ Me.SetMaterial(OptionModule.m_MaterialList(0))
+ End If
Me.m_IsActive = True
Me.m_Measure = ConvertMmUnitsToString(OptionModule.m_bIsMmUnit)
Me.m_Weight = OptionModule.m_Weight
@@ -2881,7 +2892,15 @@ Public Class Part
Me.m_Height = OptionModule.m_Height
Me.m_Thickness = OptionModule.m_Thickness
Me.SetSwing(OptionModule.m_Swing)
- Me.SetMaterial(OptionModule.m_MaterialList(0))
+ If Not IsNothing(OptionModule.m_CurrMaterial) then
+ Try
+ Me.SetMaterial(m_MaterialList.First(Function(x) x.Name = Trim(OptionModule.m_CurrMaterial.Name)))
+ Catch ex As Exception
+ Me.SetMaterial(OptionModule.m_MaterialList(0))
+ End Try
+ Else
+ Me.SetMaterial(OptionModule.m_MaterialList(0))
+ End If
Me.m_IsActive = True
Me.m_Measure = ConvertMmUnitsToString(OptionModule.m_bIsMmUnit)
Me.m_Weight = OptionModule.m_Weight
diff --git a/HardwarePart/HardwarePartV.xaml b/HardwarePart/HardwarePartV.xaml
index 4553d64..be52af0 100644
--- a/HardwarePart/HardwarePartV.xaml
+++ b/HardwarePart/HardwarePartV.xaml
@@ -116,16 +116,18 @@
-->
-
+ IsCancel="True"/>
+ IsDefault="True"/>
+
diff --git a/HardwarePart/HardwarePartVM.vb b/HardwarePart/HardwarePartVM.vb
index c843bf4..51d5e4b 100644
--- a/HardwarePart/HardwarePartVM.vb
+++ b/HardwarePart/HardwarePartVM.vb
@@ -308,8 +308,12 @@ Public Class HardwarePartVM
If Not IsNothing(OptionModule.m_MaterialList) andalso OptionModule.m_MaterialList.Count > 0 then
m_MaterialList= Map.refHardwarePageVM.GenericPart.MaterialsList
+ Dim s_LastSelectedMaterial As String = Map.refHardwarePageVM.GenericPart.SelectedMaterial.Name
+ If Not IsNothing(OptionModule.m_CurrMaterial) then
+ s_LastSelectedMaterial = OptionModule.m_CurrMaterial.Name
+ End If
Try
- m_SelectedMaterial = m_MaterialList.First(Function(x) x.Name = Trim(Map.refHardwarePageVM.GenericPart.SelectedMaterial.Name))
+ m_SelectedMaterial = m_MaterialList.First(Function(x) x.Name = Trim(s_LastSelectedMaterial))
Catch ex As Exception
m_SelectedMaterial = m_MaterialList(0)
Map.refHardwarePageVM.GenericPart.SetMaterial( m_SelectedMaterial )
diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb
index b421cfc..028dbcb 100644
--- a/My Project/AssemblyInfo.vb
+++ b/My Project/AssemblyInfo.vb
@@ -72,5 +72,5 @@ Imports System.Windows
' by using the '*' as shown below:
'
-
-
+
+
diff --git a/OptionsWindow/OptionModule.vb b/OptionsWindow/OptionModule.vb
index 8580730..f81cacb 100644
--- a/OptionsWindow/OptionModule.vb
+++ b/OptionsWindow/OptionModule.vb
@@ -33,6 +33,7 @@ Friend Module OptionModule
' lista dei materiali
Friend m_MaterialList As New ObservableCollection(Of MaterialType)
+ Friend m_CurrMaterial As MaterialType
Friend Enum LauncherOpt As Integer
Open_window = 0
diff --git a/OptionsWindow/OptionsViewModel.vb b/OptionsWindow/OptionsViewModel.vb
index c6ab4ee..67323c3 100644
--- a/OptionsWindow/OptionsViewModel.vb
+++ b/OptionsWindow/OptionsViewModel.vb
@@ -908,7 +908,13 @@ Public Class OptionsVM
Public ReadOnly Property Title As String
Get
- Return EgtMsg(MSG_MAINWINDOW + 209)
+ Dim sTitle As String = EgtMsg(MSG_MAINWINDOW + 209)
+ If Map.refMainWindowVM.SelectedPage =MainWindowVM.ListPageEnum.nDDFPage then
+ sTitle = "DOOR - " & sTitle
+ else
+ sTitle = "HARDWARE - " & sTitle
+ End If
+ Return sTitle
End Get
End Property
diff --git a/ProjectManager/Project.vb b/ProjectManager/Project.vb
index 43789e2..79cd767 100644
--- a/ProjectManager/Project.vb
+++ b/ProjectManager/Project.vb
@@ -33,10 +33,30 @@ Public Class Project
Return m_SelAssemblyName
End Get
Set(value As AssemblyName)
- m_SelAssemblyName = value
+ If IsNothing(value) then Return
+ m_SelAssemblyName = value
Map.refAssemblyManagerVM.Open(m_SelAssemblyName)
+ NotifyPropertyChanged("Name")
NotifyPropertyChanged("SelAssemblyName")
End Set
End Property
+ Friend Function IsBlockedSelAssemblyName(value As AssemblyName) As Boolean
+ If IsNothing(value) then Return false
+ If value.Name = m_SelAssemblyName.Name then
+ Map.refAssemblyManagerVM.Open(m_SelAssemblyName)
+ Return false
+ End If
+ If Not Utility.IsFileLocked(Path.GetDirectoryName(value.Name), value.GraphicName) then
+ m_SelAssemblyName = value
+ Utility.OutLog("Chiudo progetto : " & m_SelAssemblyName.Name)
+ Utility.UnLockDir()
+ 'Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nNothingSelected
+ Utility.LockDir(Path.GetDirectoryName(m_SelAssemblyName.Name),m_SelAssemblyName.GraphicName)
+ Return false
+ End If
+ Map.refAssemblyManagerVM.Open(m_SelAssemblyName)
+ Return true
+ End Function
+
End Class
\ No newline at end of file
diff --git a/ProjectManager/ProjectManagerVM.vb b/ProjectManager/ProjectManagerVM.vb
index 0cca1be..b24ba99 100644
--- a/ProjectManager/ProjectManagerVM.vb
+++ b/ProjectManager/ProjectManagerVM.vb
@@ -224,41 +224,72 @@ Public Class ProjectManagerVM
End Property
Public Sub NewCmd()
- Utility.OutLog(" +++ NewProject +++")
- Utility.UnLockDir()
+ Utility.OutLog(" +++ NewProject +++")
' Gestisco porta corrente modificata
If Not Map.refAssemblyManagerVM.ManageModified() Then Return
- ' Richiedo il nome del progetto (cioè la directory da creare)
+ ' Modalità Progetto
If Not OptionModule.m_SingleDoor Then
+ Utility.UnLockDir()
+ ' Richiedo il nome del progetto (cioè la directory da creare)
Dim SaveFileDialog As New MySaveFileDialogVM
Dim SaveFileDialogWnd As New EgtWPFLib5.SaveFileDialogV(Application.Current.MainWindow, SaveFileDialog)
SaveFileDialog.Title = EgtMsg(50304)
SaveFileDialog.Directory = IniFile.m_MyProjectDir
+ ' carico l'indirizzo dell'ultimo direttorio aperto, altrimenti mantegno quello delle impostazioni
+ If File.Exists(OptionModule.m_sLastProject) Then
+ SaveFileDialog.Directory = Path.GetDirectoryName(OptionModule.m_sLastProject)
+ ElseIf Path.HasExtension(OptionModule.m_sLastProject) AndAlso Directory.Exists(Path.GetDirectoryName(OptionModule.m_sLastProject)) Then
+ SaveFileDialog.Directory = Path.GetDirectoryName(OptionModule.m_sLastProject)
+ ElseIf Not Path.HasExtension(OptionModule.m_sLastProject) AndAlso Directory.Exists(OptionModule.m_sLastProject) Then
+ SaveFileDialog.Directory = OptionModule.m_sLastProject
+ End If
SaveFileDialog.Extension = "\"
- ' se annullo la creazione di un nuovo direttorio, rimango in quello attuale
+ ' se annullo la creazione di un nuovo direttorio, rimango in quello attuale (verifico che l'ultimo file non sia già in lettura)
If Not SaveFileDialogWnd.ShowDialog Then
Utility.OutLog("Annullata la creazione di un nuovo progetto")
- If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
- Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
- Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name)
- 'Map.refAssemblyManagerVM.Open(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName)
+ If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
+ If Not String.IsNullOrEmpty(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName) then
+ If Not Utility.IsFileLocked(Map.refAssemblyManagerVM.CurrProject.Name, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName) then
+ Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
+ Map.refAssemblyManagerVM.CurrProject.SelAssemblyName = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName
+ End If
+ End if
End If
Return
End If
- ' controllo che il direttorio non esista
+ ' Se decido di continuare la creazione controllo che il direttorio non esista
Dim MsgResult As MessageBoxResult = MessageBoxResult.Yes
If Directory.Exists(SaveFileDialog.FileName) Then
- If Utility.VerifyFileLocked(SaveFileDialog.FileName) Then
- If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
- Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
- Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name)
- End If
+ ' se il direttorio contiene almento un file di .lock esco
+ If Utility.IsFileLocked(SaveFileDialog.FileName) Then
+ If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
+ If Not String.IsNullOrEmpty(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName) then
+ If Not Utility.IsFileLocked(Map.refAssemblyManagerVM.CurrProject.Name, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName) then
+ Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
+ Map.refAssemblyManagerVM.CurrProject.SelAssemblyName = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName
+ End If
+ End if
+ End If
Return
End If
- ' 50526 = Directory " & SaveFileDialog.FileName & " already exists! Do you want to overwrite it?
- ' 50144 = Warning
+
+ ' Vuoi sovrascrivere il direttorio?
String.Format(EgtMsg(50526), SaveFileDialog.FileName)
MsgResult = MessageBox.Show(String.Format(EgtMsg(50526), SaveFileDialog.FileName), EgtMsg(50144), MessageBoxButton.YesNo, MessageBoxImage.Asterisk)
+ ' se decido di non cancellare il direttorio esco
+ If MsgResult = MessageBoxResult.No Then
+ Utility.OutLog("Annullata sovrascrittura delprogetto esistente : " & SaveFileDialog.FileName)
+ If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
+ If Not String.IsNullOrEmpty(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName) then
+ If Not Utility.IsFileLocked(Map.refAssemblyManagerVM.CurrProject.Name, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName) then
+ Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
+ Map.refAssemblyManagerVM.CurrProject.SelAssemblyName = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName
+ End If
+ End if
+ End If
+ Return
+ End If
+
' cancello il direttorio
Try
Directory.Delete(SaveFileDialog.FileName, True)
@@ -269,16 +300,7 @@ Public Class ProjectManagerVM
Return
End Try
End If
- ' se decido di non sovrascrivere allora rimango in quello attuale
- If MsgResult = MessageBoxResult.No Then
- Utility.OutLog("Annullata sovrascrittura delprogetto esistente : " & SaveFileDialog.FileName)
- If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
- Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
- Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name)
- 'Map.refAssemblyManagerVM.Open(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName)
- End If
- Return
- End If
+ ' Se decido di non sovrascrivere allora rimango in quello attuale
Utility.OutLog("Creazione nuovo progetto : " & SaveFileDialog.FileName)
' Creo nuovo progetto
@@ -300,10 +322,13 @@ Public Class ProjectManagerVM
' Creo nuova porta
Map.refAssemblyManagerVM.AddAssembly()
' Map.refOptionsVM.MyProjectDir = CurrProject.Name
- Utility.LockDir(CurrProject.Name)
+ If Not String.IsNullOrEmpty(CurrProject.SelAssemblyName.GraphicName) then
+ Map.refAssemblyManagerVM.CurrProject.SelAssemblyName = CurrProject.SelAssemblyName
+ End If
Return
End If
-
+ '-------------------------------------------------------------------------------------------------------------------------
+
'Prima di tutto chiedo se vuole aprire un template
Dim sImportTemplate As String = Map.refAssemblyManagerVM.ShowDialogImportTemplate
@@ -312,7 +337,7 @@ Public Class ProjectManagerVM
saveFileDialog1.Filter = "(*.ddf) |*.ddf"
saveFileDialog1.FilterIndex = 2
saveFileDialog1.InitialDirectory = Map.refOptionsVM.MyProjectDir
- ' carico l'ultimo direttorio aperto, se questo procediento fallisce allora parto dal direttorio inserito di default
+ ' carico l'ultimo file, se questo procediento fallisce allora parto dal direttorio inserito di default
If File.Exists(OptionModule.m_sLastProject) Then
saveFileDialog1.InitialDirectory = Path.GetDirectoryName(OptionModule.m_sLastProject)
ElseIf Path.HasExtension(OptionModule.m_sLastProject) AndAlso Directory.Exists(Path.GetDirectoryName(OptionModule.m_sLastProject)) Then
@@ -322,15 +347,31 @@ Public Class ProjectManagerVM
End If
' apro la finestra di dialogo
If saveFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
- If Utility.VerifyFileLocked(Path.GetDirectoryName(saveFileDialog1.FileName), Path.GetFileNameWithoutExtension(saveFileDialog1.FileName)) Then
+ ' se decido di salvare
+ If Utility.IsFileLocked(Path.GetDirectoryName(saveFileDialog1.FileName), Path.GetFileNameWithoutExtension(saveFileDialog1.FileName)) Then
+ ' apro l'ultimo progetto valido
If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
- Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name)
- Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName)
- End If
+ If Not String.IsNullOrEmpty(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName) then
+ Dim bShowMessage As Boolean = False
+ If Not Utility.IsFileLocked(Map.refAssemblyManagerVM.CurrProject.Name, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName, bShowMessage) then
+ Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
+ Map.refAssemblyManagerVM.CurrProject.SelAssemblyName = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName
+ End If
+ End if
+ End If
Return
End If
- Utility.OutLog("Creazione nuovo progetto : " & saveFileDialog1.FileName)
- Utility.LockDir(Path.GetDirectoryName(saveFileDialog1.FileName), Path.GetFileNameWithoutExtension(saveFileDialog1.FileName))
+ Utility.UnLockDir()
+ ' elimino eventuali file con lo stesso nome
+ If File.Exists(saveFileDialog1.FileName) then
+ Try
+ File.Delete(saveFileDialog1.FileName)
+ Catch ex As Exception
+ Utility.OutLog("Impossibilie sovrascrivere il file: " & saveFileDialog1.FileName)
+ Return
+ End Try
+ End If
+
Dim FilePath As String = Path.GetFileNameWithoutExtension(saveFileDialog1.FileName)
saveFileDialog1.FileName = saveFileDialog1.FileName.Replace(FilePath, Trim(FilePath))
Dim FilePathComplete As String = saveFileDialog1.FileName
@@ -353,6 +394,8 @@ Public Class ProjectManagerVM
' Creo nuovo assembly
Map.refAssemblyManagerVM.ImportTemplate(sImportTemplate)
Map.refAssemblyManagerVM.NewCmd(Local_AssemblyName)
+ Utility.OutLog("Creazione nuovo progetto : " & saveFileDialog1.FileName)
+ Utility.LockDir(Path.GetDirectoryName(saveFileDialog1.FileName), Path.GetFileNameWithoutExtension(saveFileDialog1.FileName))
' carico il nome come Assemblato selezionato
If Not OptionModule.m_DisableWindowOrder Then
Dim OrderWindow As New OrderV(Application.Current.MainWindow, New OrderVM())
@@ -403,7 +446,7 @@ Public Class ProjectManagerVM
Public Sub OpenProject(sFilePath As String)
Utility.OutLog(" +++ OpenProject +++")
- Utility.UnLockDir()
+ 'Utility.UnLockDir()
' se true carica una singola porta del progetto
Dim bIsSingleDoor As Boolean = OptionModule.m_SingleDoor
Dim sFilePathComplete As String = String.Empty
@@ -421,30 +464,37 @@ Public Class ProjectManagerVM
End Select
End If
- If Directory.Exists(sFilePath) AndAlso Not bIsSingleDoor Then
- ' se esiste un file in lettura con questo nome allora blocco tutto
- If Utility.VerifyFileLocked(sFilePath, Path.GetFileNameWithoutExtension(sFilePathComplete)) Then
- Utility.OutLog("Annullo l'apertura di : " & sFilePathComplete)
- If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
- Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
- Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name)
- 'Map.refAssemblyManagerVM.Open(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName)
- End If
- Return
- End If
- bValidPath = True
- ElseIf Directory.Exists(sFilePath) AndAlso bIsSingleDoor Then
+ 'If Directory.Exists(sFilePath) AndAlso Not bIsSingleDoor Then
+ ' ' se esiste un file in lettura con questo nome allora blocco tutto
+ ' If Utility.VerifyFileLocked(sFilePath, Path.GetFileNameWithoutExtension(sFilePathComplete)) Then
+ ' Utility.OutLog("Annullo l'apertura di : " & sFilePathComplete)
+ ' If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
+ ' Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
+ ' If Not String.IsNullOrEmpty(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName) then
+ ' If Not Utility.VerifyFileLocked(Map.refAssemblyManagerVM.CurrProject.Name,
+ ' Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName) then
+ ' Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName)
+ ' End If
+ ' End if
+ ' 'Map.refAssemblyManagerVM.Open(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName)
+ ' End If
+ ' Return
+ ' End If
+ ' bValidPath = True
+
+' VERIFICO IL NOME PROGETTO ( DIERTTORIO/ FILE)
+ If Directory.Exists(sFilePath) AndAlso bIsSingleDoor Then
m_MruFiles.Remove(sFilePath)
bValidPath = False
ElseIf File.Exists(sFilePath) Then
sFilePathComplete = sFilePath
sFilePath = Path.GetDirectoryName(sFilePath)
' se esiste un file in lettura con questo nome allora blocco tutto
- If Utility.VerifyFileLocked(sFilePath, Path.GetFileNameWithoutExtension(sFilePathComplete)) Then
+ If Utility.IsFileLocked(sFilePath, Path.GetFileNameWithoutExtension(sFilePathComplete)) Then
Utility.OutLog("Annullo l'apertura di : " & sFilePathComplete)
If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
- Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name)
+ Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName)
'Map.refAssemblyManagerVM.Open(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName)
End If
Return
@@ -456,9 +506,11 @@ Public Class ProjectManagerVM
bValidPath = False
End If
+' CARCIO IL NOME DIRETTORIO
' Se FilePath non valida
If Not bValidPath Then
'If OptionModule.m_SingleDoor OrElse Keyboard.Modifiers.HasFlag(ModifierKeys.Shift) Then
+ ' se in modalità porta singola
If OptionModule.m_SingleDoor Then
bIsSingleDoor = True
' definisco la finestra di dialogo per la scelta dei file
@@ -479,6 +531,10 @@ Public Class ProjectManagerVM
fd.RestoreDirectory = True
' apro la finestra di dialogo
If fd.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then
+ If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
+ Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
+ Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName)
+ End If
Return
End If
' salvo il nome del direttorio
@@ -486,11 +542,10 @@ Public Class ProjectManagerVM
' salvo il nome completo del file
sFilePathComplete = fd.FileName
' se esiste un file in lettura con questo nome allora blocco tutto
- If Utility.VerifyFileLocked(sFilePath, Path.GetFileNameWithoutExtension(sFilePathComplete)) Then
+ If Utility.IsFileLocked(sFilePath, Path.GetFileNameWithoutExtension(sFilePathComplete)) Then
If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName)
- 'Map.refAssemblyManagerVM.Open(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName)
End If
Return
End If
@@ -506,18 +561,29 @@ Public Class ProjectManagerVM
End If
' mostriamo la finestra di dialogo aperta nel direttorio selzionato sopra
If FolderBrowserDialog.ShowDialog <> Forms.DialogResult.OK Then
+ If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
+ Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
+ Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName)
+ End If
' se la risposta è diversa da OK esce
Return
End If
' salvo il nome del direttorio
sFilePath = FolderBrowserDialog.SelectedPath
- ' se esiste un file in lettura con questo nome allora blocco tutto
- If Utility.VerifyFileLocked(sFilePath) Then
- Return
+ ' se sto eseguendo la selezione dello stesso direttorio allora interrompo
+ If Not IsNothing (Map.refAssemblyManagerVM.CurrProject) then
+ If Map.refAssemblyManagerVM.CurrProject.Name = sFilePath then
+ Return
+ End If
End If
+ ' se esiste un file in lettura con questo nome allora blocco tutto
+ 'If Utility.VerifyFileLocked(sFilePath) Then
+ ' Return
+ 'End If
End If
End If
+' CARICO ELENCO FILE
Dim CurrProject As Project = Map.refAssemblyManagerVM.CurrProject
' salvo il riferimento al progetto corrente
m_CurrProject = CurrProject
@@ -548,8 +614,8 @@ Public Class ProjectManagerVM
CurrProject.AssemblyList.Add(Local_Assembly)
End If
- ' Notifico aggiornamento DoorList e Name per aggiornare la grafica
- 'CurrProject.NotifyPropertyChanged("Name")
+' SELEZIONE FILE DA ELENCO
+ ' Notifico aggiornamento DoorList per aggiornare la grafica
CurrProject.NotifyPropertyChanged("AssemblyList")
' Se c'è almeno una porta la visualizzo
If CurrProject.AssemblyList.Count > 0 Then
@@ -557,14 +623,25 @@ Public Class ProjectManagerVM
If Not String.IsNullOrWhiteSpace(sFilePathComplete) Then
For Each ItemFile In CurrProject.AssemblyList
If sFilePathComplete = ItemFile.Name Then
- CurrProject.SelAssemblyName = ItemFile
- bAssemblyIsSelected = True
- Exit For
+ If Not Utility.IsFileLocked(Path.GetDirectoryName(ItemFile.Name), ItemFile.GraphicName, False) then
+ CurrProject.SelAssemblyName = ItemFile
+ Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
+ Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName)
+ bAssemblyIsSelected = True
+ Exit For
+ End If
End If
Next
End If
If Not bAssemblyIsSelected Then
- CurrProject.SelAssemblyName = CurrProject.AssemblyList(0)
+ For IndexFile As Integer = 0 to CurrProject.AssemblyList.Count -1
+ If Not Utility.IsFileLocked(Path.GetDirectoryName(CurrProject.AssemblyList(IndexFile).Name), CurrProject.AssemblyList(IndexFile).GraphicName, False) then
+ CurrProject.SelAssemblyName = CurrProject.AssemblyList(IndexFile)
+ Utility.OutLog("Apertura progetto : " & Map.refAssemblyManagerVM.CurrProject.Name)
+ Utility.LockDir(Map.refAssemblyManagerVM.CurrProject.Name, Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName)
+ Exit For
+ End If
+ Next
End If
Else
Map.refPartPageVM.CurrPart = Nothing
@@ -572,6 +649,7 @@ Public Class ProjectManagerVM
EgtNewFile()
EgtZoom(ZM.ALL)
End If
+
Utility.OutLog("Apertura file : " & CurrProject.SelAssemblyName.Name)
' carico il nome del direttorio e la visbilità della lista delle porte
If bIsSingleDoor Then
@@ -590,14 +668,12 @@ Public Class ProjectManagerVM
Else
WriteMainPrivateProfileString(S_LAUNCHERWINDOW, K_LASTPROJECT, Map.refAssemblyManagerVM.CurrProject.Name)
End If
+
' Aggiungo alla lista dei recenti/ verifico se esite anche se posso salvare un indirizzo comlpeto
- ' Map.refOptionsVM.MyProjectDir = sFilePath
If bIsSingleDoor Then
m_MruFiles.Add(CurrProject.SelAssemblyName.Name)
- Utility.LockDir(Path.GetDirectoryName(CurrProject.SelAssemblyName.Name), CurrProject.SelAssemblyName.GraphicName)
Else
m_MruFiles.Add(sFilePath)
- Utility.LockDir(sFilePath)
End If
End Sub
@@ -720,18 +796,21 @@ Public Class ProjectManagerVM
ElseIf Not Path.HasExtension(OptionModule.m_sLastProject) AndAlso Directory.Exists(OptionModule.m_sLastProject) Then
CurrProject.Name = OptionModule.m_sLastProject
End If
- End If
-
+ End If
+
+' CARICAMENTO LISTA
' ripulisco la lista di porte
CurrProject.AssemblyList.Clear()
' verifico che esista la cartella
If Directory.Exists(CurrProject.Name) Then
- ' carico la singola porta dell'ultimo progetto come unica porta
+ ' se sono in modalità porta singola
If OptionModule.m_SingleDoor Then
Dim Local_Assembly As New AssemblyName
+ ' nascondo l'elenco delle porte
+ Map.refAssemblyManagerVM.VisibilityDoorList = Visibility.Collapsed
' verifico che il file selezionato esista e non sia in lettura
If File.Exists(OptionModule.m_sLastProject) And
- Not Utility.VerifyFileLocked(Path.GetDirectoryName(OptionModule.m_sLastProject), Path.GetFileNameWithoutExtension(OptionModule.m_sLastProject)) Then
+ Not Utility.IsFileLocked(Path.GetDirectoryName(OptionModule.m_sLastProject), Path.GetFileNameWithoutExtension(OptionModule.m_sLastProject)) Then
Local_Assembly.Name = OptionModule.m_sLastProject
Local_Assembly.IsModified = False
CurrProject.AssemblyList.Add(Local_Assembly)
@@ -750,17 +829,18 @@ Public Class ProjectManagerVM
' Exit For
' End If
'Next
- End If
- Map.refAssemblyManagerVM.VisibilityDoorList = Visibility.Collapsed
+ Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nNothingSelected
+ return
+ End If
Else
'-------------------------------------------------------------------------------------------------
- ' se esiste un file in lettura con questo nome allora blocco tutto
- If Utility.VerifyFileLocked(CurrProject.Name) Then
- Utility.OutLog("Annullata apertura ultimo progetto : " & CurrProject.Name)
- Map.refMainWindowVM.AssemblyManagerControl.Visibility = Visibility.Collapsed
- Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nNothingSelected
- Return
- End If
+ '' se esiste un file in lettura con questo nome allora blocco tutto
+ 'If Utility.VerifyFileLocked(CurrProject.Name) Then
+ ' Utility.OutLog("Annullata apertura ultimo progetto : " & CurrProject.Name)
+ ' Map.refMainWindowVM.AssemblyManagerControl.Visibility = Visibility.Collapsed
+ ' Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nNothingSelected
+ ' Return
+ 'End If
'-------------------------------------------------------------------------------------------------
' carico un vettore con i file della cartella
Dim DDFFileArray() As String = Directory.GetFiles(CurrProject.Name)
@@ -776,15 +856,18 @@ Public Class ProjectManagerVM
Next
Map.refAssemblyManagerVM.VisibilityDoorList = Visibility.Visible
End If
-
' Notifico aggiornamento DoorList e Name per aggiornare la grafica
CurrProject.NotifyPropertyChanged("Name")
CurrProject.NotifyPropertyChanged("AssemblyList")
Map.refMainWindowVM.ProjectNameMsg = CurrProject.Name
- If Not OptionModule.m_SingleDoor Then
- Utility.LockDir(CurrProject.Name)
- End If
+
+ 'If Not OptionModule.m_SingleDoor Then
+ ' If Not String.IsNullOrEmpty( CurrProject.SelAssemblyName.GraphicName) then
+ ' Utility.LockDir(CurrProject.Name, CurrProject.SelAssemblyName.GraphicName)
+ ' End If
+ 'End If
+' CARICAMENTO ELEMENTO LISTA
' Se c'è almeno una porta la visualizzo
If CurrProject.AssemblyList.Count > 0 Then
' provo a caricare l'ultimo file aperto cercando nell'elenco dei file del progetto
@@ -792,27 +875,42 @@ Public Class ProjectManagerVM
For Each ItemFile In CurrProject.AssemblyList
Dim Index As Integer = 1
If ItemFile.Name = OptionModule.m_sLastProject Then
- CurrProject.SelAssemblyName = ItemFile
- If OptionModule.m_SingleDoor Then
- Map.refMainWindowVM.ProjectNameMsg = OptionModule.m_sLastProject
- Utility.LockDir(CurrProject.Name, CurrProject.SelAssemblyName.GraphicName)
+ If Utility.IsFileLocked(Path.GetDirectoryName(OptionModule.m_sLastProject), Path.GetFileNameWithoutExtension(OptionModule.m_sLastProject)) Then
+ Utility.OutLog("Annullata apertura ultimo progetto : " & OptionModule.m_sLastProject)
+ Exit for
End If
+ CurrProject.SelAssemblyName = ItemFile
+ 'If OptionModule.m_SingleDoor Then
+ Map.refMainWindowVM.ProjectNameMsg = OptionModule.m_sLastProject
+ Utility.OutLog("Blocco progetto : " & CurrProject.SelAssemblyName.GraphicName)
+ Utility.LockDir(CurrProject.Name, CurrProject.SelAssemblyName.GraphicName)
+ 'End If
Return
End If
Index = Index + 1
Next
End If
' se non esiste il file allora provo a caricare il primo della lista
- If File.Exists(CurrProject.AssemblyList(0).Name) Then
- CurrProject.SelAssemblyName = CurrProject.AssemblyList(0)
- If OptionModule.m_SingleDoor Then
- Utility.LockDir(CurrProject.Name, CurrProject.SelAssemblyName.GraphicName)
- Map.refMainWindowVM.ProjectNameMsg = CurrProject.AssemblyList(0).Name
+ Dim bFileExist As Boolean = False
+ For IndexFile As Integer = 0 To CurrProject.AssemblyList.Count
+ If File.Exists(CurrProject.AssemblyList(IndexFile).Name) and
+ Not Utility.IsFileLocked(Path.GetDirectoryName(CurrProject.AssemblyList(IndexFile).Name),
+ Path.GetFileNameWithoutExtension(CurrProject.AssemblyList(IndexFile).Name), False) Then
+ 'CurrProject.VerifySelAssemblyName(CurrProject.AssemblyList(IndexFile))
+ CurrProject.SelAssemblyName = CurrProject.AssemblyList(IndexFile)
+ 'If OptionModule.m_SingleDoor Then
+ Utility.LockDir(CurrProject.Name, CurrProject.SelAssemblyName.GraphicName)
+ Map.refMainWindowVM.ProjectNameMsg = CurrProject.AssemblyList(IndexFile).Name
+ 'End If
+ bFileExist = true
+ Exit for
+ 'Else
+ ' Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nNothingSelected
End If
- Else
+ Next
+ If Not bFileExist then
Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nNothingSelected
End If
-
Else
Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nNothingSelected
End If
@@ -1130,12 +1228,12 @@ Public Class ProjectManagerVM
SaveFileDialog.FileName &= DDF_EXTENSION
End If
- If OptionModule.m_SingleDoor Then
- If Utility.VerifyFileLocked(Path.GetDirectoryName(SaveFileDialog.FileName), Path.GetFileNameWithoutExtension(SaveFileDialog.FileName)) Then
+ 'If OptionModule.m_SingleDoor Then
+ If Utility.IsFileLocked(Path.GetDirectoryName(SaveFileDialog.FileName), Path.GetFileNameWithoutExtension(SaveFileDialog.FileName)) Then
Utility.OutLog("Annullata creazione di una copia di : " & Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name & " -> " & SaveFileDialog.FileName)
Return
End If
- End If
+ 'End If
' controllo che il nome non sia presente nella lista degli assemblati
Dim bNameExist As Boolean = False
@@ -1163,7 +1261,6 @@ Public Class ProjectManagerVM
' elimino dalla lista
LocalCurrProject.AssemblyList.RemoveAt(IndexDoorList)
- ' ''CurrProject.NotifyPropertyChanged("AssemblyList")
End If
' aggiungo il nome del file alla lista degli assemblati
@@ -1187,10 +1284,14 @@ Public Class ProjectManagerVM
'Map.refAssemblyManagerVM.Open(LocalCurrProject.AssemblyList(LocalCurrProject.AssemblyList.Count - 1))
If OptionModule.m_SingleDoor Then
m_MruFiles.Add(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name)
- Utility.LockDir(Path.GetDirectoryName(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name), Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName)
+ Utility.LockDir(Path.GetDirectoryName(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name),
+ Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName)
Else
m_MruFiles.Add(Map.refAssemblyManagerVM.CurrProject.Name)
- Utility.LockDir(Path.GetDirectoryName(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name))
+ If Not String.IsNullOrEmpty(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName) then
+ Utility.LockDir(Path.GetDirectoryName(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name),
+ Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName)
+ End If
End If
End Sub
diff --git a/SceneManager/SceneManagerVM.vb b/SceneManager/SceneManagerVM.vb
index 62cb132..8f4fa3d 100644
--- a/SceneManager/SceneManagerVM.vb
+++ b/SceneManager/SceneManagerVM.vb
@@ -323,7 +323,7 @@ Public Class SceneManagerVM
For IndexParamInChapter As Integer = 0 To ParamList.Count - 1
If ParamList(IndexParamInChapter).DDFName.Contains(".Nome") Then
If TypeOf ParamList(IndexParamInChapter) Is TextBoxParam Then
- ExecDoors(m_ProjectScene, sTempFile, False)
+ 'ExecDoors(m_ProjectScene, sTempFile, False)
Dim sNome As String = DirectCast(ParamList(IndexParamInChapter), TextBoxParam).Value
Dim nCurrObject As Integer = EgtGetFirstNameInGroup(nFirstPart, sNome)
Dim sSide As String = String.Empty
diff --git a/Utility.vb b/Utility.vb
index ae84031..036bbd0 100644
--- a/Utility.vb
+++ b/Utility.vb
@@ -31,14 +31,24 @@ Public Module Utility
If CurrFile.EndsWith(DDF_EXTENSION) Then
CurrFile.Replace(DDF_EXTENSION, "")
End If
- Return CurrDirectory & "\Lock_" & CurrFile & ".lck"
+ Return CurrDirectory & "\Lock_" & CurrFile & LCK_EXTENSION
End If
End Function
- Public Function VerifyFileLocked(ByVal CurrDirectory As String, Optional ByVal CurrFile As String = "", Optional ByVal bSendMsg As Boolean = True) As Boolean
+ Public Function IsFileLocked(ByVal CurrDirectory As String, Optional ByVal CurrFile As String = "", Optional ByVal bSendMsg As Boolean = True) As Boolean
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
+ sLockFile = FileList.First(Function(x) x.EndsWith(LCK_EXTENSION))
+ Catch ex As Exception
+ End Try
+ End If
+
If File.Exists(sLockFile) Then
Try
File.Delete(sLockFile)
@@ -70,7 +80,7 @@ Public Module Utility
Dim sMsg As String = String.Format(EgtMsg(50525), sLockFile, UserName)
MessageBox.Show(sMsg, EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Asterisk)
End If
- OutLog("Directoru in reading : " & CurrDirectory)
+ OutLog("Directory in reading : " & CurrDirectory)
End If
m_StopSaving = True
'Map.refMainWindowVM.AssemblyManagerControl.Visibility = Visibility.Collapsed