diff --git a/EgtBEAMWALL.Core/NewOpenProjectFileDialog/NewOpenProjectFileDialogV.xaml b/EgtBEAMWALL.Core/NewOpenProjectFileDialog/NewOpenProjectFileDialogV.xaml index 74ae562d..f7d214d8 100644 --- a/EgtBEAMWALL.Core/NewOpenProjectFileDialog/NewOpenProjectFileDialogV.xaml +++ b/EgtBEAMWALL.Core/NewOpenProjectFileDialog/NewOpenProjectFileDialogV.xaml @@ -148,7 +148,7 @@ - diff --git a/EgtBEAMWALL.Optimizer/BTLViewModel/BTLPartVM.vb b/EgtBEAMWALL.Optimizer/BTLViewModel/BTLPartVM.vb index 879c26df..31d0ceff 100644 --- a/EgtBEAMWALL.Optimizer/BTLViewModel/BTLPartVM.vb +++ b/EgtBEAMWALL.Optimizer/BTLViewModel/BTLPartVM.vb @@ -10,8 +10,6 @@ Public Class BTLPartVM #Region "FIELDS & PROPERTIES" - Private DOWN_IMAGE As String = "pack://application:,,,/Resources/NewPage/down.png" - Private WithEvents m_BTLPartM As BTLPartM Public ReadOnly Property BTLPartM As BTLPartM Get @@ -1583,9 +1581,6 @@ Public Class BTLPartVM End If End If If Not IsNothing(Map.refFeatureListManagerVM) Then Map.refFeatureListManagerVM.FeatureSelectionChanged() - Map.refProdManagerVM.SetBtlImage(DOWN_IMAGE) - Map.refProdManagerVM.SetOpenImage(DOWN_IMAGE) - Map.refProdManagerVM.SetSaveImage(DOWN_IMAGE) If Not IsNothing(m_SelBTLFeatureVM) Then SetSelFeatureMsg(EgtMsg(5356) & " [" & m_SelBTLFeatureVM.nSelGRP & "-" & m_SelBTLFeatureVM.nPRC.ToString("000") & "] " & m_SelBTLFeatureVM.sName) SetDeselFeatureMsg(EgtMsg(5357) & " [" & m_SelBTLFeatureVM.nSelGRP & "-" & m_SelBTLFeatureVM.nPRC.ToString("000") & "] " & m_SelBTLFeatureVM.sName) @@ -1633,9 +1628,6 @@ Public Class BTLPartVM End If End If If Not IsNothing(Map.refFeatureListManagerVM) Then Map.refFeatureListManagerVM.FeatureSelectionChanged() - Map.refProdManagerVM.SetBtlImage(DOWN_IMAGE) - Map.refProdManagerVM.SetOpenImage(DOWN_IMAGE) - Map.refProdManagerVM.SetSaveImage(DOWN_IMAGE) If Not IsNothing(m_SelBTLFeatureVM) Then SetSelFeatureMsg(EgtMsg(5356) & " [" & m_SelBTLFeatureVM.nSelGRP & "-" & m_SelBTLFeatureVM.nPRC.ToString("000") & "] " & m_SelBTLFeatureVM.sName) SetDeselFeatureMsg(EgtMsg(5357) & " [" & m_SelBTLFeatureVM.nSelGRP & "-" & m_SelBTLFeatureVM.nPRC.ToString("000") & "] " & m_SelBTLFeatureVM.sName) diff --git a/EgtBEAMWALL.Optimizer/BTLViewModel/BTLStructureVM.vb b/EgtBEAMWALL.Optimizer/BTLViewModel/BTLStructureVM.vb index 4c13385d..96785f06 100644 --- a/EgtBEAMWALL.Optimizer/BTLViewModel/BTLStructureVM.vb +++ b/EgtBEAMWALL.Optimizer/BTLViewModel/BTLStructureVM.vb @@ -13,8 +13,6 @@ Public Class BTLStructureVM #Region "FIELDS & PROPERTIES" - Private DOWN_IMAGE As String = "pack://application:,,,/Resources/NewPage/down.png" - ' Nome file NGE con i pezzi selezionati per effettuare UpdateBTL Friend Const UPDATEBTL_NGE As String = "UpdateBTL.nge" @@ -173,9 +171,6 @@ Public Class BTLStructureVM Map.refShowBeamPanelVM.bShowAll = False Core.ViewPanelVM.BWSetView(If(Core.ViewPanelVM.Type = BWType.BEAM, VT.ISO_SW, VT.TOP), False) EgtZoom(ZM.ALL) - Map.refProdManagerVM.SetBtlImage(DOWN_IMAGE) - Map.refProdManagerVM.SetOpenImage(DOWN_IMAGE) - Map.refProdManagerVM.SetSaveImage(DOWN_IMAGE) NotifyPropertyChanged(NameOf(SelBTLPart)) End Sub Private Sub DeselectBTLPart(BtlPart As BTLPartVM) diff --git a/EgtBEAMWALL.Optimizer/EgtBEAMWALL.Optimizer.vbproj b/EgtBEAMWALL.Optimizer/EgtBEAMWALL.Optimizer.vbproj index 3d92cbba..7635b779 100644 --- a/EgtBEAMWALL.Optimizer/EgtBEAMWALL.Optimizer.vbproj +++ b/EgtBEAMWALL.Optimizer/EgtBEAMWALL.Optimizer.vbproj @@ -923,9 +923,7 @@ - - @@ -1207,9 +1205,6 @@ - - - diff --git a/EgtBEAMWALL.Optimizer/Panel/TopPanelV.xaml b/EgtBEAMWALL.Optimizer/Panel/TopPanelV.xaml index 41db5281..81f9ad2e 100644 --- a/EgtBEAMWALL.Optimizer/Panel/TopPanelV.xaml +++ b/EgtBEAMWALL.Optimizer/Panel/TopPanelV.xaml @@ -10,10 +10,10 @@ - - - - + + + + diff --git a/EgtBEAMWALL.Optimizer/ProdManager/ProdManagerV.xaml b/EgtBEAMWALL.Optimizer/ProdManager/ProdManagerV.xaml index b7d6398b..fcfd58d3 100644 --- a/EgtBEAMWALL.Optimizer/ProdManager/ProdManagerV.xaml +++ b/EgtBEAMWALL.Optimizer/ProdManager/ProdManagerV.xaml @@ -1,122 +1,123 @@  + xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" + xmlns:dxb="http://schemas.devexpress.com/winfx/2008/xaml/bars" + xmlns:dxi="http://schemas.devexpress.com/winfx/2008/xaml/core/internal" + xmlns:dxt="http://schemas.devexpress.com/winfx/2008/xaml/core/themekeys" + xmlns:dxc="http://schemas.devexpress.com/winfx/2008/xaml/core" + Orientation="Horizontal"> - - - - - - - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - + + + + + diff --git a/EgtBEAMWALL.Optimizer/ProdManager/ProdManagerVM.vb b/EgtBEAMWALL.Optimizer/ProdManager/ProdManagerVM.vb index 62ef8811..e8e26fd3 100644 --- a/EgtBEAMWALL.Optimizer/ProdManager/ProdManagerVM.vb +++ b/EgtBEAMWALL.Optimizer/ProdManager/ProdManagerVM.vb @@ -13,8 +13,6 @@ Public Class ProdManagerVM #Region "FIELDS & PROPERTIES" - Private DOWN_IMAGE As String = "pack://application:,,,/Resources/NewPage/down.png" - Private UP_IMAGE As String = "pack://application:,,,/Resources/NewPage/up.png" Private PADLOCK_IMAGE As String = "pack://application:,,,/Resources/NewPage/padlock.png" ' Nome file NGE con i pezzi selezionati per effettuare UpdateBTL @@ -24,17 +22,6 @@ Public Class ProdManagerVM Private m_bOpenProj As Boolean = False Private m_nProjIdToOpen As Integer = GDB_ID.NULL - Private m_OptimizerManager_IsEnabled As Boolean = True - Public ReadOnly Property OptimizerManager_IsEnabled As Boolean - Get - Return m_OptimizerManager_IsEnabled - End Get - End Property - Friend Sub SetOptimizerManagerIsEnabled(bIsEnabled As Boolean) - m_OptimizerManager_IsEnabled = bIsEnabled - NotifyPropertyChanged(NameOf(OptimizerManager_IsEnabled)) - End Sub - Friend Property CurrProj As ProjFileVM Get Return ProjectManagerVM.CurrProj @@ -173,39 +160,6 @@ Public Class ProdManagerVM End Set End Property - Private m_BtlImage As String = DOWN_IMAGE - Public ReadOnly Property BtlImage As String - Get - Return m_BtlImage - End Get - End Property - Friend Sub SetBtlImage(value As String) - m_BtlImage = value - NotifyPropertyChanged(NameOf(BtlImage)) - End Sub - - Private m_OpenImage As String = DOWN_IMAGE - Public ReadOnly Property OpenImage As String - Get - Return m_OpenImage - End Get - End Property - Friend Sub SetOpenImage(value As String) - m_OpenImage = value - NotifyPropertyChanged(NameOf(OpenImage)) - End Sub - - Private m_SaveImage As String = DOWN_IMAGE - Public ReadOnly Property SaveImage As String - Get - Return m_SaveImage - End Get - End Property - Friend Sub SetSaveImage(value As String) - m_SaveImage = value - NotifyPropertyChanged(NameOf(SaveImage)) - End Sub - Private m_BTLDataWnd As BTLDataWndVM Public ReadOnly Property BTLDataWnd As BTLDataWndVM Get @@ -223,9 +177,6 @@ Public Class ProdManagerVM Private m_cmdImportProject As ICommand Private m_cmdAddProj As ICommand Private m_cmdAddBTL As ICommand - Private m_cmdShowPopUpStartBtnCmd As ICommand - Private m_cmdShowPopUpSaveBtnCmd As ICommand - Private m_cmdShowPopUpBtlBtnCmd As ICommand #Region "ToolTip" @@ -1497,7 +1448,6 @@ Public Class ProdManagerVM End Property Public Sub NewProject() - SetBtlImage(DOWN_IMAGE) CreateNewProd(False) Return End Sub @@ -1603,7 +1553,6 @@ Public Class ProdManagerVM End Property Public Function ExportProject(Optional sExportFileName As String = Nothing) As String - SetSaveImage(DOWN_IMAGE) If ProdFileVM.VerifyProjectModification(CurrProd) = MessageBoxResult.Cancel Then Return Nothing If IsNothing(CurrProd) Then Return Nothing @@ -1700,7 +1649,6 @@ Public Class ProdManagerVM Map.refShowBeamPanelVM.ShowBuilding_IsEnabled = False Map.refProjectVM.SetSceneShowBuldingVisibility(False) Map.refProjectVM.SetManagerTabVisibility(True) - SetOpenImage(DOWN_IMAGE) Dim TempCurrProd As ProjectFileVM = CurrProd If ProdFileVM.VerifyProjectModification(TempCurrProd) Then Return @@ -1965,7 +1913,6 @@ Public Class ProdManagerVM End Property Public Sub AddProj() - SetBtlImage(DOWN_IMAGE) If Not CreateNewProj(CurrProd, 0) Then EgtBEAMWALL.Core.EgtMessageBoxV.Show(Application.Current.MainWindow, EgtMsg(62583)) End If @@ -2106,81 +2053,6 @@ Public Class ProdManagerVM #End Region ' AddBTL -#Region "ShowPopUpStartBtnCommand" - - Public ReadOnly Property ShowPopUpStartBtnCommand As ICommand - Get - If m_cmdShowPopUpStartBtnCmd Is Nothing Then - m_cmdShowPopUpStartBtnCmd = New Command(AddressOf ShowPopUpStartBtn) - End If - Return m_cmdShowPopUpStartBtnCmd - End Get - End Property - - Public Sub ShowPopUpStartBtn(ByVal param As Object) - If m_IsStartBtnOpen Then - SetBtlImage(DOWN_IMAGE) - SetOpenImage(UP_IMAGE) - SetSaveImage(UP_IMAGE) - SetIsStartBtnOpen(False) - Else - SetBtlImage(UP_IMAGE) - SetIsStartBtnOpen(True) - End If - End Sub - -#End Region ' ShowPopUpStartBtnCommand - -#Region "ShowPopUpSaveBtnCommand" - - Public ReadOnly Property ShowPopUpSaveBtnCommand As ICommand - Get - If m_cmdShowPopUpSaveBtnCmd Is Nothing Then - m_cmdShowPopUpSaveBtnCmd = New Command(AddressOf ShowPopUpSaveBtn) - End If - Return m_cmdShowPopUpSaveBtnCmd - End Get - End Property - - Public Sub ShowPopUpSaveBtn(ByVal param As Object) - If m_IsSaveBtnOpen Then - SetOpenImage(DOWN_IMAGE) - SetSaveImage(UP_IMAGE) - SetBtlImage(UP_IMAGE) - SetIsSaveBtnOpen(False) - Else - SetOpenImage(UP_IMAGE) - SetIsSaveBtnOpen(True) - End If - End Sub - -#End Region ' ShowPopUpSaveBtnCommand - -#Region "ShowPopUpBtlBtnCommand" - - Public ReadOnly Property ShowPopUpBtlBtnCommand As ICommand - Get - If m_cmdShowPopUpBtlBtnCmd Is Nothing Then - m_cmdShowPopUpBtlBtnCmd = New Command(AddressOf ShowPopUpBtlBtn) - End If - Return m_cmdShowPopUpBtlBtnCmd - End Get - End Property - - Public Sub ShowPopUpBtlBtn(ByVal param As Object) - If m_IsBtlBtnOpen Then - SetSaveImage(DOWN_IMAGE) - SetOpenImage(UP_IMAGE) - SetBtlImage(UP_IMAGE) - SetIsBtlBtnOpen(False) - Else - SetSaveImage(UP_IMAGE) - SetIsBtlBtnOpen(True) - End If - End Sub - -#End Region ' ShowPopUpBtlBtnCommand - #End Region ' Commands End Class \ No newline at end of file diff --git a/EgtBEAMWALL.Optimizer/Resources/InstrumentPanel/GetDist+.png b/EgtBEAMWALL.Optimizer/Resources/InstrumentPanel/GetDist+.png deleted file mode 100644 index 26e1aaa0..00000000 Binary files a/EgtBEAMWALL.Optimizer/Resources/InstrumentPanel/GetDist+.png and /dev/null differ diff --git a/EgtBEAMWALL.Optimizer/Resources/InstrumentPanel/Ott.png b/EgtBEAMWALL.Optimizer/Resources/InstrumentPanel/Ott.png deleted file mode 100644 index 7b515606..00000000 Binary files a/EgtBEAMWALL.Optimizer/Resources/InstrumentPanel/Ott.png and /dev/null differ diff --git a/EgtBEAMWALL.Optimizer/Resources/InstrumentPanel/Vis.png b/EgtBEAMWALL.Optimizer/Resources/InstrumentPanel/Vis.png deleted file mode 100644 index 3932ee75..00000000 Binary files a/EgtBEAMWALL.Optimizer/Resources/InstrumentPanel/Vis.png and /dev/null differ diff --git a/EgtBEAMWALL.Optimizer/StrategyManager/ParameterStrategyV.xaml b/EgtBEAMWALL.Optimizer/StrategyManager/ParameterStrategyV.xaml index ffc7f63e..2b76b096 100644 --- a/EgtBEAMWALL.Optimizer/StrategyManager/ParameterStrategyV.xaml +++ b/EgtBEAMWALL.Optimizer/StrategyManager/ParameterStrategyV.xaml @@ -4,7 +4,7 @@ xmlns:OPTIMIZER="clr-namespace:EgtBEAMWALL.Optimizer" xmlns:EgtWPFLib5="clr-namespace:EgtWPFLib5;assembly=EgtWPFLib5" VerticalAlignment="Top" - Margin="5,10,0,0"> + Margin="5,0,0,0"> diff --git a/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerV.xaml b/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerV.xaml index 4ef3f48a..6aacf022 100644 --- a/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerV.xaml +++ b/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerV.xaml @@ -8,7 +8,6 @@ Height="{Binding ActualHeight, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}"> - @@ -64,9 +63,9 @@ - - + + - - - - + diff --git a/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerV.xaml.vb b/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerV.xaml.vb index 2c990cc9..48c42577 100644 --- a/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerV.xaml.vb +++ b/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerV.xaml.vb @@ -1,41 +1,3 @@ -Imports DevExpress.Xpf.Grid - -Public Class StrategyManagerV - - Private Sub TreeViewItem_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs) - If TypeOf sender IsNot TreeViewItem Then Return - Dim treeViewItem As TreeViewItem = DirectCast(sender, TreeViewItem) - If TypeOf treeViewItem.DataContext IsNot StrategyFeature Then - Dim Topology As Topology = DirectCast(treeViewItem.DataContext, Topology) - Topology.CreateStrategyViews() - Topology.ActiveStrategyList_View.Refresh() - Topology.AvailableStrategyList_View.Refresh() - Else - Dim Feature As StrategyFeature = DirectCast(treeViewItem.DataContext, StrategyFeature) - For Each Topology As Topology In Feature.TopologyList - Topology.ActiveStrategyList_View.Filter = Function(item) False - Topology.AvailableStrategyList_View.Filter = Function(item) False - Topology.ActiveStrategyList_View.Refresh() - Topology.AvailableStrategyList_View.Refresh() - Next - End If - End Sub - - 'Private Sub StrategyFeature_TreeView_SelectedItemChanged(sender As Object, e As DevExpress.Xpf.Grid.SelectedItemChangedEventArgs) - ' If TypeOf e.OldItem Is StrategyFeature Then Return - ' If TypeOf e.NewItem Is StrategyFeature Then Return - ' Dim OldSelectedTopologyItem As Topology = DirectCast(e.OldItem, Topology) - ' Dim SelectedTopologyItem As Topology = DirectCast(e.NewItem, Topology) - ' If IsNothing(SelectedTopologyItem) Then Return - ' If Not IsNothing(OldSelectedTopologyItem) Then OldSelectedTopologyItem.IsSelected = False - ' SelectedTopologyItem.IsSelected = True - 'End Sub - - 'Private Sub StrategyFeature_TreeView_CustomNodeDisplayText(sender As Object, e As TreeList.TreeViewCustomNodeDisplayTextEventArgs) - ' If TypeOf e.Node.Content Is Topology Then Return - ' Dim SelectedStrategyFeatureItem As StrategyFeature = DirectCast(e.Node.Content, StrategyFeature) - ' If IsNothing(SelectedStrategyFeatureItem) Then Return - ' e.DisplayText = $"[{SelectedStrategyFeatureItem.nGrp}-{SelectedStrategyFeatureItem.nPrcDesc}] {SelectedStrategyFeatureItem.sName}" - 'End Sub +Public Class StrategyManagerV End Class diff --git a/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerVM.vb b/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerVM.vb index 7d1547f9..0f331511 100644 --- a/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerVM.vb +++ b/EgtBEAMWALL.Optimizer/StrategyManager/StrategyManagerVM.vb @@ -233,6 +233,28 @@ Public Class StrategyManagerVM NotifyPropertyChanged(NameOf(bParamter_Visibility)) End Sub + Private m_bMoveUp_IsEnabled As Boolean = True + Public ReadOnly Property bMoveUp_IsEnabled As Boolean + Get + Return m_bMoveUp_IsEnabled + End Get + End Property + Friend Sub SetbMoveUp_IsEnabled(value As Boolean) + m_bMoveUp_IsEnabled = value + NotifyPropertyChanged(NameOf(bMoveUp_IsEnabled)) + End Sub + + Private m_bMoveDown_IsEnabled As Boolean = True + Public ReadOnly Property bMoveDown_IsEnabled As Boolean + Get + Return m_bMoveDown_IsEnabled + End Get + End Property + Friend Sub SetbMoveDown_IsEnabled(value As Boolean) + m_bMoveDown_IsEnabled = value + NotifyPropertyChanged(NameOf(bMoveDown_IsEnabled)) + End Sub + #Region "Messages" Public ReadOnly Property SaveToolTip As String @@ -268,8 +290,6 @@ Public Class StrategyManagerVM #End Region ' Messages ' Definizione Comandi - Private m_AddSelectedStrategyCommand As ICommand - Private m_RemoveSelectedStrategyCommand As ICommand Private m_NewCommand As ICommand Private m_SaveCommand As ICommand Private m_OpenFileNameCustomConfigCommand As ICommand @@ -386,64 +406,31 @@ Public Class StrategyManagerVM Next End Sub -#End Region ' Methods + Friend Sub UpdateMoveButton(SelActiveStrategy As Strategy, nPrevIndex As Integer) + If SelActiveStrategy.nIndexInList = Map.refStrategyManagerVM.SelTreeItem.StrategyList.Count - 1 Then + Map.refStrategyManagerVM.SetbMoveUp_IsEnabled(True) + Map.refStrategyManagerVM.SetbMoveDown_IsEnabled(False) + ElseIf SelActiveStrategy.nIndexInList = 0 AndAlso nPrevIndex > 0 AndAlso + Map.refStrategyManagerVM.SelTreeItem.StrategyList(nPrevIndex - 1).nIndexInList = -1 AndAlso + Map.refStrategyManagerVM.SelTreeItem.StrategyList.Count = 2 Then + Map.refStrategyManagerVM.SetbMoveUp_IsEnabled(False) + Map.refStrategyManagerVM.SetbMoveDown_IsEnabled(False) + ElseIf SelActiveStrategy.nIndexInList = 0 Then + Map.refStrategyManagerVM.SetbMoveUp_IsEnabled(False) + Map.refStrategyManagerVM.SetbMoveDown_IsEnabled(True) + Else + Map.refStrategyManagerVM.SetbMoveUp_IsEnabled(If(SelActiveStrategy.nIndexInList = -1, False, True)) + Map.refStrategyManagerVM.SetbMoveDown_IsEnabled(If(SelActiveStrategy.nIndexInList = -1, False, True)) + End If + End Sub -#Region "COMMANDS" - -#Region "AddSelectedStrategyCommand" - - Public ReadOnly Property AddSelectedStrategyCommand As ICommand - Get - If m_AddSelectedStrategyCommand Is Nothing Then - m_AddSelectedStrategyCommand = New Command(AddressOf AddSelectedStrategyToActiveStrategy) - End If - Return m_AddSelectedStrategyCommand - End Get - End Property - - ''' - ''' Funzione che permette di aggiungere la strategia da StrategyList a ActiveStrategyList - ''' - Public Sub AddSelectedStrategyToActiveStrategy() + Public Sub AddSelectedStrategy() ' Controllo se SelectedStrategy se è nullo esco - If IsNothing(m_SelTreeItem.SelAvailableStrategy) Then Return + If IsNothing(m_SelTreeItem.SelStrategy) Then Return ' Setto a true booleano per modifica SetbIsModifyStrategy(True) ' Setto indice per capire che la strategia è stata spostata in ActiveStrategyList - m_SelTreeItem.SelAvailableStrategy.nIndexInList = 0 - ' Riallinea tutti gli indici - For Index As Integer = 0 To m_SelTreeItem.StrategyList.Count - 1 - m_SelTreeItem.StrategyList(Index).nIndexInList = Index - Next - SetUpdate_Visibility(False) - ' Aggiorno le liste - m_SelTreeItem.AvailableStrategyList_View.Refresh() - m_SelTreeItem.ActiveStrategyList_View.Refresh() - End Sub - -#End Region ' AddSelectedStrategyCommand - -#Region "RemoveSelectedStrategyCommand" - - Public ReadOnly Property RemoveSelectedStrategyCommand As ICommand - Get - If m_RemoveSelectedStrategyCommand Is Nothing Then - m_RemoveSelectedStrategyCommand = New Command(AddressOf RemoveSelectedStrategyToActiveStrategy) - End If - Return m_RemoveSelectedStrategyCommand - End Get - End Property - - ''' - ''' Funzione che rimuove la strategia da ActiveStrategyList e la riaggiunge a StrategyList - ''' - Public Sub RemoveSelectedStrategyToActiveStrategy() - ' Controllo se SelectedActiveStrategy se è nullo esco - If IsNothing(m_SelTreeItem.SelActiveStrategy) Then Return - ' Setto a true booleano per modifica - SetbIsModifyStrategy(True) - ' Setto indice per capire che la strategia è stata spostata in StrategyList - m_SelTreeItem.SelActiveStrategy.nIndexInList = -1 + m_SelTreeItem.SelStrategy.nIndexInList = 0 ' Trova l’elemento con indice -1 Dim mRemovedItemStrategyList As List(Of Strategy) = m_SelTreeItem.StrategyList.Where(Function(s) s.nIndexInList = -1).ToList() For Each RemovedItemStrategy In mRemovedItemStrategyList @@ -459,11 +446,39 @@ Public Class StrategyManagerVM Next SetUpdate_Visibility(False) ' Aggiorno le liste - m_SelTreeItem.AvailableStrategyList_View.Refresh() - m_SelTreeItem.ActiveStrategyList_View.Refresh() + m_SelTreeItem.StrategyList_View.Refresh() End Sub -#End Region ' RemoveSelectedStrategyCommand + Public Sub RemoveSelectedStrategy() + ' Controllo se SelectedActiveStrategy se è nullo esco + If IsNothing(m_SelTreeItem.SelStrategy) Then Return + ' Setto a true booleano per modifica + SetbIsModifyStrategy(True) + ' Setto indice per capire che la strategia è stata spostata in StrategyList + m_SelTreeItem.SelStrategy.nIndexInList = -1 + ' Assegno SelActiveStrategy a Prev + m_SelTreeItem.PrevSelStrategy = m_SelTreeItem.SelStrategy + ' Trova l’elemento con indice -1 + Dim mRemovedItemStrategyList As List(Of Strategy) = m_SelTreeItem.StrategyList.Where(Function(s) s.nIndexInList = -1).ToList() + For Each RemovedItemStrategy In mRemovedItemStrategyList + m_SelTreeItem.StrategyList.Remove(RemovedItemStrategy) + Next + ' Riallinea tutti gli indici + For Index As Integer = 0 To m_SelTreeItem.StrategyList.Count - 1 + m_SelTreeItem.StrategyList(Index).nIndexInList = Index + Next + ' Reinserisco elementi rimossi + For Each RemovedItemStrategy In mRemovedItemStrategyList + m_SelTreeItem.StrategyList.Add(RemovedItemStrategy) + Next + SetUpdate_Visibility(False) + ' Aggiorno le liste + m_SelTreeItem.StrategyList_View.Refresh() + End Sub + +#End Region ' Methods + +#Region "COMMANDS" #Region "OpenFileNameCustomConfigCommand" @@ -562,18 +577,18 @@ Public Class StrategyManagerVM ''' Public Sub MoveUpSelectedStrategy() ' Controllo se SelectedActiveStrategy se è nullo esco - If IsNothing(m_SelTreeItem.SelActiveStrategy) Then Return + If IsNothing(m_SelTreeItem.SelStrategy) Then Return ' Trova l’elemento con indice -1 Dim mRemovedItemStrategyList As List(Of Strategy) = m_SelTreeItem.StrategyList.Where(Function(s) s.nIndexInList = -1).ToList() For Each RemovedItemStrategy In mRemovedItemStrategyList m_SelTreeItem.StrategyList.Remove(RemovedItemStrategy) Next ' Recupero indice elemento selezionato in lista - Dim IndexActiveStrategy As Integer = m_SelTreeItem.StrategyList.IndexOf(m_SelTreeItem.SelActiveStrategy) + Dim IndexActiveStrategy As Integer = m_SelTreeItem.StrategyList.IndexOf(m_SelTreeItem.SelStrategy) ' Recupero indice elemento selezionato in lista Dim NewIndexActiveStrategy As Integer = IndexActiveStrategy - 1 ' Setto indice per capire che la strategia è stata spostata in StrategyList - m_SelTreeItem.SelActiveStrategy.nIndexInList = NewIndexActiveStrategy + m_SelTreeItem.SelStrategy.nIndexInList = NewIndexActiveStrategy ' Se l'indice è maggiore di 0 If IndexActiveStrategy > 0 Then ' Muovo l'elemento selezionato sopra di 1 @@ -587,11 +602,12 @@ Public Class StrategyManagerVM For Each RemovedItemStrategy In mRemovedItemStrategyList m_SelTreeItem.StrategyList.Add(RemovedItemStrategy) Next + ' Aggiorno bottoni + Map.refStrategyManagerVM.UpdateMoveButton(m_SelTreeItem.SelStrategy, NewIndexActiveStrategy) ' Setto a true booleano per modifica SetbIsModifyStrategy(True) ' Aggiorno la lista - m_SelTreeItem.AvailableStrategyList_View.Refresh() - m_SelTreeItem.ActiveStrategyList_View.Refresh() + m_SelTreeItem.StrategyList_View.Refresh() End Sub #End Region ' MoveUpSelectedStrategyCommand @@ -611,18 +627,18 @@ Public Class StrategyManagerVM ''' Funzione che permette di spostare in basso la strategia selezionata ''' Public Sub MoveDownSelectedStrategy() - If IsNothing(m_SelTreeItem.SelActiveStrategy) Then Return + If IsNothing(m_SelTreeItem.SelStrategy) Then Return ' Trova l’elemento con indice -1 Dim mRemovedItemStrategyList As List(Of Strategy) = m_SelTreeItem.StrategyList.Where(Function(s) s.nIndexInList = -1).ToList() For Each RemovedItemStrategy In mRemovedItemStrategyList m_SelTreeItem.StrategyList.Remove(RemovedItemStrategy) Next ' Recupero indice elemento selezionato in lista - Dim IndexActiveStrategy As Integer = m_SelTreeItem.StrategyList.IndexOf(m_SelTreeItem.SelActiveStrategy) + Dim IndexActiveStrategy As Integer = m_SelTreeItem.StrategyList.IndexOf(m_SelTreeItem.SelStrategy) ' Recupero indice elemento selezionato in lista Dim NewIndexActiveStrategy As Integer = IndexActiveStrategy + 1 ' Setto indice per capire che la strategia è stata spostata in StrategyList - m_SelTreeItem.SelActiveStrategy.nIndexInList = NewIndexActiveStrategy + m_SelTreeItem.SelStrategy.nIndexInList = NewIndexActiveStrategy ' Se l'indice è maggiore di 0 If IndexActiveStrategy >= 0 Then ' Muovo l'elemento selezionato sopra di 1 @@ -636,11 +652,12 @@ Public Class StrategyManagerVM For Each RemovedItemStrategy In mRemovedItemStrategyList m_SelTreeItem.StrategyList.Add(RemovedItemStrategy) Next + ' Aggiorno bottoni + Map.refStrategyManagerVM.UpdateMoveButton(m_SelTreeItem.SelStrategy, IndexActiveStrategy) ' Setto a true booleano per modifica SetbIsModifyStrategy(True) ' Aggiorno la lista - m_SelTreeItem.AvailableStrategyList_View.Refresh() - m_SelTreeItem.ActiveStrategyList_View.Refresh() + m_SelTreeItem.StrategyList_View.Refresh() End Sub #End Region ' MoveDownSelectedStrategyCommand @@ -1078,25 +1095,16 @@ Public Class Topology If value Then refUpdateSelTreeItem(Me) Else - m_SelActiveStrategy = Nothing - m_SelAvailableStrategy = Nothing + m_SelStrategy = Nothing End If - m_AvailableStrategyList_View.Refresh() - m_ActiveStrategyList_View.Refresh() + m_StrategyList_View.Refresh() End Set End Property - Private m_AvailableStrategyList_View As ICollectionView = Nothing - Public ReadOnly Property AvailableStrategyList_View As ICollectionView + Private m_StrategyList_View As ICollectionView = Nothing + Public ReadOnly Property StrategyList_View As ICollectionView Get - Return m_AvailableStrategyList_View - End Get - End Property - - Private m_ActiveStrategyList_View As ICollectionView = Nothing - Public ReadOnly Property ActiveStrategyList_View As ICollectionView - Get - Return m_ActiveStrategyList_View + Return m_StrategyList_View End Get End Property @@ -1111,25 +1119,27 @@ Public Class Topology End Set End Property - Private m_SelActiveStrategy As Strategy - Public Property SelActiveStrategy As Strategy + Friend PrevSelStrategy As Strategy + Private m_SelStrategy As Strategy + Public Property SelStrategy As Strategy Get - Return m_SelActiveStrategy + Return m_SelStrategy End Get Set(value As Strategy) - m_SelActiveStrategy = value - SelParamStrategy = value - End Set - End Property - - Private m_SelAvailableStrategy As Strategy - Public Property SelAvailableStrategy As Strategy - Get - Return m_SelAvailableStrategy - End Get - Set(value As Strategy) - m_SelAvailableStrategy = value - SelParamStrategy = value + If IsNothing(value) Then + m_SelStrategy = PrevSelStrategy + SelParamStrategy = PrevSelStrategy + Else + m_SelStrategy = value + SelParamStrategy = value + End If + If Not IsNothing(m_SelStrategy) Then + Dim nPrevIndex As Integer = Map.refStrategyManagerVM.SelTreeItem.StrategyList.IndexOf(m_SelStrategy) + Map.refStrategyManagerVM.UpdateMoveButton(m_SelStrategy, nPrevIndex) + End If + ' Gestisco visibilita' pulsante Update Feature + Map.refStrategyManagerVM.SetUpdate_Visibility(If(Map.refStrategyManagerVM.SelTreeItem.sName <> "Feature", True, False)) + Map.refStrategyManagerVM.SetbParamter_Visibility(True) End Set End Property @@ -1140,9 +1150,6 @@ Public Class Topology End Get Set(value As Strategy) m_SelParamStrategy = value - ' Gestisco visibilita' pulsante Update Feature - Map.refStrategyManagerVM.SetUpdate_Visibility(If(Map.refStrategyManagerVM.SelTreeItem.sName <> "Feature", True, False)) - Map.refStrategyManagerVM.SetbParamter_Visibility(True) NotifyPropertyChanged(NameOf(SelParamStrategy)) End Set End Property @@ -1168,21 +1175,9 @@ Public Class Topology #Region "METHODS" - Friend Function AvailableStrategyFilter(Strategy As Object) As Boolean - Return DirectCast(Strategy, Strategy).nIndexInList < 0 - End Function - - Friend Function ActiveStrategyFilter(Strategy As Object) As Boolean - Return DirectCast(Strategy, Strategy).nIndexInList >= 0 - End Function - Friend Sub CreateStrategyViews() - m_AvailableStrategyList_View = New ListCollectionView(StrategyList) - m_AvailableStrategyList_View.Filter = AddressOf AvailableStrategyFilter - m_AvailableStrategyList_View.SortDescriptions.Add(New SortDescription("nIndexInList", ListSortDirection.Ascending)) - m_ActiveStrategyList_View = New ListCollectionView(StrategyList) - m_ActiveStrategyList_View.Filter = AddressOf ActiveStrategyFilter - m_ActiveStrategyList_View.SortDescriptions.Add(New SortDescription("nIndexInList", ListSortDirection.Ascending)) + m_StrategyList_View = New ListCollectionView(StrategyList) + m_StrategyList_View.SortDescriptions.Add(New SortDescription("nIndexInList", ListSortDirection.Ascending)) End Sub Friend Function Serialize() As JsonTopology @@ -1276,6 +1271,21 @@ Public Class Strategy NotifyPropertyChanged(NameOf(bIsStrategyModify)) End Sub + Private m_bStrategy_IsChecked As Boolean = False + Public Property bStrategy_IsChecked As Boolean + Get + Return m_bStrategy_IsChecked + End Get + Set(value As Boolean) + m_bStrategy_IsChecked = value + NotifyPropertyChanged(NameOf(bStrategy_IsChecked)) + End Set + End Property + Friend Sub SetbStrategy_IsChecked(value As Boolean) + m_bStrategy_IsChecked = value + NotifyPropertyChanged(NameOf(bStrategy_IsChecked)) + End Sub + #End Region ' Fields & Propeties #Region "CONSTRUCTOR" @@ -1308,8 +1318,8 @@ Public Class Strategy End Sub Friend Sub ReadConfiguration(ConfigurationStrategy As JsonStrategy) - m_nIndexInList = ConfigurationStrategy.nIndexInList - NotifyPropertyChanged(NameOf(nIndexInList)) + SetIndexList(ConfigurationStrategy.nIndexInList) + If m_nIndexInList = -1 Then SetbStrategy_IsChecked(True) For Each Parameter In ConfigurationStrategy.ParameterList Dim DefaultParameter As StrategyParameter = m_ParameterList.FirstOrDefault(Function(x) x.sName = Parameter.sName) If IsNothing(DefaultParameter) Then diff --git a/EgtBEAMWALL.Optimizer/StrategyManager/StrategyV.xaml b/EgtBEAMWALL.Optimizer/StrategyManager/StrategyV.xaml index d775fa99..5dea2d8f 100644 --- a/EgtBEAMWALL.Optimizer/StrategyManager/StrategyV.xaml +++ b/EgtBEAMWALL.Optimizer/StrategyManager/StrategyV.xaml @@ -8,17 +8,18 @@ - - - + - - - - - - - - - - - - - - - - - - - - - -