aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Logging/ControlledObservableCollection.cs
blob: e16393e83c98473a40718bb3644847e22548391a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tango.MachineStudio.Logging
{
    public class ControlledObservableCollection<T> : ObservableCollection<T>
    {
        public bool DisableNotification { get; set; }

        public ControlledObservableCollection() : base()
        {

        }

        public ControlledObservableCollection(IEnumerable<T> collection) : base(collection)
        {

        }

        protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e)
        {
            if (!DisableNotification)
            {
                base.OnCollectionChanged(e);
            }
        }

        public void AddRange(IEnumerable<T> collection)
        {
            foreach (var item in collection)
            {
                Add(item);
            }
        }

        public void InsertRange(int index, IEnumerable<T> collection)
        {
            foreach (var item in collection)
            {
                Insert(index, item);
            }
        }
    }
}
ot;FocusVisualStyle" Value="{x:Null}"/> <Setter Property="VerticalContentAlignment" Value="Center"></Setter> </Style> </DataGrid.CellStyle> <DataGrid.Columns> <DataGridCheckBoxColumn Binding="{Binding IsSelected,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" /> <DataGridTextColumn Header="SERIAL NUMBER" Binding="{Binding SerialNumber}" Width="Auto" IsReadOnly="True" /> <DataGridTextColumn Header="NAME" Binding="{Binding Name}" Width="Auto" IsReadOnly="True" /> <DataGridTextColumn Header="ORGANIZATION" Binding="{Binding OrganizationName}" Width="Auto" IsReadOnly="True" /> <DataGridTextColumn Header="SITE" Binding="{Binding Site}" Width="Auto" IsReadOnly="True" /> <DataGridTextColumn Header="HW" Binding="{Binding HardwareVersion}" Width="Auto" IsReadOnly="True" /> <DataGridTextColumn Header="APPLICATION" Binding="{Binding ApplicationVersion}" Width="Auto" IsReadOnly="True" /> <DataGridTextColumn Header="FIRMWARE" Binding="{Binding FirmwareVersion}" Width="Auto" IsReadOnly="True" /> <DataGridTextColumn Header="TAG" Binding="{Binding VersionTag}" Width="Auto" IsReadOnly="True" /> <DataGridTemplateColumn Header="UPDATE SOFTWARE" IsReadOnly="True"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <materialDesign:PackIcon HorizontalAlignment="Center"> <materialDesign:PackIcon.Style> <Style TargetType="materialDesign:PackIcon" BasedOn="{StaticResource {x:Type materialDesign:PackIcon}}"> <Setter Property="Kind" Value="Close"></Setter> <Setter Property="Foreground" Value="Red"></Setter> <Style.Triggers> <DataTrigger Binding="{Binding EnableSoftwareUpdate}" Value="True"> <Setter Property="Kind" Value="Check"></Setter> <Setter Property="Foreground" Value="#32D632"></Setter> </DataTrigger> </Style.Triggers> </Style> </materialDesign:PackIcon.Style> </materialDesign:PackIcon> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> <DataGridTemplateColumn Header="UPDATE FIRMWARE" IsReadOnly="True"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <materialDesign:PackIcon HorizontalAlignment="Center"> <materialDesign:PackIcon.Style> <Style TargetType="materialDesign:PackIcon" BasedOn="{StaticResource {x:Type materialDesign:PackIcon}}"> <Setter Property="Kind" Value="Close"></Setter> <Setter Property="Foreground" Value="Red"></Setter> <Style.Triggers> <DataTrigger Binding="{Binding EnableFirmwareUpgrade}" Value="True"> <Setter Property="Kind" Value="Check"></Setter> <Setter Property="Foreground" Value="#32D632"></Setter> </DataTrigger> </Style.Triggers> </Style> </materialDesign:PackIcon.Style> </materialDesign:PackIcon> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid> <CheckBox HorizontalAlignment="Left" VerticalAlignment="Top" Style="{x:Null}" Margin="14 17 0 0" IsChecked="{Binding SelectAll}" /> </Grid> </DockPanel> </DockPanel> </Grid> </Grid> </UserControl>