source: trunk/CrypPlugins/Converter/ConverterSettings.cs @ 746

Last change on this file since 746 was 746, checked in by falk, 12 years ago

Converter

File size: 8.8 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.ComponentModel;
20using System.Linq;
21using System.Text;
22using System.Windows;
23using System.Windows.Media;
24using System.Windows.Controls;
25using Cryptool.PluginBase;
26
27namespace Cryptool.Plugins.Converter
28{
29    public class ConverterSettings : ISettings
30    {
31        #region private variables
32        private int converter = 9; // 0 = String, 1 = int, 2 = short, 3 = byte, 4 = double, 5 = bigInteger, 6= Int[] , 7=Byte[], 8=CryptoolStream, 9 = default
33        private bool hasChanges;
34        private bool numeric = false;
35        private bool formatAmer = false;
36        #endregion
37
38        #region taskpane
39     //   [ContextMenu("Numeric Interpretation", "Choose whether inputs are treated as numeric values if possible", 1, DisplayLevel.Beginner, ContextMenuControlType.ComboBox, new int[] { 1, 2 }, "numeric", "non numeric")]
40        [TaskPane("Converter", "Choose the output type", null, 1, false, DisplayLevel.Beginner, ControlType.ComboBox, new string[] { "string", "int", "short", "byte", "double", "BigInteger", "int[]", "byte[]","Cryptoolstream" })]
41       
42     
43        public int Converter
44        {
45            get { return this.converter; }
46            set
47            {
48                if (value != this.converter)
49                {
50                    this.converter = value;
51                    if (TaskPaneAttributeChanged != null)
52                    {
53                        switch (Converter)
54                        {
55                            case 0:
56                                {
57                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
58                                    //TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
59                                    break;
60                                }
61                            case 1:
62                                {
63                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
64                                    //  TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
65                                    break;
66                                }
67                            case 2:
68                                {
69                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
70                                    //TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
71                                    break;
72                                }
73                            case 3:
74                                {
75                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
76                                    //TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
77                                    break;
78                                }
79                            case 4:
80                                {
81                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
82                                    // TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
83                                    break;
84                                }
85                            case 5:
86                                {
87                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
88                                    //TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
89                                    break;
90                                }
91                            case 6:
92                                {
93                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
94                                    //TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
95                                    break;
96                                }
97                            case 7:
98                                {
99                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Visible)));
100                                    //TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
101                                    break;
102                                }
103                            case 8:
104                                {
105                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
106                                    //TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
107                                    break;
108                                }
109                        }
110                    }
111                    OnPropertyChanged("Converter");
112                    HasChanges = true;
113
114                   ChangePluginIcon(converter+1);
115                }
116            }
117        }
118        [TaskPane("Numeric", "Choose whether inputs are interpreted as numeric values if possible", null, 1, false, DisplayLevel.Beginner, ControlType.ComboBox, new string[] { "no", "yes" })]
119        public bool Numeric
120        {
121            get { return this.numeric; }
122            set
123            {
124                if (value != this.numeric)
125                {
126                    this.numeric = value;
127                    OnPropertyChanged("Numeric");
128                    HasChanges = true;
129                }
130            }
131        }
132
133        [TaskPane("Format", "Choose whether double values are recognized via german or american syntax. German: \"123.345.34,34\" American: \"123,345,34.34 ", null, 1, false, DisplayLevel.Beginner, ControlType.ComboBox, new string[] { "german", "american" })]
134        public bool FormatAmer
135        {
136            get { return this.formatAmer; }
137            set
138            {
139                if (value != this.formatAmer)
140                {
141                    this.formatAmer = value;
142                    OnPropertyChanged("Format");
143                    HasChanges = true;
144                }
145            }
146        }
147        #endregion
148
149        #region ISettings Member
150
151        public bool HasChanges
152        {
153            get { return hasChanges; }
154            set { hasChanges = value; }
155
156        }
157
158        #endregion
159
160        #region INotifyPropertyChanged Member
161
162        public event TaskPaneAttributeChangedHandler TaskPaneAttributeChanged;
163
164        public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
165
166        protected void OnPropertyChanged(string name)
167        {
168
169        }
170        public event StatusChangedEventHandler OnPluginStatusChanged;
171        private void ChangePluginIcon(int iconIndex)
172        {
173            if (OnPluginStatusChanged != null) OnPluginStatusChanged(null, new StatusEventArgs(StatusChangedMode.ImageUpdate, iconIndex));
174        }
175        #endregion
176    }
177}
Note: See TracBrowser for help on using the repository browser.