source: trunk/CrypPlugins/CaesarAnalysisHelper/CaesarAnalysisHelperSettings.cs @ 2411

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

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

File size: 2.8 KB
Line 
1/*                             
2   Copyright 2009 Fabian Enkler
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*/
16
17using System;
18using Cryptool.PluginBase;
19using System.ComponentModel;
20
21namespace Cryptool.CaesarAnalysisHelper
22{
23    public enum Language
24    {
25        German,
26        English,
27        French,
28        Spanish
29    }
30
31    class CaesarAnalysisHelperSettings : ISettings
32    {
33        internal char FrequentChar = 'e';
34
35        private Language Lang = Language.German;
36
37        [ContextMenu("Language", "The Language", 0, ContextMenuControlType.ComboBox, null, new[] { "German", "English", "French", "Spanish" })]
38        [TaskPane("Language", "The text's language.", null, 0, false, ControlType.ComboBox, new[] { "German", "English", "French", "Spanish" })]
39        public int TextLanguage
40        {
41            get
42            {
43                return (int)Lang;
44            }
45            set
46            {
47                try
48                {
49                    Lang = (Language)value;
50                    switch (Lang)
51                    {
52                        case Language.German:
53                        case Language.English:
54                        case Language.French:
55                        case Language.Spanish:
56                            FrequentChar = 'e';
57                            break;
58                        default:
59                            break;
60                    }
61                    OnPropertyChanged("TextLanguage");
62                }
63                catch (Exception)
64                {
65                }
66            }
67        }
68
69        private bool hasChanges;
70        public bool HasChanges
71        {
72            get { return hasChanges; }
73            set
74            {
75                if (value != hasChanges)
76                {
77                    hasChanges = value;
78                    OnPropertyChanged("HasChanges");
79                }
80            }
81        }
82
83        public event PropertyChangedEventHandler PropertyChanged;
84
85        private void OnPropertyChanged(string name)
86        {
87            if (PropertyChanged != null)
88                PropertyChanged(this, new PropertyChangedEventArgs(name));
89            if (name.ToLower() != "haschanges")
90                HasChanges = true;
91        }
92    }
93}
Note: See TracBrowser for help on using the repository browser.