Ignore:
Timestamp:
Mar 2, 2011, 1:45:06 PM (11 years ago)
Author:
weyers
Message:

EnigmaPresentation weekly update: Presentation-Drag-and-Drop <-> EnigmaSettings sync, EnigmaSettings PlugBoard bugfix, EnigmaSettings Presentation Speed Slider added.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/Enigma/EnigmaSettings.cs

    r2801 r2861  
    7777
    7878        private int reflector = 1;
     79
     80        private int Presentation_Speed = 1;
    7981
    8082        private bool involutoricPlugBoard = true;
     
    103105            }
    104106        }
     107       
    105108
    106109        private void setPlugBoard(int letterPos, int newIndex)
     
    113116                char currentChar = plugBoard[letterPos];
    114117                int currentIndex = alphabet.IndexOf(currentChar);
    115 
     118               
     119                int preconnect = alphabet.IndexOf(this.plugBoard[newIndex]);
     120
     121                if (this.plugBoard[preconnect] != alphabet[preconnect])
     122                {
     123                    this.plugBoard[preconnect] = alphabet[preconnect];
     124                    OnPropertyChanged("PlugBoard" + alphabet[preconnect]);
     125                }
    116126               
     127               
    117128                //if (this.involutoricPlugBoard)
    118129                //{
     
    120131                OnPropertyChanged("PlugBoard" + alphabet[newIndex]);
    121132
    122                
     133
    123134
    124135
    125136                if (newChar == this.alphabet[letterPos])
    126                     {
    127                         // we removed a plug
    128                         this.plugBoard[currentIndex] = this.alphabet[currentIndex];
    129                         OnPropertyChanged("PlugBoard" + alphabet[currentIndex] );
    130                     }
     137                {
     138                    // we removed a plug
     139                    this.plugBoard[currentIndex] = this.alphabet[currentIndex];
     140                    OnPropertyChanged("PlugBoard" + alphabet[currentIndex]);
     141                }
    131142
    132143
    133144
    134145                //}
    135                
     146
    136147                this.plugBoard[letterPos] = newChar;
    137148                OnPropertyChanged("PlugBoard" + alphabet[letterPos]);
    138149
    139                
     150
    140151
    141152
     
    144155            }
    145156        }
    146 
    147157        private void showSettingsElement(string element)
    148158        {
     
    807817                    OnPropertyChanged("Ring1up");
    808818                }
     819                OnPropertyChanged("Ring1");
    809820            }
    810821        }
     
    828839                    OnPropertyChanged("Ring2up");
    829840                }
     841                OnPropertyChanged("Ring2");
    830842            }
    831843        }
     
    849861                    OnPropertyChanged("Ring3up");
    850862                }
     863                OnPropertyChanged("Ring3");
    851864            }
    852865        }
     
    11471160        #endregion
    11481161
     1162        [TaskPane("Presentation Speed", "Change the pace of the Presentation", "Presentation", 71, true, ControlType.Slider, 1, 10)]
     1163        public int PresentationSpeed
     1164        {
     1165            get { return (int)Presentation_Speed; }
     1166            set
     1167            {
     1168                if ((value) != Presentation_Speed) hasChanges = true;
     1169                this.Presentation_Speed = value;
     1170                OnPropertyChanged("Presentation_Speed");
     1171            }
     1172        }
     1173
    11491174        #endregion
     1175
    11501176
    11511177        #region ISettings Member
Note: See TracChangeset for help on using the changeset viewer.