Compare commits

...

58 Commits

Author SHA1 Message Date
Nicola Pievani ef29a33418 Merge commit 'ab097ff0f029674cafbddc5925f84d4d0420019f' 2024-08-30 14:48:29 +02:00
Nicola Pievani ab097ff0f0 Migliorata gestione lettura direttori 2024-08-30 14:48:15 +02:00
Nicola Pievani 68ccdd17bd Merge branch 'NicolaP' 2024-08-06 12:35:12 +02:00
Nicola Pievani 41f5c23479 Correzione versione 2.6h1 2024-08-06 12:34:46 +02:00
Nicola Pievani 04d76a6f62 Correzione gestione SetMark 2024-08-06 12:29:21 +02:00
Nicola Pievani 72cfd8ff7d Inizio gerstione SetMark su compo selzionato 2024-08-06 12:05:54 +02:00
Nicola Pievani 8284811a4b Aggiornato CopyRight 2024-07-24 15:19:10 +02:00
Nicola Pievani 4143ea0389 Merge branch 'master' into NicolaP 2024-07-24 15:05:51 +02:00
Nicola Pievani a4202d0be1 Aggiornamento versione 2.6g5 2024-07-24 15:05:16 +02:00
Nicola Pievani 2730d1ad32 Miglioramenti gestione TmplateDoor 2024-07-10 18:39:05 +02:00
Nicola Pievani a6492ac6e1 Correzione scrittura parametri DGD 2024-06-26 18:24:19 +02:00
Nicola Pievani 1fb0c4bd09 Merge commit '5f71f7dfa33b55063c9e09469e744f7b800766b2' 2024-05-10 16:14:25 +02:00
Nicola Pievani 5f71f7dfa3 Gestione chiave di rete 2024-05-10 16:13:46 +02:00
Nicola Pievani 86b2e011e0 Merge commit 'b16d860805fee93995139704af452d3c9a0a45e4' 2024-05-07 15:59:32 +02:00
Nicola Pievani b16d860805 Migliorata gestione unità di misura 2024-05-07 15:59:12 +02:00
Nicola Pievani 774c64678f Merge commit '34472efbc2b8b675468e6f9482f181a81d41f82b' 2024-04-08 10:15:14 +02:00
Nicola Pievani 34472efbc2 Gestione errore 'Rabbet.frame' non trovato 2024-04-08 10:14:31 +02:00
Nicola Pievani 6ddc0f305b Merge branch 'NicolaP' 2024-02-21 16:19:42 +01:00
Nicola Pievani 9edda7ead3 Migliorata gestione unità di misura mm 2024-02-21 16:19:05 +01:00
Nicola Pievani a6890f804a Merge commit '9b89b68684e2d64b043ac6572b75b1cfc0d1515c' 2023-12-27 15:56:21 +01:00
Nicola Pievani 9b89b68684 Aggiornata versione, IonicZip sostituito 2023-12-27 15:56:05 +01:00
Nicola Pievani bdc22318dc Merge commit '0c1e26754044a0d95d7e80de38d91aca9904a894' 2023-10-02 15:16:33 +02:00
Nicola Pievani 0c1e267540 Correzione gestione ComboBoxOnOff 2023-10-02 15:16:18 +02:00
Nicola Pievani afe4769bf0 Inserimento immagini per lista compopanel 2023-08-09 15:02:35 +02:00
Nicola Pievani da9c0416c5 Merge commit '9dc427da4d5a549df576d589d7b81639ca518a60' into NicolaP 2023-08-09 13:11:46 +02:00
DarioS 9dc427da4d Merge branch 'NicolaP' of https://gitlab.steamware.net/egaltech/egtdoorcreator 2023-05-15 13:39:54 +02:00
DarioS fe403db43a Merge branch 'master' of https://gitlab.steamware.net/egaltech/egtdoorcreator 2023-05-15 13:38:44 +02:00
DarioS ac48e9c706 EgtDoorCreator 2.5e1 :
- milgiorata gestione errore in ManageProfileType
- AboutBox dà indicazioni su Uso Librerie Debug, OS, CPU, Grafica
- modificato manifest.app per riconoscere iOS fino a Windows 11
- cambio versione e sistemazione controllo codice mensile.
2023-05-15 13:34:56 +02:00
Nicola Pievani e4c76f8d88 Merge branch 'Features/New_Dictionary_Options' into NicolaP 2023-05-11 15:55:33 +02:00
Nicola Pievani 0a59263410 Correzione scrittura file TestHardware versione 2 2023-05-11 15:55:21 +02:00
Nicola Pievani f507d0be44 Gestione Options nel ddf (manca la visualizzazione) 2023-05-11 15:02:31 +02:00
Nicola Pievani d2c87c76b5 Merge branch 'Features/New_DDF_Version' into NicolaP 2023-05-11 11:48:35 +02:00
Nicola Pievani a4c6de1bee Merge remote-tracking branch 'origin/Features/Manage_Screen_Disposition' into Features/New_DDF_Version 2023-04-26 12:33:17 +02:00
Nicola Pievani b4b3447730 Gestione lettura/stampa nuova versione DDF 2023-04-26 12:33:02 +02:00
Nicola Pievani 1c1ef08caf Merge branch 'NicolaP' 2023-03-07 19:41:54 +01:00
Nicola Pievani c7068ddac5 Migliorata gestione cambio configurazione 2023-03-07 16:53:37 +01:00
NicolaP 07cabcf3d4 Merge branch 'master' into NicolaP 2023-02-14 16:05:17 +01:00
NicolaP dd9cf064b2 Correzione versione 2.5a1 2023-01-20 14:07:39 +01:00
NicolaP 27fb494f66 Correzione modifca solo MTable, e versione 2023-01-20 14:05:57 +01:00
NicolaP 32cff06df5 Aggiornamento versione 2023-01-18 13:27:59 +01:00
NicolaP 07e19039ea Gestione visualizzazione schermi da Config 2023-01-18 12:54:54 +01:00
NicolaP 8fe9728eb5 Riportata changeconfig nella cartella Config 2023-01-17 16:00:22 +01:00
NicolaP 336f8b73e8 Inizio gestione ScrollBar porte 2022-12-22 12:13:27 +01:00
NicolaP b2d793b61b Merge branch 'master' into NicolaP 2022-12-21 19:43:00 +01:00
NicolaP 98c29fc84a Merge branch 'Features/Convert_Dimension_Door' 2022-12-21 19:42:09 +01:00
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 cb66dfb636 Merge branch 'master' into NicolaP 2022-12-19 16:16:35 +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 27ce1ae461 Merge branch 'Features/Manage_Material_GroupChapter' into NicolaP 2022-12-12 16:00:49 +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 2c95ccefea Gestione immagini TooTip bottoni componenti 2022-11-07 15:55:19 +01:00
NicolaP 30a5b5ed49 Nuova disposizione finestra in interfaccia 2022-10-28 15:10:48 +02:00
NicolaP 467874aa93 Merge branch 'master' into NicolaP 2022-10-28 14:32:59 +02:00
39 changed files with 1697 additions and 407 deletions
+14 -1
View File
@@ -15,11 +15,24 @@ Public Class AboutBoxV
Dim sOpts As String = IniFile.m_nKeyOptions.ToString()
KeyLbl.Text = sKey & " - " & sKlev & " - " & sOpts
CopyrightLbl.Text = My.Application.Info.Copyright.ToString()
Dim sInfo As String = "DataRoot " & IniFile.m_sDataRoot & vbCrLf
Dim sInfo As String = If( EgtIsDebug(), "*** Debug Libraries ***" & vbCrLf, "")
sInfo &= "DataRoot " & IniFile.m_sDataRoot & vbCrLf
sInfo &= "Doors " & IniFile.m_sDoorsDirPath & vbCrLf
If OptionModule.m_MaterialList.Count = 1 Then
sInfo &= "Material " & OptionModule.m_MaterialList(0).Name
End If
Dim sOpSys As String = String.Empty
EgtGetOsInfo( sOpSys)
sInfo &= sOpSys & Environment.NewLine
Dim sCPU As String = String.Empty
EgtGetCpuInfo( sCPU)
sInfo &= sCPU & Environment.NewLine
Dim sMem As String = String.Empty
EgtGetMemoryInfo( sMem)
sInfo &= sMem & Environment.NewLine
Dim sScene As String = String.Empty
EgtGetSceneInfo(sScene)
sInfo &= sScene
InfoLbl.Text = sInfo
ExitBtn.Content = EgtMsg(MSG_MISSINGKEYWD + 4) 'Ok
End Sub
+82 -13
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
@@ -3529,9 +3588,14 @@ Public Class Assembly
If Not bRabbet Then
'Map.refPartPageVM.CurrPart = Jamb
CurrCompo = Jamb.AddNewCompo(Map.refCompoPanelVM.CompoTypeList(IndexCompoPanel), True)
DirectCast(CurrCompo.CompoParamList(0), ComboBoxParam).SelItem = DirectCast(CurrCompo.CompoParamList(0), ComboBoxParam).ItemList(0)
If Not IsNothing(CurrCompo) Then
DirectCast(CurrCompo.CompoParamList(0), ComboBoxParam).SelItem = DirectCast(CurrCompo.CompoParamList(0), ComboBoxParam).ItemList(0)
Else
' 50180=Warning : {0} does not exist.
MessageBox.Show(String.Format(EgtMsg(50180), Map.refCompoPanelVM.CompoTypeList(IndexCompoPanel).Name & ".frame"), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
End If
Else
CurrCompo = Jamb.CompoList(IndexCompo)
CurrCompo = Jamb.CompoList(IndexCompo)
End If
' mofico la componete rabbet
If Not IsNothing(CurrCompo) Then
@@ -3670,9 +3734,14 @@ Public Class Assembly
If Not bRabbet Then
' lo aggiungo
Local_Compo = Jamb.AddNewCompo(Map.refCompoPanelVM.CompoTypeList(CompoListIndex), True)
DirectCast(Local_Compo.CompoParamList(0), ComboBoxParam).SetSelItem(DirectCast(Local_Compo.CompoParamList(0), ComboBoxParam).ItemList(nIndexSide))
If Not IsNothing(Local_Compo) Then
DirectCast(Local_Compo.CompoParamList(0), ComboBoxParam).SetSelItem(DirectCast(Local_Compo.CompoParamList(0), ComboBoxParam).ItemList(nIndexSide))
Else
' 50180=Warning : {0} does not exist.
MessageBox.Show(String.Format(EgtMsg(50180), Map.refCompoPanelVM.CompoTypeList(CompoListIndex).Name & ".frame"), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
End If
Else
Local_Compo = Jamb.CompoList(IndexCompo)
Local_Compo = Jamb.CompoList(IndexCompo)
End If
If Not IsNothing(Local_Compo) Then
Dim dVal1 As Double = 0
@@ -3735,8 +3804,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 +3832,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
+10 -8
View File
@@ -22,23 +22,25 @@
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ListBox ItemsSource="{Binding CurrProject.AssemblyList}"
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">
<ListBox PreviewMouseWheel="ListBox_PreviewMouseWheel"
ItemsSource="{Binding CurrProject.AssemblyList}"
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">
<!--SelectionChanged="AssemblyList_SelectedItem"-->
<Interactivity:Interaction.Behaviors>
<EgtDOORCreator:ScrollIntoViewForListBox/>
</Interactivity:Interaction.Behaviors>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel IsItemsHost="True" Orientation="Horizontal"/>
<VirtualizingStackPanel Name="MyVirtual" IsItemsHost="True" Orientation="Horizontal" VirtualizationMode="Recycling"/>
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<ControlTemplate TargetType="ListBoxItem">
<ContentPresenter/>
</ControlTemplate>
</Setter.Value>
@@ -53,7 +55,7 @@
Style="{StaticResource {x:Type ToggleButton}}"
IsChecked="{Binding Path=IsSelected, RelativeSource={
RelativeSource AncestorType={x:Type ListBoxItem}}}">
<RadioButton.Content>
<RadioButton.Content>
<TextBlock Text="{Binding GraphicName}"/>
</RadioButton.Content>
</RadioButton>
@@ -68,7 +70,7 @@
Focusable="False" Grid.RowSpan="2">
<Image Source="/Resources/TopCommandBar/Add.png" Stretch="Uniform"/>
<!--<Image Source="/Resources/TopCommandBar/NewFile.png" Stretch="Uniform"/>-->
</Button>
</Button>
<Button Grid.Column="2"
Height="20" Width="20" VerticalAlignment="Center"
Margin="0,5,4.8,5.4" Command="{Binding RemoveAssembly_Command}"
@@ -76,7 +78,7 @@
Focusable="False" Grid.RowSpan="2">
<Image Source="/Resources/TopCommandBar/Remove.png" Stretch="Uniform"/>
<!--<Image Source="/Resources/TopCommandBar/Delete.png" Stretch="Uniform"/>-->
</Button>
</Button>
</Grid>
</UserControl>
+25 -5
View File
@@ -2,26 +2,46 @@
Private Sub Door_MouseLeftButtonUp(sender As Object, e As MouseButtonEventArgs)
Dim Item As ListBoxItem = DirectCast(sender, ListBoxItem)
If IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) then
e.Handled=True
If IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
e.Handled = True
Return
End If
' Gestisco porta corrente modificata
If Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified then
If Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified Then
If Not Map.refAssemblyManagerVM.ManageModified() Then
Return
End If
Item.IsSelected=Not Map.refAssemblyManagerVM.CurrProject.IsBlockedSelAssemblyName(DirectCast(Item.DataContext, AssemblyName))
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
e.Handled= Map.refAssemblyManagerVM.CurrProject.IsBlockedSelAssemblyName(DirectCast(Item.DataContext, AssemblyName))
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
Private Sub ListBox_PreviewMouseWheel(sender As Object, e As MouseWheelEventArgs)
Dim MyList As ListBox = DirectCast(sender, ListBox)
Dim Index As Integer = 0
Dim nCountChildren As Integer = VisualTreeHelper.GetChildrenCount(MyList) - 1
Dim MyScroll As ScrollViewer
For Index = 0 To nCountChildren
If TypeOf VisualTreeHelper.GetChild(MyList, Index) Is ScrollViewer Then
MyScroll = DirectCast(VisualTreeHelper.GetChild(MyList, Index), ScrollViewer)
If e.Delta > 0 Then
MyScroll.LineLeft()
Else
MyScroll.LineRight()
End If
e.Handled = True
Exit For
End If
Next
End Sub
End Class
+49 -32
View File
@@ -21,7 +21,7 @@ Public Class AssemblyManagerVM
Private m_VisibilityDoorList As Visibility = Visibility.Collapsed
Public Property VisibilityDoorList As Visibility
Get
Return m_VisibilityDoorList
Return m_VisibilityDoorList
End Get
Set(value As Visibility)
m_VisibilityDoorList = value
@@ -81,7 +81,9 @@ Public Class AssemblyManagerVM
If OptionModule.m_ConfigurationSoftware = ConfigType.Door Then
' ricarico la lista completa degli swing
NewAssName.SelAssembly.ListPartDoor(0).Door.SwingTypeList = OptionModule.m_SwingTypeList
NewAssName.SelAssembly.ListPartDoor(0).Door.SetSwing(OptionModule.m_Swing)
If String.IsNullOrEmpty(NewAssName.SelAssembly.ListPartDoor(0).Door.Swing) Then
NewAssName.SelAssembly.ListPartDoor(0).Door.SetSwing(OptionModule.m_Swing)
End If
DdfFile.WriteDDFPart(NewAssName.SelAssembly.ListPartDoor(0).Door, sTempFile, False, False)
' assegno la porte salvata nel CurrPart.ddf come porta corrente del progetto
Map.refPartPageVM.CurrPart = NewAssName.SelAssembly.ListPartDoor(0).Door
@@ -157,7 +159,7 @@ Public Class AssemblyManagerVM
DdfFile.SaveErrorCompo = False
End If
' controllo che il salvataggio sia andato a buon fine
If bConfirmSavin Then
SavedAssName.IsModified = False
' ogni progetto salvato è l'ultimo da aprire, anche se il programma è chiuso dall'HardwareManager
@@ -321,18 +323,18 @@ Public Class AssemblyManagerVM
End Select
Map.refMainWindowVM.selectedWatcher = MainWindowVM.WatcherCalling.NoEvents
' se sono in modalità hardware allora esco senza caricare l'elenco delle porte
If Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nHardwarePage then Return true
'-------------------------------------------------------------------------------------------------------------------------------------------------
If Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nHardwarePage Then Return True
'-------------------------------------------------------------------------------------------------------------------------------------------------
' devo ricalcolare l'elenco delle porte nel progetto corrente:
If OptionModule.m_SingleDoor then Return True
If OptionModule.m_SingleDoor Then Return True
' calcolo l'elenco delle porte solo dopo il salvataggio della porta corrente
If Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified then Return true
If Not IsNothing( Map.refAssemblyManagerVM.CurrProject) andAlso Not String.IsNullOrEmpty(Map.refAssemblyManagerVM.CurrProject.Name) then
If Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.IsModified Then Return True
If Not IsNothing(Map.refAssemblyManagerVM.CurrProject) AndAlso Not String.IsNullOrEmpty(Map.refAssemblyManagerVM.CurrProject.Name) Then
Dim CurrAssemblyName As String = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name
Map.refAssemblyManagerVM.CurrProject.AssemblyList = New ObservableCollection(Of AssemblyName)
Dim DDFArray()as String = Directory.GetFiles(Map.refAssemblyManagerVM.CurrProject.Name)
For IndexFile As Integer = 0 to DDFArray.Count - 1
If Path.GetExtension(DDFArray(IndexFile)) <> DDF_EXTENSION then
Dim DDFArray() As String = Directory.GetFiles(Map.refAssemblyManagerVM.CurrProject.Name)
For IndexFile As Integer = 0 To DDFArray.Count - 1
If Path.GetExtension(DDFArray(IndexFile)) <> DDF_EXTENSION Then
Continue For
End If
Dim NewAssembly As New AssemblyName
@@ -340,12 +342,12 @@ Public Class AssemblyManagerVM
NewAssembly.IsModified = False
Map.refAssemblyManagerVM.CurrProject.AssemblyList.Add(NewAssembly)
Next
If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) then
If Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) Then
Try
'Map.refAssemblyManagerVM.CurrProject = LocalCurrProject
'LocalCurrProject.SelAssemblyName = LocalCurrProject.AssemblyList.First(Function(x) x.Name = Local_AssemblyName.Name)
Map.refAssemblyManagerVM.CurrProject = Map.refAssemblyManagerVM.CurrProject
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName = Map.refAssemblyManagerVM.CurrProject.AssemblyList.First(Function(x) x.Name = CurrAssemblyName)
Map.refAssemblyManagerVM.CurrProject.SelAssemblyName = Map.refAssemblyManagerVM.CurrProject.AssemblyList.First(Function(x) x.Name = CurrAssemblyName)
Catch ex As Exception
EgtOutLog("Aggiornamento Progetto Corrente: impossibile caricare ultima porta")
End Try
@@ -372,8 +374,8 @@ Public Class AssemblyManagerVM
Next
Next
End If
End If
Return True
End If
Return True
End Function
' ricerca il tipo di compoente chiamato
@@ -446,7 +448,7 @@ Public Class AssemblyManagerVM
If Not bBrandExists OrElse Not bFileExists Then
'' se la compoenente che sto caricando era corretta
'ErrCompo.LoadByDefault = True
' se il brand non esiste, ma è selezionato
' se il brand non esiste, ma è selezionato
If Not bBrandExists Then
ErrCompo.MissingDirectory = True
ErrCompo.MissingFile = True
@@ -752,6 +754,30 @@ Public Class AssemblyManagerVM
NewList(IndexParam).ErrorInReading = True
End If
ElseIf TypeOf OldList(IndexParam) Is ComboBoxOnOffParam Then
Dim OldParam As ComboBoxOnOffParam = DirectCast(OldList(IndexParam), ComboBoxOnOffParam)
Dim NewParam As ComboBoxOnOffParam = DirectCast(NewList(IndexParam), ComboBoxOnOffParam)
If OldParam.ItemList.Count > OldParam.ItemListDDF.Count Then
NewParam.ItemList.Add(OldParam.ItemList.Last)
NewParam.SetSelItem(NewParam.ItemList.Last)
NewList(IndexParam).ErrorInReading = True
End If
Dim IndexItem As Integer = -1
For IndexItem = 0 To OldParam.ItemListDDF.Count - 1
If OldParam.SelItem = OldParam.ItemList(IndexItem) Then
NewList(IndexParam).ErrorInReading = False
NewParam.MissingParameterInReading = OldParam.MissingParameterInReading
NewParam.SetSelItem(NewParam.ItemList(IndexItem))
If OldParam.ItemList.Count > OldParam.ItemListDDF.Count Then
OldParam.ItemList.RemoveAt(OldParam.ItemList.Count - 1)
NewParam.ItemList.RemoveAt(NewParam.ItemList.Count - 1)
End If
Exit For
End If
Next
NewParam.SetIsActive(OldParam.IsActive)
ElseIf TypeOf OldList(IndexParam) Is ComboBoxParam Then
Dim OldParam As ComboBoxParam = DirectCast(OldList(IndexParam), ComboBoxParam)
Dim NewParam As ComboBoxParam = DirectCast(NewList(IndexParam), ComboBoxParam)
@@ -774,17 +800,7 @@ Public Class AssemblyManagerVM
Exit For
End If
Next
'ElseIf TypeOf ErrCompo.CompoParamList(IndexParam) Is ComboBoxOnOffParam Then
' Dim Param As ComboBoxOnOffParam = DirectCast(ErrCompo.CompoParamList(IndexParam), ComboBoxOnOffParam)
' For Each Item In Param.ItemListDDF
' If Param.SelItem = Item Then
' If Param.ItemList.Count > Param.ItemListDDF.Count Then
' Param.ItemList.RemoveAt(Param.ItemList.Count - 1)
' End If
' Param.ErrorInReading = False
' Exit For
' End If
' Next
End If
Next
@@ -1058,7 +1074,7 @@ Public Class AssemblyManagerVM
Public Function ManageModified() As Boolean
' verifico se selezionato esiste e modificato
If Not IsNothing (m_CurrProject) AndAlso Not IsNothing(m_CurrProject.SelAssemblyName) AndAlso m_CurrProject.SelAssemblyName.IsModified Then
If Not IsNothing(m_CurrProject) AndAlso Not IsNothing(m_CurrProject.SelAssemblyName) AndAlso m_CurrProject.SelAssemblyName.IsModified Then
Dim sText As String = String.Format(EgtMsg(50109), Path.GetFileNameWithoutExtension(m_CurrProject.SelAssemblyName.Name))
Select Case MessageBox.Show(sText, "", MessageBoxButton.YesNoCancel, MessageBoxImage.Question)
Case MessageBoxResult.Yes
@@ -1289,7 +1305,8 @@ Public Class AssemblyManagerVM
' creo le Ante
For IndexDoor As Integer = 0 To nDoorNumber - 1
Dim Type As String = ConstGen.PART_DO_ & IndexDoor + 1
If IsNothing(ReserchPartDoor(Type)) Then
Dim _PartDoor As PartDoor = ReserchPartDoor(Type)
If IsNothing(_PartDoor) Then
Dim Local_PartDoor As New PartDoor
Local_PartDoor.Door = New Part(Local_PartDoor)
Local_PartDoor.Door.TypePart = Type
@@ -1299,7 +1316,7 @@ Public Class AssemblyManagerVM
'CreateNewPropertiesList(Local_PartDoor.Door.PropertiesList, Local_PartDoor.Door.SelectedMaterial)
CurrAssembly.ListPartDoor.Add(Local_PartDoor)
Else
'CurrAssembly.ListPartDoor.Add(ReserchPartDoor(Type))
CurrAssembly.ListPartDoor.Add(_PartDoor)
End If
Next
@@ -1596,7 +1613,7 @@ Public Class AssemblyManagerVM
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 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)
@@ -1640,7 +1657,7 @@ Public Class AssemblyManagerVM
' aggiorno la lista
'------------------------------------------------------------------------------------------------------------------------------------------------
' LETTURA DI UN FILE DI TIPO TEMPLATE
If ImportTemplate(sImportTemplate) Then
If ImportTemplate(sImportTemplate) Then
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
+10
View File
@@ -17,6 +17,16 @@ Public Class AssemblyName
End Set
End Property
Private m_OrigTemplate As String = String.Empty
Public Property OrigTemplate As String
Get
Return m_OrigTemplate
End Get
Set(value As String)
m_OrigTemplate = value
End Set
End Property
Private m_IsModified As Boolean
Public Property IsModified As Boolean
Get
+10 -1
View File
@@ -33,7 +33,16 @@
Command="{Binding DataContext.CompoBtnCommand,
RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"
CommandParameter="{Binding}"
Focusable="False"/>
Focusable="False">
<Button.ToolTip>
<Image Source="{Binding ImageDoorHardware}"
MaxHeight="100"
MaxWidth="100"
Stretch="Uniform"/>
</Button.ToolTip>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
+10 -1
View File
@@ -73,6 +73,7 @@ Public Class CompoPanelVM
Dim Index As Integer = 1
Dim CompoName As String = String.Empty
Dim CompoNameDDF As String = String.Empty
Dim Image As String = String.Empty
Dim Side As String = String.Empty
Dim FolderName As String = String.Empty
' Carico un vettore con il nome delle Path delle componenti
@@ -119,11 +120,19 @@ Public Class CompoPanelVM
' apro ogni directory e cerco un file di testo di nome Config.ini
Dim CurrCompoPath As String = CompoArray(Index) & "\" & ConstCompo.CONFIGINI_FILE_NAME
If File.Exists(CurrCompoPath) Then
Image = String.Empty
GetPrivateProfileCompoName(ConstCompo.S_COMPO, ConstCompo.K_NAME, CompoNameDDF, CompoName, CurrCompoPath)
GetPrivateProfileCompoImage(ConstCompo.S_COMPO, ConstCompo.K_IMAGE, Image, CurrCompoPath)
GetPrivateProfileJambSide(S_POSITIONSIDE, K_SIDE, Side, CurrCompoPath)
GetPrivateProfileFolderName(S_TEMPLATE, K_FOLDER_NAME, FolderName, CurrCompoPath)
If CompoPanelList(IndexCompoOrder) = CompoNameDDF Then
m_CompoTypeList.Add(New CompoType(CompoName, CompoNameDDF, CompoArray(Index), Side, FolderName))
Dim Local_NewCompoType As CompoType
If Not String.IsNullOrEmpty(Image) Then
Local_NewCompoType = New CompoType(CompoName, CompoNameDDF, CompoArray(Index), Image, Side, FolderName, "wood")
Else
Local_NewCompoType = New CompoType(CompoName, CompoNameDDF, CompoArray(Index), Side, FolderName)
End If
m_CompoTypeList.Add(Local_NewCompoType)
ListCompoToInsert.Find(Function(x) x.sName = CompoNameDDF).SetExists(True)
' aggiungere il caricamento delle liste
Exit For
+46 -1
View File
@@ -79,6 +79,28 @@ Public Class CompoType
m_Path = Path
End Sub
Private m_ImageDoorHardware As String
Public ReadOnly Property ImageDoorHardware As String
Get
Return m_ImageDoorHardware
End Get
End Property
Public Sub SetImageDoorHarware(Image As String)
m_ImageDoorHardware = Image
End Sub
Private m_ShowToolTipImag As Visibility = Visibility.Collapsed
Public ReadOnly Property ShowToolTipImg As Visibility
Get
If Not String.IsNullOrEmpty(m_ImageDoorHardware) Then
m_ShowToolTipImag = Visibility.Visible
Else
m_ShowToolTipImag = Visibility.Collapsed
End If
Return m_ShowToolTipImag
End Get
End Property
Private m_JambSide As String
Public ReadOnly Property JambSide As String
Get
@@ -99,6 +121,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 +147,24 @@ 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 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
Sub New(sName As String, sDDFName As String, sPath As String, sImage As String, sJambSide As String, sFolderName As String, Optional sDDFMaterial As String = "wood")
m_Name = sName
m_DDFName = sDDFName
m_Path = sPath
m_ImageDoorHardware = sImage
m_JambSide = sJambSide
m_FolderName = sFolderName
m_DDFMaterial = sDDFMaterial
LoadListTemplate()
End Sub
+13 -2
View File
@@ -16,6 +16,7 @@ Module ConstCompo
' Sezioni e chiavi standard del file DDF
Public Const S_GENERALINI As String = "General"
Public Const K_MMUNITSINI As String = "MmUnits"
Public Const S_VERSION As String = "version"
Public Const S_PRODUCE As String = "produce"
Public Const S_MEASURES As String = "measures"
Public Const S_CODE As String = "code"
@@ -47,8 +48,9 @@ Module ConstCompo
Public Const K_LOCKEDGE As String = "lockedge"
Public Const K_HINGEEDGE As String = "hingeedge"
Public Const K_TOP As String = "top"
Public Const K_BOTTOM As String = "bottom"
Public Const K_MACHINING As String = "machining"
Public Const K_BOTTOM As String = "bottom"
Public Const K_TYPEEDGE As String = "type"
Public Const K_MACHINING As String = "machining"
Public Const K_OVERMATERIAL As String = "overmaterial"
Public Const K_IDCODECOMPONENT As String = "IdCodeComponent"
Public Const K_OTHERDOOR As String = "other_door"
@@ -59,11 +61,14 @@ Module ConstCompo
Public Const K_THICKNESS_BOTTOM As String = "thickness bottom"
Public Const K_DEPTH_BOTTOM As String = "depth bottom"
Public Const K_DELTA_BOTTOM As String = "delta bottom"
Public Const K_HARDWARE As String = "hardware"
Public Const K_OPTIONS As String = "options"
' Nome, sezioni e chiavi del file Config.ini
Public Const CONFIGINI_FILE_NAME As String = "Config.ini"
Public Const S_COMPO As String = "Compo"
Public Const K_NAME As String = "Name"
Public Const K_IMAGE As String = "Image"
Public Const S_TEMPLATE As String = "Template"
Public Const K_ISACTIVE As String = "IsActive"
Public Const K_MATERIAL As String = "Material"
@@ -105,8 +110,12 @@ Module ConstCompo
' Alcune stringhe notevoli dei file DDF
Public Const DDF_HYPHEN As String = " - "
Public Const DDF_HYPHEN_2 As String = " - "
Public Const DDF_SPACE2 As String = " "
Public Const DDF_SPACE3 As String = " "
Public Const DDF_SPACE4 As String = " "
Public Const DDF_SPACE5 As String = " "
Public Const DDF_SPACE6 As String = " "
Public Const DDF_METADATA As String = "##"
Public Const DDF_ON As String = "ON"
Public Const DDF_OFF As String = "OFF"
@@ -135,9 +144,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"
+3
View File
@@ -23,6 +23,9 @@ Module ConstGen
Public Const LIC_FILE_NAME As String = "EgtDOORCreator.lic"
Public Const S_LICENCE As String = "Licence"
Public Const K_KEY As String = "Key"
Public Const K_NETKEY As String = "NetKey"
Public Const K_LOCKID As String = "LockId"
Public Const K_NESTKEY As String = "NestKey"
' File di log generale
Public Const GENLOG_FILE_NAME As String = "EgtDOORCreatorLog#.txt"
+1
View File
@@ -41,6 +41,7 @@ Module ConstIni
Public Const K_ASKMEAGAINCONFIRM As String = "AskMeAgainConfirm"
Public Const K_EGTCAMEXE As String = "EgtCam5Exe"
Public Const K_REFRESHTIME As String = "RefreshTime"
Public Const K_DDFVERSION As String = "DDFVersion"
Public Const S_LANGUAGES As String = "Languages"
Public Const K_LANGUAGE As String = "Language"
+323 -160
View File
@@ -64,15 +64,27 @@ Friend Module DdfFile
Dim Config As String = IniFile.m_sDoorsDirPath
Config = Path.GetFileName(Config)
DdfFileContent.Add("#Config: " & Config)
' versione 2.6g1: salvo il nome del template da cui è genetato il file corrente
If Not String.IsNullOrEmpty(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.OrigTemplate) Then
DdfFileContent.Add("#OrigTemplate: " & Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.OrigTemplate)
End If
If Not IsNothing(Part.TypePart) Then
DdfFileContent.Add("#" & PrintTitleDDFPart(Part.TypePart))
End If
DdfFileContent.Add("")
' dal 20/04/2023 inserita gestione della versione (da configurare nel programma)
If OptionModule.m_sVersionDDF <> "1" Then
DdfFileContent.Add("version: " & OptionModule.m_sVersionDDF)
End If
DdfFileContent.Add("")
' definisco se il pezzo deve essere prodotto
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))
@@ -101,52 +113,52 @@ Friend Module DdfFile
TOrder.Order_ParametersList.Add(New ReportParameter("Door", Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.GraphicName))
' Probabilmente da cambiare
If Not IsNothing(Part.Customer) Then
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_CUSTOMER & ": " & Part.Customer)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_CUSTOMER & ": " & Part.Customer)
' 50070=Customer
OrderInReport.OrderParameterList.Add(New ReportParameter(EgtMsg(50070), Part.Customer))
TOrder.Order_ParametersList.Add(New ReportParameter(EgtMsg(50070), Part.Customer))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_CUSTOMER & ": ")
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_CUSTOMER & ": ")
OrderInReport.OrderParameterList.Add(New ReportParameter(EgtMsg(50070), ""))
TOrder.Order_ParametersList.Add(New ReportParameter(EgtMsg(50070), ""))
End If
If Not IsNothing(Part.Elevation) Then
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_ELEVATION & ": " & Part.Elevation)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_ELEVATION & ": " & Part.Elevation)
' 50406=Elevation
OrderInReport.OrderParameterList.Add(New ReportParameter(EgtMsg(50406), Part.Elevation))
TOrder.Order_ParametersList.Add(New ReportParameter(EgtMsg(50406), Part.Elevation))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_ELEVATION & ": ")
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_ELEVATION & ": ")
OrderInReport.OrderParameterList.Add(New ReportParameter(EgtMsg(50406), ""))
TOrder.Order_ParametersList.Add(New ReportParameter(EgtMsg(50406), ""))
End If
If Not IsNothing(Part.Project) Then
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_PROJECT & ": " & Part.Project)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_PROJECT & ": " & Part.Project)
' 50407=Project
OrderInReport.OrderParameterList.Add(New ReportParameter(EgtMsg(50407), Part.Project))
TOrder.Order_ParametersList.Add(New ReportParameter(EgtMsg(50407), Part.Project))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_PROJECT & ": ")
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_PROJECT & ": ")
OrderInReport.OrderParameterList.Add(New ReportParameter(EgtMsg(50407), ""))
TOrder.Order_ParametersList.Add(New ReportParameter(EgtMsg(50407), ""))
End If
If Not IsNothing(Part.PO) Then
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_PO & ": " & Part.PO)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_PO & ": " & Part.PO)
' 50408=PO
OrderInReport.OrderParameterList.Add(New ReportParameter(EgtMsg(50408), Part.PO))
TOrder.Order_ParametersList.Add(New ReportParameter(EgtMsg(50408), Part.PO))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_PO & ": ")
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_PO & ": ")
OrderInReport.OrderParameterList.Add(New ReportParameter(EgtMsg(50408), ""))
TOrder.Order_ParametersList.Add(New ReportParameter(EgtMsg(50408), ""))
End If
If Not IsNothing(Part.Line) Then
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_LINE & ": " & Part.Line)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_LINE & ": " & Part.Line)
' 50409=Line
OrderInReport.OrderParameterList.Add(New ReportParameter(EgtMsg(50409), Part.Line))
TOrder.Order_ParametersList.Add(New ReportParameter(EgtMsg(50409), Part.Line))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_LINE & ": ")
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_LINE & ": ")
OrderInReport.OrderParameterList.Add(New ReportParameter(EgtMsg(50409), ""))
TOrder.Order_ParametersList.Add(New ReportParameter(EgtMsg(50409), ""))
End If
@@ -165,9 +177,9 @@ Friend Module DdfFile
' il posizionamento della prima porta sta nell'origine
If Part.TypePart = ConstGen.PART_DO_ & "1" Then
DdfFileContent.Add("position: ")
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "x: " & "0")
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "y: " & "0")
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "z: " & "0")
DdfFileContent.Add(m_sSpace1Tab & "x: " & "0")
DdfFileContent.Add(m_sSpace1Tab & "y: " & "0")
DdfFileContent.Add(m_sSpace1Tab & "z: " & "0")
ElseIf Part.TypePart = ConstGen.PART_DO_ & "2" Then
' si trova traslata verso destra dello spessore DO_1 sommato a LightLock"
Dim x_DO_1 As Double = 0.0
@@ -179,30 +191,30 @@ Friend Module DdfFile
StringToDouble(Map.refAssemblyPageVM.CurrAssembly.LightLock, dLightLock)
Dim x As String = DoubleToString(x_DO_1 + dLightLock, 4)
DdfFileContent.Add("position: ")
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "x: " & x)
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "y: " & "0")
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "z: " & "0")
DdfFileContent.Add(m_sSpace1Tab & "x: " & x)
DdfFileContent.Add(m_sSpace1Tab & "y: " & "0")
DdfFileContent.Add(m_sSpace1Tab & "z: " & "0")
' Jamb Sinistro serratura
ElseIf Part.TypePart.Contains(ConstGen.PART_FRAME_LEFT) Then
DdfFileContent.Add("position: ")
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "x: " & PositionJamb_X(Part))
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "y: " & PositionJamb_Y(Part))
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "z: " & PositionJamb_Z(Part))
DdfFileContent.Add(m_sSpace1Tab & "x: " & PositionJamb_X(Part))
DdfFileContent.Add(m_sSpace1Tab & "y: " & PositionJamb_Y(Part))
DdfFileContent.Add(m_sSpace1Tab & "z: " & PositionJamb_Z(Part))
ElseIf Part.TypePart.Contains(ConstGen.PART_FRAME_RIGHT) Then
DdfFileContent.Add("position: ")
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "x: " & PositionJamb_X(Part))
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "y: " & PositionJamb_Y(Part))
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "z: " & PositionJamb_Z(Part))
DdfFileContent.Add(m_sSpace1Tab & "x: " & PositionJamb_X(Part))
DdfFileContent.Add(m_sSpace1Tab & "y: " & PositionJamb_Y(Part))
DdfFileContent.Add(m_sSpace1Tab & "z: " & PositionJamb_Z(Part))
ElseIf Part.TypePart.Contains(ConstGen.PART_FRAME_TOP) Then
DdfFileContent.Add("position: ")
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "x: " & PositionJamb_X(Part))
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "y: " & PositionJamb_Y(Part))
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "z: " & PositionJamb_Z(Part))
DdfFileContent.Add(m_sSpace1Tab & "x: " & PositionJamb_X(Part))
DdfFileContent.Add(m_sSpace1Tab & "y: " & PositionJamb_Y(Part))
DdfFileContent.Add(m_sSpace1Tab & "z: " & PositionJamb_Z(Part))
ElseIf Part.TypePart.Contains(ConstGen.PART_FRAME_BOTTOM) Then
DdfFileContent.Add("position: ")
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "x: " & PositionJamb_X(Part))
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "y: " & PositionJamb_Y(Part))
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & "z: " & PositionJamb_Z(Part))
DdfFileContent.Add(m_sSpace1Tab & "x: " & PositionJamb_X(Part))
DdfFileContent.Add(m_sSpace1Tab & "y: " & PositionJamb_Y(Part))
DdfFileContent.Add(m_sSpace1Tab & "z: " & PositionJamb_Z(Part))
End If
DdfFileContent.Add("")
End If
@@ -216,9 +228,9 @@ Friend Module DdfFile
Return
Else
If bIsDDF Then
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_WIDTH & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_WIDTH & ": " & DoubleToString(dVal, 5))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_WIDTH & ": " & Part.Width)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_WIDTH & ": " & Part.Width)
End If
End If
' 50001=Width
@@ -230,9 +242,9 @@ Friend Module DdfFile
Return
Else
If bIsDDF Then
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_HEIGHT & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_HEIGHT & ": " & DoubleToString(dVal, 5))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_HEIGHT & ": " & Part.Height)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_HEIGHT & ": " & Part.Height)
End If
End If
' 50002=Height
@@ -244,9 +256,9 @@ Friend Module DdfFile
Return
Else
If bIsDDF Then
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_THICKNESS & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_THICKNESS & ": " & DoubleToString(dVal, 5))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_THICKNESS & ": " & Part.Thickness)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_THICKNESS & ": " & Part.Thickness)
End If
End If
' 50003=Thickness
@@ -355,53 +367,68 @@ Friend Module DdfFile
DdfFileContent.Add("" & ConstCompo.S_PROFILES & ":")
Dim TProfile As New TableProfile
Dim BevelDDF As String = SetBevel(Part.TypePart, Part.LockEdgeType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name, Part.InvertBevel)
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_LOCKEDGE & ": " & BevelDDF)
If OptionModule.m_sVersionDDF = "2" Then ' K_TYPE
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_LOCKEDGE & ": ")
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_TYPEEDGE & ": " & BevelDDF)
Else
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_LOCKEDGE & ": " & BevelDDF)
End If
' 50005=Lock edge
CompoDoorReport.CompoParameterList.Add(New ReportParameter(EgtMsg(50005), BevelDDF))
TProfile.Profile_ParametersList.Add(New ReportParameter(EgtMsg(50005), BevelDDF))
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.LockEdgeMachining))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.LockEdgeMachining))
If Not StringToDouble(Part.LockEdgeOverMaterial, dVal) Then
MessageBox.Show(String.Format(EgtMsg(50141), K_LOCKEDGEOVERMATERIAL_INI), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
Return
Else
If bIsDDF Then
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & Part.LockEdgeOverMaterial)
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & Part.LockEdgeOverMaterial)
End If
End If
BevelDDF = SetBevel(Part.TypePart, Part.HingeEdgeType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name)
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_HINGEEDGE & ": " & BevelDDF)
If OptionModule.m_sVersionDDF = "2" Then
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_HINGEEDGE & ": ")
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_TYPEEDGE & ": " & BevelDDF)
Else
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_HINGEEDGE & ": " & BevelDDF)
End If
' 50006=Hinge edge
CompoDoorReport.CompoParameterList.Add(New ReportParameter(EgtMsg(50006), BevelDDF))
TProfile.Profile_ParametersList.Add(New ReportParameter(EgtMsg(50006), BevelDDF))
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.HingeEdgeMachining))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.HingeEdgeMachining))
If Not StringToDouble(Part.HingeEdgeOverMaterial, dVal) Then
MessageBox.Show(String.Format(EgtMsg(50141), K_HINGEDGEOVERMATERIAL_INI), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
Return
Else
If bIsDDF Then
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & Part.HingeEdgeOverMaterial)
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & Part.HingeEdgeOverMaterial)
End If
End If
BevelDDF = SetBevel(Part.TypePart, Part.TopType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name)
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_TOP & ": " & BevelDDF)
If OptionModule.m_sVersionDDF = "2" Then
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_TOP & ": ")
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_TYPEEDGE & ": " & BevelDDF)
Else
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_TOP & ": " & BevelDDF)
End If
' 50007=Top
CompoDoorReport.CompoParameterList.Add(New ReportParameter(EgtMsg(50007), BevelDDF))
TProfile.Profile_ParametersList.Add(New ReportParameter(EgtMsg(50007), BevelDDF))
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.TopMachining))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.TopMachining))
If Not StringToDouble(Part.TopOverMaterial, dVal) Then
MessageBox.Show(String.Format(EgtMsg(50141), K_TOPOVERMATERIAL_INI), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
Return
Else
If bIsDDF Then
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & Part.TopOverMaterial)
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & Part.TopOverMaterial)
End If
End If
@@ -411,9 +438,9 @@ Friend Module DdfFile
Return
Else
If bIsDDF Then
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_RADIUS & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_RADIUS & ": " & DoubleToString(dVal, 5))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_RADIUS & ": " & Part.Radius)
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_RADIUS & ": " & Part.Radius)
End If
End If
@@ -422,9 +449,9 @@ Friend Module DdfFile
Return
Else
If bIsDDF Then
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_POSX & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_POSX & ": " & DoubleToString(dVal, 5))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_POSX & ": " & Part.Posx)
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_POSX & ": " & Part.Posx)
End If
End If
' 50707=Top Arc
@@ -444,9 +471,9 @@ Friend Module DdfFile
Return
Else
If bIsDDF Then
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_POSX & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_POSX & ": " & DoubleToString(dVal, 5))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_POSX & ": " & Part.PosxAngle)
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_POSX & ": " & Part.PosxAngle)
End If
End If
@@ -455,9 +482,9 @@ Friend Module DdfFile
Return
Else
If bIsDDF Then
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_ANGLE & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_ANGLE & ": " & DoubleToString(dVal, 5))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_ANGLE & ": " & Part.Angle)
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_ANGLE & ": " & Part.Angle)
End If
End If
' 50708=Top Angle
@@ -472,28 +499,43 @@ Friend Module DdfFile
End If
BevelDDF = SetBevel(Part.TypePart, Part.BottomType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name)
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_BOTTOM & ": " & BevelDDF)
If OptionModule.m_sVersionDDF = "2" Then
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_BOTTOM & ": ")
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_TYPEEDGE & ": " & BevelDDF)
Else
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_BOTTOM & ": " & BevelDDF)
End If
' 50008=Bottom
CompoDoorReport.CompoParameterList.Add(New ReportParameter(EgtMsg(50008), BevelDDF))
TProfile.Profile_ParametersList.Add(New ReportParameter(EgtMsg(50008), BevelDDF))
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.BottomMachining))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.BottomMachining))
If Not StringToDouble(Part.BottomOverMaterial, dVal) Then
MessageBox.Show(String.Format(EgtMsg(50141), K_BOTTOMOVERMATERIAL_INI), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
Return
Else
If bIsDDF Then
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & Part.BottomOverMaterial)
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & Part.BottomOverMaterial)
End If
End If
DoorExists = True
DdfFileContent.Add(" ")
If OptionModule.m_sVersionDDF = "2" Then
DdfFileContent.Add(ConstCompo.K_HARDWARE & ": ")
End If
' Riordino e stampo le compo
SearchCompo(DdfFileContent, Part, bIsDDF)
If Not Directory.Exists(Path.GetDirectoryName(sPath)) Then
Directory.CreateDirectory(Path.GetDirectoryName(sPath))
End If
If OptionModule.m_sVersionDDF = "2" Then
DdfFileContent.Add(ConstCompo.K_OPTIONS & ": ")
DdfFileContent.Add(Part.sOptions)
End If
DdfFileContent.Add(" ")
DdfFileContent.Add("# End Part")
' se sono arrivato fin qui significa che tutto è andato a buon fine (posso quindisalvare il file corrente)
@@ -530,6 +572,11 @@ Friend Module DdfFile
If Not String.IsNullOrEmpty(CurrHardwareReference) Then
DdfFileContent.Add("#" & CurrHardwareReference)
End If
' dal 20/04/2023 inserita gestione della versione (da configurare nel programma)
If OptionModule.m_sVersionDDF <> "1" Then
DdfFileContent.Add("")
DdfFileContent.Add("version: " & OptionModule.m_sVersionDDF)
End If
DdfFileContent.Add("")
DdfFileContent.Add("produce: " & If(Part.IsActive, "true", "false"))
'Genero una lista di stringhe
@@ -556,29 +603,29 @@ Friend Module DdfFile
DdfFileContent.Add(ConstCompo.S_ORDER & ":")
' Probabilmente da cambiare
If Not IsNothing(Part.Customer) Then
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_CUSTOMER & ": " & Part.Customer)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_CUSTOMER & ": " & Part.Customer)
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_CUSTOMER & ": ")
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_CUSTOMER & ": ")
End If
If Not IsNothing(Part.Elevation) Then
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_ELEVATION & ": " & Part.Elevation)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_ELEVATION & ": " & Part.Elevation)
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_ELEVATION & ": ")
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_ELEVATION & ": ")
End If
If Not IsNothing(Part.Project) Then
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_PROJECT & ": " & Part.Project)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_PROJECT & ": " & Part.Project)
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_PROJECT & ": ")
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_PROJECT & ": ")
End If
If Not IsNothing(Part.PO) Then
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_PO & ": " & Part.PO)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_PO & ": " & Part.PO)
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_PO & ": ")
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_PO & ": ")
End If
If Not IsNothing(Part.Line) Then
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_LINE & ": " & Part.Line)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_LINE & ": " & Part.Line)
Else
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_LINE & ": ")
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_LINE & ": ")
End If
' aggiungo una riga vuota per separare la lista successiva
DdfFileContent.Add("")
@@ -600,11 +647,11 @@ Friend Module DdfFile
' ConvertCurrentUnitMeasure(sVal)
'Part.SetWidth(sVal)
If bIsDDF Then
'DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_WIDTH & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_WIDTH & ": " & sVal)
'DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_WIDTH & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_WIDTH & ": " & sVal)
Else
'DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_WIDTH & ": " & Part.Width)
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_WIDTH & ": " & sVal)
'DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_WIDTH & ": " & Part.Width)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_WIDTH & ": " & sVal)
End If
End If
@@ -616,11 +663,11 @@ Friend Module DdfFile
' ConvertCurrentUnitMeasure(sVal)
'Part.SetHeight(sVal)
If bIsDDF Then
'DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_HEIGHT & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_HEIGHT & ": " & sVal)
'DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_HEIGHT & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_HEIGHT & ": " & sVal)
Else
'DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_HEIGHT & ": " & Part.Height)
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_HEIGHT & ": " & sVal)
'DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_HEIGHT & ": " & Part.Height)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_HEIGHT & ": " & sVal)
End If
End If
@@ -633,11 +680,11 @@ Friend Module DdfFile
' ConvertCurrentUnitMeasure(sVal)
'Part.SetThickness(sVal)
If bIsDDF Then
'DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_THICKNESS & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_THICKNESS & ": " & sVal)
'DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_THICKNESS & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_THICKNESS & ": " & sVal)
Else
'DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_THICKNESS & ": " & Part.Thickness)
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_THICKNESS & ": " & sVal)
'DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_THICKNESS & ": " & Part.Thickness)
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_THICKNESS & ": " & sVal)
End If
End If
' aggiungo una riga vuota per separare la lista successiva
@@ -662,8 +709,13 @@ Friend Module DdfFile
End If
'----------------------------------------------------------------------------------------------------------------------------------------------------
DdfFileContent.Add("" & ConstCompo.S_PROFILES & ":")
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_LOCKEDGE & ": " & SetBevel(Part.TypePart, Part.LockEdgeType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name, Part.InvertBevel))
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.LockEdgeMachining))
If OptionModule.m_sVersionDDF = "2" Then ' K_TYPE
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_LOCKEDGE & ": ")
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_TYPEEDGE & ": " & SetBevel(Part.TypePart, Part.LockEdgeType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name, Part.InvertBevel))
Else
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_LOCKEDGE & ": " & SetBevel(Part.TypePart, Part.LockEdgeType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name, Part.InvertBevel))
End If
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.LockEdgeMachining))
If Not StringToDouble(Part.LockEdgeOverMaterial, dVal) Then
MessageBox.Show(String.Format(EgtMsg(50141), K_LOCKEDGEOVERMATERIAL_INI), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
Return
@@ -671,15 +723,20 @@ Friend Module DdfFile
sVal = Part.LockEdgeOverMaterial
' ConvertCurrentUnitMeasure(sVal)
If bIsDDF Then
'DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & sVal)
'DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & sVal)
Else
'DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & Part.LockEdgeOverMaterial)
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & sVal)
'DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & Part.LockEdgeOverMaterial)
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & sVal)
End If
End If
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_HINGEEDGE & ": " & SetBevel(Part.TypePart, Part.HingeEdgeType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name))
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.HingeEdgeMachining))
If OptionModule.m_sVersionDDF = "2" Then ' K_TYPE
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_HINGEEDGE & ": ")
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_TYPEEDGE & ": " & SetBevel(Part.TypePart, Part.HingeEdgeType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name))
Else
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_HINGEEDGE & ": " & SetBevel(Part.TypePart, Part.HingeEdgeType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name))
End If
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.HingeEdgeMachining))
If Not StringToDouble(Part.HingeEdgeOverMaterial, dVal) Then
MessageBox.Show(String.Format(EgtMsg(50141), K_HINGEDGEOVERMATERIAL_INI), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
Return
@@ -687,15 +744,20 @@ Friend Module DdfFile
sVal = Part.HingeEdgeOverMaterial
ConvertCurrentUnitMeasure(sVal)
If bIsDDF Then
'DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & sVal)
'DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & sVal)
Else
'DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & Part.HingeEdgeOverMaterial)
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & sVal)
'DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & Part.HingeEdgeOverMaterial)
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & sVal)
End If
End If
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_TOP & ": " & SetBevel(Part.TypePart, Part.TopType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name))
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.TopMachining))
If OptionModule.m_sVersionDDF = "2" Then ' K_TYPE
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_TOP & ": ")
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_TYPEEDGE & ": " & SetBevel(Part.TypePart, Part.TopType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name))
Else
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_TOP & ": " & SetBevel(Part.TypePart, Part.TopType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name))
End If
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.TopMachining))
If Not StringToDouble(Part.TopOverMaterial, dVal) Then
MessageBox.Show(String.Format(EgtMsg(50141), K_TOPOVERMATERIAL_INI), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
Return
@@ -703,15 +765,20 @@ Friend Module DdfFile
sVal = Part.TopOverMaterial
' ConvertCurrentUnitMeasure(sVal)
If bIsDDF Then
'DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & sVal)
'DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & sVal)
Else
'DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & Part.TopOverMaterial)
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & sVal)
'DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & Part.TopOverMaterial)
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & sVal)
End If
End If
DdfFileContent.Add(ConstCompo.DDF_SPACE3 & ConstCompo.K_BOTTOM & ": " & SetBevel(Part.TypePart, Part.BottomType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name))
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.BottomMachining))
If OptionModule.m_sVersionDDF = "2" Then ' K_TYPE
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_BOTTOM & ": ")
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_TYPEEDGE & ": " & SetBevel(Part.TypePart, Part.BottomType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name))
Else
DdfFileContent.Add(m_sSpace1Tab & ConstCompo.K_BOTTOM & ": " & SetBevel(Part.TypePart, Part.BottomType.Name, Part.DispositionItem.Name, Part.SwingAlias.Name))
End If
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_MACHINING & ": " & ConvertBooleanToOnOff(Part.BottomMachining))
If Not StringToDouble(Part.BottomOverMaterial, dVal) Then
MessageBox.Show(String.Format(EgtMsg(50141), K_BOTTOMOVERMATERIAL_INI), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
Return
@@ -719,13 +786,18 @@ Friend Module DdfFile
sVal = Part.BottomOverMaterial
' ConvertCurrentUnitMeasure(sVal)
If bIsDDF Then
'DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & sVal)
'DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & DoubleToString(dVal, 5))
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & sVal)
Else
'DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & Part.BottomOverMaterial)
DdfFileContent.Add(ConstCompo.DDF_SPACE5 & ConstCompo.K_OVERMATERIAL & ": " & sVal)
'DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & Part.BottomOverMaterial)
DdfFileContent.Add(m_sSpace2Tab & ConstCompo.K_OVERMATERIAL & ": " & sVal)
End If
End If
DdfFileContent.Add(" ")
If OptionModule.m_sVersionDDF = "2" Then
DdfFileContent.Add(ConstCompo.K_HARDWARE & ": ")
End If
' Riordino e stampo le compo
SearchCompo(DdfFileContent, Part, bIsDDF)
If Not Directory.Exists(Path.GetDirectoryName(sPath)) Then
@@ -913,7 +985,7 @@ Friend Module DdfFile
z = DoubleToString(-dDeltaThickness + dDeltaBottom, 4)
End If
End If
Return z
Return z
End Function
#End Region ' Funzioni per il posizionamento
@@ -956,7 +1028,9 @@ Friend Module DdfFile
Dim NewCompoNameDDF = False
Dim WritingError As String = String.Empty
Dim TempList As New ObservableCollection(Of Compo)
DdfFileContent.Add("")
If OptionModule.m_sVersionDDF = "1" Then
DdfFileContent.Add("")
End If
'------------------------------------------------------------------------------------------------------------------------------------------
' cerco la prima componente da aggiungere alla lista delle componenti
For Index1 = 0 To DdfFile.CompoListOrder.Count() - 1
@@ -1007,10 +1081,32 @@ Friend Module DdfFile
Return True
End Function
Private Function AscendingOrder(List As ObservableCollection(Of Compo), DdfFileContent As List(Of String), bIsDDF As Boolean) As Boolean
' ritorna una lista con tutti i compo dello stesso tipo
Public Function GetCurrentListSameCompoType(ByVal ListCompo As ObservableCollection(Of Compo), sCompoTypeDDF As String) As ObservableCollection(Of Compo)
Dim TempList As New ObservableCollection(Of Compo)
For Index As Integer = 0 To ListCompo.Count - 1
If ListCompo(Index).CompoType.DDFName = sCompoTypeDDF Then
TempList.Add(ListCompo(Index))
End If
Next
Return TempList
End Function
' ritorna una lista con tutti i compo dello stesso tipo con lo stesso nome
Public Function GetCurrentListSameCompoDDFName(ByVal ListCompo As ObservableCollection(Of Compo), sSelFile As String, sSelBrand As String) As ObservableCollection(Of Compo)
Dim TempList As New ObservableCollection(Of Compo)
For Index As Integer = 0 To ListCompo.Count - 1
If ListCompo(Index).SelFile = sSelFile And ListCompo(Index).SelBrandPart = sSelBrand Then
TempList.Add(ListCompo(Index))
End If
Next
Return TempList
End Function
' data la lista compo dello stesso tipo, la riordino ( Config.ini → TidyLayer = ...)
Public Sub GetOrderedListSameCompo(ByRef List As ObservableCollection(Of Compo))
Dim tidyParamIndex1 As Integer = -1
Dim tidyParamIndex2 As Integer = -1
Dim WritingError As String = String.Empty
If List.Count >= 2 Then
For IndexList1 As Integer = 0 To List.Count - 2
For IndexList2 As Integer = IndexList1 + 1 To List.Count - 1
@@ -1043,6 +1139,66 @@ Friend Module DdfFile
Next
Next
End If
End Sub
' rercupera indice nella lista corrente della componente passata
Public Function GetIndexInList(ListCompo As ObservableCollection(Of Compo), SelCompo As Compo) As Integer
' Se sono qui allora i compo devono avere lo stesso nome?.. Mettere controllo..
Dim bFoundSelCompo As Boolean = True
For Ind As Integer = 0 To ListCompo.Count - 1
For Ind2 As Integer = 0 To ListCompo(Ind).CompoParamList.Count - 1
' verifco che gli oggetti abbiano lo stesso nome?.. Metter controllo..
If TypeOf ListCompo(Ind).CompoParamList(Ind2) Is TextBoxOnOffParam And
TypeOf SelCompo.CompoParamList(Ind2) Is TextBoxOnOffParam Then
Dim Temp As TextBoxOnOffParam = DirectCast(ListCompo(Ind).CompoParamList(Ind2), TextBoxOnOffParam)
Dim SelTemp As TextBoxOnOffParam = DirectCast(SelCompo.CompoParamList(Ind2), TextBoxOnOffParam)
If Temp.Value <> SelTemp.Value Or Temp.IsActive <> SelTemp.IsActive Then
bFoundSelCompo = False
End If
ElseIf TypeOf ListCompo(Ind).CompoParamList(Ind2) Is TextBoxParam And
TypeOf SelCompo.CompoParamList(Ind2) Is TextBoxParam Then
Dim Temp As TextBoxParam = DirectCast(ListCompo(Ind).CompoParamList(Ind2), TextBoxParam)
Dim SelTemp As TextBoxParam = DirectCast(SelCompo.CompoParamList(Ind2), TextBoxParam)
If Temp.Value <> SelTemp.Value Then
bFoundSelCompo = False
End If
ElseIf TypeOf ListCompo(Ind).CompoParamList(Ind2) Is ComboBoxOnOffParam And
TypeOf SelCOmpo.CompoParamList(Ind2) Is ComboBoxOnOffParam Then
Dim Temp As ComboBoxOnOffParam = DirectCast(ListCompo(Ind).CompoParamList(Ind2), ComboBoxOnOffParam)
Dim SelTemp As ComboBoxOnOffParam = DirectCast(SelCompo.CompoParamList(Ind2), ComboBoxOnOffParam)
If Temp.SelItem <> SelTemp.SelItem Or Temp.IsActive <> SelTemp.IsActive Then
bFoundSelCompo = False
End If
ElseIf TypeOf ListCompo(Ind).CompoParamList(Ind2) Is ComboBoxParam And
TypeOf SelCompo.CompoParamList(Ind2) Is ComboBoxParam Then
Dim Temp As ComboBoxParam = DirectCast(ListCompo(Ind).CompoParamList(Ind2), ComboBoxParam)
Dim SelTemp As ComboBoxParam = DirectCast(SelCompo.CompoParamList(Ind2), ComboBoxParam)
If Temp.SelItem <> SelTemp.SelItem Then
bFoundSelCompo = False
End If
Else
' le componeti non sono dello stesso tipo!
Return -1
End If
' verifico che il parametro corrente è uguale a quello della compo selezionata
If Not bFoundSelCompo Then
Exit For
End If
Next
' verifico se ho trovato la compo
If Not bFoundSelCompo Then
bFoundSelCompo = True
Else
Return Ind
End If
Next
' se esco senza aver trovato niente
Return -1
End Function
Private Function AscendingOrder(List As ObservableCollection(Of Compo), DdfFileContent As List(Of String), bIsDDF As Boolean) As Boolean
Dim WritingError As String = String.Empty
GetOrderedListSameCompo(List)
' stampa lista
DdfFileContent.AddRange(GenerateCompolistDDF(List(0), WritingError, True, bIsDDF))
For IndexItem As Integer = 1 To List.Count - 1
@@ -1063,15 +1219,15 @@ Friend Module DdfFile
' se il nome non esiste ancora nella lista lo aggiungo
If bNewCompoNameDDF Then
' aggiungo il nome DDF della componente
CompoListDDF.Add(Compo.CompoType.DDFName & ":")
CompoListDDF.Add(m_sSpaceTabCompo & Compo.CompoType.DDFName & ":")
End If
' se esiste il template
If Not String.IsNullOrWhiteSpace(Compo.TemplateDDFName) Then
' aggiungo " - nomeTemplate: TemplateSelezionato"
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_HYPHEN & Compo.TemplateDDFName & ": " & Compo.TemplateSelItem)
CompoListDDF.Add(DDF_METADATA & OptionModule.m_sSpaceHype & Compo.TemplateDDFName & ": " & Compo.TemplateSelItem)
ElseIf Compo.LoadByDefault And SaveErrorCompo Then
CompoListDDF.Add(DDF_HYPHEN & Compo.TemplateDDFName & ": " & Compo.TemplateSelItem)
CompoListDDF.Add(OptionModule.m_sSpaceHype & Compo.TemplateDDFName & ": " & Compo.TemplateSelItem)
If Not String.IsNullOrEmpty(sErrorList) Then sErrorList &= Environment.NewLine
' 50563=Compo {0} does not exist.
sErrorList &= String.Format(EgtMsg(50563), Compo.SelBrandPart & "\" & Compo.SelFile)
@@ -1083,7 +1239,7 @@ Friend Module DdfFile
End If
ParamInCompoIsCorrect = False
Else
CompoListDDF.Add(DDF_HYPHEN & Compo.TemplateDDFName & ": " & Compo.TemplateSelItem)
CompoListDDF.Add(OptionModule.m_sSpaceHype & Compo.TemplateDDFName & ": " & Compo.TemplateSelItem)
End If
End If
@@ -1108,9 +1264,9 @@ Friend Module DdfFile
' restituisco il valore DDF della lista associato all'indice passato
Dim SelItemDDF As String = Trim(cbParam.ItemListDDF(IndexDDF))
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & cbParam.DDFName & ": " & SelItemDDF)
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & cbParam.DDFName & ": " & SelItemDDF)
Else
CompoListDDF.Add(DDF_SPACE5 & cbParam.DDFName & ": " & SelItemDDF)
CompoListDDF.Add(m_sSpace3Tab & cbParam.DDFName & ": " & SelItemDDF)
End If
Else
' se non è selezionato nessun elemento (cosa impossibile...)
@@ -1136,9 +1292,9 @@ Friend Module DdfFile
' restituisco il valore DDF della lista associato all'indice passato
Dim SelItemDDF As String = Trim(cbParam.ItemListDDF(IndexDDF))
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & cbParam.DDFName & ": " & SelItemDDF)
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & cbParam.DDFName & ": " & SelItemDDF)
Else
CompoListDDF.Add(DDF_SPACE5 & cbParam.DDFName & ": " & SelItemDDF)
CompoListDDF.Add(m_sSpace3Tab & cbParam.DDFName & ": " & SelItemDDF)
End If
Else
' se non è selezionato nessun elemento (cosa impossibile...)
@@ -1147,9 +1303,9 @@ Friend Module DdfFile
sErrorList &= String.Format(EgtMsg(50125), cbParam.Name, Compo.CompoType.DDFName)
ParamInCompoIsCorrect = False
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & cbParam.DDFName & ": " & cbParam.SelItem)
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & cbParam.DDFName & ": " & cbParam.SelItem)
Else
CompoListDDF.Add(DDF_SPACE5 & cbParam.DDFName & ": " & cbParam.SelItem)
CompoListDDF.Add(m_sSpace3Tab & cbParam.DDFName & ": " & cbParam.SelItem)
End If
End If
ElseIf Not cbParam.ErrorInReading And cbParam.MissingParameterInReading Then
@@ -1164,9 +1320,9 @@ Friend Module DdfFile
' restituisco il valore DDF della lista associato all'indice passato
Dim SelItemDDF As String = Trim(cbParam.ItemListDDF(IndexDDF))
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & cbParam.DDFName & ": " & SelItemDDF)
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & cbParam.DDFName & ": " & SelItemDDF)
Else
CompoListDDF.Add(DDF_SPACE5 & cbParam.DDFName & ": " & SelItemDDF)
CompoListDDF.Add(m_sSpace3Tab & cbParam.DDFName & ": " & SelItemDDF)
End If
Else
' se non è selezionato nessun elemento (cosa impossibile...)
@@ -1175,9 +1331,9 @@ Friend Module DdfFile
sErrorList &= String.Format(EgtMsg(50125), cbParam.Name, Compo.CompoType.DDFName)
ParamInCompoIsCorrect = False
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & cbParam.DDFName & ": " & cbParam.SelItem)
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & cbParam.DDFName & ": " & cbParam.SelItem)
Else
CompoListDDF.Add(DDF_SPACE5 & cbParam.DDFName & ": " & cbParam.SelItem)
CompoListDDF.Add(m_sSpace3Tab & cbParam.DDFName & ": " & cbParam.SelItem)
End If
End If
Else
@@ -1185,9 +1341,9 @@ Friend Module DdfFile
sErrorList &= String.Format(EgtMsg(50125), cbParam.Name, Compo.CompoType.DDFName)
ParamInCompoIsCorrect = False
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & cbParam.DDFName & ": " & cbParam.SelItem)
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & cbParam.DDFName & ": " & cbParam.SelItem)
Else
CompoListDDF.Add(DDF_SPACE5 & cbParam.DDFName & ": " & cbParam.SelItem)
CompoListDDF.Add(m_sSpace3Tab & cbParam.DDFName & ": " & cbParam.SelItem)
End If
End If
' TextBox Opzionale
@@ -1200,24 +1356,24 @@ Friend Module DdfFile
' 50122: Error reading {0} param in {1} compo.
sErrorList &= String.Format(EgtMsg(50122), tboParam.Name, Compo.CompoType.DDFName)
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & tboParam.DDFName & ": ")
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & tboParam.DDFName & ": ")
ParamInCompoIsCorrect = False
Else
CompoListDDF.Add(DDF_SPACE5 & tboParam.DDFName & ": " & tboParam.Value)
CompoListDDF.Add(m_sSpace3Tab & tboParam.DDFName & ": " & tboParam.Value)
ParamInCompoIsCorrect = False
End If
Else
If bIsDDF Then
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & tboParam.DDFName & ": " & tboParam.ToolTipValue)
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & tboParam.DDFName & ": " & tboParam.ToolTipValue)
Else
CompoListDDF.Add(DDF_SPACE5 & tboParam.DDFName & ": " & tboParam.ToolTipValue)
CompoListDDF.Add(m_sSpace3Tab & tboParam.DDFName & ": " & tboParam.ToolTipValue)
End If
Else
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & tboParam.DDFName & ": " & tboParam.Value)
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & tboParam.DDFName & ": " & tboParam.Value)
Else
CompoListDDF.Add(DDF_SPACE5 & tboParam.DDFName & ": " & tboParam.Value)
CompoListDDF.Add(m_sSpace3Tab & tboParam.DDFName & ": " & tboParam.Value)
End If
End If
End If
@@ -1235,24 +1391,24 @@ Friend Module DdfFile
' 50122: Error reading {0} param in {1} compo.
sErrorList &= String.Format(EgtMsg(50122), tbParam.Name, Compo.CompoType.DDFName)
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & tbParam.DDFName & ": " & tbParam.Value)
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & tbParam.DDFName & ": " & tbParam.Value)
ParamInCompoIsCorrect = False
Else
CompoListDDF.Add(DDF_SPACE5 & tbParam.DDFName & ": " & tbParam.Value)
CompoListDDF.Add(m_sSpace3Tab & tbParam.DDFName & ": " & tbParam.Value)
ParamInCompoIsCorrect = False
End If
Else
If bIsDDF Then
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & tbParam.DDFName & ": " & tbParam.ToolTipValue)
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & tbParam.DDFName & ": " & tbParam.ToolTipValue)
Else
CompoListDDF.Add(DDF_SPACE5 & tbParam.DDFName & ": " & tbParam.ToolTipValue)
CompoListDDF.Add(m_sSpace3Tab & tbParam.DDFName & ": " & tbParam.ToolTipValue)
End If
Else
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & tbParam.DDFName & ": " & tbParam.Value)
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & tbParam.DDFName & ": " & tbParam.Value)
Else
CompoListDDF.Add(DDF_SPACE5 & tbParam.DDFName & ": " & tbParam.Value)
CompoListDDF.Add(m_sSpace3Tab & tbParam.DDFName & ": " & tbParam.Value)
End If
End If
End If
@@ -1265,24 +1421,24 @@ Friend Module DdfFile
' 50122: Error reading {0} param in {1} compo.
sErrorList &= String.Format(EgtMsg(50122), tbParam.Name, Compo.CompoType.DDFName)
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & tbParam.DDFName & ": " & tbParam.Value)
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & tbParam.DDFName & ": " & tbParam.Value)
ParamInCompoIsCorrect = False
Else
CompoListDDF.Add(DDF_SPACE5 & tbParam.DDFName & ": " & tbParam.Value)
CompoListDDF.Add(m_sSpace3Tab & tbParam.DDFName & ": " & tbParam.Value)
ParamInCompoIsCorrect = False
End If
Else
If bIsDDF Then
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & tbParam.DDFName & ": " & tbParam.ToolTipValue)
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & tbParam.DDFName & ": " & tbParam.ToolTipValue)
Else
CompoListDDF.Add(DDF_SPACE5 & tbParam.DDFName & ": " & tbParam.ToolTipValue)
CompoListDDF.Add(m_sSpace3Tab & tbParam.DDFName & ": " & tbParam.ToolTipValue)
End If
Else
If Compo.LoadByDefault And Not SaveErrorCompo Then
CompoListDDF.Add(DDF_METADATA & DDF_SPACE5 & tbParam.DDFName & ": " & tbParam.Value)
CompoListDDF.Add(DDF_METADATA & m_sSpace3Tab & tbParam.DDFName & ": " & tbParam.Value)
Else
CompoListDDF.Add(DDF_SPACE5 & tbParam.DDFName & ": " & tbParam.Value)
CompoListDDF.Add(m_sSpace3Tab & tbParam.DDFName & ": " & tbParam.Value)
End If
End If
End If
@@ -1290,7 +1446,7 @@ Friend Module DdfFile
If Not String.IsNullOrEmpty(sErrorList) Then sErrorList &= Environment.NewLine
' 50122: Error reading {0} param in {1} compo.
sErrorList &= String.Format(EgtMsg(50122), tbParam.Name, Compo.CompoType.DDFName)
CompoListDDF.Add(DDF_SPACE5 & tbParam.DDFName & ": " & tbParam.Value)
CompoListDDF.Add(m_sSpace3Tab & tbParam.DDFName & ": " & tbParam.Value)
End If
End If
Next
@@ -1298,33 +1454,33 @@ Friend Module DdfFile
If Not IsNothing(Compo.refJambCompo) Then
' stampo una componente dell'anta
If Not String.IsNullOrEmpty(Compo.IdCode) AndAlso Trim(Compo.refJambCompo.IdCode) = Trim(Compo.IdCode) Then
CompoListDDF.Add(DDF_SPACE5 & "##IdCodeComponent : " & Compo.IdCode)
CompoListDDF.Add(m_sSpace3Tab & "##IdCodeComponent : " & Compo.IdCode)
Else
Compo.IdCode = CStr(IdIndex)
Compo.refJambCompo.IdCode = Trim(Compo.IdCode)
CompoListDDF.Add(DDF_SPACE5 & "##IdCodeComponent : " & Compo.IdCode)
CompoListDDF.Add(m_sSpace3Tab & "##IdCodeComponent : " & Compo.IdCode)
End If
IdIndex += 1
ElseIf Not IsNothing(Compo.refCompoDoor) Then
' stampo una componente sul telaio
If Not String.IsNullOrEmpty(Compo.refCompoDoor.IdCode) Then
If Compo.OtherDoor Then
CompoListDDF.Add(DDF_SPACE5 & "other_door: 1")
CompoListDDF.Add(m_sSpace3Tab & "other_door: 1")
End If
Compo.IdCode = Compo.refCompoDoor.IdCode
If Compo.MatchedDoor Then
' solo per il caso di sue ante
CompoListDDF.Add(DDF_SPACE5 & "##IdCodeComponent : " & Compo.IdCode & " , Matched")
CompoListDDF.Add(m_sSpace3Tab & "##IdCodeComponent : " & Compo.IdCode & " , Matched")
Else
CompoListDDF.Add(DDF_SPACE5 & "##IdCodeComponent : " & Compo.IdCode)
CompoListDDF.Add(m_sSpace3Tab & "##IdCodeComponent : " & Compo.IdCode)
End If
End If
ElseIf Not String.IsNullOrEmpty(Compo.IdCode) Then
If Compo.OtherDoor Then
CompoListDDF.Add(DDF_SPACE5 & "other_door: 1")
CompoListDDF.Add(m_sSpace3Tab & "other_door: 1")
End If
CompoListDDF.Add(DDF_SPACE5 & "##IdCodeComponent : " & Compo.IdCode)
CompoListDDF.Add(m_sSpace3Tab & "##IdCodeComponent : " & Compo.IdCode)
IdIndex += 1
End If
Return CompoListDDF
@@ -1440,18 +1596,18 @@ Friend Module DdfFile
If InvertBevel Then
' If sCurrBevel = ConstGen.BEVEL_GRAPHIC And DispositionItem = ConstGen.BEVEL_DOWN Then
If sCurrBevel.Contains(ConstGen.BEVEL_GRAPHIC) And DispositionItem = ConstGen.BEVEL_DOWN Then
Return sCurrBevel.Replace(ConstGen.BEVEL_GRAPHIC, ConstGen.BEVEL_UP) & ConstCompo.DDF_SPACE3 & " ## Inverted"
' Return ConstGen.BEVEL_UP & ConstCompo.DDF_SPACE3 & " ## Inverted"
Return sCurrBevel.Replace(ConstGen.BEVEL_GRAPHIC, ConstGen.BEVEL_UP) & m_sSpace1Tab & " ## Inverted"
' Return ConstGen.BEVEL_UP & m_sSpace1Tab & " ## Inverted"
ElseIf sCurrBevel.Contains(ConstGen.BEVEL_GRAPHIC) And DispositionItem = ConstGen.BEVEL_UP Then
Return sCurrBevel.Replace(ConstGen.BEVEL_GRAPHIC, ConstGen.BEVEL_DOWN) & ConstCompo.DDF_SPACE3 & " ## Inverted"
'Return ConstGen.BEVEL_DOWN & ConstCompo.DDF_SPACE3 & " ## Inverted"
Return sCurrBevel.Replace(ConstGen.BEVEL_GRAPHIC, ConstGen.BEVEL_DOWN) & m_sSpace1Tab & " ## Inverted"
'Return ConstGen.BEVEL_DOWN & m_sSpace1Tab & " ## Inverted"
ElseIf sCurrBevel.Contains(ConstGen.BEVEL_GRAPHIC) And DispositionItem <> ConstGen.BEVEL_UP And DispositionItem <> ConstGen.BEVEL_DOWN Then
If sSwing.Contains(ConstGen.HAND_REVERSE) Then
Return sCurrBevel.Replace(ConstGen.BEVEL_GRAPHIC, ConstGen.BEVEL_UP) & ConstCompo.DDF_SPACE3 & " ## Inverted"
'Return ConstGen.BEVEL_UP & ConstCompo.DDF_SPACE3 & " ## Inverted"
Return sCurrBevel.Replace(ConstGen.BEVEL_GRAPHIC, ConstGen.BEVEL_UP) & m_sSpace1Tab & " ## Inverted"
'Return ConstGen.BEVEL_UP & m_sSpace1Tab & " ## Inverted"
Else
Return sCurrBevel.Replace(ConstGen.BEVEL_GRAPHIC, ConstGen.BEVEL_DOWN) & ConstCompo.DDF_SPACE3 & " ## Inverted"
'Return ConstGen.BEVEL_DOWN & ConstCompo.DDF_SPACE3 & " ## Inverted"
Return sCurrBevel.Replace(ConstGen.BEVEL_GRAPHIC, ConstGen.BEVEL_DOWN) & m_sSpace1Tab & " ## Inverted"
'Return ConstGen.BEVEL_DOWN & m_sSpace1Tab & " ## Inverted"
End If
Else
Return sCurrBevel
@@ -1540,6 +1696,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
+291 -43
View File
@@ -2,6 +2,7 @@
Imports System.ComponentModel
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
Imports System.Text.RegularExpressions
Public Class Part
@@ -46,6 +47,18 @@ Public Class Part
End Set
End Property
' per sapere quale tipo versione è il file
Private m_Version As String = "1"
Public Property Version As String
Get
Return m_Version
End Get
Set(value As String)
m_Version = value
RegexFunction.sCurrVersionDoor = m_Version
End Set
End Property
' per sapere se il check è attivo (nella modalità assembalto)
Private m_IsActive As Boolean
Public Property IsActive As Boolean
@@ -1149,6 +1162,21 @@ Public Class Part
#End Region ' Top Angle
#Region "OPTIONS"
Private m_sOptions As String = String.Empty
Public Property sOptions As String
Get
Return m_sOptions
End Get
Set(value As String)
m_sOptions = value
End Set
End Property
#End Region ' Options
#End Region ' General
' lista delle componenti
@@ -1169,6 +1197,7 @@ Public Class Part
End Get
Set(value As Compo)
m_SelCompo = value
MarkCompoInScena()
End Set
End Property
@@ -1478,6 +1507,55 @@ Public Class Part
#End Region 'AddCompo
#Region "Selection compo"
Private Sub ResetAllMark()
Dim nIdFirstPart As Integer = EgtGetFirstPart()
Dim nIdLay As Integer = EgtGetFirstLayer(nIdFirstPart)
While nIdLay <> GDB_ID.NULL
EgtResetMark(nIdLay)
nIdLay = EgtGetNextLayer(nIdLay)
End While
EgtDraw()
End Sub
Private Sub MarkCompoInScena()
If IsNothing(m_SelCompo) Then Return
If GetMainPrivateProfileInt(S_GENERAL, "MarkCompo", 0) = 0 Then Return
ResetAllMark()
' recupero la lista dei compo dello stesso tipo
Dim TempList As ObservableCollection(Of Compo) = DdfFile.GetCurrentListSameCompoType(m_CompoList, m_SelCompo.CompoType.DDFName)
' recupero la lista dei compo con lo stesso nome
TempList = DdfFile.GetCurrentListSameCompoDDFName(TempList, m_SelCompo.SelFile, m_SelCompo.SelBrandPart)
' riordino la lista appena trovata secondo le regole di stampa DDF
DdfFile.GetOrderedListSameCompo(TempList)
' 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
' recupero il primo part disponibile
Dim nIdFirstPart As Integer = EgtGetFirstPart()
Dim nIdLay As Integer = EgtGetFirstLayer(nIdFirstPart)
Dim IndexLay As Integer = 0
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
EgtSetMark(nIdLay)
Exit While
ElseIf sNamePath = sCompoName And IndexLay < IndexInList Then
IndexLay = IndexLay + 1
End If
End If
nIdLay = EgtGetNextLayer(nIdLay)
End While
EgtDraw()
End Sub
#End Region
#Region "RemoveCompo"
Friend Sub RemoveCompo(CompoToRemove As Compo, Optional OnlyOnJamb As Boolean = False)
@@ -1543,7 +1621,8 @@ Public Class Part
'Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nNothingSelected
ReadDoor.FileContent = ArrayFile
ReadDoor.m_TypePart = ConstGen.PART_DO_ & "1"
' Imposto di default la porta in lettura è versione 1
ReadDoor.Version = "1"
' Se il file DDF è vuoto
If ReadDoor.FileContent.Count = 0 Then
' 50107 = Empty file.
@@ -1565,6 +1644,8 @@ Public Class Part
' Processo la sezione
Dim sSection As String = GetName(sLine)
Select Case sSection
Case S_VERSION
LineIndex = ReadDoor.GetVersion(LineIndex)
Case S_PRODUCE
LineIndex = ReadDoor.GetProduce(LineIndex)
Case S_MEASURES
@@ -1685,6 +1766,10 @@ Public Class Part
sErrorInfo &= LocalMsg
End If
ReadDoorCompleted = True
Case ConstCompo.K_HARDWARE
LineIndex = LineIndex + 1
Case ConstCompo.K_OPTIONS
LineIndex = ReadDoor.GetOptions(ReadDoor.NextIndex(LineIndex))
Case Else 'COMPONENTS
' Se sezione senza nome o altro errore
If String.IsNullOrWhiteSpace(sSection) Then
@@ -1800,6 +1885,24 @@ Public Class Part
Return SkipWhiteSpace(FileContent, Index + 1)
End Function
' Leggo versione
Private Function GetVersion(Index As Integer) As Integer
Dim sVersion As String = GetValueWithKey(RemoveComment(FileContent(Index)), S_VERSION)
If String.IsNullOrWhiteSpace(sVersion) Then
m_Version = "1"
Else
' verifico che sia valido (dove leggo l'elenco delle versioni disponibili?)
If sVersion.Trim <> "2" Then
m_Version = "1"
Else
m_Version = sVersion.Trim
End If
End If
RegexFunction.sCurrVersionDoor = m_Version
' passo alla riga successiva
Return NextIndex(Index)
End Function
' Leggo il frame
Private Function GetProduce(Index As Integer) As Integer
Dim sProduce As String = GetValueWithKey(RemoveComment(FileContent(Index)), S_PRODUCE)
@@ -1940,6 +2043,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 +2060,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 +2077,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()
@@ -2167,6 +2273,28 @@ Public Class Part
Return NextIndex(Index)
End Function
Private Function GetOptions(Index As Integer) As Integer
If Index > FileContent.Count() - 1 Then Return Index
Dim sLine As String = RemoveComment(FileContent(Index))
' se stringa vuota passo alla riga successiva
If String.IsNullOrEmpty(sLine) Then
Return Index
End If
' procedo a leggere le options
Dim nCount As Integer = 0
m_sOptions = String.Empty
' sLine.StartsWith(OptionModule.m_sSpace1Tab)
While Not (Search3Hyphens(sLine) OrElse Search3Dots(sLine))
m_sOptions &= If(nCount > 0, vbCrLf, "") & sLine
Index = NextIndex(Index)
' se il file è terminatpo esco
If Index > FileContent.Count() - 1 Then Return Index
sLine = RemoveComment(FileContent(Index))
nCount = nCount + 1
End While
Return Index
End Function
' calcola la congruenza del posizionamento e del secure
Private Sub CalcBevelFromSecure()
' se sono nella configurazione assemblato e sto leggendo un frame
@@ -2290,19 +2418,18 @@ Public Class Part
refOptionsVM.RefreshEdgeTypeList()
End If
Dim bError As Boolean = False
'-------------------------------------------------------------------------------
' Lock
If Index > FileContent.Count() - 1 Then Return -1
Dim sLine As String = RemoveComment(FileContent(Index))
m_LockEdgeType = m_LockEdgeTypeList(0)
Dim LockEdgeType As String = GetValueWithKey(sLine, K_LOCKEDGE)
' se vrsione 2 (20/04/2023) il tipo di bevel è inserito nella riga successiva con chaive K_TYPEEDGE
Dim nError As Integer = Index
Dim LockEdgeType As String = ManageProfileType(sLine, Index, nError, K_LOCKEDGE)
If nError = -1 Then Return -1
If String.IsNullOrWhiteSpace(LockEdgeType) Then
' se non c'è la parola chiave allora esco con errore
If Not SearchKey(sLine, K_LOCKEDGE) Then
Return -1
Else
FirstReadingEdge = True
sErrorMsg = String.Format(EgtMsg(50523), SIDE_LOCK)
End If
If ManageProfileError(sLine, K_LOCKEDGE, SIDE_LOCK) = -1 Then Return -1
Else
Try
Dim sMetaData As String = Trim(RegexFunction.Metadata(sLine))
@@ -2332,7 +2459,6 @@ Public Class Part
End Try
End If
End Try
If Not ControlProfileInList(LockEdgeTypeList, LockEdgeType) Then
' 50522=The profile {0} is not a member of the {1} list.
sErrorMsg = String.Format(EgtMsg(50522), LockEdgeType, SIDE_LOCK)
@@ -2355,6 +2481,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)
@@ -2363,15 +2490,13 @@ Public Class Part
If Index > FileContent.Count() - 1 Then Return -1
sLine = RemoveComment(FileContent(Index))
m_HingeEdgeType = m_HingeEdgeTypeList(0)
Dim HingeEdgeType As String = GetValueWithKey(sLine, K_HINGEEDGE)
' se vrsione 2 (20/04/2023) il tipo di bevel è inserito nella riga successiva con chaive K_TYPEEDGE
nError = Index
Dim HingeEdgeType As String = ManageProfileType(sLine, Index, nError, K_HINGEEDGE)
If nError = -1 Then Return -1
If String.IsNullOrWhiteSpace(HingeEdgeType) Then
' se non c'è la parola chiave allora esco con errore
If Not SearchKey(sLine, K_HINGEEDGE) Then
Return -1
Else
FirstReadingEdge = True
sErrorMsg = String.Format(EgtMsg(50523), SIDE_HINGE)
End If
If ManageProfileError(sLine, K_HINGEEDGE, SIDE_HINGE) = -1 Then Return -1
Else
Try
m_HingeEdgeType = HingeEdgeTypeList.First(Function(x) x.Name = HingeEdgeType)
@@ -2417,21 +2542,21 @@ 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))
m_TopType = m_TopEdgeTypeList(0)
Dim TopType As String = GetValueWithKey(sLine, K_TOP)
' se vrsione 2 (20/04/2023) il tipo di bevel è inserito nella riga successiva con chaive K_TYPEEDGE
nError = Index
Dim TopType As String = ManageProfileType(sLine, Index, nError, K_TOP)
If nError = -1 Then Return -1
If String.IsNullOrWhiteSpace(TopType) Then
If Not SearchKey(sLine, K_TOP) Then
Return -1
Else
FirstReadingEdge = True
sErrorMsg = String.Format(EgtMsg(50523), SIDE_TOP)
End If
If ManageProfileError(sLine, K_TOP, SIDE_TOP) = -1 Then Return -1
Else
Try
m_TopType = TopEdgeTypeList.First(Function(x) x.Name = TopType)
@@ -2476,12 +2601,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 +2622,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 +2648,7 @@ Public Class Part
Else
Index = NextIndex(Index)
m_Angle = Angle
ConvertDDFValueIntoCurrentUnit(m_Measure, PosxAngle)
m_PosxAngle = PosxAngle
TopAngleIsChecked = True
SelectedShape = m_TopShapeList(1)
@@ -2532,14 +2662,12 @@ Public Class Part
If Index > FileContent.Count() - 1 Then Return -1
sLine = RemoveComment(FileContent(Index))
m_BottomType = m_BottomEdgeTypeList(0)
Dim BottomType As String = GetValueWithKey(sLine, K_BOTTOM)
' se vrsione 2 (20/04/2023) il tipo di bevel è inserito nella riga successiva con chaive K_TYPEEDGE
nError = Index
Dim BottomType As String = ManageProfileType(sLine, Index, nError, K_BOTTOM)
If nError = -1 Then Return -1
If String.IsNullOrWhiteSpace(BottomType) Then
If Not SearchKey(sLine, K_BOTTOM) Then
Return -1
Else
FirstReadingEdge = True
sErrorMsg = String.Format(EgtMsg(50523), SIDE_BOTTOM)
End If
If ManageProfileError(sLine, K_BOTTOM, SIDE_BOTTOM) = -1 Then Return -1
Else
Try
m_BottomType = BottomEdgeTypeList.First(Function(x) x.Name = BottomType)
@@ -2584,12 +2712,55 @@ 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()
Return NextIndex(Index)
End Function
Private Function ManageProfileType(ByRef sLine As String, ByRef Index As Integer, ByRef nError As Integer, sEdgeName As String) As String
Dim sVal As String = String.Empty
If m_Version = "2" Then
If SearchKey(sLine, sEdgeName) Then
' passo alla riga successiva
Index = NextIndex(Index)
If Index > FileContent.Count() - 1 Then
nError = -1
Return ""
End If
sLine = RemoveComment(FileContent(Index))
sVal = GetValueWithKey(sLine, K_TYPEEDGE)
Else
nError = -1
Return sVal
End If
Else
sVal = GetValueWithKey(sLine, sEdgeName)
End If
Return sVal
End Function
Private Function ManageProfileError(sLine As String, sEdgeName As String, sMsgName As String) As Integer
Dim nError As Integer = 0
If m_Version = "2" Then
If Not SearchKey(sLine, K_TYPEEDGE) Then
Return -1
Else
FirstReadingEdge = True
sErrorMsg = String.Format(EgtMsg(50523), sMsgName)
End If
Else
If Not SearchKey(sLine, sEdgeName) Then
Return -1
Else
FirstReadingEdge = True
sErrorMsg = String.Format(EgtMsg(50523), sMsgName)
End If
End If
Return nError
End Function
' Leggo i dati del componente ( da senllire riutilizzando funzioni che già esistono)
Private Function GetCompo(Index As Integer, CompoNameDDF As String, ByRef sErrorInfo As String) As Integer
' Controllo esistenza del componente
@@ -2849,7 +3020,7 @@ Public Class Part
While IndexLine < FileContent.Count - 1 AndAlso
Not (Search3Hyphens(RemoveComment(FileContent(IndexLine))) OrElse Search3Dots(RemoveComment(FileContent(IndexLine)))) AndAlso
Not Trim(RemoveComment(FileContent(IndexLine))).StartsWith("- ") AndAlso
RemoveComment(FileContent(IndexLine)).StartsWith(ConstCompo.DDF_SPACE3)
(RemoveComment(FileContent(IndexLine)).StartsWith(ConstCompo.DDF_SPACE3) Or RemoveComment(FileContent(IndexLine)).StartsWith(ConstCompo.DDF_SPACE2))
' salvo i commenti
If String.IsNullOrWhiteSpace(FileContent(IndexLine)) Then
IndexLine += 1
@@ -2955,7 +3126,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 +3179,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
@@ -3059,6 +3242,7 @@ Public Class Part
' assegno al parametro della compnente il valore "filtrato"
DirectCast(CurrCompoParam, ComboBoxOnOffParam).SetSelItem(SelItem)
'DirectCast(CurrCompoParam, ComboBoxOnOffParam).SelItem = SelItem
DirectCast(CurrCompoParam, ComboBoxOnOffParam).SetIsActive(True)
' se il nome esiste ma è sbagliato
ElseIf Not String.IsNullOrWhiteSpace(GetKey(sLine)) Then
' significa che la TextBoxOnOff è stata disattivata
@@ -3118,8 +3302,8 @@ Public Class Part
Return False
End If
' per riconoscere una componente: no spazi ad inizio riga, dopo i ":" riga vuota
If FileContent(IndexLine) = FileContent(IndexLine).Trim AndAlso
GetValueWithoutKey(FileContent(IndexLine)) = String.Empty Then
If FileContent(IndexLine).StartsWith(OptionModule.m_sSpaceTabCompo) AndAlso
GetValueWithoutKey(FileContent(IndexLine)) = String.Empty Then
m_StopNextIndexLine = True
Return True
End If
@@ -3227,6 +3411,7 @@ Public Class Part
' utilizzata per generare la porta/jamb dell'Hardware
Sub New(Hardware As String)
If Not String.IsNullOrEmpty(Hardware) Then
Me.m_Width = OptionModule.m_WidthJamb
Me.m_Height = OptionModule.m_Height
@@ -3260,10 +3445,77 @@ Public Class Part
Me.TypePart = ConstGen.PART_FRAME_LEFT
Return
End If
Me.m_Width = OptionModule.m_Width
Me.m_Height = OptionModule.m_Height
Me.m_Thickness = OptionModule.m_Thickness
Me.SetSwing(OptionModule.m_Swing)
Dim bCLoneDoor As Boolean = (GetMainPrivateProfileInt(S_GENERAL, "CloneDoor", 0) = 1)
' Se abilitato in file Ini "DoorClone" allora verifico se esiste una porta corrente
If bCLoneDoor And Not IsNothing(Map.refAssemblyManagerVM) AndAlso Not IsNothing(Map.refAssemblyManagerVM.CurrProject) AndAlso
Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName) AndAlso
Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly) AndAlso
Not IsNothing(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor) Then
' Se presente una sola anta
Dim nPartDoor As Integer = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor.Count
If nPartDoor = 1 Then
Dim LocalPartDoor As PartDoor = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor(0)
If Not IsNothing(LocalPartDoor.Door) Then
Me.m_Width = LocalPartDoor.Door.m_Width
Me.m_Height = LocalPartDoor.Door.m_Height
Me.m_Thickness = LocalPartDoor.Door.m_Thickness
Me.SetSwing(LocalPartDoor.Door.m_Swing)
Me.SetLockEdgeType(New EdgeType(LocalPartDoor.Door.LockEdgeType.Name, Visibility.Visible))
Me.SetHingeEdgeType(New EdgeType(LocalPartDoor.Door.HingeEdgeType.Name, Visibility.Visible))
Me.SetTopType(New EdgeType(LocalPartDoor.Door.TopType.Name, Visibility.Visible))
Me.SetBottomType(New EdgeType(LocalPartDoor.Door.BottomType.Name, Visibility.Visible))
Else
' Devo usare i parametri di default
Me.m_Width = OptionModule.m_Width
Me.m_Height = OptionModule.m_Height
Me.m_Thickness = OptionModule.m_Thickness
Me.SetSwing(OptionModule.m_Swing)
Me.SetLockEdgeType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
Me.SetHingeEdgeType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
Me.SetTopType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
Me.SetBottomType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
End If
ElseIf nPartDoor > 1 Then
' Assemblati
Dim WdSelPartV As New SelectPartV()
Dim WdSelPartVM As New SelectPartVM("Selezione della porta", "Selezione anta", nPartDoor, 1)
WdSelPartV.DataContext = WdSelPartVM
WdSelPartV.ShowDialog()
Dim nSelection As Integer = CInt(WdSelPartVM.Selection.Split(" "c)(1)) - 1
' Apro una finestra per chiedere quale anta usare come riferimento
Dim LocalPartDoor As PartDoor = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.SelAssembly.ListPartDoor(nSelection)
Me.m_Width = LocalPartDoor.Door.m_Width
Me.m_Height = LocalPartDoor.Door.m_Height
Me.m_Thickness = LocalPartDoor.Door.m_Thickness
Me.SetSwing(LocalPartDoor.Door.m_Swing)
Me.SetLockEdgeType(New EdgeType(LocalPartDoor.Door.LockEdgeType.Name, Visibility.Visible))
Me.SetHingeEdgeType(New EdgeType(LocalPartDoor.Door.HingeEdgeType.Name, Visibility.Visible))
Me.SetTopType(New EdgeType(LocalPartDoor.Door.TopType.Name, Visibility.Visible))
Me.SetBottomType(New EdgeType(LocalPartDoor.Door.BottomType.Name, Visibility.Visible))
Else
' Devo usare i parametri di default
Me.m_Width = OptionModule.m_Width
Me.m_Height = OptionModule.m_Height
Me.m_Thickness = OptionModule.m_Thickness
Me.SetSwing(OptionModule.m_Swing)
Me.SetLockEdgeType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
Me.SetHingeEdgeType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
Me.SetTopType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
Me.SetBottomType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
End If
Else
Me.m_Width = OptionModule.m_Width
Me.m_Height = OptionModule.m_Height
Me.m_Thickness = OptionModule.m_Thickness
Me.SetSwing(OptionModule.m_Swing)
Me.SetLockEdgeType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
Me.SetHingeEdgeType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
Me.SetTopType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
Me.SetBottomType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
End If
If Not IsNothing(OptionModule.m_CurrMaterial) Then
Try
Me.SetMaterial(m_MaterialList.First(Function(x) x.Name = Trim(OptionModule.m_CurrMaterial.Name)))
@@ -3276,10 +3528,6 @@ Public Class Part
Me.m_IsActive = True
Me.m_Measure = ConvertMmUnitsToString(OptionModule.m_bIsMmUnit)
Me.m_Weight = OptionModule.m_Weight
Me.SetLockEdgeType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
Me.SetHingeEdgeType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
Me.SetTopType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
Me.SetBottomType(New EdgeType(ConstGen.BEVEL_SQUARED, Visibility.Visible))
Me.m_LockEdgeMachining = OptionModule.m_LockEdgeMachining
Me.m_HingeEdgeMachining = OptionModule.m_HingeEdgeMachining
Me.m_TopMachining = OptionModule.m_TopMachining
+5 -5
View File
@@ -12,16 +12,16 @@
<EgtDOORCreator:TrueToFalse x:Key="TrueToFalse"/>
</UserControl.Resources>
<Grid IsEnabled="{Binding EnablePageDoor}">
<Grid Name="MainGrid" IsEnabled="{Binding EnablePageDoor}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="5*"/>
<ColumnDefinition Width="{Binding WidthColumn1}"/>
<ColumnDefinition Width="{Binding WidthColumn2}"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Grid Margin="0,0,0,0.2" Grid.Column="1" IsEnabled="{Binding IsReadOnly}">
<Grid Margin="0,0,0,0.2" Grid.Column="{Binding GridGeneralDiposition}" IsEnabled="{Binding IsReadOnly}">
<Grid.InputBindings>
<KeyBinding Key="Enter" Command="{Binding DataContext.RefreshCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"/>
<KeyBinding Key="F1" Command="{Binding DataContext.GuideCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"/>
@@ -893,7 +893,7 @@
</ListBox>
</Grid>
<ContentControl Grid.Column="0" Grid.Row="0" Content="{Binding CompoPanelControl}"/>
<ContentControl Name="MainContentConrol" Grid.Column="{Binding CompoPanelDiposition}" Grid.Row="0" Content="{Binding CompoPanelControl}"/>
<!--<EgtDOORCreator:CompoPanelV Grid.Column="0" DataContext="{Binding CompoPanelPartVM}"/>-->
</Grid>
</UserControl>
+3 -2
View File
@@ -1,8 +1,8 @@
Public Class PartPageV
Public Sub ItemsControl_SelectionChanged(sender As Object, e As SelectionChangedEventArgs)
Dim ListControl As ListBox=DirectCast(sender,listbox)
If Not IsNothing( ListControl.SelectedItem) Then
Dim ListControl As ListBox = DirectCast(sender, ListBox)
If Not IsNothing(ListControl.SelectedItem) Then
Dim SelectedItemIndex As Integer = ListControl.Items.IndexOf(ListControl.SelectedItem)
If SelectedItemIndex < 0 Then Return
ListControl.Dispatcher.BeginInvoke(DirectCast(Sub()
@@ -30,4 +30,5 @@
Private Sub UserControl_IsEnabledChanged(sender As Object, e As DependencyPropertyChangedEventArgs)
End Sub
End Class
+44
View File
@@ -73,6 +73,50 @@ Public Class PartPageVM
End Get
End Property
#Region "DISPOSITION SCREEN"
Public ReadOnly Property WidthColumn1 As String
Get
If OptionModule.m_nDispostionScreen = 0 Or OptionModule.m_nDispostionScreen = 1 Then
Return "1*"
Else
Return "5*"
End If
End Get
End Property
Public ReadOnly Property WidthColumn2 As String
Get
If OptionModule.m_nDispostionScreen = 0 Or OptionModule.m_nDispostionScreen = 1 Then
Return "5*"
Else
Return "1*"
End If
End Get
End Property
Public ReadOnly Property GridGeneralDiposition As String
Get
If OptionModule.m_nDispostionScreen = 0 Or OptionModule.m_nDispostionScreen = 1 Then
Return "1"
Else
Return "0"
End If
End Get
End Property
Public ReadOnly Property CompoPanelDiposition As String
Get
If OptionModule.m_nDispostionScreen = 0 Or OptionModule.m_nDispostionScreen = 1 Then
Return "0"
Else
Return "1"
End If
End Get
End Property
#End Region ' Disposition Screen
#Region "CONSTUCTOR"
Sub New()
+13 -5
View File
@@ -84,15 +84,15 @@
<Reference Include="combit.ListLabel25.Wpf">
<HintPath>..\..\EgtProg\EgtDOORCreator\combit.ListLabel25.Wpf.dll</HintPath>
</Reference>
<Reference Include="DotNetZip">
<HintPath>..\..\EgtProg\OmagCUT\DotNetZip.dll</HintPath>
</Reference>
<Reference Include="EgtUILib">
<HintPath>..\..\EgtProg\Dll32\EgtUILib.dll</HintPath>
</Reference>
<Reference Include="EgtWPFLib5">
<HintPath>..\..\EgtProg\Dll32\EgtWPFLib5.dll</HintPath>
</Reference>
<Reference Include="Ionic.Zip">
<HintPath>..\..\EgtProg\EgtDOORCreator\Ionic.Zip.dll</HintPath>
</Reference>
<Reference Include="System.Core" />
<Reference Include="System.Design" />
<Reference Include="System.Drawing" />
@@ -223,6 +223,10 @@
</Compile>
<Compile Include="ProjectManager\ProjectManagerVM.vb" />
<Compile Include="ProjectManager\MySaveFileDialogVM.vb" />
<Compile Include="ProjectManager\SelectPartV.xaml.vb">
<DependentUpon>SelectPartV.xaml</DependentUpon>
</Compile>
<Compile Include="ProjectManager\SelectPartVM.vb" />
<Compile Include="RegexFunction.vb" />
<Compile Include="ReportInfo\ReportCompo.vb" />
<Compile Include="SceneManager\DimensioningPanel\DimensioningPanelV.xaml.vb">
@@ -363,6 +367,10 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="ProjectManager\SelectPartV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="SceneManager\DimensioningPanel\DimensioningPanelV.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -619,8 +627,8 @@
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<PropertyGroup>
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\EgtDOORCreator\EgtDOORCreatorR32.exe
IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Debug" copy $(TargetPath) c:\EgtProg\EgtDOORCreator\EgtDOORCreatorD32.exe
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) C:\EgtProg\EgtDOORCreator\EgtDOORCreatorR32.exe
IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Debug" copy $(TargetPath) C:\EgtProg\EgtDOORCreator\EgtDOORCreatorD32.exe
</PostBuildEvent>
</PropertyGroup>
</Project>
+113 -40
View File
@@ -83,8 +83,8 @@ Public Class Hardware
If Not IsNothing(value) Then
m_SelBrand = value
ElseIf Not IsNothing(value) AndAlso Not Directory.Exists(value.ModelDir) Then
' 50542 = {0}: Directory does not exist!
ErrorReading = String.Format(EgtMsg(50542),value.ModelDir)
' 50542 = {0}: Directory does not exist!
ErrorReading = String.Format(EgtMsg(50542), value.ModelDir)
RefreshTemplateListEgtDOORCreator()
Else
Return
@@ -130,8 +130,8 @@ Public Class Hardware
SelTemplate = String.Empty
'Map.refSceneManagerVM.RefreshBtn()
End If
Else
SelTemplate = String.Empty
Else
SelTemplate = String.Empty
'Map.refSceneManagerVM.RefreshBtn()
End If
' termine della selezione
@@ -530,7 +530,9 @@ Public Class Hardware
Else
SwingTemplate = "RH"
End If
IniFile.StdTemplateGetPrivateProfileString("Hardware", "Swing", SwingTemplate, SwingTemplate)
If String.IsNullOrEmpty(SwingTemplate) Or Not (GetMainPrivateProfileInt(S_GENERAL, "CloneDoor", 0) = 1) Then
IniFile.StdTemplateGetPrivateProfileString("Hardware", "Swing", SwingTemplate, SwingTemplate)
End If
Map.refHardwarePageVM.GenericPart.SetSwing(SwingTemplate)
If bIsFrame Then
IniFile.StdTemplateGetPrivateProfileString("Hardware", "SwingFrame", "RH", SwingTemplate)
@@ -555,17 +557,17 @@ Public Class Hardware
If Map.refHardwarePageVM.GenericPart.CompoList.Count < 1 Then Return
'If String.IsNullOrEmpty(HardwareGeneral.JambSide) Then
For Each Item In Map.refHardwarePageVM.GenericPart.CompoList(0).CompoParamList
If TypeOf Item Is ComboBoxParam AndAlso
Item.DDFName = "side" Then
Dim CBoxPar As ComboBoxParam = DirectCast(Item, ComboBoxParam)
Dim IndexItem As Integer = CBoxPar.ItemList.IndexOf(CBoxPar.SelItem)
If IndexItem > -1 Then
HardwareGeneral.SetJambSide(CBoxPar.ItemListDDF(IndexItem))
End If
'HardwareGeneral.SetJambSide(CBoxPar.SelItem)
Exit For
If TypeOf Item Is ComboBoxParam AndAlso
Item.DDFName = "side" Then
Dim CBoxPar As ComboBoxParam = DirectCast(Item, ComboBoxParam)
Dim IndexItem As Integer = CBoxPar.ItemList.IndexOf(CBoxPar.SelItem)
If IndexItem > -1 Then
HardwareGeneral.SetJambSide(CBoxPar.ItemListDDF(IndexItem))
End If
Next
'HardwareGeneral.SetJambSide(CBoxPar.SelItem)
Exit For
End If
Next
'End If
If HardwareGeneral.JambSide.ToLower.Contains("hinge") Then
Map.refHardwarePageVM.GenericPart.TypePart = PART_FRAME_LEFT & HINGE
@@ -581,21 +583,21 @@ Public Class Hardware
Map.refHardwarePageVM.GenericPart.SetHeight(OptionModule.m_Height)
End If
Return
ElseIf HardwareGeneral.JambSide.ToLower.Contains("top") Then
ElseIf HardwareGeneral.JambSide.ToLower.Contains("top") Then
Map.refHardwarePageVM.GenericPart.TypePart = PART_FRAME_TOP & TOP
If Not HardwarePartVM.bIsSettingDoor Then
Map.refHardwarePageVM.GenericPart.SetWidth(OptionModule.m_Width)
Map.refHardwarePageVM.GenericPart.SetHeight(OptionModule.m_ThicknessHead)
End If
Return
ElseIf HardwareGeneral.JambSide.ToLower.Contains("bottom") Then
ElseIf HardwareGeneral.JambSide.ToLower.Contains("bottom") Then
Map.refHardwarePageVM.GenericPart.TypePart = PART_FRAME_BOTTOM & BOTTOM
If Not HardwarePartVM.bIsSettingDoor Then
Map.refHardwarePageVM.GenericPart.SetWidth(OptionModule.m_Width)
Map.refHardwarePageVM.GenericPart.SetHeight(OptionModule.m_ThicknessBottom)
End If
Return
End If
End If
End Sub
@@ -739,14 +741,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 +796,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
@@ -812,7 +828,7 @@ Public Class Hardware
End If
End If
ParamIndex += 1
ParamIndex += 1
End While ' termina lettura del capitolo
GroupChapters.Add(Chapter)
@@ -833,6 +849,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 +1027,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
@@ -1835,7 +1878,7 @@ Public Class Hardware
' cerco un numero finito di parametri
For IndexParam As Integer = 0 To IndexParamDDF - 1
If LineIndex + ParamIndex > sFile.Count - 1 Then Return False
' recuro il nome del parametro
' recupero il nome del parametro
KeyParam = Trim(RegexFunction.KeyParamLine(sFile(LineIndex + ParamIndex)))
While String.IsNullOrEmpty(KeyParam) And LineIndex + ParamIndex < sFile(LineIndex + ParamIndex).Count
ParamIndex += 1
@@ -1953,10 +1996,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
@@ -1966,21 +2015,27 @@ Public Class Hardware
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.TypeVar & "( " & Text.Value & ")"
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "inch( " & Text.Value & ")"
End If
Else
sValue = Text.Value
If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
'If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "mm( " & sValue & ")"
End If
Case ConstGen.MM
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES Then
sValue = Text.Value
InchesToMm(sValue)
'sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "inch( " & sValue & ")"
Else
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.Value
'sValue = Text.Value
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "mm( " & Text.Value & ")"
End If
End If
End Select
@@ -1999,21 +2054,27 @@ Public Class Hardware
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.TypeVar & "( " & Text.Value & ")"
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "inch( " & Text.Value & ")"
End If
Else
sValue = Text.Value
If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
'If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "mm( " & sValue & ")"
End If
Case ConstGen.MM
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES Then
sValue = Text.Value
InchesToMm(sValue)
'sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "inch( " & sValue & ")"
Else
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.Value
'sValue = Text.Value
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "mm( " & Text.Value & ")"
End If
End If
End Select
@@ -2046,22 +2107,28 @@ Public Class Hardware
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.TypeVar & "( " & Text.Value & ")"
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "inch( " & Text.Value & ")"
End If
'sValue = Text.TypeVar & "( " & Text.ToolTipValue & ")"
Else
sValue = Text.Value
If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
'If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "mm( " & sValue & ")"
End If
Case ConstGen.MM
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES Then
sValue = Text.Value
InchesToMm(sValue)
'sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "inch( " & sValue & ")"
Else
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.Value
'sValue = Text.Value
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "mm( " & Text.Value & ")"
End If
'sValue = Text.ToolTipValue
End If
@@ -2092,22 +2159,28 @@ Public Class Hardware
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.TypeVar & "( " & Text.Value & ")"
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "inch( " & Text.Value & ")"
End If
'sValue = Text.TypeVar & "( " & Text.ToolTipValue & ")"
Else
sValue = Text.Value
If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
'If MmToInches(sValue) Then sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "mm( " & Text.Value & ")"
End If
Case ConstGen.MM
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES Then
sValue = Text.Value
InchesToMm(sValue)
'sValue = Text.TypeVar & "( " & sValue & ")"
sValue = "inch( " & Text.Value & ")"
Else
If Text.ToolTipValue.Contains("Invalid") Then
sValue = "0.0000"
Else
sValue = Text.Value
'sValue = Text.Value
'sValue = Text.TypeVar & "( " & Text.Value & ")"
sValue = "mm( " & Text.Value & ")"
End If
'sValue = Text.ToolTipValue
End If
+6 -5
View File
@@ -15,8 +15,8 @@
<Grid IsEnabled="{Binding EnablePageHardware}">
<Grid.ColumnDefinitions>
<!-- Colonna dedicata alla lista dei bottoni -->
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="5*"/>
<ColumnDefinition Width="{Binding WidthColumn1}"/>
<ColumnDefinition Width="{Binding WidthColumn2}"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="2*"/>
@@ -26,8 +26,9 @@
<KeyBinding Key="Enter" Command="{Binding DataContext.RefreshCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"/>
<KeyBinding Key="F1" Command="{Binding DataContext.GuideCmd,RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"/>
</Grid.InputBindings>
<!-- La griglia che gestirà i parametri hardaware -->
<Grid Grid.Column="1">
<Grid Grid.Column="{Binding GridGeneralDiposition}" Grid.Row="0">
<Grid.RowDefinitions>
<!-- Deicata al general dell'hardware-->
<RowDefinition Height="Auto"/>
@@ -858,9 +859,9 @@
</Grid>
<!-- Elenco pulsanti Hardware -->
<ContentControl Grid.Column="0" Grid.RowSpan="2" Grid.Row="0" Content="{Binding CompoPanelControl}"/>
<ContentControl Grid.Column="{Binding CompoPanelDiposition}" Grid.RowSpan="2" Grid.Row="0" Content="{Binding CompoPanelControl}"/>
<EgtDOORCreator:HardwareHelpSceneHostV Grid.Column="1" Grid.Row="1" Margin="0,0,2,0"/>
<EgtDOORCreator:HardwareHelpSceneHostV Grid.Column="{Binding GridGeneralDiposition}" Grid.Row="1" Margin="0,0,2,0" />
</Grid>
+44
View File
@@ -93,6 +93,50 @@ Public Class HardwarePageVM
End Get
End Property
#Region "DISPOSITION SCREEN"
Public ReadOnly Property WidthColumn1 As String
Get
If OptionModule.m_nDispostionScreen = 0 Or OptionModule.m_nDispostionScreen = 1 Then
Return "1*"
Else
Return "5*"
End If
End Get
End Property
Public ReadOnly Property WidthColumn2 As String
Get
If OptionModule.m_nDispostionScreen = 0 Or OptionModule.m_nDispostionScreen = 1 Then
Return "5*"
Else
Return "1*"
End If
End Get
End Property
Public ReadOnly Property GridGeneralDiposition As String
Get
If OptionModule.m_nDispostionScreen = 0 Or OptionModule.m_nDispostionScreen = 1 Then
Return "1"
Else
Return "0"
End If
End Get
End Property
Public ReadOnly Property CompoPanelDiposition As String
Get
If OptionModule.m_nDispostionScreen = 0 Or OptionModule.m_nDispostionScreen = 1 Then
Return "0"
Else
Return "1"
End If
End Get
End Property
#End Region ' Disposition Screen
#Region "MESSAGES"
Public ReadOnly Property GeneralMsg As String
+40
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)
@@ -341,6 +364,23 @@ Friend Module IniFile
Return False
End Function
Public Function GetPrivateProfileCompoImage(IpAppName As String, IpKeyName As String, ByRef Image As String, CompoIniPath As String) As Boolean
Dim sVal As String = String.Empty
EgtUILib.GetPrivateProfileString(IpAppName, IpKeyName, "", sVal, CompoIniPath)
Dim CurrDir As String = Path.GetDirectoryName(CompoIniPath)
sVal = sVal.Trim
If Not String.IsNullOrEmpty(sVal) AndAlso Not String.IsNullOrEmpty(CurrDir) Then
sVal = CurrDir.Trim & "\" & sVal
If File.Exists(sVal) Then
Image = sVal
Return True
Else
Return False
End If
End If
Return False
End Function
Public Function GetPrivateProfileFolderName(IpAppName As String, IpKeyName As String, ByRef Name As String, CompoIniPath As String) As Boolean
Dim sVal As String = String.Empty
EgtUILib.GetPrivateProfileString(IpAppName, IpKeyName, "", sVal, CompoIniPath)
+22 -2
View File
@@ -56,9 +56,28 @@ Friend Class MainWindowModel
Dim sKey As String = String.Empty
EgtUILib.GetPrivateProfileString(S_LICENCE, K_KEY, "", sKey, sLicFile)
EgtSetKey(sKey)
Dim sNestKey As String = ""
EgtUILib.GetPrivateProfileString(S_LICENCE, K_NESTKEY, "", sNestKey, sLicFile)
EgtSetNestKey(sNestKey)
Dim bNetHwKey As Boolean = (GetPrivateProfileInt(S_GENERAL, K_NETKEY, 0, m_sIniFile) = 1)
EgtSetNetHwKey(bNetHwKey)
' Impostazioni per chiave di rete
Dim bNetKey As Boolean = (GetPrivateProfileInt(S_GENERAL, K_NETKEY, 0, m_sIniFile) = 1)
EgtSetNetHwKey(bNetKey)
Dim sLockId As String = ""
EgtUILib.GetPrivateProfileString(S_LICENCE, K_LOCKID, "", sLockId, sLicFile)
If Not String.IsNullOrEmpty(sLockId) Then
EgtSetLockId(sLockId)
End If
' Verifico abilitazione nesting automatico
m_bAutoNest = Not String.IsNullOrWhiteSpace(sNestKey)
' Recupero livello e opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2407, 1, IniFile.m_nKeyLevel) And
EgtGetKeyOptions(3279, 2407, 1, IniFile.m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2608, 1, IniFile.m_nKeyLevel) And
EgtGetKeyOptions(3279, 2608, 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 +115,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)
+7 -6
View File
@@ -23,8 +23,8 @@
<Grid>
<Grid.ColumnDefinitions>
<!--<ColumnDefinition Width="1*"/>-->
<ColumnDefinition Width="6*"/>
<ColumnDefinition Width="5*"/>
<ColumnDefinition Width="{Binding WidthColumn1}"/>
<ColumnDefinition Width="{Binding WidthColumn2}"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -32,10 +32,11 @@
</Grid.RowDefinitions>
<!--<EgtDOORCreator:AssemblyManagerV Grid.Column="0" DataContext="{StaticResource AssemblyManagerVM}"/>-->
<ContentControl Grid.Column="0" Grid.Row="0" Content="{Binding AssemblyManagerControl}"/>
<ContentControl Grid.Column="0" Grid.Row="1" Content="{Binding PageControl}"/>
<EgtDOORCreator:SceneManagerV Grid.Column="1" Grid.RowSpan="2" DataContext="{StaticResource SceneManagerVM}"/>
<ContentControl Grid.Column="{Binding AssemblyManagerDisposition}" Grid.Row="0" Content="{Binding AssemblyManagerControl}"/>
<ContentControl Grid.Column="{Binding PageControlDisposition}" Grid.Row="1" Content="{Binding PageControl}"/>
<!--<EgtDOORCreator:SceneManagerV Grid.Column="{Binding SceneManagerDiposition}" Grid.RowSpan="2" DataContext="{StaticResource SceneManagerVM}"/>-->
<!--<EgtDOORCreator:SceneManagerV Grid.Column="0" Grid.RowSpan="2" DataContext="{StaticResource SceneManagerVM}"/>-->
<ContentControl Grid.Column="{Binding SceneManagerDiposition}" Grid.RowSpan="2" Content="{Binding SceneManagerControl}"/>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
+64
View File
@@ -77,6 +77,7 @@ Public Class MainWindowVM
Private m_PartPage As PartPageV
Private m_AssemblyPage As AssemblyPageV
Private m_HardwarePage As HardwarePageV
Private m_SceneManager As SceneManagerV
Private Watcher As FileSystemWatcher = New FileSystemWatcher(IniFile.m_CompoDir, "*" & LUA_EXTENSION)
@@ -128,6 +129,12 @@ Public Class MainWindowVM
End Get
End Property
Public ReadOnly Property SceneManagerControl As ContentControl
Get
Return m_SceneManager
End Get
End Property
Public ReadOnly Property ProjectManagerControl As ContentControl
Get
If m_SelectedPage <> ListPageEnum.nHardwarePage then
@@ -159,10 +166,67 @@ Public Class MainWindowVM
m_HardwarePage.DataContext = New HardwarePageVM
m_AssemblyManager = New AssemblyManagerV
m_AssemblyManager.DataContext = New AssemblyManagerVM
' inserisco la scena
m_SceneManager = New SceneManagerV
m_SceneManager.DataContext = New SceneManagerVM
Dim OptionsPage As OptionsVM = OptionPage
InitWatcher()
End Sub
#Region "DISPOSITION SCREEN"
Public ReadOnly Property WidthColumn1 As String
Get
If OptionModule.m_nDispostionScreen = 1 Or OptionModule.m_nDispostionScreen = 2 Then
Return "5*"
Else
Return "6*"
End If
End Get
End Property
Public ReadOnly Property WidthColumn2 As String
Get
If OptionModule.m_nDispostionScreen = 1 Or OptionModule.m_nDispostionScreen = 2 Then
Return "6*"
Else
Return "5*"
End If
End Get
End Property
Public ReadOnly Property AssemblyManagerDisposition As String
Get
If OptionModule.m_nDispostionScreen = 1 Or OptionModule.m_nDispostionScreen = 2 Then
Return "1"
Else
Return "0"
End If
End Get
End Property
Public ReadOnly Property PageControlDisposition As String
Get
If OptionModule.m_nDispostionScreen = 1 Or OptionModule.m_nDispostionScreen = 2 Then
Return "1"
Else
Return "0"
End If
End Get
End Property
Public ReadOnly Property SceneManagerDiposition As String
Get
If OptionModule.m_nDispostionScreen = 1 Or OptionModule.m_nDispostionScreen = 2 Then
Return "0"
Else
Return "1"
End If
End Get
End Property
#End Region ' Disposition Screen
#Region "Methods"
Public Sub ShowErrorCompoLoad()
+5 -5
View File
@@ -23,16 +23,16 @@ Imports System.Windows
#Else
#If DEBUG Then
<Assembly: AssemblyTitle("EgtDOORCreator Debug 32 bit")>
<Assembly: AssemblyDescription("EgtDOORCreatorD32.exe")>
<Assembly: AssemblyDescription("EgtDOORCreatorD32.exe")>
#Else
<Assembly: AssemblyTitle("EgtDOORCreator Release 32 bit")>
<Assembly: AssemblyDescription("EgtDOORCreatorR32.exe")>
#End If
#End If
<Assembly: AssemblyCompany("EgalTech s.r.l.")>
<Assembly: AssemblyCompany("Egalware s.r.l.")>
<Assembly: AssemblyProduct("EgtDOORCreator")>
<Assembly: AssemblyCopyright("Copyright © 2016-2021 by EgalTech s.r.l.")>
<Assembly: AssemblyCopyright("Copyright © 2016-2024 by Egalware 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.11.1")>
<Assembly: AssemblyFileVersion("2.4.11.1")>
<Assembly: AssemblyVersion("2.6.8.2")>
<Assembly: AssemblyFileVersion("2.6.8.2")>
+26 -10
View File
@@ -23,24 +23,40 @@
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- A list of all Windows versions that this application is designed to work with.
Windows will automatically select the most compatible environment.-->
<!-- A list of the Windows versions that this application has been tested on
and is designed to work with. Uncomment the appropriate elements
and Windows will automatically select the most compatible environment. -->
<!-- If your application is designed to work with Windows Vista, uncomment the following supportedOS node-->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>-->
<!-- Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
<!-- If your application is designed to work with Windows 7, uncomment the following supportedOS node-->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>-->
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
<!-- If your application is designed to work with Windows 8, uncomment the following supportedOS node-->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS>-->
<!-- Windows 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
<!-- If your application is designed to work with Windows 8.1, uncomment the following supportedOS node-->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>-->
<!-- Windows 8.1 -->
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
<!-- Windows 10 -->
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
</application>
</compatibility>
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>
</application>
-->
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
<!-- <dependency>
<dependentAssembly>
+43 -5
View File
@@ -30,6 +30,14 @@ Friend Module OptionModule
Friend m_bBevelUp As Visibility
Friend m_bBevelDown As Visibility
' Parametri per la scelta della versione di stampa ddf
Friend m_sVersionDDF As String = "2"
Friend m_sSpaceTabCompo As String = ""
Friend m_sSpace1Tab As String = ConstCompo.DDF_SPACE3
Friend m_sSpace2Tab As String = ConstCompo.DDF_SPACE5
Friend m_sSpace3Tab As String = ConstCompo.DDF_SPACE5
Friend m_sSpaceHype As String = ConstCompo.DDF_HYPHEN
Friend m_DisableInvertBevel As Visibility = Visibility.Collapsed
Friend m_DisableAddGeometry As Visibility = Visibility.Collapsed
@@ -50,6 +58,8 @@ Friend Module OptionModule
Friend m_EnableBrowse As Boolean = False
Friend m_nDispostionScreen As Integer = 0
Friend Enum LauncherOpt As Integer
Open_window = 0
Open_last_project = 1
@@ -232,11 +242,33 @@ Friend Module OptionModule
OptionModule.ReadOnlyDDF = False
End If
' valore indentazione programma
Dim sVer As String = String.Empty
If GetMainPrivateProfileString(S_GENERAL, K_DDFVERSION, "1", sVer) > 0 Then
Dim sItem() As String = sVer.Split(";"c)
m_sVersionDDF = sItem(0).Trim
End If
If m_sVersionDDF = "2" Then
m_sSpaceTabCompo = ConstCompo.DDF_SPACE2
m_sSpace1Tab = ConstCompo.DDF_SPACE2
m_sSpace2Tab = ConstCompo.DDF_SPACE4
m_sSpace3Tab = ConstCompo.DDF_SPACE6
m_sSpaceHype = ConstCompo.DDF_HYPHEN_2
End If
' imposto unità di misura per interfaccia utente
m_bIsMmUnit = (GetMainPrivateProfileInt(S_SCENE, K_MMUNITS, 1) <> 0)
EgtSetUiUnits(m_bIsMmUnit)
m_SelectedMeasureUnit = m_MeasureUnitList(If(m_bIsMmUnit, 0, 1))
' leggo come deve essere visualizzato il programma
Dim nDispositionScreen As Integer = GetMainPrivateProfileInt(S_GENERAL, "DispositionScreen", 0)
If nDispositionScreen < 0 Or nDispositionScreen > 2 Then
m_nDispostionScreen = 0
Else
m_nDispostionScreen = nDispositionScreen
End If
' imposto tipo di avvio
Dim nLauncher As Integer = GetMainPrivateProfileInt(S_LAUNCHERWINDOW, K_LAUNCHER, 0)
m_SelectedOptionLauncher = (nLauncher Mod LoOpenOnce)
@@ -402,19 +434,19 @@ Friend Module OptionModule
Dim Width As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE_INI, K_WIDTH_INI, "32", Width)
Utility.ConvertCompoConfig(Width, 500)
Utility.ConvertCompoConfig(Width, 9999)
m_Width = Width
Dim dWidth As Double
If StringToDouble(m_Width, dWidth) Then EgtLuaSetGlobNumVar("W", dWidth)
Dim Height As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE_INI, K_HEIGHT_INI, "80", Height)
Utility.ConvertCompoConfig(Height, 500)
Utility.ConvertCompoConfig(Height, 9999)
m_Height = Height
Dim dHeight As Double
If StringToDouble(m_Height, dHeight) Then EgtLuaSetGlobNumVar("H", dHeight)
Dim Thickness As String = String.Empty
DefaultGetPrivateProfileString(S_SIZE_INI, K_THICKNESS_INI, "1.75", Thickness)
Utility.ConvertCompoConfig(Thickness, 100)
Utility.ConvertCompoConfig(Thickness, 9999)
m_Thickness = Thickness
Dim dThickness As Double
If StringToDouble(m_Thickness, dThickness) Then EgtLuaSetGlobNumVar("T", dThickness)
@@ -1013,7 +1045,10 @@ Friend Module OptionModule
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 Return False
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
@@ -1035,7 +1070,10 @@ Friend Module OptionModule
End If
End If
Next
If m_MTableList.Count < 1 Then Return False
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
+1 -1
View File
@@ -286,7 +286,7 @@
<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"
Command="{Binding BrowseCommand}" Margin="5" MaxHeight="28"
CommandParameter="ConfigDir"/>
</Grid>
</GroupBox>
+37 -2
View File
@@ -172,6 +172,7 @@ Public Class OptionsVM
NotifyPropertyChanged("ConfigDir")
OptionModule.GetCurrentMachineInMTable()
NotifyPropertyChanged("CurrentMachine")
NotifyPropertyChanged("BaseDir")
End Set
End Property
@@ -193,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"))
@@ -2043,8 +2066,8 @@ Public Class OptionsVM
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
If EnableConfig AndAlso m_IsChangedConfig Then
' Se modifico il direttorio Compo: aggiorno il file Config.ini dell'EgtCAM5
EgtLuaExecFile(IniFile.m_sConfigDir & "\ChangeConfig.lua")
' assegno variabili
EgtLuaSetGlobStringVar("CCD.NewBaseDir", IniFile.m_sDoorsDirPath)
@@ -2059,6 +2082,18 @@ Public Class OptionsVM
Map.refMainWindowVM.CloseApplication()
Process.Start(Application.ResourceAssembly.Location)
'End If
ElseIf EnableConfig AndAlso m_OrigMTable <> OptionModule.m_SelectedMTable.Name Then
' aggiorno il file Config.ini dell'EgtCAM5
EgtLuaExecFile(IniFile.m_sConfigDir & "\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")
End If
End Sub
@@ -361,6 +361,8 @@ Public Class ProjectManagerHardwareVM
End If
Try
Using zip As New Ionic.Zip.ZipFile(sZipToCreate, Console.Out)
zip.AlternateEncodingUsage = Ionic.Zip.ZipOption.Always
zip.AlternateEncoding = Text.Encoding.UTF8
' aggiungo progetto corrente .nge
If File.Exists(sCurrProject) Then
zip.AddItem(sCurrProject, "")
+53 -14
View File
@@ -6,7 +6,7 @@ Imports System.ComponentModel
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
Imports Ionic.zip
Imports Ionic.Zip
Public Class ProjectManagerVM
Implements INotifyPropertyChanged
@@ -411,10 +411,10 @@ Public Class ProjectManagerVM
Map.refAssemblyManagerVM.VisibilityDoorList = Visibility.Visible
Return
End If
'-------------------------------------------------------------------------------------------------------------------------
'-------------------------------------------------------------------------------------------------------------------------
'Prima di tutto chiedo se vuole aprire un template
Dim sImportTemplate As String = Map.refAssemblyManagerVM.ShowDialogImportTemplate
'Prima di tutto chiedo se vuole aprire un template
Dim sImportTemplate As String = Map.refAssemblyManagerVM.ShowDialogImportTemplate
' dichiaro la finestra di dialogo
Dim saveFileDialog1 As New System.Windows.Forms.SaveFileDialog()
@@ -476,6 +476,7 @@ Public Class ProjectManagerVM
' creo un nuovo assemblato
Dim Local_AssemblyName As New AssemblyName
Local_AssemblyName.Name = FilePathComplete
Local_AssemblyName.OrigTemplate = sImportTemplate
Local_AssemblyName.GraphicName = Path.GetFileNameWithoutExtension(FilePathComplete)
m_CurrProject.AssemblyList.Add(Local_AssemblyName)
' Seleziono AssembyName creato
@@ -487,13 +488,17 @@ Public Class ProjectManagerVM
End If
' tolgo la visualizzazione della lista dei nomi
Map.refAssemblyManagerVM.CurrProject = CurrProject
Map.refAssemblyManagerVM.ImportTemplate(sImportTemplate)
Dim bImportedTemplate As Boolean = Map.refAssemblyManagerVM.ImportTemplate(sImportTemplate)
' Creo nuovo assembly
Map.refAssemblyManagerVM.NewCmd(Local_AssemblyName)
Utility.OutLog("Creazione nuovo progetto : " & saveFileDialog1.FileName)
Utility.LockDir(Path.GetDirectoryName(saveFileDialog1.FileName), Path.GetFileNameWithoutExtension(saveFileDialog1.FileName))
Map.refAssemblyManagerVM.VisibilityDoorList = Visibility.Collapsed
CurrProject.NotifyPropertyChanged("Name")
' Se l'importazione del template è andata a buon fine allora salvo
If bImportedTemplate Then
Save()
End If
End If
End Sub
@@ -982,6 +987,7 @@ Public Class ProjectManagerVM
Local_Assembly.IsModified = False
CurrProject.AssemblyList.Add(Local_Assembly)
Else
EgtOutLog("LastProject '" & OptionModule.m_sLastProject & "' is not a file or does not exist!")
Map.refMainWindowVM.SelectedPage = MainWindowVM.ListPageEnum.nNothingSelected
Return
End If
@@ -1121,6 +1127,8 @@ Public Class ProjectManagerVM
End If
Try
Using zip As New Ionic.Zip.ZipFile(sZipToCreate, Console.Out)
zip.AlternateEncodingUsage = Ionic.Zip.ZipOption.Always
zip.AlternateEncoding = Text.Encoding.UTF8
' aggiungo progetto corrente .nge
If File.Exists(sCurrProject) Then
zip.AddItem(sCurrProject, "")
@@ -1186,17 +1194,48 @@ Public Class ProjectManagerVM
End If
' se esite una porta, allora rendo possibile la creazione di un template della porta corrente
If Not IsNothing(Map.refPartPageVM.CurrPart) Then
' Stampo il file correte nella cartella Template
Dim SaveFileDialog As New MySaveFileDialogVM
Dim SaveFileDialogWnd As New EgtWPFLib5.SaveFileDialogV(Application.Current.MainWindow, SaveFileDialog)
SaveFileDialog.Title = EgtMsg(50417)
SaveFileDialog.Directory = IniFile.m_TemplateDir
SaveFileDialog.Extension = DDT_EXTENSION
'SaveFileDialog.FileName = m_CurrProject.Name & "\"
' se decido di chiuedere la finestra
If Not SaveFileDialogWnd.ShowDialog Then
' ' Stampo il file correte nella cartella Template
' Dim SaveFileDialog As New MySaveFileDialogVM
' Dim SaveFileDialogWnd As New EgtWPFLib5.SaveFileDialogV(Application.Current.MainWindow, SaveFileDialog)
' SaveFileDialog.Title = EgtMsg(50417)
' SaveFileDialog.Directory = IniFile.m_TemplateDir
' SaveFileDialog.Extension = DDT_EXTENSION
' 'SaveFileDialog.FileName = m_CurrProject.Name & "\"
' ' se decido di chiuedere la finestra
' If Not SaveFileDialogWnd.ShowDialog Then
' Return
' End If
' Apro la finestra di salvataggio generica
Dim SaveFileDialog As New System.Windows.Forms.SaveFileDialog()
' controllo se esiste il file DDF
Dim sFilePath As String = Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name
If File.Exists(sFilePath) Then
' recupero il nome del template che ha generato il DDF corrente
Dim DDTOrig As String = String.Empty
Dim fStream As String() = File.ReadAllLines(sFilePath)
DDTOrig = ReadOrigTemplate(fStream)
SaveFileDialog.Filter = "(*.ddt) |*.ddt"
SaveFileDialog.FilterIndex = 2
If String.IsNullOrEmpty(DDTOrig) Then
If OptionModule.m_SingleDoor Then
SaveFileDialog.FileName = Path.GetFileNameWithoutExtension(Map.refAssemblyManagerVM.CurrProject.SelAssemblyName.Name)
Else
SaveFileDialog.FileName = Path.GetFileNameWithoutExtension(Map.refAssemblyManagerVM.CurrProject.Name)
End If
Else
SaveFileDialog.FileName = Path.GetFileNameWithoutExtension(DDTOrig)
End If
End If
' avvio la ricerca nell'ultimo direttorio aperto
SaveFileDialog.InitialDirectory = IniFile.m_TemplateDir
If SaveFileDialog.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then
' Interrompo la creazione del template
Return
End If
' Controllo se ha estensione il nome della porta
If Path.HasExtension(SaveFileDialog.FileName) Then
Dim sExtension As String = Path.GetExtension(SaveFileDialog.FileName)
+37
View File
@@ -0,0 +1,37 @@
<EgtWPFLib5:EgtCustomWindow x:Class="SelectPartV"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5"
Title="{Binding Title}"
Style="{DynamicResource {x:Type EgtWPFLib5:EgtCustomWindow}}"
WindowStyle="None" ResizeMode="NoResize" TitleBarHeight="30" IsResizable="False"
IsMinimizable="False" WindowStartupLocation="CenterScreen" ShowInTaskbar="False"
Height="100" Width="300" Topmost="True"
DataContext="{Binding RelativeSource={RelativeSource Self}}">
<!--<EgtWPFLib5:EgtCustomWindow.Resources>
<EgtWPFLib5:FileNameConverter x:Key="FileNameConverter"/>
</EgtWPFLib5:EgtCustomWindow.Resources>-->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<UniformGrid Columns="2" Grid.Row="0" Grid.ColumnSpan="2">
<TextBlock Margin="5" Height="24" Text="{Binding PartDoorMsg}" VerticalAlignment="Center"/>
<ComboBox Margin="5,0,5,0" Height="24" VerticalAlignment="Center"
ItemsSource="{Binding PartDoorList}" SelectedItem="{Binding Selection}"/>
</UniformGrid>
<Button IsDefault="True" Name="OkBtn" Grid.Row="2" Grid.ColumnSpan="2"
Content="{Binding SaveMsg}" Style="{DynamicResource EgtWPFLib5_InputButton}"/>
</Grid>
</EgtWPFLib5:EgtCustomWindow>
+15
View File
@@ -0,0 +1,15 @@
Public Class SelectPartV
Sub New()
' La chiamata è richiesta dalla finestra di progettazione.
InitializeComponent()
' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
End Sub
Private Sub OkBtn_Click() Handles OkBtn.Click
Me.Close()
End Sub
End Class
+46
View File
@@ -0,0 +1,46 @@
Public Class SelectPartVM
Private m_Title As String = "Selection of door"
Public ReadOnly Property Title As String
Get
Return m_Title
End Get
End Property
Private m_PartDoorMsg As String = "Select part"
Public ReadOnly Property PartDoorMsg As String
Get
Return m_PartDoorMsg
End Get
End Property
Private m_PartDoorList As New List(Of String)
Public Property PartDoorList As List(Of String)
Get
Return m_PartDoorList
End Get
Set(value As List(Of String))
m_ListPartDoor = value
End Set
End Property
Private m_Selection As String = ""
Public Property Selection As String
Get
Return m_Selection
End Get
Set(value As String)
m_Selection = value
End Set
End Property
Sub New(TitleWd As String, MsgWd As String, nParts As Integer, nIndex As Integer)
m_Title = TitleWd
m_PartDoorMsg = MsgWd
For Index As Integer = 0 To nParts - 1
m_PartDoorList.Add("Door " & nParts.ToString)
Next
m_Selection = "Door " & nIndex.ToString
End Sub
End Class
+23 -1
View File
@@ -4,6 +4,8 @@ Imports EgtUILib
Imports EgtWPFLib5
Module RegexFunction
Friend sCurrVersionDoor As String = "1"
' restituisce vero se trova il capitoletto [Graphic parameters]
Friend Function IsGraphicParametersTitle(sLine As String) As Boolean
Return Regex.Match(sLine, "\s*--\s*(\[Graphic parameters\])\s*$").Groups(1).Value = "[Graphic parameters]"
@@ -119,6 +121,20 @@ Module RegexFunction
Return True
End Function
' leggo dal vettore per cercare la stringa OrigTemplate
Friend Function ReadOrigTemplate(fStream As String()) As String
Dim sOrigTemplate As String = String.Empty
For Each Line As String In fStream
If Line.Contains("#OrigTemplate") Then
sOrigTemplate = Regex.Match(Line, "\s*:\s*(.*?)\s*$").Groups(1).Value
Return sOrigTemplate
Exit For
End If
Next
' Processo il tipo di configurazione
Return sOrigTemplate
End Function
' restituisce quello che segue l'uguale assegnata la parola chiave Err
Friend Function ErrDraw(sLine As String) As Integer
Dim sErrMsg As String = Regex.Match(sLine, "\s*(Err)\s*=\s*(.*?\b)\s*$").Groups(2).Value
@@ -216,8 +232,14 @@ Module RegexFunction
' Restituisce il nome che precede i due punti (tutti i caratteri dall'inizio della stringa)
Friend Function GetName(sLine As String) As String
' La versione deve essere impostata in fase di lettura della porta
Dim sTmp As String = RemoveComment(sLine)
If String.IsNullOrWhiteSpace(sTmp) OrElse Char.IsWhiteSpace(sTmp, 0) Then Return ""
If sCurrVersionDoor = "2" Then
If String.IsNullOrWhiteSpace(sTmp) OrElse sTmp.StartsWith(OptionModule.m_sSpaceHype) OrElse sTmp.StartsWith(OptionModule.m_sSpace3Tab) Then Return ""
Else
If String.IsNullOrWhiteSpace(sTmp) OrElse Char.IsWhiteSpace(sTmp, 0) Then Return ""
End If
Dim sString As String = Regex.Match(RemoveComment(sLine), "\s*(.*?\b)\s*:.*").Groups(1).Value
Return Regex.Match(RemoveComment(sLine), "\s*(.*?\b)\s*:.*").Groups(1).Value
End Function
+19 -5
View File
@@ -121,12 +121,26 @@ Public Class SceneManagerVM
m_ProjectSceneHost.Child = Nothing
' Se manca la chiave
If IniFile.m_nKeyLevel = -1 Or IniFile.m_nKeyLevel = -2 Then
EgtOutLog("Missing Dongle")
' Box di avviso chiave mancante : "Chiave non presente. \n Inserirla e riavviare il programma." "Errore"
Dim sText As String = EgtMsg(MSG_MISSINGKEYWD + 2) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 3)
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
If Not EgtGetNetHwKey() Then
EgtOutLog("Missing Dongle")
' Box di avviso chiave mancante : "Chiave non presente. \n Inserirla e riavviare il programma." "Errore"
Dim sText As String = EgtMsg(MSG_MISSINGKEYWD + 2) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 3)
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
MessageBox.Show(sText, sTitle, MessageBoxButton.OK, MessageBoxImage.Error)
Else
EgtOutLog("NetDongle is full")
' Box di avviso slot chiave di rete occupato : "Chiave di Rete completamente occupata. \n Uscire dal programma su un altro PC." "Errore"
Dim sText As String = EgtMsg(10110) & vbCrLf & EgtMsg(10111)
Dim sTitle As String = EgtMsg(10101)
MessageBox.Show(sText, sTitle, MessageBoxButton.OK, MessageBoxImage.Error)
End If
ElseIf IniFile.m_nKeyLevel = -9 Then
EgtOutLog("Missing Link with Net Dongle")
' Box di avviso chiave mancante : "Collegamento con la Chiave di rete non riuscito. \n Verificare la connessione." "Errore"
Dim sText As String = EgtMsg(10108) & vbCrLf & EgtMsg(10109)
Dim sTitle As String = EgtMsg(10101)
MessageBox.Show(sText, sTitle, MessageBoxButton.OK, MessageBoxImage.Error)
' Altrimenti manca la licenza
' Altrimenti manca la licenza
Else
EgtOutLog("Problems with Licence")
' Box di avviso licenza con problemi : "Programma senza licenza. \n Caricala e riavvia il programma." "Errore"
+107 -27
View File
@@ -40,17 +40,21 @@ Public Module Utility
End Function
Public Function IsFileLocked(ByVal CurrDirectory As String, Optional ByVal CurrFile As String = "", Optional ByVal bSendMsg As Boolean = True) As Boolean
If String.IsNullOrEmpty(CurrDirectory) Then
EgtOutLog("Impossible to find directory")
Return False
End If
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 +108,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))
@@ -304,7 +308,32 @@ Public Module Utility
Return "0.0000"
End If
End Select
ElseIf sValue.Contains("(") And sValue.Contains(")") And Not sValue.Contains("inch") Then
ElseIf sValue.Contains("(") And sValue.Contains(")") And sValue.Contains("mm") Then
sValue = Trim(sValue.Replace("mm", ""))
If sValue.StartsWith("(") And sValue.EndsWith(")") Then
Dim ArrayString() As Char = StringToChar(sValue)
ArrayString(0) = CChar("§")
ArrayString(ArrayString.Count - 1) = CChar("§")
sValue = CharToString(ArrayString, sValue)
sValue = Trim(sValue.Replace("§", ""))
End If
If String.IsNullOrEmpty(sValue) Then Return "0.0000"
' ricevo un valore in inches
Select Case OptionModule.m_SelectedMeasureUnit
Case ConstGen.MM ' se la configurazione è inches non faccio conversioni
If StringToDouble(sValue, dVal) Then
Return sValue
Else
Return "0.0000"
End If
Case ConstGen.VAL_INCHES ' se la configurazione è in mm faccio la conevrsione
If MmToInches(sValue) Then
Return sValue
Else
Return "0.0000"
End If
End Select
ElseIf sValue.Contains("(") And sValue.Contains(")") And (Not sValue.Contains("inch") Or Not sValue.Contains("mm")) Then
'sValue = Regex.Match(sValue, "\s*\((.*?)\s*\)\s*\.*").Groups(1).Value
If String.IsNullOrEmpty(sValue) Then Return "0.0000"
' ricevo un valore in mm
@@ -353,16 +382,36 @@ Public Module Utility
Friend Function MmToInches(ByRef sMeasure As String) As Boolean
Dim dVal As Double = 0.0
If Not StringToDouble(sMeasure, dVal) Then Return False
dVal = dVal / ONEINCH
'dVal = dVal / ONEINCH
sMeasure = LenToString(dVal, 4)
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
Return True
Else
' la configurazione è già in mm quindi non devo convertire
If OptionModule.m_IsMM Then
Return True
End If
Return InchesToMm(sMeasure)
End If
Return False
@@ -388,10 +437,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
@@ -401,7 +450,7 @@ Public Module Utility
End If
ElseIf OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES And OptionModule.m_IsMM Then
' Discordi
If StringToLen(sItems, dDefaultValue) AndAlso dDefaultValue < dControlValue Then
If StringToDouble(sItems, dDefaultValue) AndAlso dDefaultValue < dControlValue Then
MmToInches(sItems)
Return True
End If
@@ -453,6 +502,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 +539,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
@@ -487,9 +558,9 @@ Public Module Utility
sMyVal = sMyVal.Replace("H", "(DGD.dH/25.4)")
sMyVal = sMyVal.Replace("T", "(DGD.dT/25.4)")
Else
sMyVal = sMyVal.Replace("W", "DGD.dW")
sMyVal = sMyVal.Replace("H", "DGD.dH")
sMyVal = sMyVal.Replace("T", "DGD.dT")
sMyVal = sMyVal.Replace("W", "(DGD.dW)")
sMyVal = sMyVal.Replace("H", "(DGD.dH)")
sMyVal = sMyVal.Replace("T", "(DGD.dT)")
End If
End If
Return sMyVal
@@ -498,16 +569,25 @@ Public Module Utility
Friend Function ConvertToDGD(sTypeVar As String, sValue As String) As String
Dim sMyVal As String = sValue
' se testo numerico, eseguo opportunbe conversioni per H,W e T
If sTypeVar = ConstGen.INCHES Or sTypeVar = ConstGen.MM Then
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES Then
sMyVal = sMyVal.Replace("(DGD.dW/25.4)", "W")
sMyVal = sMyVal.Replace("(DGD.dH/25.4)", "H")
sMyVal = sMyVal.Replace("(DGD.dT/25.4)", "T")
Else
sMyVal = sMyVal.Replace("DGD.dW", "W")
sMyVal = sMyVal.Replace("DGD.dH", "H")
sMyVal = sMyVal.Replace("DGD.dT", "T")
End If
'If sTypeVar = ConstGen.INCHES Or sTypeVar = ConstGen.MM Then
' If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES Then
' sMyVal = sMyVal.Replace("(DGD.dW/25.4)", "W")
' sMyVal = sMyVal.Replace("(DGD.dH/25.4)", "H")
' sMyVal = sMyVal.Replace("(DGD.dT/25.4)", "T")
' Else
' sMyVal = sMyVal.Replace("DGD.dW", "W")
' sMyVal = sMyVal.Replace("DGD.dH", "H")
' sMyVal = sMyVal.Replace("DGD.dT", "T")
' End If
'End If
If sMyVal.Contains("25.4") Then
sMyVal = sMyVal.Replace("(DGD.dW/25.4)", "W")
sMyVal = sMyVal.Replace("(DGD.dH/25.4)", "H")
sMyVal = sMyVal.Replace("(DGD.dT/25.4)", "T")
Else
sMyVal = sMyVal.Replace("DGD.dW", "W")
sMyVal = sMyVal.Replace("DGD.dH", "H")
sMyVal = sMyVal.Replace("DGD.dT", "T")
End If
Return sMyVal
End Function