source: trunk/CrypPlugins/KeySearcher/KeySearcherSettings.cs @ 682

Last change on this file since 682 was 682, checked in by Sven Rech, 12 years ago

KeySearcher is now saveable
new KeySearcher-Sample

File size: 1.9 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using Cryptool.PluginBase;
6using System.ComponentModel;
7
8namespace KeySearcher
9{
10    public class KeySearcherSettings : ISettings
11    {
12        private KeySearcher keysearcher;
13
14        public KeySearcherSettings(KeySearcher ks)
15        {
16            keysearcher = ks;
17        }
18
19        private string key;
20        [TaskPane("Key", "Key pattern used to bruteforce", null, 1, false, DisplayLevel.Beginner, ControlType.TextBox)]
21        public String Key
22        {
23            get
24            {
25                return key;
26            }
27            set
28            {               
29                key = value;
30                OnPropertyChanged("Key");
31                if (!(keysearcher.Pattern != null && keysearcher.Pattern.testKey(value)))               
32                    keysearcher.GuiLogMessage("Wrong key pattern!", NotificationLevel.Error);               
33            }
34        }
35
36        [TaskPane("Reset", "Reset Key", null, 2, false, DisplayLevel.Beginner, ControlType.Button)]
37        public void Reset()
38        {
39            Key = keysearcher.Pattern.giveWildcardKey();
40        }
41
42
43        #region ISettings Members
44
45        private bool hasChanges;
46
47        public bool HasChanges
48        {
49            get
50            {
51                return hasChanges;
52            }
53            set
54            {
55                hasChanges = value;
56                OnPropertyChanged("HasChanges");
57            }
58        }
59
60        #endregion
61
62        #region INotifyPropertyChanged Members
63
64        public event PropertyChangedEventHandler PropertyChanged;
65
66        private void OnPropertyChanged(string p)
67        {
68            if (PropertyChanged != null)
69            {
70                PropertyChanged(this, new PropertyChangedEventArgs(p));
71            }
72        }
73
74        #endregion
75    }
76}
Note: See TracBrowser for help on using the repository browser.