Changeset 7242


Ignore:
Timestamp:
Oct 26, 2017, 8:31:18 AM (4 years ago)
Author:
heuser
Message:

One fix and some renaming

Location:
trunk/CrypPlugins/Enigma
Files:
5 edited

Legend:

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

    r7241 r7242  
    5959        #region Private variables
    6060
    61         private EnigmaSettings settings;
    62         private EnigmaPresentationFrame enigmaPresentationFrame;
    63         private EnigmaCore core;
     61        private EnigmaSettings _settings;
     62        private EnigmaPresentationFrame _enigmaPresentationFrame;
     63        private EnigmaCore _core;
    6464        private string _textInput;
    6565        private string _keyInput;
    66         private IDictionary<int, IDictionary<string, double[]>> statistics;
     66        private IDictionary<int, IDictionary<string, double[]>> _statistics;
    6767        // FIXME: enable optional statistics input
    6868        //private IDictionary<string, double[]> inputTriGrams;
    69         private string outputString;
    70         private string outputKey;
    71         private string savedKey;
    72         public Boolean isrunning;
     69        private string _textOutput;
     70        private string _savedInitialRotorPos;
     71        public Boolean _isrunning;
    7372        private Boolean _newText = false;
    7473        private Boolean _newKey = false;
     
    9594           
    9695            String input = preFormatInput(text);
    97             enigmaPresentationFrame.ChangeStatus(isrunning, enigmaPresentationFrame.EnigmaPresentation.IsVisible);
    98 
    99             if (Presentation.IsVisible && enigmaPresentationFrame.EnigmaPresentation.PresentationDisabled.DisabledBoolProperty)
    100             {
    101 
    102                 String output = core.Encrypt(rotor1Pos, rotor2Pos, rotor3Pos, rotor4Pos, input);
    103 
    104                 enigmaPresentationFrame.EnigmaPresentation.output = output;
    105                 if (enigmaPresentationFrame.EnigmaPresentation.checkReady())
    106                     enigmaPresentationFrame.EnigmaPresentation.setinput(input);
     96            _enigmaPresentationFrame.ChangeStatus(_isrunning, _enigmaPresentationFrame.EnigmaPresentation.IsVisible);
     97
     98            if (Presentation.IsVisible && _enigmaPresentationFrame.EnigmaPresentation.PresentationDisabled.DisabledBoolProperty)
     99            {
     100
     101                String output = _core.Encrypt(rotor1Pos, rotor2Pos, rotor3Pos, rotor4Pos, input);
     102
     103                _enigmaPresentationFrame.EnigmaPresentation.output = output;
     104                if (_enigmaPresentationFrame.EnigmaPresentation.checkReady())
     105                    _enigmaPresentationFrame.EnigmaPresentation.setinput(input);
    107106                else
    108107                    LogMessage("Presentation Error!", NotificationLevel.Error);
     
    115114            {
    116115                   
    117                 return postFormatOutput(core.Encrypt(rotor1Pos, rotor2Pos, rotor3Pos, rotor4Pos, input));
     116                return postFormatOutput(_core.Encrypt(rotor1Pos, rotor2Pos, rotor3Pos, rotor4Pos, input));
    118117            }
    119118           
     
    154153            for (int i = 0; i < text.Length; i++)
    155154            {
    156                 if (settings.Alphabet.Contains(char.ToUpper(text[i])))
     155                if (_settings.Alphabet.Contains(char.ToUpper(text[i])))
    157156                {
    158157                    newToken = true;
    159158                    if (text[i] == char.ToLower(text[i])) //Solution for preserve FIXME underconstruction
    160159                    {
    161                         if (settings.UnknownSymbolHandling == 1)
     160                        if (_settings.UnknownSymbolHandling == 1)
    162161                        {
    163162                            lowerList.Add(new UnknownToken(text[i], result.Length));
     
    171170                    result.Append(char.ToUpper(text[i])); // FIXME: shall save positions of lowercase letters
    172171                }
    173                 else if (settings.UnknownSymbolHandling != 1) // 1 := remove
     172                else if (_settings.UnknownSymbolHandling != 1) // 1 := remove
    174173                {
    175174                    // 0 := preserve, 2 := replace by X
    176                     char symbol = settings.UnknownSymbolHandling == 0 ? text[i] : 'X';
     175                    char symbol = _settings.UnknownSymbolHandling == 0 ? text[i] : 'X';
    177176
    178177                    if (newToken)
     
    226225            }                                           //underconstruction end
    227226
    228             switch (settings.CaseHandling)
     227            switch (_settings.CaseHandling)
    229228            {
    230229                default:
     
    301300        public Enigma()
    302301        {
    303             this.settings = new EnigmaSettings();
    304             this.core = new EnigmaCore(this);
    305             this.statistics = new Dictionary<int, IDictionary<string, double[]>>();
     302            this._settings = new EnigmaSettings();
     303            this._core = new EnigmaCore(this);
     304            this._statistics = new Dictionary<int, IDictionary<string, double[]>>();
    306305           
    307             enigmaPresentationFrame = new EnigmaPresentationFrame(this);
    308             EnigmaPresentation myPresentation = enigmaPresentationFrame.EnigmaPresentation;
    309             this.Presentation = enigmaPresentationFrame;
     306            _enigmaPresentationFrame = new EnigmaPresentationFrame(this);
     307            EnigmaPresentation myPresentation = _enigmaPresentationFrame.EnigmaPresentation;
     308            this.Presentation = _enigmaPresentationFrame;
    310309            //this.Presentation.IsVisibleChanged += presentation_isvisibleChanged;
    311             this.settings.PropertyChanged += enigmaPresentationFrame.EnigmaPresentation.settings_OnPropertyChange;
    312             this.settings.PropertyChanged += settings_OnPropertyChange;
    313             this.enigmaPresentationFrame.EnigmaPresentation.fireLetters += fireLetters;
    314             this.enigmaPresentationFrame.EnigmaPresentation.newInput += newInput;
     310            this._settings.PropertyChanged += _enigmaPresentationFrame.EnigmaPresentation.settings_OnPropertyChange;
     311            this._settings.PropertyChanged += settings_OnPropertyChange;
     312            this._enigmaPresentationFrame.EnigmaPresentation.fireLetters += fireLetters;
     313            this._enigmaPresentationFrame.EnigmaPresentation.newInput += newInput;
    315314        }
    316315
     
    334333            Object[] carrier = sender as Object[];
    335334
    336             this.outputString = (String)carrier[0] ;
     335            this._textOutput = (String)carrier[0] ;
    337336            int x = (int)carrier[1];
    338337            int y = (int)carrier[2];
     
    354353        public ISettings Settings
    355354        {
    356             get { return this.settings; }
     355            get { return this._settings; }
    357356        }
    358357
     
    395394                    // TODO: uncomment
    396395                    //settings.HideAllBasicKeySettings();
    397                     settings.SetKeySettings(value);
     396                    _settings.SetKeySettings(value);
    398397                }
    399398            }
     
    417416        public string TextOutput
    418417        {
    419             get { return this.outputString; }
     418            get { return this._textOutput; }
    420419            set
    421420            {
    422                 outputString = value;
     421                _textOutput = value;
    423422                OnPropertyChanged("TextOutput");
    424423            }
     
    431430        public void PreExecution()
    432431        {
    433             isrunning = true;
     432            _isrunning = true;
    434433
    435434            running = false;
    436435            stopped = false;
    437436
    438             if (enigmaPresentationFrame.EnigmaPresentation.checkReady())
    439                 enigmaPresentationFrame.EnigmaPresentation.stopclick(this, EventArgs.Empty);
     437            if (_enigmaPresentationFrame.EnigmaPresentation.checkReady())
     438                _enigmaPresentationFrame.EnigmaPresentation.stopclick(this, EventArgs.Empty);
    440439            EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("Preparing enigma for operation..", this,  NotificationLevel.Info));
    441440
    442             if (settings.Model != 3 && settings.Model != 2)
     441            if (_settings.Model != 3 && _settings.Model != 2)
    443442            {
    444443                EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("This simulator is work in progress. As of right now only Enigma I and Enigma Reichsbahn (Rocket) is supported!!", this, NotificationLevel.Warning));
     
    447446
    448447            // remember the current key-setting, in order to restore on stop
    449             savedKey = settings.InitialRotorPos;
     448            _savedInitialRotorPos = _settings.InitialRotorPos;
    450449
    451450            //configure the enigma
    452             core.setInternalConfig(settings.Rotor1, settings.Rotor2, settings.Rotor3, settings.Rotor4,
    453                         settings.Reflector, settings.Ring1, settings.Ring2, settings.Ring3, settings.Ring4,
    454                         settings.PlugBoard);
     451            _core.setInternalConfig(_settings.Rotor1, _settings.Rotor2, _settings.Rotor3, _settings.Rotor4,
     452                        _settings.Reflector, _settings.Ring1, _settings.Ring2, _settings.Ring3, _settings.Ring4,
     453                        _settings.PlugBoard);
    455454        }
    456455
     
    460459        public void Execute()
    461460        {
    462             if (_textInput == null)
     461            if (!this._newText || !this._newKey)
    463462                return;
    464463
    465             if (settings.Model != 3 && settings.Model != 2)
     464            this._newText = false;
     465            this._newKey = false;
     466
     467            if (_settings.Model != 3 && _settings.Model != 2)
    466468            {
    467469                LogMessage("This simulator is work in progress. As of right now only Enigma I and Enigma Reichsbahn (Rocket) is supported!!", NotificationLevel.Error);
     
    471473            while(running)
    472474            {
    473                 enigmaPresentationFrame.EnigmaPresentation.stopclick(this, EventArgs.Empty);
     475                _enigmaPresentationFrame.EnigmaPresentation.stopclick(this, EventArgs.Empty);
    474476                if (stopped)
    475477                return;
     
    480482
    481483            // re-set the key, in case we get executed again during single run
    482             settings.InitialRotorPos = savedKey.ToUpper();
     484            //_settings.InitialRotorPos = _savedInitialRotorPos.ToUpper();
    483485
    484486            // do the encryption
    485             outputString = FormattedEncrypt(settings.Alphabet.IndexOf(settings.InitialRotorPos[2]),
    486                 settings.Alphabet.IndexOf(settings.InitialRotorPos[1]),
    487                 settings.Alphabet.IndexOf(settings.InitialRotorPos[0]),
     487            _textOutput = FormattedEncrypt(_settings.Alphabet.IndexOf(_settings.InitialRotorPos[2]),
     488                _settings.Alphabet.IndexOf(_settings.InitialRotorPos[1]),
     489                _settings.Alphabet.IndexOf(_settings.InitialRotorPos[0]),
    488490                0, _textInput);                   
    489491
     
    497499        public void PostExecution()
    498500        {
    499             LogMessage("Enigma shutting down. Reverting key to inial value!", NotificationLevel.Info);
    500             if (savedKey != null && savedKey.Length > 0)
    501             {
    502                 settings.InitialRotorPos = savedKey; // re-set the key
    503             }
     501            LogMessage("Enigma shutting down. Reverting rotor positions to inial value!", NotificationLevel.Info);
     502            if (_savedInitialRotorPos != null && _savedInitialRotorPos.Length > 0)
     503            {
     504                _settings.InitialRotorPos = _savedInitialRotorPos;
     505            }
     506
     507            this._keyInput = String.Empty;
     508            this._textInput = String.Empty;
    504509
    505510            running = false;
    506             isrunning = false;
    507             enigmaPresentationFrame.ChangeStatus(isrunning, enigmaPresentationFrame.EnigmaPresentation.IsVisible);
     511            _isrunning = false;
     512            _enigmaPresentationFrame.ChangeStatus(_isrunning, _enigmaPresentationFrame.EnigmaPresentation.IsVisible);
    508513        }
    509514
     
    512517            stopped = true;
    513518            LogMessage("Enigma stopped", NotificationLevel.Info);
    514             enigmaPresentationFrame.EnigmaPresentation.stopclick(this, EventArgs.Empty);
     519            _enigmaPresentationFrame.EnigmaPresentation.stopclick(this, EventArgs.Empty);
    515520        }
    516521
     
    553558        public string pB2String(string pb)
    554559        {
    555             if (pb.Length != settings.Alphabet.Length)
     560            if (pb.Length != _settings.Alphabet.Length)
    556561                return "-- no plugs --";
    557562
     
    559564            StringBuilder result = new StringBuilder();
    560565
    561             for (int i = 0; i < settings.Alphabet.Length; i++)
    562             {
    563                 if (settings.Alphabet[i] != pb[i] && !result.ToString().Contains(settings.Alphabet[i]))
     566            for (int i = 0; i < _settings.Alphabet.Length; i++)
     567            {
     568                if (_settings.Alphabet[i] != pb[i] && !result.ToString().Contains(_settings.Alphabet[i]))
    564569                {
    565570                    if (result.Length > 0)
    566571                        result.Append(' ');
    567572
    568                     result.Append(settings.Alphabet[i].ToString() + pb[i].ToString());
     573                    result.Append(_settings.Alphabet[i].ToString() + pb[i].ToString());
    569574                }
    570575            }
     
    582587            // FIXME: implement exception handling
    583588
    584             if (!statistics.ContainsKey(gramLength))
     589            if (!_statistics.ContainsKey(gramLength))
    585590            {
    586591                LogMessage("Trying to load default statistics for " + gramLength + "-grams", NotificationLevel.Info);
    587                 statistics[gramLength] = LoadDefaultStatistics(gramLength);
    588             }
    589 
    590             return statistics[gramLength];
     592                _statistics[gramLength] = LoadDefaultStatistics(gramLength);
     593            }
     594
     595            return _statistics[gramLength];
    591596        }
    592597
  • trunk/CrypPlugins/Enigma/EnigmaPresentationFrame.xaml.cs

    r5520 r7242  
    138138        private void visbileCheckbox_Checked(object sender, RoutedEventArgs e)
    139139        {
    140             if (facade.isrunning)
     140            if (facade._isrunning)
    141141            {
    142142                enigmaStatus.Text = Properties.Resources.EnigmaPresentationFrame_visbileCheckbox_Checked_Restart_Workspace;
  • trunk/CrypPlugins/Enigma/EnigmaSettings.cs

    r7241 r7242  
    221221                SetPlugBoardByString(plugBoardString);
    222222            if (slashes > 2)
     223            {
    223224                _initialRotorPos = initialRotorPosString;
     225                OnPropertyChanged("InitialRotorPos");
     226            }
    224227        }
    225228
  • trunk/CrypPlugins/Enigma/Properties/Resources.Designer.cs

    r7241 r7242  
    20422042       
    20432043        /// <summary>
    2044         ///   Looks up a localized string similar to Input a string to be processed by the Enigma machine.
     2044        ///   Looks up a localized string similar to Input a text to be encrypted or decrypted by the Enigma machine.
    20452045        /// </summary>
    20462046        public static string TextInputTooltip {
     
    20692069       
    20702070        /// <summary>
    2071         ///   Looks up a localized string similar to The string after processing with the Enigma machine.
     2071        ///   Looks up a localized string similar to The processed text, encrypted or decrypted by the Enigma machine..
    20722072        /// </summary>
    20732073        public static string TextOutputTooltip {
  • trunk/CrypPlugins/Enigma/Properties/Resources.resx

    r7241 r7242  
    128128  </data>
    129129  <data name="TextInputTooltip" xml:space="preserve">
    130     <value>Input a string to be processed by the Enigma machine</value>
     130    <value>Input a text to be encrypted or decrypted by the Enigma machine</value>
    131131  </data>
    132132  <data name="TextOutputCaption" xml:space="preserve">
     
    134134  </data>
    135135  <data name="TextOutputTooltip" xml:space="preserve">
    136     <value>The string after processing with the Enigma machine</value>
     136    <value>The processed text, encrypted or decrypted by the Enigma machine.</value>
    137137  </data>
    138138  <data name="PluginCaption" xml:space="preserve">
Note: See TracChangeset for help on using the changeset viewer.