source: trunk/CrypPlugins/BooleanFunctionParser/BooleanFunctionParserSettings.cs @ 599

Last change on this file since 599 was 599, checked in by Sören Rinne, 12 years ago
  • added picture in TEA Description.xaml
  • some fine tuning regarding the dynamic inputs
File size: 3.6 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5
6using Cryptool.PluginBase;
7using System.IO;
8using System.ComponentModel;
9using Cryptool.PluginBase.Cryptography;
10using Cryptool.PluginBase.IO;
11using Cryptool.PluginBase.Miscellaneous;
12using System.Security.Cryptography;
13
14namespace Cryptool.BooleanFunctionParser
15{
16    class BooleanFunctionParserSettings : ISettings
17    {
18        #region Private variables
19
20        private bool hasChanges;
21        private bool useBFPforCube = false;
22
23        #endregion
24
25        #region for Quickwatch
26
27        private string function;
28        public string Function
29        {
30            get { return function; }
31            set
32            {
33                if (value != function) hasChanges = true;
34                function = value;
35            }
36        }
37
38        private string data;
39        public string Data
40        {
41            get { return data; }
42            set
43            {
44                if (value != data) hasChanges = true;
45                data = value;
46            }
47        }
48
49        private string functionCube;
50        public string FunctionCube
51        {
52            get { return functionCube; }
53            set
54            {
55                if (value != functionCube) hasChanges = true;
56                functionCube = value;
57            }
58        }
59
60        private string dataCube;
61        public string DataCube
62        {
63            get { return dataCube; }
64            set
65            {
66                if (value != dataCube) hasChanges = true;
67                dataCube = value;
68            }
69        }
70
71        #endregion
72
73        #region ISettings Members
74
75        private int countOfInputs = 1;
76        [TaskPane("Number of inputs", "How many inputs do you need?", null, 0, false, DisplayLevel.Beginner, ControlType.NumericUpDown, ValidationType.RangeInteger, 0, int.MaxValue)]
77        public int CountOfInputs
78        {
79            get { return this.countOfInputs; }
80            set
81            {
82                this.countOfInputs = value;
83                OnPropertyChanged("CountOfInputs");
84                HasChanges = true;
85            }
86        }
87
88        [ContextMenu("CubeAttack mode",
89            "Extend the BFP for use as a slave for Cube Attack.",
90            1,
91            DisplayLevel.Experienced,
92            ContextMenuControlType.CheckBox,
93            null,
94            "")]
95        [TaskPane("CubeAttack mode",
96            "Extend the BFP for use as a slave for Cube Attack.",
97            null,
98            1,
99            false,
100            DisplayLevel.Experienced,
101            ControlType.CheckBox, "")]
102        public bool UseBFPforCube
103        {
104            get { return this.useBFPforCube; }
105            set
106            {
107                if (value != this.useBFPforCube) HasChanges = true;
108                this.useBFPforCube = value;
109                OnPropertyChanged("UseBFPforCube");
110            }
111        }
112
113        public bool HasChanges
114        {
115            get { return hasChanges; }
116            set { hasChanges = value; }
117        }
118
119        public bool CanChangeProperty { get; set; }
120
121        #endregion
122
123        #region INotifyPropertyChanged Members
124
125        public event PropertyChangedEventHandler PropertyChanged;
126
127        public void OnPropertyChanged(string name)
128        {
129            if (PropertyChanged != null)
130            {
131                EventsHelper.PropertyChanged(PropertyChanged, this, new PropertyChangedEventArgs(name));
132            }
133        }
134
135        #endregion
136    }
137}
Note: See TracBrowser for help on using the repository browser.