source: trunk/CrypPlugins/SZ42/LorenzSettings.cs

Last change on this file was 8983, checked in by kopal, 10 months ago

Complete CrypTool 2 project

  • renamed "Cryptool" namespace to "CrypTool" namespace
File size: 18.0 KB
Line 
1/* HOWTO: Change year, author name and organization.
2   Copyright 2010 Your Name, University of Duckburg
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 CrypTool.PluginBase;
18using System.ComponentModel;
19
20namespace CrypTool.Plugins.SZ42
21{
22    public class LorenzSettings : ISettings
23    {
24        #region Private Variables
25
26        private int limitation = 0;
27        private string[] patterns = new string[12];
28        private string [] positions = new string[12];
29        private int action = 0;
30        private bool inputParsed = false;
31        private bool outputParsed = false;
32
33        #endregion
34
35        #region Public Interface
36
37        /// <summary>
38        /// We use this delegate to send log messages from the settings class to the Caesar plugin
39        /// </summary>
40        public delegate void LorenzLogMessage(string msg, NotificationLevel loglevel);
41        public delegate void LorenzReExecute();
42        public event LorenzReExecute ReExecute;
43
44        public string[] Patterns
45        {
46            get { return patterns; }
47            //set { patterns = value; }
48        }
49
50        public string[] Positions
51        {
52            get { return positions; }
53            //set { positions = value; }
54        }
55
56        #endregion
57
58        #region TaskPane Settings
59
60        #region General Settings
61
62        [TaskPane("ActionCaption", "ActionTooltip", "GeneralSettingsGroup", 0, false, ControlType.ComboBox, new string[] { "ActionList1", "ActionList2" })]
63        public int Action
64        {
65            get
66            {
67                return this.action;
68            }
69            set
70            {
71                if (value != action)
72                {
73                    this.action = value;
74                    OnPropertyChanged("Action");
75
76                    if (ReExecute != null) ReExecute();   
77                }
78            }
79        }
80
81        [TaskPane("LimitationCaption", "LimitationTooltip", "GeneralSettingsGroup", 1, false, ControlType.ComboBox, new string[] { "LimitationList1", "LimitationList2" })]
82        public int Limitation
83        {
84            get
85            {
86                return this.limitation;
87            }
88            set
89            {
90                if (value != limitation)
91                {
92                    this.limitation = value;
93                    OnPropertyChanged("Limitation");
94
95                    if (ReExecute != null) ReExecute();   
96                }
97            }
98        }
99
100        #endregion
101
102        #region Wheels Patterns
103
104        [TaskPane("Patternχ1Caption", "Patternχ1Tooltip", "PatternGroup", 2, false, ControlType.TextBox, "")]
105        public string Patternχ1
106        {
107            get
108            {
109                return this.patterns[0];
110            }
111            set
112            {
113                if (value != patterns[0])
114                {
115                    this.patterns[0] = value;
116                    OnPropertyChanged("Pattern");
117
118                    if (ReExecute != null) ReExecute();   
119                }
120            }
121        }
122
123        [TaskPane("Patternχ2Caption", "Patternχ2Tooltip", "PatternGroup", 3, false, ControlType.TextBox, "")]
124        public string Patternχ2
125        {
126            get
127            {
128                return this.patterns[1];
129            }
130            set
131            {
132                if (value != patterns[1])
133                {
134                    this.patterns[1] = value;
135                    OnPropertyChanged("Patternχ2");
136
137                    if (ReExecute != null) ReExecute();   
138                }
139            }
140        }
141
142        [TaskPane("Patternχ3Caption", "Patternχ3Tooltip", "PatternGroup", 4, false, ControlType.TextBox, "")]
143        public string Patternχ3
144        {
145            get
146            {
147                return this.patterns[2];
148            }
149            set
150            {
151                if (value != patterns[2])
152                {
153                    this.patterns[2] = value;
154                    OnPropertyChanged("Patternχ3");
155
156                    if (ReExecute != null) ReExecute();   
157                }
158            }
159        }
160
161        [TaskPane( "Patternχ4Caption", "Patternχ4Tooltip", "PatternGroup", 5, false, ControlType.TextBox, "")]
162        public string Patternχ4
163        {
164            get
165            {
166                return this.patterns[3];
167            }
168            set
169            {
170                if (value != patterns[3])
171                {
172                    this.patterns[3] = value;
173                    OnPropertyChanged("Patternχ4");
174
175                    if (ReExecute != null) ReExecute();
176                }
177            }
178        }
179
180        [TaskPane( "Patternχ5Caption", "Patternχ5Tooltip", "PatternGroup", 6, false, ControlType.TextBox, "")]
181        public string Patternχ5
182        {
183            get
184            {
185                return this.patterns[4];
186            }
187            set
188            {
189                if (value != patterns[4])
190                {
191                    this.patterns[4] = value;
192                    OnPropertyChanged("Patternχ5");
193
194                    if (ReExecute != null) ReExecute();   
195                }
196            }
197        }
198
199        [TaskPane( "PatternΨ1Caption", "PatternΨ1Tooltip", "PatternGroup", 7, false, ControlType.TextBox, "")]
200        public string PatternΨ1
201        {
202            get
203            {
204                return this.patterns[5];
205            }
206            set
207            {
208                if (value != patterns[5])
209                {
210                    this.patterns[5] = value;
211                    OnPropertyChanged("PatternΨ1");
212
213                    if (ReExecute != null) ReExecute();   
214                }
215            }
216        }
217
218        [TaskPane( "PatternΨ2Caption", "PatternΨ2Tooltip", "PatternGroup", 8, false, ControlType.TextBox, "")]
219        public string PatternΨ2
220        {
221            get
222            {
223                return this.patterns[6];
224            }
225            set
226            {
227                if (value != patterns[6])
228                {
229                    this.patterns[6] = value;
230                    OnPropertyChanged("PatternΨ2");
231
232                    if (ReExecute != null) ReExecute();   
233                }
234            }
235        }
236
237        [TaskPane( "PatternΨ3Caption", "PatternΨ3Tooltip", "PatternGroup", 9, false, ControlType.TextBox, "")]
238        public string PatternΨ3
239        {
240            get
241            {
242                return this.patterns[7];
243            }
244            set
245            {
246                if (value != patterns[7])
247                {
248                    this.patterns[7] = value;
249                    OnPropertyChanged("PatternΨ3");
250
251                    if (ReExecute != null) ReExecute();   
252                }
253            }
254        }
255
256        [TaskPane( "PatternΨ4Caption", "PatternΨ4Tooltip", "PatternGroup", 10, false, ControlType.TextBox, "")]
257        public string PatternΨ4
258        {
259            get
260            {
261                return this.patterns[8];
262            }
263            set
264            {
265                if (value != patterns[8])
266                {
267                    this.patterns[8] = value;
268                    OnPropertyChanged("PatternΨ4");
269
270                    if (ReExecute != null) ReExecute();   
271                }
272            }
273        }
274
275        [TaskPane( "PatternΨ5Caption", "PatternΨ5Tooltip", "PatternGroup", 11, false, ControlType.TextBox, "")]
276        public string PatternΨ5
277        {
278            get
279            {
280                return this.patterns[9];
281            }
282            set
283            {
284                if (value != patterns[9])
285                {
286                    this.patterns[9] = value;
287                    OnPropertyChanged("PatternΨ5");
288
289                    if (ReExecute != null) ReExecute();
290                }
291            }
292        }
293
294        [TaskPane( "Patternμ61Caption", "Patternμ61Tooltip", "PatternGroup", 12, false, ControlType.TextBox, "")]
295        public string Patternμ61
296        {
297            get
298            {
299                return this.patterns[10];
300            }
301            set
302            {
303                if (value != patterns[10])
304                {
305                    this.patterns[10] = value;
306                    OnPropertyChanged("Patternμ61");
307
308                    if (ReExecute != null) ReExecute();   
309                }
310            }
311        }
312
313        [TaskPane( "Patternμ37Caption", "Patternμ37Tooltip", "PatternGroup", 13, false, ControlType.TextBox, "")]
314        public string Patternμ37
315        {
316            get
317            {
318                return this.patterns[11];
319            }
320            set
321            {
322                if (value != patterns[11])
323                {
324                    this.patterns[11] = value;
325                    OnPropertyChanged("Patternμ37");
326
327                    if (ReExecute != null) ReExecute();   
328                }
329            }
330        }
331
332        #endregion
333
334        #region Wheels Positions
335
336        [TaskPane( "Positionχ1Caption", "Positionχ1Tooltip", "PositionGroup", 14, false, ControlType.TextBox, "")]
337        public string Positionχ1
338        {
339            get
340            {
341                return this.positions[0];
342            }
343            set
344            {
345                if (value != positions[0])
346                {
347                    this.positions[0] = value;
348                    OnPropertyChanged("Positionχ1");
349
350                    if (ReExecute != null) ReExecute();                   
351                }
352            }
353        }
354
355        [TaskPane( "Positionχ2Caption", "Positionχ2Tooltip", "PositionGroup", 15, false, ControlType.TextBox, "")]
356        public string Positionχ2
357        {
358            get
359            {
360                return this.positions[1];
361            }
362            set
363            {
364                if (value != positions[1])
365                {
366                    this.positions[1] = value;
367                    OnPropertyChanged("Positionχ2");
368
369                    if (ReExecute != null) ReExecute();                   
370                }
371            }
372        }
373
374        [TaskPane( "Positionχ3Caption", "Positionχ3Tooltip", "PositionGroup", 16, false, ControlType.TextBox, "")]
375        public string Positionχ3
376        {
377            get
378            {
379                return this.positions[2];
380            }
381            set
382            {
383                if (value != positions[2])
384                {
385                    this.positions[2] = value;
386                    OnPropertyChanged("Positionχ3");
387
388                    if (ReExecute != null) ReExecute();                   
389                }
390            }
391        }
392
393        [TaskPane( "Positionχ4Caption", "Positionχ4Tooltip", "PositionGroup", 17, false, ControlType.TextBox, "")]
394        public string Positionχ4
395        {
396            get
397            {
398                return this.positions[3];
399            }
400            set
401            {
402                if (value != positions[3])
403                {
404                    this.positions[3] = value;
405                    OnPropertyChanged("Positionχ4");
406
407                    if (ReExecute != null) ReExecute();                   
408                }
409            }
410        }
411
412        [TaskPane( "Positionχ5Caption", "Positionχ5Tooltip", "PositionGroup", 18, false, ControlType.TextBox, "")]
413        public string Positionχ5
414        {
415            get
416            {
417                return this.positions[4];
418            }
419            set
420            {
421                if (value != positions[4])
422                {
423                    this.positions[4] = value;
424                    OnPropertyChanged("Positionχ5");
425
426                    if (ReExecute != null) ReExecute();                   
427                }
428            }
429        }
430
431        [TaskPane( "PositionΨ1Caption", "PositionΨ1Tooltip", "PositionGroup", 19, false, ControlType.TextBox, "")]
432        public string PositionΨ1
433        {
434            get
435            {
436                return this.positions[5];
437            }
438            set
439            {
440                if (value != positions[5])
441                {
442                    this.positions[5] = value;
443                    OnPropertyChanged("PositionΨ1");
444
445                    if (ReExecute != null) ReExecute();                   
446                }
447            }
448        }
449
450        [TaskPane( "PositionΨ2Caption", "PositionΨ2Tooltip", "PositionGroup", 20, false, ControlType.TextBox, "")]
451        public string PositionΨ2
452        {
453            get
454            {
455                return this.positions[6];
456            }
457            set
458            {
459                if (value != positions[6])
460                {
461                    this.positions[6] = value;
462                    OnPropertyChanged("PositionΨ2");
463
464                    if (ReExecute != null) ReExecute();                   
465                }
466            }
467        }
468
469        [TaskPane( "PositionΨ3Caption", "PositionΨ3Tooltip", "PositionGroup", 21, false, ControlType.TextBox, "")]
470        public string PositionΨ3
471        {
472            get
473            {
474                return this.positions[7];
475            }
476            set
477            {
478                if (value != positions[7])
479                {
480                    this.positions[7] = value;
481                    OnPropertyChanged("PositionΨ3");
482
483                    if (ReExecute != null) ReExecute();   
484                }
485            }
486        }
487
488        [TaskPane( "PositionΨ4Caption", "PositionΨ4Tooltip", "PositionGroup", 22, false, ControlType.TextBox, "")]
489        public string PositionΨ4
490        {
491            get
492            {
493                return this.positions[8];
494            }
495            set
496            {
497                if (value != positions[8])
498                {
499                    this.positions[8] = value;
500                    OnPropertyChanged("PositionΨ4");
501
502                    if (ReExecute != null) ReExecute();                   
503                }
504            }
505        }
506
507        [TaskPane( "PositionΨ5Caption", "PositionΨ5Tooltip", "PositionGroup", 23, false, ControlType.TextBox, "")]
508        public string PositionΨ5
509        {
510            get
511            {
512                return this.positions[9];
513            }
514            set
515            {
516                if (value != positions[9])
517                {
518                    this.positions[9] = value;
519                    OnPropertyChanged("PositionΨ5");
520
521                    if (ReExecute != null) ReExecute();                   
522                }
523            }
524        }
525
526        [TaskPane( "Positionμ61Caption", "Positionμ61Tooltip", "PositionGroup", 24, false, ControlType.TextBox, "")]
527        public string Positionμ61
528        {
529            get
530            {
531                return this.positions[10];
532            }
533            set
534            {
535                if (value != positions[10])
536                {
537                    this.positions[10] = value;
538                    OnPropertyChanged("Positionμ61");
539
540                    if (ReExecute != null) ReExecute();   
541                }
542            }
543        }
544
545        [TaskPane( "Positionμ37Caption", "Positionμ37Tooltip", "PositionGroup", 25, false, ControlType.TextBox, "")]
546        public string Positionμ37
547        {
548            get
549            {
550                return this.positions[10];
551            }
552            set
553            {
554                if (value != positions[10])
555                {
556                    this.positions[10] = value;
557                    OnPropertyChanged("Positionμ37");
558
559                    if (ReExecute != null) ReExecute();   
560                }
561            }
562        }
563
564        #endregion
565
566        #region Format Settings
567
568        [TaskPane( "InputParsedCaption", "InputParsedTooltip", "FormatGroup", 26, false, ControlType.CheckBox, "")]
569        public bool InputParsed
570        {
571            get
572            {
573                return this.inputParsed;
574            }
575            set
576            {
577                if (value != inputParsed)
578                {
579                    this.inputParsed = value;
580                    OnPropertyChanged("InputParsed");
581
582                    if (ReExecute != null) ReExecute();   
583                }
584            }
585        }
586
587        [TaskPane( "OutputParsedCaption", "OutputParsedTooltip", "FormatGroup", 27, false, ControlType.CheckBox, "")]
588        public bool OutputParsed
589        {
590            get
591            {
592                return this.outputParsed;
593            }
594            set
595            {
596                if (value != outputParsed)
597                {
598                    this.outputParsed = value;
599                    OnPropertyChanged("OutputParsed");
600
601                    if (ReExecute != null) ReExecute();   
602                }
603            }
604        }
605
606        #endregion
607       
608        #endregion
609
610        #region INotifyPropertyChanged Members
611
612        public event PropertyChangedEventHandler PropertyChanged;
613        public void Initialize()
614        {
615           
616        }
617
618        protected void OnPropertyChanged(string name)
619        {
620            if (PropertyChanged != null)
621            {
622                PropertyChanged(this, new PropertyChangedEventArgs(name));
623            }
624        }
625
626        #endregion
627    }
628}
Note: See TracBrowser for help on using the repository browser.