Merge branch 'feature/NewGraphicsProgram' of https://gitlab.steamware.net/egalware-cadcam/interfacce/egtbeamwall into feature/NewGraphicsProgram

This commit is contained in:
Demetrio Cassarino
2025-05-22 12:13:39 +02:00
4 changed files with 59 additions and 32 deletions
@@ -88,7 +88,6 @@ Public Class ForcedStrategyBTLVM
If IsNothing(JsonAvailableStrategyFeature) Then Return False
Dim JsonAvailableTopology As JsonAvailableTopology = JsonAvailableStrategyFeature.TopologyList.FirstOrDefault(Function(x) x.sName = sTopologyName)
If IsNothing(JsonAvailableTopology) Then
Return False
' ricavo topologia da feature
FindTopologyFromFeature(nFeatureId, sTopologyName)
JsonAvailableTopology = JsonAvailableStrategyFeature.TopologyList.FirstOrDefault(Function(x) x.sName = sTopologyName)
@@ -152,28 +151,30 @@ Public Class ForcedStrategyBTLVM
' cancello precedenti valori
Dim sPrecStrategyID As String = ""
EgtGetInfo(m_CurrentFeature.nFeatureId, "STRATEGY", sPrecStrategyID)
Dim PrecInfo As String() = {}
EgtGetAllInfo(m_CurrentFeature.nFeatureId, PrecInfo)
Dim PrecStrategyInfo As String() = PrecInfo.Where(Function(x) x.StartsWith(sPrecStrategyID)).ToArray()
If Not String.IsNullOrWhiteSpace(sPrecStrategyID) Then
Dim PrecInfo As String() = {}
EgtGetAllInfo(m_CurrentFeature.nFeatureId, PrecInfo)
Dim PrecStrategyInfo As String() = PrecInfo.Where(Function(x) x.StartsWith(sPrecStrategyID)).ToArray()
For Each Info In PrecStrategyInfo
EgtRemoveInfo(m_CurrentFeature.nFeatureId, Info.Split("="c)(0))
Next
End If
If m_SelStrategy.sStrategyID = AUTOMATICSTRATEGYID Then
EgtRemoveInfo(m_CurrentFeature.nFeatureId, "STRATEGY")
Else
EgtSetInfo(m_CurrentFeature.nFeatureId, "STRATEGY", SelStrategy.sStrategyID)
For Each Param In SelStrategy.ParameterList
Select Case Param.GetType()
Case GetType(BooleanStrategyParameter)
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyID & "_" & Param.sNameNge, DirectCast(Param, BooleanStrategyParameter).bValue)
Case GetType(DoubleStrategyParameter)
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyID & "_" & Param.sNameNge, DirectCast(Param, DoubleStrategyParameter).sValue)
Case GetType(ComboStrategyParameter)
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyID & "_" & Param.sNameNge, DirectCast(Param, ComboStrategyParameter).SelValue.sValue)
End Select
Next
If Not IsNothing(m_SelStrategy) Then
If m_SelStrategy.sStrategyID = AUTOMATICSTRATEGYID Then
EgtRemoveInfo(m_CurrentFeature.nFeatureId, "STRATEGY")
Else
EgtSetInfo(m_CurrentFeature.nFeatureId, "STRATEGY", SelStrategy.sStrategyID)
For Each Param In SelStrategy.ParameterList
Select Case Param.GetType()
Case GetType(BooleanStrategyParameter)
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyID & "_" & Param.sNameNge, DirectCast(Param, BooleanStrategyParameter).bValue)
Case GetType(DoubleStrategyParameter)
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyID & "_" & Param.sNameNge, DirectCast(Param, DoubleStrategyParameter).sValue)
Case GetType(ComboStrategyParameter)
EgtSetInfo(m_CurrentFeature.nFeatureId, m_SelStrategy.sStrategyID & "_" & Param.sNameNge, DirectCast(Param, ComboStrategyParameter).SelValue.sValue)
End Select
Next
End If
End If
End Sub
End Class
@@ -167,7 +167,7 @@ Public Class JsonAvailableStrategy
#Region "CONSTRUCTOR"
<JsonConstructor>
Sub New(sStrategyID As String, nIndexInList As Integer)
Sub New(sStrategyID As String)
m_sStrategyID = sStrategyID
End Sub
@@ -189,6 +189,11 @@ Public Class JsonAvailableStrategy
' Leggo il contenuto del file JSON e deserializzo
Dim StrategyJson As String = File.ReadAllText(StrategyPath)
Dim strategyConfig As JsonDefaultStrategy = JsonConvert.DeserializeObject(Of JsonDefaultStrategy)(StrategyJson)
Strategy.sStrategyName = strategyConfig.sStrategyName
Dim sImagePath As String = Map.refMainWindowVM.MainWindowM.GetStandardDirPath() & "\" & sStrategyID & "\" & sStrategyID & ".png"
If File.Exists(sImagePath) Then
Strategy.sStrategyImagePath = sImagePath
End If
If strategyConfig.sStrategyID <> m_sStrategyID Then EgtOutLog("Error! Strategy name wrong in " & m_sStrategyID)
For Each Parameter In strategyConfig.ParameterList
Strategy.ParameterList.Add(Parameter.Deserialize())
@@ -211,7 +216,16 @@ Public Class JsonDefaultStrategy
End Get
Set(value As String)
m_sStrategyID = value
NotifyPropertyChanged(NameOf(sStrategyID))
End Set
End Property
Private m_sStrategyName As String
Public Property sStrategyName As String
Get
Return m_sStrategyName
End Get
Set(value As String)
m_sStrategyName = value
End Set
End Property
@@ -222,7 +236,6 @@ Public Class JsonDefaultStrategy
End Get
Set(value As ObservableCollection(Of JsonDefaultStrategyParameter))
m_ParameterList = value
NotifyPropertyChanged(NameOf(ParameterList))
End Set
End Property
@@ -231,8 +244,9 @@ Public Class JsonDefaultStrategy
#Region "CONSTRUCTOR"
<JsonConstructor>
Sub New(sStrategyID As String, nIndexInList As Integer)
Sub New(sStrategyID As String, sStrategyName As String)
m_sStrategyID = sStrategyID
m_sStrategyName = sStrategyName
End Sub
Sub New(Strategy As Strategy)
@@ -786,6 +786,17 @@ Public Class Strategy
End Set
End Property
Private m_sStrategyName As String
Public Property sStrategyName As String
Get
Return m_sStrategyName
End Get
Set(value As String)
m_sStrategyName = value
NotifyPropertyChanged(NameOf(sStrategyName))
End Set
End Property
Private m_nIndexInList As Integer = -1
Public Property nIndexInList As Integer
Get
@@ -801,14 +812,14 @@ Public Class Strategy
NotifyPropertyChanged(NameOf(nIndexInList))
End Sub
Private m_sImageStrategy As String = "pack://application:,,,/Resources/NewPage/LogoProvaStrategy.png"
Public Property sImageStrategy As String
Private m_sStrategyImagePath As String = "pack://application:,,,/Resources/NewPage/LogoProvaStrategy.png"
Public Property sStrategyImagePath As String
Get
Return m_sImageStrategy
Return m_sStrategyImagePath
End Get
Set(value As String)
m_sImageStrategy = value
NotifyPropertyChanged(NameOf(sImageStrategy))
m_sStrategyImagePath = value
NotifyPropertyChanged(NameOf(sStrategyImagePath))
End Set
End Property
@@ -22,11 +22,12 @@
<ListBox.Resources>
<DataTemplate DataType="{x:Type Optmizer:Strategy}">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding sImageStrategy}"
<Image Source="{Binding sStrategyImagePath}"
Stretch="Uniform"
Width="100"
Height="100"/>
<TextBlock Text="{Binding sStrategyID}"
Height="100"
/>
<TextBlock Text="{Binding sStrategyName}"
Style="{StaticResource DialogWindow_TextBlock}"/>
</StackPanel>
</DataTemplate>
@@ -62,11 +63,11 @@
<ListBox.Resources>
<DataTemplate DataType="{x:Type Optmizer:Strategy}">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding sImageStrategy}"
<Image Source="{Binding sStrategyImagePath}"
Stretch="Uniform"
Width="100"
Height="100"/>
<TextBlock Text="{Binding sStrategyID}"
<TextBlock Text="{Binding sStrategyName}"
Style="{StaticResource DialogWindow_TextBlock}"/>
</StackPanel>
</DataTemplate>