source: trunk/CrypPlugins/ComputeAnnihilators/ComputAnnihilatorsSettings.cs @ 2334

Last change on this file since 2334 was 2334, checked in by Matthäus Wander, 11 years ago

removed 1006 occurences of DisplayLevel in 218 files (see #122)

File size: 6.4 KB
Line 
1using System;
2using System.Windows.Controls;
3using System.Collections.Generic;
4using System.Collections;
5using System.Linq;
6using System.Text;
7using System.ComponentModel;
8using Cryptool.PluginBase;
9using Cryptool.PluginBase.IO;
10using Cryptool.PluginBase.Miscellaneous;
11
12namespace Cryptool.ComputeAnnihilators
13{
14    class ComputeAnnihilatorsSettings : ISettings
15    {
16        #region Private variables
17        private Hashtable savedZfunctions = null;
18        private string savedoutputfunction = "";
19        private string savedmemoryupdatefunction = "";
20        private int saveddegree = 0;
21        private bool computeended = false;
22        private int savedrunlength = 0;
23        string outputset;
24        private int degree;
25        private bool hasChanges;
26        private ActionTypes actiontypes = ActionTypes.Combiner;
27        public enum ActionTypes { Combiner = 0, function = 1, setofSequence = 2 };
28        private OutputTypes outputtypes = OutputTypes.todisplay;
29        public enum OutputTypes { todisplay = 0, plugininput = 1, both = 2 };
30        #endregion
31        #region ISettings Members
32        public ActionTypes Actiontypes
33        {
34            get { return this.actiontypes; }
35            set
36            {
37                if (this.actiontypes != value) hasChanges = true;
38                this.actiontypes = value;
39                OnPropertyChanged("ActionSetting");
40            }
41        }
42        [ContextMenu("Action", "Choose application.", 1, ContextMenuControlType.ComboBox, null, new string[] { "Combiner", "function", "setofSequence" })]
43        [TaskPane("Action", "Choose application", null, 1, false, ControlType.RadioButton, new string[] { "Z-functions of combiner", "Annihilators of Boolean function", "Annihilators of sets of BitsSequences" })]
44        public int ActionSetting
45        {
46            get
47            {
48                return (int)this.actiontypes;
49            }
50            set
51            {
52                if (this.actiontypes != (ActionTypes)value) HasChanges = true;
53                this.actiontypes = (ActionTypes)value;
54                OnPropertyChanged("ActionSetting");
55            }
56        }
57        [TaskPane("Degree ", "most degree of the searched annihilator", null, 2, false, ControlType.NumericUpDown, ValidationType.RangeInteger,0, int.MaxValue)]
58        public int Degree
59        {
60            get { return this.degree; }
61            set
62            {
63                if (((int)value) != degree) hasChanges = true;
64                this.degree = value;
65                OnPropertyChanged("Degree");
66            }
67        }
68        public OutputTypes Outputtypes
69        {
70            get { return this.outputtypes; }
71            set
72            {
73                if (this.outputtypes != value) hasChanges = true;
74                this.outputtypes = value;
75                OnPropertyChanged("OutputSetting");
76            }
77        }
78        [ContextMenu("Output Type", "display in Textoutput or delivre to plugin system of equation", 4, ContextMenuControlType.ComboBox, null, new string[] { "todisplay", "plugininput", "both" })]
79        [TaskPane("Output Type", "display in Textoutput or delivre to plugin system of equation", "required only in Z-functions", 4, false, ControlType.RadioButton, new string[] { "Display in Textoutput ", "Input of other Plug-in", "both" })]
80        public int OutputSetting
81        {
82            get
83            {
84                return (int)this.outputtypes;
85            }
86            set
87            {
88                if (this.outputtypes != (OutputTypes)value) HasChanges = true;
89                this.outputtypes = (OutputTypes)value;
90                OnPropertyChanged("OutputSetting");
91            }
92        }
93        [TaskPane("Outputs Z", "express a set of output Z to determine Z-function to output", "required only in Z-functions", 5, false, ControlType.TextBox, ValidationType.RegEx, "^(1|[\\*]|0)*")]
94        public string OutputSet
95        {
96            get { return this.outputset; }
97            set
98            {
99                if (((string)value) != outputset) hasChanges = true;
100                this.outputset = value;
101                OnPropertyChanged("OutputSet");
102            }
103        }
104        public Hashtable SavedZfunctions
105        {
106            get { return savedZfunctions; }
107            set
108            {
109                if (value != savedZfunctions) hasChanges = true;
110                savedZfunctions = value;
111            }
112        }
113        public string Savedoutputfunction
114        {
115            get { return savedoutputfunction; }
116            set
117            {
118                if (value != savedoutputfunction) hasChanges = true;
119                savedoutputfunction = value;
120            }
121        }
122        public string Savedmemoryupdatefunction
123        {
124            get { return savedmemoryupdatefunction; }
125            set
126            {
127                if (value != savedmemoryupdatefunction) hasChanges = true;
128                savedmemoryupdatefunction = value;
129            }
130        }
131        public int Savedrunlength
132        {
133            get { return savedrunlength; }
134            set
135            {
136                if (value != savedrunlength) hasChanges = true;
137                savedrunlength = value;
138            }
139        }
140        public int Saveddegree
141        {
142            get { return saveddegree; }
143            set
144            {
145                if (value != saveddegree) hasChanges = true;
146                saveddegree = value;
147            }
148        }
149        public bool ComputeEnded
150        {
151            get { return computeended; }
152            set
153            {
154                if (value != computeended) hasChanges = true;
155                computeended = value;
156            }
157        }
158        public delegate void ComputeAnnihilatorsLogMessage(string msg, NotificationLevel logLevel);
159        public event ComputeAnnihilatorsLogMessage LogMessage;
160        public bool HasChanges
161        {
162            get { return hasChanges; }
163            set { hasChanges = value; }
164        }
165        #endregion
166        #region INotifyPropertyChanged Members
167        public event PropertyChangedEventHandler PropertyChanged;
168        protected void OnPropertyChanged(String name)
169        {
170            if (PropertyChanged != null)
171            {
172                PropertyChanged(this, new PropertyChangedEventArgs(name));
173            }
174        }
175        #endregion
176    }
177}
Note: See TracBrowser for help on using the repository browser.