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

Last change on this file since 2176 was 2176, checked in by kopal, 11 years ago
  • moved print function from settings into the editor
  • bug fix print function - now horizontal prints with more than 1 page are supported
File size: 4.7 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using Cryptool.PluginBase;
6using System.ComponentModel;
7using System.Threading;
8using System.Windows;
9using System.Windows.Media;
10using System.Windows.Markup;
11using System.IO;
12
13namespace WorkspaceManager
14{
15    class WorkspaceManagerSettings : ISettings
16    {
17        #region ISettings Members
18        private bool hasChanges = false;
19
20        private WorkspaceManager WorkspaceManager { get; set; }
21
22        public WorkspaceManagerSettings(WorkspaceManager manager)
23        {
24            this.Threads = "" + System.Environment.ProcessorCount;
25            this.WorkspaceManager = manager;
26        }
27
28        public bool HasChanges
29        {
30            get
31            {
32                return hasChanges;
33            }
34            set
35            {
36                hasChanges = value;
37            }
38        }
39
40        private String guiUpdateInterval = "100";
41        [TaskPane("GuiUpdateInterval", "The interval the gui should be updated in miliseconds.", null, 1, false, DisplayLevel.Beginner, ControlType.TextBox)]
42        public String GuiUpdateInterval
43        {
44            get
45            {
46                return guiUpdateInterval;
47            }
48            set
49            {
50                guiUpdateInterval = value;
51                OnPropertyChanged("GuiUpdateInterval");
52            }
53        }
54
55        private String sleepTime = "0";
56        [TaskPane("SleepTime", "The time which the execution will sleep after executing a plugin.", null, 1, false, DisplayLevel.Beginner, ControlType.TextBox)]
57        public String SleepTime
58        {
59            get
60            {
61                return sleepTime;
62            }
63            set
64            {
65                sleepTime = value;
66                OnPropertyChanged("SleepTime");
67            }
68        }
69
70        private String threads = "0";
71        [TaskPane("Threads", "The amount of used threads for scheduling.", null, 1, false, DisplayLevel.Beginner, ControlType.TextBox)]
72        public String Threads
73        {
74            get
75            {
76                return threads;
77            }
78            set
79            {
80                threads = value;
81                OnPropertyChanged("Threads");
82            }
83        }
84
85        private int threadPriority = 4;
86        [TaskPane("ThreadPriority", "Should the event handling be synchronous?", null, 1, false, DisplayLevel.Beginner, ControlType.ComboBox, new String[] { "AboveNormal", "BelowNormal", "Highest", "Lowest", "Normal" })]
87        public int ThreadPriority
88        {
89            get
90            {
91                return threadPriority;
92            }
93            set
94            {
95                threadPriority = value;
96                OnPropertyChanged("ThreadPriority");
97            }
98        } 
99
100        private bool benchmarkPlugins = false;
101        [TaskPane("BenchmarkPlugins", "Should the WorkspaceManager benchmark the amount of executed plugins per second?", null, 1, false, DisplayLevel.Beginner, ControlType.CheckBox)]
102        public bool BenchmarkPlugins
103        {
104            get
105            {
106                return benchmarkPlugins;
107            }
108            set
109            {
110                benchmarkPlugins = value;
111                OnPropertyChanged("BenchmarkPlugins");
112            }
113        }
114
115        private bool synchronousEvents = false;
116        [TaskPane("SynchronousEvents", "Should the event handling be synchronous?", null, 1, false, DisplayLevel.Beginner, ControlType.CheckBox)]
117        public bool SynchronousEvents
118        {
119            get
120            {
121                return synchronousEvents;
122            }
123            set
124            {
125                synchronousEvents = value;
126                OnPropertyChanged("SynchronousEvents");
127            }
128        }
129
130        private int logLevel = 0;
131        [TaskPane("LogLevel", "Should the event handling be synchronous?", null, 1, false, DisplayLevel.Beginner, ControlType.ComboBox, new string[] { "Debug", "Info", "Warning", "Error"})]
132        public int LogLevel
133        {
134            get
135            {
136                return logLevel;
137            }
138            set
139            {
140                logLevel = value;
141                OnPropertyChanged("LogLevel");
142            }
143        }
144       
145        #endregion
146
147        #region INotifyPropertyChanged Members
148
149        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
150       
151        private void OnPropertyChanged(string p)
152        {
153            if (PropertyChanged != null)
154                PropertyChanged(this, new PropertyChangedEventArgs(p));
155        }
156
157        #endregion
158    }
159}
Note: See TracBrowser for help on using the repository browser.