source: trunk/CrypPlugins/KeySearcher_IControl/KeySearcher_IControlSettings.cs @ 2280

Last change on this file since 2280 was 971, checked in by arnold, 12 years ago

Beta Version of Distributed KeySearcher with P2PManager und P2PWorker.

File size: 3.9 KB
Line 
1/*
2   Copyright 2009 Christian Arnold, Universität Duisburg-Essen
3
4   Licensed under the Apache License, Version 2.0 (the "License");
5   you may not use this file except in compliance with the License.
6   You may obtain a copy of the License at
7
8       http://www.apache.org/licenses/LICENSE-2.0
9
10   Unless required by applicable law or agreed to in writing, software
11   distributed under the License is distributed on an "AS IS" BASIS,
12   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   See the License for the specific language governing permissions and
14   limitations under the License.
15*/
16using System;
17using System.Collections.Generic;
18using System.Linq;
19using System.Text;
20using Cryptool.PluginBase;
21using System.ComponentModel;
22using System.Collections.ObjectModel;
23
24namespace Cryptool.Plugins.KeySearcher_IControl
25{
26    public class KeySearcher_IControlSettings : ISettings
27    {
28        private KeySearcher_IControl keysearcher;
29        private int coresUsed;
30
31        public KeySearcher_IControlSettings(KeySearcher_IControl ks)
32        {
33            keysearcher = ks;
34            CoresAvailable.Clear();
35            for (int i = 0; i < Environment.ProcessorCount; i++)
36                CoresAvailable.Add((i + 1).ToString());
37            CoresUsed = Environment.ProcessorCount - 1;
38        }
39
40        //private string key;
41        //[TaskPane("Key", "Key pattern used to bruteforce", null, 1, false, DisplayLevel.Beginner, ControlType.TextBox)]
42        //public String Key
43        //{
44        //    get
45        //    {
46        //        return key;
47        //    }
48        //    set
49        //    {
50        //        key = value;
51        //        OnPropertyChanged("Key");
52        //        if (!(keysearcher.Pattern != null && keysearcher.Pattern.testWildcardKey(value)))
53        //            keysearcher.GuiLogMessage("Wrong key pattern!", NotificationLevel.Error);
54        //    }
55        //}
56
57        //[TaskPane("Reset", "Reset Key", null, 2, false, DisplayLevel.Beginner, ControlType.Button)]
58        //public void Reset()
59        //{
60
61        //    Key = keysearcher.Pattern.giveInputPattern();
62        //}
63       
64        [TaskPane("CoresUsed", "Choose how many cores should be used", null, 3, false, DisplayLevel.Beginner, ControlType.DynamicComboBox, new string[] { "CoresAvailable" })]
65        public int CoresUsed
66        {
67            get { return this.coresUsed; }
68            set
69            {
70                if (value != this.coresUsed)
71                {
72                    this.coresUsed = value;
73                    OnPropertyChanged("CoresUsed");
74                    HasChanges = true;
75                }
76            }
77        }
78
79        private ObservableCollection<string> coresAvailable = new ObservableCollection<string>();
80        public ObservableCollection<string> CoresAvailable
81        {
82            get { return coresAvailable; }
83            set
84            {
85                if (value != coresAvailable)
86                {
87                    coresAvailable = value;
88                }
89                OnPropertyChanged("CoresAvailable");
90            }
91        }
92       
93        #region ISettings Members
94
95        private bool hasChanges;
96
97        public bool HasChanges
98        {
99            get
100            {
101                return hasChanges;
102            }
103            set
104            {
105                hasChanges = value;
106                OnPropertyChanged("HasChanges");
107            }
108        }
109
110        #endregion
111
112        #region INotifyPropertyChanged Members
113
114        public event PropertyChangedEventHandler PropertyChanged;
115
116        private void OnPropertyChanged(string p)
117        {
118            if (PropertyChanged != null)
119            {
120                PropertyChanged(this, new PropertyChangedEventArgs(p));
121            }
122        }
123
124        #endregion
125    }
126}
Note: See TracBrowser for help on using the repository browser.