source: trunk/CrypPlugins/WorkspaceManager/WorkspaceManagerSettings.cs @ 1872

Last change on this file since 1872 was 1872, checked in by kopal, 11 years ago
  • the user can choose the LogLevel now
File size: 3.9 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using Cryptool.PluginBase;
6using System.ComponentModel;
7
8namespace WorkspaceManager
9{
10    class WorkspaceManagerSettings : ISettings
11    {
12        #region ISettings Members
13        private bool hasChanges = false;
14
15        public WorkspaceManagerSettings()
16        {
17            this.Schedulers = "" + System.Environment.ProcessorCount * 2;
18        }
19
20        public bool HasChanges
21        {
22            get
23            {
24                return hasChanges;
25            }
26            set
27            {
28                hasChanges = value;
29            }
30        }
31
32        private String guiUpdateInterval = "100";
33        [TaskPane("GuiUpdateInterval", "The interval the gui should be updated in miliseconds.", null, 1, false, DisplayLevel.Beginner, ControlType.TextBox)]
34        public String GuiUpdateInterval
35        {
36            get
37            {
38                return guiUpdateInterval;
39            }
40            set
41            {
42                guiUpdateInterval = value;
43                OnPropertyChanged("GuiUpdateInterval");
44            }
45        }
46
47        private String sleepTime = "0";
48        [TaskPane("SleepTime", "The time which the execution will sleep after executing a plugin.", null, 1, false, DisplayLevel.Beginner, ControlType.TextBox)]
49        public String SleepTime
50        {
51            get
52            {
53                return sleepTime;
54            }
55            set
56            {
57                sleepTime = value;
58                OnPropertyChanged("SleepTime");
59            }
60        }
61
62        private String schedulers = "0";
63        [TaskPane("Schedulers", "The amount of parallel gears4net schedulers.", null, 1, false, DisplayLevel.Beginner, ControlType.TextBox)]
64        public String Schedulers
65        {
66            get
67            {
68                return schedulers;
69            }
70            set
71            {
72                schedulers = value;
73                OnPropertyChanged("Schedulers");
74            }
75        }     
76
77        private bool benchmarkPlugins = false;
78        [TaskPane("BenchmarkPlugins", "Should the WorkspaceManager benchmark the amount of executed plugins per second?", null, 1, false, DisplayLevel.Beginner, ControlType.CheckBox)]
79        public bool BenchmarkPlugins
80        {
81            get
82            {
83                return benchmarkPlugins;
84            }
85            set
86            {
87                benchmarkPlugins = value;
88                OnPropertyChanged("BenchmarkPlugins");
89            }
90        }
91
92        private bool synchronousEvents = false;
93        [TaskPane("SynchronousEvents", "Should the event handling be synchronous?", null, 1, false, DisplayLevel.Beginner, ControlType.CheckBox)]
94        public bool SynchronousEvents
95        {
96            get
97            {
98                return synchronousEvents;
99            }
100            set
101            {
102                synchronousEvents = value;
103                OnPropertyChanged("SynchronousEvents");
104            }
105        }
106
107        private int logLevel = 0;
108        [TaskPane("LogLevel", "Should the event handling be synchronous?", null, 1, false, DisplayLevel.Beginner, ControlType.ComboBox, new string[] { "Debug", "Info", "Warning", "Error"})]
109        public int LogLevel
110        {
111            get
112            {
113                return logLevel;
114            }
115            set
116            {
117                logLevel = value;
118                OnPropertyChanged("LogLevel");
119            }
120        }
121
122        #endregion
123
124        #region INotifyPropertyChanged Members
125
126        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
127       
128        private void OnPropertyChanged(string p)
129        {
130            if (PropertyChanged != null)
131                PropertyChanged(this, new PropertyChangedEventArgs(p));
132        }
133
134        #endregion
135    }
136}
Note: See TracBrowser for help on using the repository browser.