Compare commits

...

18 Commits

Author SHA1 Message Date
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 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 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
22 changed files with 433 additions and 78 deletions
+68 -9
View File
@@ -31,6 +31,13 @@ Public Class Assembly
' tutte queste proprietà interagiscono direttamente con le dimensioni del TELAIO
' per questo motivo la funzione set può ospitare la chiamata ad una funzione che modifica le dimensioni della porta
Private m_AssemblyUnit As String = ConstGen.VAL_INCHES
Public ReadOnly Property AssemblyUnit As String
Get
Return m_AssemblyUnit
End Get
End Property
#Region "GENERAL"
#Region "Light Up/Bottom"
@@ -1109,6 +1116,28 @@ Public Class Assembly
' se non carico nessuna informazione allora non è un assemblato, esco
If IndexLine = 0 Then Return ResultReadingAssembInfo.MissingAssembInfo
' Measure
If IndexLine < FileContent.Count - 1 Then
If SearchKey(FileContent(IndexLine), "Unit") Then
' leggo le dimemensioni dei Jamb e restituisco la riga successiva
IndexLine = GetUnit(IndexLine + 1)
If IndexLine = -1 Then
' 50102: Failed reading DDF file. Missing needed parameter {0}.
sErrorInfo += String.Format(EgtMsg(50102), "measures" + vbCrLf)
Return ResultReadingAssembInfo.ErrorInAssembInfo
End If
Else
IndexLine = GetUnitFromDoor(IndexLine)
If IndexLine = -1 Then
' 50102: Failed reading DDF file. Missing needed parameter {0}.
sErrorInfo += String.Format(EgtMsg(50102), "measures" + vbCrLf)
Return ResultReadingAssembInfo.ErrorInAssembInfo
End If
End If
End If
IndexLine = SkipWhiteSpace(IndexLine)
If IndexLine = 0 Then Return ResultReadingAssembInfo.MissingAssembInfo
' Size
If IndexLine < FileContent.Count - 1 Then
If SearchKey(FileContent(IndexLine), ConstIni.S_SIZE_INI) Then
@@ -1184,7 +1213,7 @@ Public Class Assembly
If IndexLine < FileContent.Count Then
If SearchKey(FileContent(IndexLine), ConstIni.S_DOORS_ASSEMBY) Then
' assegno ad una variabile il valore in lettura
IndexLine = GetValue(IndexLine, ConstIni.S_DOORS_ASSEMBY, m_DoorNumber)
IndexLine = GetValue(IndexLine, ConstIni.S_DOORS_ASSEMBY, m_DoorNumber, False)
' assegno il numero di ante
SetDoorNumber(m_DoorNumber)
If IndexLine = -1 Then
@@ -1237,7 +1266,7 @@ Public Class Assembly
End Function
' funzione per la ricerca dei valori, restituice la riga successiva
Private Function GetValue(Index As Integer, Name As String, ByRef Var As String) As Integer
Private Function GetValue(Index As Integer, Name As String, ByRef Var As String, Optional bConvertUnit As Boolean = True) As Integer
If Index = -1 Then Return -1
Dim Local_Var As String = GetValueWithKey(FileContent(Index), Name)
If String.IsNullOrWhiteSpace(Local_Var) Then
@@ -1245,6 +1274,7 @@ Public Class Assembly
If Not SearchKey(FileContent(Index), Name) Then Return -1
' altrimenti lascia il valore vuoto
Else
If bConvertUnit Then ConvertDDFValueIntoCurrentUnit(m_AssemblyUnit, Local_Var)
Var = Local_Var
End If
Return Index + 1
@@ -1330,6 +1360,35 @@ Public Class Assembly
End If
End Sub
' Unit (Metadati Assembly)
Private Function GetUnit(Index As Integer) As Integer
If Index = -1 Then Return -1
Dim PreviuosIndex As Integer = Index
Index = GetValue(Index, "measures", m_AssemblyUnit, False)
Return Index
End Function
' Measures (Parametri Door)
Private Function GetUnitFromDoor(Index As Integer) As Integer
' inizio la ricerca all'interno del file
Dim PreviuosIndex As Integer = Index
Dim bUnitFound As Boolean = False
' cerco la prima porta e recupero la sua unità di misura
While Not SearchKey(FileContent(Index), "measures") And Index < FileContent.Count - 1
Index += 1
End While
If SearchKey(FileContent(Index), "measures") Then
m_AssemblyUnit = GetValueWithKey(FileContent(Index), "measures")
bUnitFound = True
End If
If bUnitFound Then
Index = PreviuosIndex
Else
Index = -1
End If
Return Index
End Function
' Size
Private Function GetSize(Index As Integer) As Integer
If Index = -1 Then Return -1
@@ -2774,7 +2833,7 @@ Public Class Assembly
If TBoxPar.EnableCopy Then
TBoxNewPar.SetValue(TBoxPar.Value)
TBoxNewPar.SetIsActive(TBoxPar.IsActive)
End If
End If
ElseIf TypeOf PrecCompo.CompoParamList(IndexParam) Is TextBoxParam AndAlso
PrecCompo.CompoParamList(IndexParam).DDFName = NewCompo.CompoParamList(IndexParam).DDFName Then
Dim TBoxPar As TextBoxParam = DirectCast(PrecCompo.CompoParamList(IndexParam), TextBoxParam)
@@ -2796,7 +2855,7 @@ Public Class Assembly
Dim CBoxNewPar As ComboBoxParam = DirectCast(NewCompo.CompoParamList(IndexParam), ComboBoxParam)
If CBoxNewPar.EnableCopy Then
CBoxNewPar.SetSelItem(CBoxNewPar.ItemList(CBoxNewPar.ItemList.IndexOf(CBoxPar.SelItem)))
End If
End If
End If
Next
End Sub
@@ -3735,8 +3794,8 @@ Public Class Assembly
End If
End If
Else
' rimuovo dalla lista
If bRabbet Then Jamb.CompoList.RemoveAt(IndexCompo)
' rimuovo dalla lista
If bRabbet Then Jamb.CompoList.RemoveAt(IndexCompo)
End If
End Sub
@@ -3763,9 +3822,9 @@ Public Class Assembly
TextParam.m_Value = DoubleToString(dDeltaT + dThicknessDoor, 4)
End If
TextParam.NotifyPropertyChanged("Value")
End If
' depth
CurrCompoParam = CurrCompo.CompoParamList(2)
End If
' depth
CurrCompoParam = CurrCompo.CompoParamList(2)
If TypeOf DirectCast(CurrCompoParam, CompoParam) Is TextBoxParam Then
Dim TextParam As TextBoxParam = DirectCast(CurrCompoParam, TextBoxParam)
Dim sRabbetDepth As String = sOverlap
+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
+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)
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
+34 -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
@@ -125,7 +147,7 @@ Public Class CompoType
Return other
End Function
Sub New(sName As String, sDDFName As String, sPath As String, sJambSide As String, sFolderName As String, Optional ByVal sDDFMaterial As String = "wood")
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
@@ -135,4 +157,15 @@ Public Class CompoType
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
End Class
+3
View File
@@ -64,6 +64,7 @@ Module ConstCompo
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"
@@ -135,9 +136,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"
+11 -2
View File
@@ -71,8 +71,10 @@ Friend Module DdfFile
DdfFileContent.Add("produce: " & If(Part.IsActive, "true", "false"))
'Genero una lista di stringhe
DdfFileContent.Add("")
If IsNothing(Part.Measure) Then Part.Measure = ConvertMmUnitsToString(OptionModule.m_bIsMmUnit)
DdfFileContent.Add(ConstCompo.S_MEASURES & ": " & Part.Measure)
'If IsNothing(Part.Measure) Then Part.Measure = ConvertMmUnitsToString(OptionModule.m_bIsMmUnit)
'DdfFileContent.Add(ConstCompo.S_MEASURES & ": " & Part.Measure)
DdfFileContent.Add(ConstCompo.S_MEASURES & ": " & ConvertMmUnitsToString(OptionModule.m_bIsMmUnit))
' 50200=Unit measure
CompoDoorReport.CompoParameterList.Add(New ReportParameter(EgtMsg(50200), Part.Measure))
@@ -1540,6 +1542,13 @@ Friend Module DdfFile
GeneralAssembly.Add("#EGTDOORCREATOR")
GeneralAssembly.Add("#GENERAL ASSEMBLY")
GeneralAssembly.Add("#")
' dalla veresione 2.4l1 per gestione conversione mm/inch e viceversa
GeneralAssembly.Add(ConstCompo.DDF_METADATA & "Unit : ")
GeneralAssembly.Add(ConstCompo.DDF_METADATA & "measures : " & ConvertMmUnitsToString(OptionModule.m_bIsMmUnit))
GeneralAssembly.Add(DDF_METADATA)
' dati assemblato
GeneralAssembly.Add(ConstCompo.DDF_METADATA & "Size : ")
If StringToDouble(CurrAssembly.Thickness, dVal) Then
GeneralAssembly.Add(ConstCompo.DDF_METADATA & "thickness : " & DoubleToString(dVal, 5))
+35 -5
View File
@@ -1134,7 +1134,7 @@ Public Class Compo
Return True
Case INI_TEXTBOX
Case INI_TEXTBOX, INI_TEXTBOX_D
' NomeDDF e Nome del Text
Dim sTextList() As String = sItems(1).Split("/"c)
Dim sDDFName As String = String.Empty
@@ -1150,20 +1150,30 @@ Public Class Compo
' Se ci sono 2 elementi "TextBox; NomeDDF/Nome"
If sItems.Count < 3 Then
NewCompoParam = New TextBoxParam(sDDFName, sName, Me, "0.000", Nothing, Nothing)
If Trim(sItems(0)).EndsWith("d"c) Then
Dim Loc_TextBox_d As TextBoxParam = DirectCast(NewCompoParam, TextBoxParam)
Loc_TextBox_d.bIsLen = False
NewCompoParam = Loc_TextBox_d
End If
' Errore nella lettura {0} nel parametro {1} della componente: non esiste il valore.
sErrorList = ConcatErrorString(sErrorList, String.Format(EgtMsg(50125), sName, m_CompoType.DDFName))
Return True
End If
' recupero il valore di default
Dim dHeight As Double = 500 ' Attenzione ai mm
If Not ConvertCompoConfig(sItems(2), dHeight) Then
If Not Trim(sItems(0)).EndsWith("d"c) AndAlso Not ConvertCompoConfig(sItems(2), dHeight) Then
sErrorList = ConcatErrorString(sErrorList, String.Format(EgtMsg(50147), sName, sItems(2)))
End If
NewCompoParam = New TextBoxParam(sDDFName, sName, Me, sItems(2), Nothing, Nothing)
If Trim(sItems(0)).EndsWith("d"c) Then
Dim Loc_TextBox_d As TextBoxParam = DirectCast(NewCompoParam, TextBoxParam)
Loc_TextBox_d.bIsLen = False
NewCompoParam = Loc_TextBox_d
End If
Return True
Case INI_TEXTBOX_ONOFF
Case INI_TEXTBOX_ONOFF, INI_TEXTBOX_ONOFF_D
' NomeDDF e Nome del Text
Dim sTextList() As String = sItems(1).Split("/"c)
Dim sDDFName As String = String.Empty
@@ -1179,6 +1189,11 @@ Public Class Compo
' Se ci sono 2 elementi "TextBox; NomeDDF/Nome"
If sItems.Count < 3 Then
NewCompoParam = New TextBoxOnOffParam(sDDFName, sName, Me, "0.000", Nothing, Nothing, False)
If Trim(sItems(0)).EndsWith("d"c) Then
Dim Loc_TextBox_d As TextBoxOnOffParam = DirectCast(NewCompoParam, TextBoxOnOffParam)
Loc_TextBox_d.bIsLen = False
NewCompoParam = Loc_TextBox_d
End If
' Errore nella lettura {0} nel parametro {1} della componente: non esiste il valore.
sErrorList = ConcatErrorString(sErrorList, String.Format(EgtMsg(50125), sName, m_CompoType.DDFName))
Return True
@@ -1191,12 +1206,16 @@ Public Class Compo
' recupero il valore di default
Dim dHeight As Double = 500 ' Attenzione ai mm
If Not ConvertCompoConfig(sItems(2), dHeight) Then
If Not Trim(sItems(0)).EndsWith("d"c) AndAlso Not ConvertCompoConfig(sItems(2), dHeight) Then
sErrorList = ConcatErrorString(sErrorList, String.Format(EgtMsg(50147), sName, sItems(2)))
End If
NewCompoParam = New TextBoxOnOffParam(sDDFName, sName, Me, sItems(2), Nothing, Nothing, bActiveBox)
If Trim(sItems(0)).EndsWith("d"c) Then
Dim Loc_TextBox_d As TextBoxOnOffParam = DirectCast(NewCompoParam, TextBoxOnOffParam)
Loc_TextBox_d.bIsLen = False
NewCompoParam = Loc_TextBox_d
End If
Return True
End Select
@@ -2367,6 +2386,17 @@ Public Class TextBoxParam
Shared m_PrecCompoIdCode As String = "-1"
Shared m_PrecNameParam As String = String.Empty
' utilizzata per riconoscere se il valore della text deve essere convertito mm/inch o viceversa
Private m_bIsLen As Boolean = True
Public Property bIsLen As Boolean
Get
Return m_bIsLen
End Get
Set(value As Boolean)
m_bIsLen = value
End Set
End Property
' utilizzato negli Hardware
Private m_TypeVar As String
Public Property TypeVar As String
+26 -2
View File
@@ -1940,6 +1940,7 @@ Public Class Part
'50159= Missing parameter in ddf!
MessageBox.Show(String.Format(EgtMsg(50141), ConstIni.K_WIDTH_INI) & EgtMsg(50159), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
Else
ConvertDDFValueIntoCurrentUnit(m_Measure, Width)
SetWidth(Width)
End If
Index = NextIndex(Index)
@@ -1956,6 +1957,7 @@ Public Class Part
' 50159 = Missing parameter in ddf!
MessageBox.Show(String.Format(EgtMsg(50141), ConstIni.K_HEIGHT_INI) & EgtMsg(50159), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
Else
ConvertDDFValueIntoCurrentUnit(m_Measure, Height)
SetHeight(Height)
End If
Index = NextIndex(Index)
@@ -1972,6 +1974,7 @@ Public Class Part
' 50159 = Missing parameter in ddf!
MessageBox.Show(String.Format(EgtMsg(50141), ConstIni.K_THICKNESS_INI) & EgtMsg(50159), EgtMsg(50101), MessageBoxButton.OK, MessageBoxImage.Error)
Else
ConvertDDFValueIntoCurrentUnit(m_Measure, Thickness)
SetThickness(Thickness)
End If
Map.refAssemblyPageVM.CurrAssembly.SetVarAssembly()
@@ -2355,6 +2358,7 @@ Public Class Part
If String.IsNullOrWhiteSpace(LockEdgeOverMaterial) Then
If Not SearchKey(sLine, K_OVERMATERIAL) Then Return -1
Else
ConvertDDFValueIntoCurrentUnit(m_Measure, LockEdgeOverMaterial)
m_LockEdgeOverMaterial = LockEdgeOverMaterial
End If
Index = NextIndex(Index)
@@ -2417,9 +2421,11 @@ Public Class Part
If String.IsNullOrWhiteSpace(HingeEdgeOverMaterial) Then
If Not SearchKey(sLine, K_OVERMATERIAL) Then Return -1
Else
ConvertDDFValueIntoCurrentUnit(m_Measure, HingeEdgeOverMaterial)
m_HingeEdgeOverMaterial = HingeEdgeOverMaterial
End If
Index = NextIndex(Index)
'-------------------------------------------------------------------------------
' Top
If Index > FileContent.Count() - 1 Then Return -1
sLine = RemoveComment(FileContent(Index))
@@ -2476,12 +2482,14 @@ Public Class Part
If String.IsNullOrWhiteSpace(TopOverMaterial) Then
If Not SearchKey(sLine, K_OVERMATERIAL) Then Return -1
Else
ConvertDDFValueIntoCurrentUnit(m_Measure, TopOverMaterial)
m_TopOverMaterial = TopOverMaterial
End If
Index = NextIndex(Index)
If Index > FileContent.Count() - 1 Then Return -1
sLine = RemoveComment(FileContent(Index))
'-------------------------------------------------------------------------------
' Top Arc
Dim Radius As String = GetValueWithKey(sLine, ConstCompo.K_RADIUS)
If Not String.IsNullOrEmpty(Radius) Then
Index = NextIndex(Index)
@@ -2495,7 +2503,9 @@ Public Class Part
Index = NextIndex(Index)
Else
Index = NextIndex(Index)
ConvertDDFValueIntoCurrentUnit(m_Measure, Radius)
m_Radius = Radius
ConvertDDFValueIntoCurrentUnit(m_Measure, Posx)
m_Posx = Posx
TopArcIsChecked = True
TopShapeIsChecked = True
@@ -2519,6 +2529,7 @@ Public Class Part
Else
Index = NextIndex(Index)
m_Angle = Angle
ConvertDDFValueIntoCurrentUnit(m_Measure, PosxAngle)
m_PosxAngle = PosxAngle
TopAngleIsChecked = True
SelectedShape = m_TopShapeList(1)
@@ -2584,6 +2595,7 @@ Public Class Part
If String.IsNullOrWhiteSpace(BottomOverMaterial) Then
If Not SearchKey(sLine, K_OVERMATERIAL) Then Return -1
Else
ConvertDDFValueIntoCurrentUnit(m_Measure, BottomOverMaterial)
m_BottomOverMaterial = BottomOverMaterial
End If
CalcBevelFromSecure()
@@ -2955,7 +2967,13 @@ Public Class Part
Dim sVal As String = GetValueWithoutKey(sLine)
' per ora non esegue nessun tipo di controllo sui valori letti dal file DDF
' DirectCast(CurrCompoParam, TextBoxParam).m_Value = sVal
DirectCast(CurrCompoParam, TextBoxParam).Value = sVal
Dim Local_TextBoxParam As TextBoxParam = DirectCast(CurrCompoParam, TextBoxParam)
If Local_TextBoxParam.bIsLen Then
ConvertDDFValueIntoCurrentUnit(m_Measure, sVal)
Local_TextBoxParam.Value = sVal
Else
Local_TextBoxParam.Value = sVal
End If
' avviso che il file è modificato (in caso di chiusura del programma obbligo a passare dal salvataggio)
Dim dVal As Double
If String.IsNullOrEmpty(sVal) OrElse Not StringToDouble(sVal, dVal) Then
@@ -3002,7 +3020,13 @@ Public Class Part
If String.Equals(Trim(CompoTemplateItem.CompoParamList(IndexParam).DDFName), GetKey(sLine)) Then
' se la stringa c'è nel DDF vuol dire che è stata selezionata
Dim sVal As String = GetValueWithKey(sLine, Trim(CurrCompoParam.DDFName))
DirectCast(CurrCompoParam, TextBoxOnOffParam).m_Value = sVal
Dim Local_TextBoxOnOffParam As TextBoxOnOffParam = DirectCast(CurrCompoParam, TextBoxOnOffParam)
If Local_TextBoxOnOffParam.bIsLen Then
ConvertDDFValueIntoCurrentUnit(m_Measure, sVal)
Local_TextBoxOnOffParam.m_Value = sVal
Else
Local_TextBoxOnOffParam.m_Value = sVal
End If
'DirectCast(CurrCompoParam, TextBoxOnOffParam).Value = sVal
Dim dVal As Double
If String.IsNullOrEmpty(sVal) OrElse Not StringToDouble(sVal, dVal) Then
+3 -3
View File
@@ -14,14 +14,14 @@
<Grid IsEnabled="{Binding EnablePageDoor}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="5*"/>
<ColumnDefinition Width="1*"/>
</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="0" 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 Grid.Column="1" Grid.Row="0" Content="{Binding CompoPanelControl}"/>
<!--<EgtDOORCreator:CompoPanelV Grid.Column="0" DataContext="{Binding CompoPanelPartVM}"/>-->
</Grid>
</UserControl>
+2 -2
View File
@@ -619,8 +619,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>
+44 -8
View File
@@ -739,14 +739,15 @@ 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
@@ -793,6 +794,18 @@ Public Class Hardware
Dim NewParam As New CompoParam(m_HardwareGeneral.DDFName, m_HardwareGeneral.Name, Chapter)
Dim sHelpParam As String = String.Empty
EgtUILib.GetPrivateProfileString(S_CHAPTER & ChapterIndex, "HelpParam" & ParamIndex, "", sHelpParam, m_StdTemplate)
' verifico se il materiale corrente deve essere visualizzato in funzione del materiale associato al parametro
Dim sMaterialParam As String = String.Empty
Dim MaterialParamList As New List(Of String)
Dim bIsCurrentMaterialParam As Boolean = True
Dim sDefaultGhostValue As String = ""
StdTemplateGetPrivateProfileListMaterialParam(S_CHAPTER & ChapterIndex, "MaterialParam" & ParamIndex, MaterialParamList, sDefaultGhostValue)
IsCurrentMaterial(MaterialParamList, bIsCurrentMaterialParam)
If Not bIsCurrentMaterialParam Then
' trasformo il parametro in Ghost
TrasformCurrParamInGhost(sParam, sDefaultGhostValue)
End If
' leggo il tipo di parametro, se la lettura va a buon fine la carico
If Chapter.ReadParamHardware(sParam, sHelpParam, NewParam, ErrorReading) Then Chapter.CompoParamList.Add(NewParam)
If TypeOf NewParam Is TextBoxOnOffParam Then
@@ -834,6 +847,29 @@ Public Class Hardware
End If
End Sub
' recupera il l'elenco dei materiali indicati nella stringa e verifica se nell'elenco è presente il materiale attivo nella porta
Private Sub IsCurrentMaterial(sMaterialList As List(Of String), ByRef bIsCurrentMaterial As Boolean)
For Each ItemMaterial In sMaterialList
bIsCurrentMaterial = False
Dim ArrayItemMaterial As String() = ItemMaterial.Split("/"c)
If Trim(ArrayItemMaterial(0)) = Trim(Map.refHardwarePageVM.GenericPart.SelectedMaterial.NameDDF) Then
bIsCurrentMaterial = True
Exit For
End If
Next
End Sub
Private Sub TrasformCurrParamInGhost(ByRef sParamLine As String, ByVal sDefaultValue As String)
' separo la stringa
Dim sItems As String() = sParamLine.Split(";"c)
If sItems.Count > 2 Then
sItems(0) = "Ghost"
sItems(2) = sDefaultValue
End If
' riassemblo la stringa iniziale
sParamLine = Trim(sItems(0)) & "; " & Trim(sItems(1)) & "; " & Trim(sItems(2))
End Sub
' carico la liste dei nomi dei capitoli
Private Function SetGroupChaptername(sName As String) As Boolean
If m_GroupChapterName.Count = 0 Then m_GroupChapterName.Add(sName)
+5 -4
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="1*"/>
</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="0" 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="1" 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="0" Grid.Row="1" Margin="0,0,2,0" />
</Grid>
+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)
+3 -2
View File
@@ -57,8 +57,8 @@ Friend Class MainWindowModel
EgtUILib.GetPrivateProfileString(S_LICENCE, K_KEY, "", sKey, sLicFile)
EgtSetKey(sKey)
' Recupero livello e opzioni della chiave
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2412, 1, IniFile.m_nKeyLevel) And
EgtGetKeyOptions(3279, 2412, 1, IniFile.m_nKeyOptions)
Dim bKey As Boolean = EgtGetKeyLevel(3279, 2531, 1, IniFile.m_nKeyLevel) And
EgtGetKeyOptions(3279, 2531, 1, IniFile.m_nKeyOptions)
'Inizializzazione generale di EgtInterface
m_nDebug = GetMainPrivateProfileInt(S_GENERAL, K_DEBUG, 0)
Dim sLogFile As String = IniFile.m_sTempDir & "\" & GENLOG_FILE_NAME.Replace("#", m_nInstance.ToString())
@@ -96,6 +96,7 @@ Friend Class MainWindowModel
Dim sLuaLibsDir As String = String.Empty
GetMainPrivateProfileString(S_LUA, K_LIBSDIR, "", sLuaLibsDir)
EgtSetLuaLibs(sLuaLibsDir)
IniFile.m_sLuaLibsDir = sLuaLibsDir
Dim sLuaBaseLib As String = String.Empty
GetMainPrivateProfileString(S_LUA, K_BASELIB, "EgtBase", sLuaBaseLib)
EgtLuaRequire(sLuaBaseLib)
+4 -4
View File
@@ -23,8 +23,8 @@
<Grid>
<Grid.ColumnDefinitions>
<!--<ColumnDefinition Width="1*"/>-->
<ColumnDefinition Width="6*"/>
<ColumnDefinition Width="5*"/>
<ColumnDefinition Width="6*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
@@ -32,9 +32,9 @@
</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="1" Grid.Row="0" Content="{Binding AssemblyManagerControl}"/>
<ContentControl Grid.Column="1" Grid.Row="1" Content="{Binding PageControl}"/>
<EgtDOORCreator:SceneManagerV Grid.Column="0" Grid.RowSpan="2" DataContext="{StaticResource SceneManagerVM}"/>
</Grid>
+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-2022 by EgalTech s.r.l.")>
<Assembly: AssemblyCopyright("Copyright © 2016-2023 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.12.1")>
<Assembly: AssemblyFileVersion("2.4.12.1")>
<Assembly: AssemblyVersion("2.5.3.1")>
<Assembly: AssemblyFileVersion("2.5.3.1")>
+8 -2
View File
@@ -1013,7 +1013,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 +1038,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
+49 -11
View File
@@ -43,14 +43,14 @@ Public Module Utility
Dim sLockFile As String = GenerateLockFileName(CurrDirectory, CurrFile)
Dim bIsLocked As Boolean = False
Dim FileList As String() = Directory.GetFiles(CurrDirectory)
' recurpero il nome del primo file bloccato nel direttorio corrente (se non è specificato un file)
If String.IsNullOrEmpty(CurrFile) then
Try
If String.IsNullOrEmpty(CurrFile) Then
Try
sLockFile = FileList.First(Function(x) x.EndsWith(LCK_EXTENSION))
Catch ex As Exception
End Try
End If
End If
If File.Exists(sLockFile) Then
Try
@@ -104,9 +104,9 @@ Public Module Utility
m_CurrLockFile = GenerateLockFileName(CurrDirectory, CurrFile)
m_StopSaving = False
'If VerifyFileLocked(CurrDirectory, CurrFile) Then Return False
If Not IsNothing(Map.refMainWindowVM.AssemblyManagerControl) then
If Not IsNothing(Map.refMainWindowVM.AssemblyManagerControl) Then
Map.refMainWindowVM.AssemblyManagerControl.Visibility = Visibility.Visible
End If
End If
Try
Dim NomeUtente As String = Environment.MachineName & "/" & Environment.UserName
File.WriteAllText(m_CurrLockFile, NomeUtente, New System.Text.UTF8Encoding(False))
@@ -358,6 +358,22 @@ Public Module Utility
Return True
End Function
Friend Function DirectInchesToMm(ByRef sMeasure As String) As Boolean
Dim dVal As Double = 0.0
If Not StringToDouble(sMeasure, dVal) Then Return False
dVal = dVal * ONEINCH
sMeasure = DoubleToString(dVal, 3)
Return True
End Function
Friend Function DirectMmToInches(ByRef sMeasure As String) As Boolean
Dim dVal As Double = 0.0
If Not StringToDouble(sMeasure, dVal) Then Return False
dVal = dVal / ONEINCH
sMeasure = DoubleToString(dVal, 4)
Return True
End Function
Friend Function ConvertCurrentUnitMeasure(ByRef sMeasure As String) As Boolean
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES Then
' non eseguo nessun tipo di conversione
@@ -388,10 +404,10 @@ Public Module Utility
' conevrsione in lettura dei valori delle textbox nel DoorCreator/HardwareManager
Friend Function ConvertCompoConfig(ByRef sItems As String, ByRef dControlValue As Double) As Boolean
Dim dDefaultValue As Double = 0
If sItems.Contains("$") then
If sItems.Contains("$") Then
sItems = "$"
Return true
end
Return True
End
End If
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES And Not OptionModule.m_IsMM Then
' Concordi = Inches
@@ -453,6 +469,28 @@ Public Module Utility
Return False
End Function
Friend Function ConvertDDFValueIntoCurrentUnit(sCurrUnitDDF As String, ByRef sValue As String) As Boolean
Dim bCurrUnitDDFIsMM As Boolean = ConvertStringToMmUnits(sCurrUnitDDF)
Dim dDefaultValue As Double = 0
If OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES And Not bCurrUnitDDFIsMM Then
' non eseguo cenversione: Concordi = Inches
Return True
ElseIf OptionModule.m_SelectedMeasureUnit = ConstGen.VAL_INCHES And bCurrUnitDDFIsMM Then
' eseguo conversione: Discordi= MM Inches
DirectMmToInches(sValue)
'InchesToMm(sValue)
Return True
ElseIf OptionModule.m_SelectedMeasureUnit = ConstGen.MM And Not bCurrUnitDDFIsMM Then
' eseguo conversione: Discordi= Inches MM
DirectInchesToMm(sValue)
Return True
ElseIf OptionModule.m_SelectedMeasureUnit = ConstGen.MM And bCurrUnitDDFIsMM Then
' non eseguo cenversione: Concordi = MM
Return True
End If
Return False
End Function
' Converte il valore Boolean in una stringa ON/OFF (attributo machining)
Friend Function ConvertBooleanToOnOff(bValue As Boolean) As String
Return If(bValue, DDF_ON, DDF_OFF)
@@ -468,9 +506,9 @@ Public Module Utility
End Function
Friend Function ConvertStringToMmUnits(sUnit As String) As Boolean
If Trim(sUnit) = ConstGen.MM Then
If Trim(sUnit).ToLower = ConstGen.MM.ToLower Then
Return True
ElseIf Trim(sUnit) = ConstGen.VAL_INCHES Then
ElseIf Trim(sUnit).ToLower = ConstGen.VAL_INCHES.ToLower Then
Return False
Else
Return OptionModule.m_bIsMmUnit