source: trunk/CrypPlugins/WorkspaceManager/View/VisualComponents/LogPresentation.xaml.cs @ 2067

Last change on this file since 2067 was 2067, checked in by matkovic, 11 years ago

-Major Style changes
-Fit to Screen added

File size: 3.1 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using System.Windows;
6using System.Windows.Controls;
7using System.Windows.Data;
8using System.Windows.Documents;
9using System.Windows.Input;
10using System.Windows.Media;
11using System.Windows.Media.Imaging;
12using System.Windows.Navigation;
13using System.Windows.Shapes;
14using System.Collections.ObjectModel;
15using Cryptool.PluginBase;
16using WorkspaceManager.Model;
17
18namespace WorkspaceManager.View.VisualComponents
19{
20    public class CollectionElement
21    {
22        private GuiLogEventArgs element;
23
24        public String Message { get; set; }
25        public NotificationLevel Level { get; set; }
26        public String Date { get; set; }
27        public String ID { get; set; }
28
29        public CollectionElement(GuiLogEventArgs element)
30        {
31            Message = element.Message;
32            Level = element.NotificationLevel;
33            Date = element.DateTime.ToString("dd.MM.yyyy, H:mm:ss");
34        }
35    }
36    /// <summary>
37    /// Interaction logic for LogPresentation.xaml
38    /// </summary>
39    public partial class LogPresentation : UserControl
40    {
41        private ObservableCollection<CollectionElement> valueCollection;
42
43        public ObservableCollection<CollectionElement> ValueCollection
44        {
45            get { return valueCollection; }
46            set { valueCollection = value; }
47        }
48
49        public int ErrorCount { get; set; }
50
51        public int WarningCount { get; set; }
52
53        public int DebugCount { get; set; }
54
55        public int InfoCount { get; set; }
56
57        public event EventHandler<LogUpdated> LogUpdated;
58
59        public LogPresentation()
60        {
61            ErrorCount = 0;
62            WarningCount = 0;
63            DebugCount = 0;
64            InfoCount = 0;
65            valueCollection = new ObservableCollection<CollectionElement>();
66            DataContext = ValueCollection;
67            InitializeComponent();
68        }
69
70        public void AddLogList(List<GuiLogEventArgs> list)
71        {
72           
73            try
74            {
75                foreach (GuiLogEventArgs element in list)
76                {
77                    if (element.NotificationLevel == NotificationLevel.Error)
78                        ErrorCount++;
79
80                    if (element.NotificationLevel == NotificationLevel.Warning)
81                        WarningCount++;
82
83                    if (element.NotificationLevel == NotificationLevel.Info)
84                        InfoCount++;
85
86                    if (element.NotificationLevel == NotificationLevel.Debug)
87                        DebugCount++;
88
89                    ValueCollection.Add(new CollectionElement(element));
90
91                    if (this.LogUpdated != null)
92                        this.LogUpdated.Invoke(this, new LogUpdated { log = element });
93                }
94                list.Clear();
95            }
96            catch (Exception e)
97            {
98                Console.Out.WriteLine(e.ToString());
99            }
100        }
101    }
102}
Note: See TracBrowser for help on using the repository browser.