source: trunk/CrypPlugins/BigNumber/BigNumberOperationSettings.cs @ 753

Last change on this file since 753 was 753, checked in by nolte, 12 years ago

Rearranged order and created regions for this plug-in so it can be read more comfortable...(idea Nils K)
spread comments over the code as well

File size: 3.5 KB
Line 
1/*                             
2   Copyright 2009 Team CrypTool (Sven Rech,Dennis Nolte,Raoul Falk,Nils Kopal), Uni 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*/
16
17using System;
18using System.Collections.Generic;
19using System.Linq;
20using System.Text;
21using Cryptool.PluginBase;
22using System.ComponentModel;
23
24namespace Cryptool.Plugins.BigNumber
25{
26    class BigNumberOperationSettings : ISettings
27    {
28        #region private variables
29
30        private int operat;
31
32        #endregion
33        #region taskpane
34
35        /// <summary>
36        /// The checkbox with its options.
37        ///
38        /// Based on the option chosen, the icon for this plug-in will also change.
39        /// </summary>
40        [TaskPane("Operat", "Choose the operator.", null, 1, false, DisplayLevel.Beginner, ControlType.ComboBox, new string[] { "x+y","x-y","x*y","x/y","x^y","GCD"})]
41        public int Operat
42        {
43            get { return this.operat; }
44            set
45            {
46                if ((int)value != this.operat)
47                {
48                    this.operat = (int)value;
49                    OnPropertyChanged("Operat");
50                    HasChanges = true;
51
52                    switch (operat)
53                    {
54                        //x+y
55                        case 0:
56                            ChangePluginIcon(0);
57                            break;
58                        //x-y
59                        case 1:
60                            ChangePluginIcon(1);
61                            break;
62                        //x*y
63                        case 2:
64                            ChangePluginIcon(2);
65                            break;
66                        //x/y
67                        case 3:
68                            ChangePluginIcon(3);
69                            break;
70                        //x^y
71                        case 4:
72                            ChangePluginIcon(4);
73                            break;
74                        //gcd(x,y)
75                        case 5:
76                            ChangePluginIcon(5);
77                            break;
78                    }
79                }
80            }
81        }
82
83        private void ChangePluginIcon(int p)
84        {
85            OnPluginStatusChanged(null, new StatusEventArgs(StatusChangedMode.ImageUpdate, p));
86        }
87        #endregion
88        #region ISettings Members
89
90        private bool hasChanges;
91        public bool HasChanges
92        {
93            get { return hasChanges; }
94            set { hasChanges = value; }
95        }
96
97        #endregion
98
99        #region INotifyPropertyChanged Members
100
101        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
102
103        private void OnPropertyChanged(string p)
104        {
105            if (PropertyChanged != null)
106                PropertyChanged(this, new PropertyChangedEventArgs(p));
107        }
108        public event StatusChangedEventHandler OnPluginStatusChanged;
109
110        #endregion
111    }
112}
Note: See TracBrowser for help on using the repository browser.