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

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

-Fullscreen enhanced
-TextInput added
-Picture scaling added
-Textinput scaling added
-Textinput format command added
-Several style changes
-Progressbar redesigned
-Last log message now appearing
-IControlContainer commenced
-Several icons added
-Plugin state now stored and loaded
-Plugin height and width now storing and loading
-Several misc changes

File size: 3.0 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            try
73            {
74                foreach (GuiLogEventArgs element in list)
75                {
76                    if (element.NotificationLevel == NotificationLevel.Error)
77                        ErrorCount++;
78
79                    if (element.NotificationLevel == NotificationLevel.Warning)
80                        WarningCount++;
81
82                    if (element.NotificationLevel == NotificationLevel.Info)
83                        InfoCount++;
84
85                    if (element.NotificationLevel == NotificationLevel.Debug)
86                        DebugCount++;
87
88                    ValueCollection.Add(new CollectionElement(element));
89
90                    if (this.LogUpdated != null)
91                        this.LogUpdated.Invoke(this, new LogUpdated { log = element });
92                }
93                list.Clear();
94            }
95            catch (Exception e)
96            {
97                Console.Out.WriteLine(e.ToString());
98            }
99        }
100    }
101}
Note: See TracBrowser for help on using the repository browser.