Changeset 8152


Ignore:
Timestamp:
Jun 6, 2019, 11:49:49 AM (3 years ago)
Author:
Christian Bender
Message:

DCAPathFinder: Implementation

Location:
trunk
Files:
3 added
3 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPluginsExperimental/DCAPathFinder/DCAPathFinder.cs

    r8148 r8152  
    1818using System.ComponentModel;
    1919using System.Threading;
     20using System.Windows;
    2021using System.Windows.Controls;
    2122using System.Windows.Threading;
     
    120121            {
    121122                _activePresentation.WorkspaceRunning = true;
     123                _activePresentation.PresentationMode = settings.PresentationMode;
     124                _activePresentation.SlideCounterVisibility = Visibility.Visible;
    122125            }, null);
    123126        }
     
    134137            _activePresentation.Dispatcher.Invoke(DispatcherPriority.Send, (SendOrPostCallback)delegate
    135138            {
    136                 _activePresentation.StepCounter = 6;
     139                _activePresentation.StepCounter = 0;
    137140                _activePresentation.SetupView();
    138141            }, null);
    139142
     143
    140144           
    141145
     
    152156            _activePresentation.Dispatcher.Invoke(DispatcherPriority.Send, (SendOrPostCallback)delegate
    153157            {
     158                _activePresentation.SlideCounterVisibility = Visibility.Hidden;
    154159                _activePresentation.WorkspaceRunning = false;
    155160            }, null);
  • trunk/CrypPluginsExperimental/DCAPathFinder/DCAPathFinderSettings.cs

    r8137 r8152  
    2929        private string _choiceOfAlgorithm;
    3030        private Algorithms _currentAlgorithm;
     31        private bool _presentationMode;
    3132
    3233        #endregion
     
    4849        #region TaskPane Settings
    4950
     51        [TaskPane("PresentationMode", "PresentationModeToolTip", "DisplayOptions", 1, false, ControlType.CheckBox)]
     52        public bool PresentationMode
     53        {
     54            get { return _presentationMode; }
     55            set
     56            {
     57                _presentationMode = value;
     58                OnPropertyChanged("PresentationMode");
     59            }
     60        }
     61
    5062        /// <summary>
    5163        /// Selection of the toy cipher algorithm
    5264        /// </summary>
    53         [TaskPane("ChoiceOfAlgorithm", "ChoiceOfAlgorithmToolTop", null, 1, false, ControlType.ComboBox, new string[] { "Cipher1", "Cipher2", "Cipher3", "Cipher4" })]
     65        [TaskPane("ChoiceOfAlgorithm", "ChoiceOfAlgorithmToolTop", null, 2, false, ControlType.ComboBox, new string[] { "Cipher1", "Cipher2", "Cipher3", "Cipher4" })]
    5466        public string ChoiceOfAlgorithm
    5567        {
  • trunk/CrypPluginsExperimental/DCAPathFinder/Properties/Resources.Designer.cs

    r8148 r8152  
    125125       
    126126        /// <summary>
    127         ///   Sucht eine lokalisierte Zeichenfolge, die In the settings of this component, you can switch between the tutorials. The following is a short description of the ciphers of the individual parts of the tutorial: ähnelt.
     127        ///   Sucht eine lokalisierte Zeichenfolge, die The following is a short description of the ciphers of the individual parts of the tutorial: ähnelt.
    128128        /// </summary>
    129129        internal static string DescriptionContent1 {
     
    805805            get {
    806806                return ResourceManager.GetString("DifferentialCryptanalysisSlide9Header", resourceCulture);
     807            }
     808        }
     809       
     810        /// <summary>
     811        ///   Sucht eine lokalisierte Zeichenfolge, die Display options ähnelt.
     812        /// </summary>
     813        internal static string DisplayOptions {
     814            get {
     815                return ResourceManager.GetString("DisplayOptions", resourceCulture);
    807816            }
    808817        }
     
    9991008       
    10001009        /// <summary>
    1001         ///   Sucht eine lokalisierte Zeichenfolge, die This tutorial deals with the DCA procedure in three parts. Part 1 teaches the basic idea of differential cryptanalysis (DCA) using a cipher with an encryption round. Part 2 deepens this idea using a cipher with three encryption rounds. Part three deepens the knowledge by increasing the complexity of the cipher to 5 encryption rounds. In part three the knowledge is deepened by increasing the complexity of the cipher to 5 encryption rounds. ähnelt.
     1010        ///   Sucht eine lokalisierte Zeichenfolge, die This tutorial describes the differential cryptanalysis (DCA) procedure in three parts. Part 1 explains the basic idea of DCA using a cipher with one encryption round. Part 2 deepens this idea using a cipher with three encryption rounds. Part three deepens the knowledge by increasing the complexity of the cipher to 5 encryption rounds. In part three the knowledge is deepened by increasing the complexity of the cipher to 5 encryption rounds. ähnelt.
    10021011        /// </summary>
    10031012        internal static string OverviewContent2 {
     
    10761085            get {
    10771086                return ResourceManager.GetString("PluginTooltip", resourceCulture);
     1087            }
     1088        }
     1089       
     1090        /// <summary>
     1091        ///   Sucht eine lokalisierte Zeichenfolge, die Tutorial mode ähnelt.
     1092        /// </summary>
     1093        internal static string PresentationMode {
     1094            get {
     1095                return ResourceManager.GetString("PresentationMode", resourceCulture);
     1096            }
     1097        }
     1098       
     1099        /// <summary>
     1100        ///   Sucht eine lokalisierte Zeichenfolge, die If tutorial mode is activated, a presentation with information on differential cryptanalysis is made for each tutorial ähnelt.
     1101        /// </summary>
     1102        internal static string PresentationModeToolTip {
     1103            get {
     1104                return ResourceManager.GetString("PresentationModeToolTip", resourceCulture);
    10781105            }
    10791106        }
  • trunk/CrypPluginsExperimental/DCAPathFinder/Properties/Resources.de.resx

    r8148 r8152  
    140140  </data>
    141141  <data name="DescriptionContent1" xml:space="preserve">
    142     <value>In den Einstellungen dieser Komponente können Sie zwischen den Tutorials wechseln. Es folgt eine kurze Beschreibung der Chiffren der einzelnen Teile des Tutorials:</value>
     142    <value>Es folgt eine kurze Beschreibung der Chiffren der einzelnen Teile des Tutorials:</value>
    143143  </data>
    144144  <data name="DescriptionContent2" xml:space="preserve">
     
    366366  <data name="DifferentialCryptanalysisSlide9Header" xml:space="preserve">
    367367    <value>Differenzielle Kryptoanalyse von Chiffre 1</value>
     368  </data>
     369  <data name="DisplayOptions" xml:space="preserve">
     370    <value>Darstellungsoptionen</value>
    368371  </data>
    369372  <data name="ExpectedDifferential" xml:space="preserve">
     
    432435  </data>
    433436  <data name="OverviewContent2" xml:space="preserve">
    434     <value>Dieses Tutorial handelt das DCA-Verfahren in drei Teilen. Teil 1 vermittelt die grundlegende Idee der differenziellen Kryptoanalyse (DCA) anhand einer Chiffre mit einer Verschlüsselungsrunde. Teil 2 vertieft diese Idee anhand einer Chiffre mit drei Verschlüsselungsrunden. In Teil drei wird das vermittelte Wissen vertieft durch Erhöhung der Komplexität der Chiffre auf 5 Verschlüsselungsrunden.</value>
     437    <value>Dieses Tutorial behandelt das Verfahren der differenziellen Kryptoanalyse (DCA) in drei Teilen.  Teil 1 vermittelt die grundlegende Idee der DCA anhand einer Chiffre mit einer Verschlüsselungsrunde. Teil 2 vertieft diese Idee anhand einer Chiffre mit drei Verschlüsselungsrunden. In Teil drei wird das vermittelte Wissen vertieft durch Erhöhung der Komplexität der Chiffre auf 5 Verschlüsselungsrunden.</value>
    435438  </data>
    436439  <data name="OverviewContent3" xml:space="preserve">
     
    458461    <value>Die DCA PfadFinder-Komponente sucht in Abhängigkeit von durch den User spezifizierten Parametern nach Differenzialen in einer symmetrischen Blockchiffre.</value>
    459462  </data>
     463  <data name="PresentationMode" xml:space="preserve">
     464    <value>Tutorialmodus</value>
     465  </data>
     466  <data name="PresentationModeToolTip" xml:space="preserve">
     467    <value>Bei aktiviertem Tutorialmodus erfolgt je Tutorual eine Präsentation mit Informationen zur differenziellen Kryptoanalyse </value>
     468  </data>
    460469  <data name="StartMaskContent1" xml:space="preserve">
    461470    <value>Durch Starten des Workspaces beginnt das Tutorial.</value>
  • trunk/CrypPluginsExperimental/DCAPathFinder/Properties/Resources.resx

    r8148 r8152  
    140140  </data>
    141141  <data name="DescriptionContent1" xml:space="preserve">
    142     <value>In the settings of this component, you can switch between the tutorials. The following is a short description of the ciphers of the individual parts of the tutorial:</value>
     142    <value>The following is a short description of the ciphers of the individual parts of the tutorial:</value>
    143143  </data>
    144144  <data name="DescriptionContent2" xml:space="preserve">
     
    366366  <data name="DifferentialCryptanalysisSlide9Header" xml:space="preserve">
    367367    <value>Differential cryptanalysis of cipher 1</value>
     368  </data>
     369  <data name="DisplayOptions" xml:space="preserve">
     370    <value>Display options</value>
    368371  </data>
    369372  <data name="ExpectedDifferential" xml:space="preserve">
     
    432435  </data>
    433436  <data name="OverviewContent2" xml:space="preserve">
    434     <value>This tutorial deals with the DCA procedure in three parts. Part 1 teaches the basic idea of differential cryptanalysis (DCA) using a cipher with an encryption round. Part 2 deepens this idea using a cipher with three encryption rounds. Part three deepens the knowledge by increasing the complexity of the cipher to 5 encryption rounds. In part three the knowledge is deepened by increasing the complexity of the cipher to 5 encryption rounds.</value>
     437    <value>This tutorial describes the differential cryptanalysis (DCA) procedure in three parts. Part 1 explains the basic idea of DCA using a cipher with one encryption round. Part 2 deepens this idea using a cipher with three encryption rounds. Part three deepens the knowledge by increasing the complexity of the cipher to 5 encryption rounds. In part three the knowledge is deepened by increasing the complexity of the cipher to 5 encryption rounds.</value>
    435438  </data>
    436439  <data name="OverviewContent3" xml:space="preserve">
     
    458461    <value>The DCA PathFinder component searches for differentials in a symmetric block cipher depending on parameters specified by the user.</value>
    459462  </data>
     463  <data name="PresentationMode" xml:space="preserve">
     464    <value>Tutorial mode</value>
     465  </data>
     466  <data name="PresentationModeToolTip" xml:space="preserve">
     467    <value>If tutorial mode is activated, a presentation with information on differential cryptanalysis is made for each tutorial</value>
     468  </data>
    460469  <data name="StartMaskContent1" xml:space="preserve">
    461470    <value>The tutorial starts when you start the workspace.</value>
  • trunk/CrypPluginsExperimental/DCAPathFinder/UI/DCAPathFinderPres.xaml

    r8142 r8152  
    1212        </Grid.ColumnDefinitions>
    1313        <Grid.RowDefinitions>
    14             <RowDefinition Height="*"></RowDefinition>
    15             <RowDefinition Height="20"></RowDefinition>
     14            <RowDefinition Height="430*"></RowDefinition>
     15            <RowDefinition Height="20*"></RowDefinition>
    1616        </Grid.RowDefinitions>
    1717        <!-- Viewbox for Content -->
     
    3535            </StackPanel>
    3636            <StackPanel Grid.Column="1" Width="30" HorizontalAlignment="Right" VerticalAlignment="Bottom">
    37                 <Label FontFamily="Courier New" FontSize="8" Content="{Binding SlideCounter, Mode=OneWay}" Margin="0,0,0,-5"></Label>
     37                <Label FontFamily="Courier New" FontSize="12" Content="{Binding SlideCounter, Mode=OneWay}" Visibility="{Binding SlideCounterVisibility, Mode=OneWay}" Margin="0,0,0,-5"></Label>
    3838            </StackPanel>
    3939        </Grid>
  • trunk/CrypPluginsExperimental/DCAPathFinder/UI/DCAPathFinderPres.xaml.cs

    r8148 r8152  
    1414    {
    1515        private int _stepCounter;
     16        private bool _presentationMode;
    1617        private int _tutorialNumber;
    1718        private int _currentTutorialLastSlideNumber;
     19        private Visibility _slideCounterVisibility;
    1820        private string _selectedTutorial;
    1921        private bool _isNextPossible;
     
    2729        {
    2830            _stepCounter = 0;
    29             _currentTutorialLastSlideNumber = 3;
     31            _slideCounterVisibility = Visibility.Hidden;
    3032            _workspaceRunning = false;
    3133            _isNextPossible = true;
     
    3638
    3739            SetupView();
     40
     41            //setup pres content
     42            ContentViewBox.Child = new Overview();
     43            IsPreviousPossible = false;
     44            IsNextPossible = false;
    3845        }
    3946
     
    4451        {
    4552            //introduction slides
    46             if (!WorkspaceRunning)
    47             {
    48                 _currentTutorialLastSlideNumber = 3;
    49                 switch (StepCounter)
    50                 {
    51                     case 0:
     53            if (PresentationMode)
     54            {
     55                if (StepCounter == 0)
     56                {
     57                    _currentTutorialLastSlideNumber = 10;
     58                    OnPropertyChanged("SlideCounter");
     59
     60                    if (WorkspaceRunning)
    5261                    {
    5362                        //setup possible button actions
    5463                        IsPreviousPossible = false;
    5564                        IsNextPossible = true;
    56 
    57                         //setup pres content
    58                         ContentViewBox.Child = new Overview();
    5965                    }
    60                         break;
     66
     67                    //setup pres content
     68                    ContentViewBox.Child = new Overview();
     69                }
     70                else if (StepCounter == 1)
     71                {
     72                    //setup possible button actions
     73                    IsPreviousPossible = true;
     74                    IsNextPossible = true;
     75
     76                    //setup pres content
     77                    ContentViewBox.Child = new TutorialDescriptions();
     78                }
     79                //StepCounter > 1
     80                else
     81                {
     82                    //check the selected tutorial number
     83                    switch (TutorialNumber)
     84                    {
     85                        //this is tutorial number 1
     86                        case 1:
     87                            {
     88                                //check the current step
     89                                switch (StepCounter)
     90                                {
     91                                    case 2:
     92                                        {
     93                                            //setup possible button actions
     94                                            IsPreviousPossible = true;
     95                                            IsNextPossible = true;
     96
     97                                            //setup pres content
     98                                            ContentViewBox.Child = new Tutorial1.Title();
     99                                        }
     100                                        break;
     101                                    case 3:
     102                                        {
     103                                            //setup possible button actions
     104                                            IsPreviousPossible = true;
     105                                            IsNextPossible = true;
     106
     107                                            //setup pres content
     108                                            ContentViewBox.Child = new Tutorial1.IntroductionHeader();
     109                                        }
     110                                        break;
     111                                    case 4:
     112                                        {
     113                                            //setup possible button actions
     114                                            IsPreviousPossible = true;
     115                                            IsNextPossible = true;
     116
     117                                            //setup pres content
     118                                            ContentViewBox.Child = new Tutorial1.IntroductionSlide1();
     119                                        }
     120                                        break;
     121                                    case 5:
     122                                        {
     123                                            //setup possible button actions
     124                                            IsPreviousPossible = true;
     125                                            IsNextPossible = true;
     126
     127                                            //setup pres content
     128                                            ContentViewBox.Child = new Tutorial1.IntroductionSlide2();
     129                                        }
     130                                        break;
     131                                    case 6:
     132                                        {
     133                                            //setup possible button actions
     134                                            IsPreviousPossible = true;
     135                                            IsNextPossible = true;
     136
     137                                            //setup pres content
     138                                            ContentViewBox.Child = new Tutorial1.IntroductionSlide3();
     139                                        }
     140                                        break;
     141                                    case 7:
     142                                        {
     143                                            //setup possible button actions
     144                                            IsPreviousPossible = true;
     145                                            IsNextPossible = true;
     146
     147                                            //setup pres content
     148                                            ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisHeader();
     149                                        }
     150                                        break;
     151                                    case 8:
     152                                        {
     153                                            //setup possible button actions
     154                                            IsPreviousPossible = true;
     155                                            IsNextPossible = true;
     156
     157                                            //setup pres content
     158                                            ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide1();
     159                                        }
     160                                        break;
     161                                    case 9:
     162                                        {
     163                                            //setup possible button actions
     164                                            IsPreviousPossible = true;
     165                                            IsNextPossible = true;
     166
     167                                            //setup pres content
     168                                            ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide2();
     169                                        }
     170                                        break;
     171                                    case 10:
     172                                        {
     173                                            //setup possible button actions
     174                                            IsPreviousPossible = true;
     175                                            IsNextPossible = true;
     176
     177                                            //setup pres content
     178                                            ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide3();
     179                                        }
     180                                        break;
     181                                    case 11:
     182                                        {
     183                                            //setup possible button actions
     184                                            IsPreviousPossible = true;
     185                                            IsNextPossible = true;
     186
     187                                            //setup pres content
     188                                            ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide4();
     189                                        }
     190                                        break;
     191                                    case 12:
     192                                        {
     193                                            //setup possible button actions
     194                                            IsPreviousPossible = true;
     195                                            IsNextPossible = true;
     196
     197                                            //setup pres content
     198                                            ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide5();
     199                                        }
     200                                        break;
     201                                    case 13:
     202                                        {
     203                                            //setup possible button actions
     204                                            IsPreviousPossible = true;
     205                                            IsNextPossible = true;
     206
     207                                            //setup pres content
     208                                            ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide6();
     209                                        }
     210                                        break;
     211                                    case 14:
     212                                        {
     213                                            //setup possible button actions
     214                                            IsPreviousPossible = true;
     215                                            IsNextPossible = true;
     216
     217                                            //setup pres content
     218                                            ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide7();
     219                                        }
     220                                        break;
     221                                    case 15:
     222                                        {
     223                                            //setup possible button actions
     224                                            IsPreviousPossible = true;
     225                                            IsNextPossible = true;
     226
     227                                            //setup pres content
     228                                            ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide8();
     229                                        }
     230                                        break;
     231                                    case 16:
     232                                        {
     233                                            //setup possible button actions
     234                                            IsPreviousPossible = true;
     235                                            IsNextPossible = true;
     236
     237                                            //setup pres content
     238                                            ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide9();
     239                                        }
     240                                        break;
     241                                    case 17:
     242                                        {
     243                                            //setup possible button actions
     244                                            IsPreviousPossible = true;
     245                                            IsNextPossible = true;
     246
     247                                            //setup pres content
     248                                            ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide10();
     249                                        }
     250                                        break;
     251                                }
     252                            }
     253                            break;
     254                    }
     255                }
     256            }
     257            //no intro
     258            else
     259            {
     260                //check active tutorial number
     261                switch (TutorialNumber)
     262                {
    61263                    case 1:
    62264                    {
    63                         //setup possible button actions
    64                         IsPreviousPossible = true;
    65                         IsNextPossible = true;
    66 
    67                         //setup pres content
    68                         ContentViewBox.Child = new TutorialDescriptions();
    69                     }
    70                         break;
    71                     case 2:
    72                     {
    73                         //setup possible button actions
    74                         IsPreviousPossible = true;
    75                         IsNextPossible = false;
    76 
    77                         //setup pres content
    78                         var startMask = new StartMask();
    79                         Binding myBinding = new Binding();
    80                         myBinding.Source = this;
    81                         myBinding.Path = new PropertyPath("SelectedTutorial");
    82                         myBinding.Mode = BindingMode.OneWay;
    83                         BindingOperations.SetBinding(startMask.TutorialTextBlock, TextBlock.TextProperty, myBinding);
    84                         ContentViewBox.Child = startMask;
    85                     }
    86                         break;
    87                 }
    88             }
    89             //tutorial slides
    90             else
    91             {
    92                 //check the selected tutorial number
    93                 switch (TutorialNumber)
    94                 {
    95                     //this is tutorial number 1
    96                     case 1:
    97                     {
    98                         _currentTutorialLastSlideNumber = 10;
    99                         //check the current step
     265                        //presentation for tutorial 1
    100266                        switch (StepCounter)
    101267                        {
    102268                            case 0:
    103269                            {
    104                                 //setup possible button actions
    105                                 IsPreviousPossible = false;
    106                                 IsNextPossible = true;
     270                                _currentTutorialLastSlideNumber = 10;
     271                                OnPropertyChanged("SlideCounter");
    107272
    108273                                //setup pres content
    109                                 ContentViewBox.Child = new Tutorial1.Title();
    110                             }
    111                                 break;
    112                             case 1:
    113                             {
    114                                 //setup possible button actions
    115                                 IsPreviousPossible = true;
    116                                 IsNextPossible = true;
    117 
    118                                 //setup pres content
    119                                 ContentViewBox.Child = new Tutorial1.IntroductionHeader();
    120                             }
    121                                 break;
    122                             case 2:
    123                             {
    124                                 //setup possible button actions
    125                                 IsPreviousPossible = true;
    126                                 IsNextPossible = true;
    127 
    128                                 //setup pres content
    129                                 ContentViewBox.Child = new Tutorial1.IntroductionSlide1();
    130                             }
    131                                 break;
    132                             case 3:
    133                             {
    134                                 //setup possible button actions
    135                                 IsPreviousPossible = true;
    136                                 IsNextPossible = true;
    137 
    138                                 //setup pres content
    139                                 ContentViewBox.Child = new Tutorial1.IntroductionSlide2();
    140                             }
    141                                 break;
    142                             case 4:
    143                             {
    144                                 //setup possible button actions
    145                                 IsPreviousPossible = true;
    146                                 IsNextPossible = true;
    147 
    148                                 //setup pres content
    149                                 ContentViewBox.Child = new Tutorial1.IntroductionSlide3();
    150                             }
    151                                 break;
    152                             case 5:
    153                             {
    154                                 //setup possible button actions
    155                                 IsPreviousPossible = true;
    156                                 IsNextPossible = true;
    157 
    158                                 //setup pres content
    159                                 ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisHeader();
    160                             }
    161                                 break;
    162                             case 6:
    163                             {
    164                                 //setup possible button actions
    165                                 IsPreviousPossible = true;
    166                                 IsNextPossible = true;
    167 
    168                                 //setup pres content
    169                                 ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide1();
    170                             }
    171                                 break;
    172                             case 7:
    173                             {
    174                                 //setup possible button actions
    175                                 IsPreviousPossible = true;
    176                                 IsNextPossible = true;
    177 
    178                                 //setup pres content
    179                                 ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide2();
    180                             }
    181                                 break;
    182                             case 8:
    183                             {
    184                                 //setup possible button actions
    185                                 IsPreviousPossible = true;
    186                                 IsNextPossible = true;
    187 
    188                                 //setup pres content
    189                                 ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide3();
    190                             }
    191                                 break;
    192                             case 9:
    193                             {
    194                                 //setup possible button actions
    195                                 IsPreviousPossible = true;
    196                                 IsNextPossible = true;
    197 
    198                                 //setup pres content
    199                                 ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide4();
    200                             }
    201                                 break;
    202                             case 10:
    203                             {
    204                                 //setup possible button actions
    205                                 IsPreviousPossible = true;
    206                                 IsNextPossible = true;
    207 
    208                                 //setup pres content
    209                                 ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide5();
    210                             }
    211                                 break;
    212                             case 11:
    213                             {
    214                                 //setup possible button actions
    215                                 IsPreviousPossible = true;
    216                                 IsNextPossible = true;
    217 
    218                                 //setup pres content
    219                                 ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide6();
    220                             }
    221                                 break;
    222                             case 12:
    223                             {
    224                                 //setup possible button actions
    225                                 IsPreviousPossible = true;
    226                                 IsNextPossible = true;
    227 
    228                                 //setup pres content
    229                                 ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide7();
    230                             }
    231                                 break;
    232                             case 13:
    233                             {
    234                                 //setup possible button actions
    235                                 IsPreviousPossible = true;
    236                                 IsNextPossible = true;
    237 
    238                                 //setup pres content
    239                                 ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide8();
    240                             }
    241                                 break;
    242                             case 14:
    243                             {
    244                                 //setup possible button actions
    245                                 IsPreviousPossible = true;
    246                                 IsNextPossible = true;
    247 
    248                                 //setup pres content
    249                                 ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide9();
    250                             }
    251                                 break;
    252                             case 15:
    253                             {
    254                                 //setup possible button actions
    255                                 IsPreviousPossible = true;
    256                                 IsNextPossible = true;
    257 
    258                                 //setup pres content
    259                                 ContentViewBox.Child = new Tutorial1.DifferentialCryptanalysisSlide10();
     274                                ContentViewBox.Child = new Overview();
    260275                            }
    261276                                break;
     
    263278                    }
    264279                        break;
     280
    265281                }
    266282            }
     
    308324
    309325        /// <summary>
     326        /// Property for slide counter visibility
     327        /// </summary>
     328        public Visibility SlideCounterVisibility
     329        {
     330            get { return _slideCounterVisibility; }
     331            set
     332            {
     333                _slideCounterVisibility = value;
     334                OnPropertyChanged();
     335            }
     336        }
     337
     338        /// <summary>
    310339        /// Property for indicating that the workspace is running
    311340        /// </summary>
     
    316345            {
    317346                _workspaceRunning = value;
     347                if (_workspaceRunning)
     348                {
     349                    IsNextPossible = true;
     350                    IsPreviousPossible = false;
     351                }
     352                else
     353                {
     354                    IsNextPossible = false;
     355                    IsPreviousPossible = false;
     356                }
     357
    318358                OnPropertyChanged();
    319359
     
    324364
    325365        /// <summary>
     366        /// Property for presentation mode
     367        /// </summary>
     368        public bool PresentationMode
     369        {
     370            get { return _presentationMode; }
     371            set
     372            {
     373                _presentationMode = value;
     374                OnPropertyChanged();
     375            }
     376        }
     377
     378        /// <summary>
    326379        /// Property for button previous
    327380        /// </summary>
  • trunk/CrypPluginsExperimental/DCAPathFinder/UI/Overview.xaml

    r8142 r8152  
    1313        <Grid.RowDefinitions>
    1414            <RowDefinition Height="40"></RowDefinition>
     15            <RowDefinition Height="90"></RowDefinition>
    1516            <RowDefinition Height="100"></RowDefinition>
    16             <RowDefinition Height="110"></RowDefinition>
    17             <RowDefinition Height="50"></RowDefinition>
    18             <RowDefinition Height="50"></RowDefinition>
     17            <RowDefinition Height="40"></RowDefinition>
     18            <RowDefinition Height="35"></RowDefinition>
     19            <RowDefinition Height="15"></RowDefinition>
    1920            <RowDefinition Height="*"></RowDefinition>
    2021        </Grid.RowDefinitions>
     
    2324        <TextBlock Grid.Row="2" FontFamily="Courier New" FontSize="12" Text="{Loc OverviewContent2}" Margin="10,0,10,0" TextWrapping="Wrap"></TextBlock>
    2425        <TextBlock Grid.Row="3" FontFamily="Courier New" FontSize="12" Text="{Loc OverviewContent3}" Margin="10,0,10,0" TextWrapping="Wrap"></TextBlock>
    25         <TextBlock Grid.Row="4" FontFamily="Courier New" FontSize="12" Text="{Loc OverviewContent4}" HorizontalAlignment="Center" Margin="10,0,10,0" TextWrapping="Wrap"></TextBlock>
    26         <TextBlock Grid.Row="5" FontFamily="Courier New" FontSize="12" Text="{Loc OverviewContent5}" HorizontalAlignment="Center" Margin="10,0,10,0" TextWrapping="Wrap"></TextBlock>
     26        <TextBlock Grid.Row="4" FontFamily="Courier New" FontSize="12" Text="{Binding SelectedTutorial, Mode=OneWay}" Margin="10,0,10,0" TextWrapping="Wrap"></TextBlock>
     27        <TextBlock Grid.Row="5" FontFamily="Courier New" FontSize="12" Text="{Loc OverviewContent4}" HorizontalAlignment="Center" Margin="10,0,10,0" TextWrapping="Wrap"></TextBlock>
    2728    </Grid>
    2829</UserControl>
  • trunk/CrypPluginsExperimental/DCAPathFinder/UI/TutorialDescriptions.xaml

    r8142 r8152  
    1313        <Grid.RowDefinitions>
    1414            <RowDefinition Height="30"></RowDefinition>
    15             <RowDefinition Height="40"></RowDefinition>
     15            <RowDefinition Height="20"></RowDefinition>
    1616            <RowDefinition Height="20"></RowDefinition>
    1717            <RowDefinition Height="70"></RowDefinition>
Note: See TracChangeset for help on using the changeset viewer.