Changeset 884


Ignore:
Timestamp:
Nov 22, 2009, 7:57:56 PM (12 years ago)
Author:
weyers
Message:

Transposition Presentation updated.

Location:
trunk/CrypPlugins/Transposition
Files:
4 edited

Legend:

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

    r865 r884  
    4040            myPresentation = new TranspositionPresentation();
    4141            Presentation = myPresentation;
    42         }
    43 
     42            this.settings.PropertyChanged += settings_OnPropertyChange;
     43        }
     44        private void settings_OnPropertyChange(object sender, PropertyChangedEventArgs e)
     45        {
     46            myPresentation.UpdateSpeed(this.settings.PresentationSpeed);
     47        }
    4448        /// <summary>
    4549        /// Get or set all settings for this algorithm.
  • trunk/CrypPlugins/Transposition/TranspositionPresentation.xaml

    r833 r884  
    22    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    33    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    4     Height="300" Width="800">
    5     <Grid>
    6     <Grid Name="mainGrid" Height="100" Width="420" VerticalAlignment="Top">
    7         <Grid HorizontalAlignment="Center" Name="myGrid" VerticalAlignment="Center" Height="100" Width="50" >
     4    Background="Transparent"
     5    SnapsToDevicePixels="True"
     6    HorizontalAlignment="Stretch"
     7    VerticalAlignment="Stretch"
     8    Height="Auto" Width="Auto">
     9
     10    <Grid Name="mainGrid" Height="Auto" Width="Auto"   >
     11
     12        <Grid.RenderTransform>
     13            <ScaleTransform x:Name="PinScaleTransform2" ScaleX="1" ScaleY="1" />
     14        </Grid.RenderTransform>
     15
     16        <ScrollViewer VerticalAlignment="Top" HorizontalAlignment="Left">
     17
     18            <WrapPanel Name="mywrap1" Orientation="Horizontal" Width="Auto" MaxWidth="160" Height="Auto" >
     19
     20            </WrapPanel>
     21        </ScrollViewer>
     22
     23        <ScrollViewer VerticalAlignment="Top" HorizontalAlignment="Right">
     24
     25            <WrapPanel Name="mywrap2" Orientation="Horizontal" Width="Auto" MaxWidth="160" Height="Auto" >
     26
     27            </WrapPanel>
     28        </ScrollViewer>
     29
     30
     31        <Grid Name="myGrid" MaxWidth="500" Height="Auto" Width="Auto"  HorizontalAlignment="Center" VerticalAlignment="Top">
     32
     33        </Grid>
     34
     35
     36        <TextBox Visibility="Hidden" Name="textBox1"></TextBox>
     37        <TextBox  Name="textBox2" VerticalAlignment="Bottom"></TextBox>
     38
     39    </Grid>
     40   
    841       
    9         </Grid>
    10         <TextBox  HorizontalAlignment="Left" Name="textBox1" Width="160"  IsEnabled="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" IsReadOnly="True" />
    11         <TextBox  HorizontalAlignment="Right" Name="textBox2" Width="160"  IsEnabled="True" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" IsReadOnly="True"/>
    12        
    13     </Grid>
    14         <Slider Height="21" VerticalAlignment="Bottom" HorizontalAlignment="Right" Margin="0,118,-10,0" Name="slider1"  Width="160"  Maximum="1000" Minimum="1" Value="1" />
    15     </Grid>
     42
    1643</UserControl>
  • trunk/CrypPlugins/Transposition/TranspositionPresentation.xaml.cs

    r835 r884  
    3535        private int outcount;
    3636        private int outcount1;
     37        private int outcount2;
     38        private int outcount3;
     39        private int countup;
    3740        private bool Stop = false;
     41        private int per;
    3842        private int rein;
    3943        private int reout;
    40 
    41         public void main(char[,] read_in_matrix, char[,] permuted_matrix, int[] key, String keyword, String input, String output, int per, int rein, int reout)
    42         {
    43 
    44             Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
    45             {
    46                 if (per == 1  )
    47                 {
    48                    
    49                     this.rein = rein;
    50                     this.reout = reout;
    51                     textBox2.Clear();
     44        private TextBlock[] reina;
     45        private TextBlock[] reouta;
     46        private int speed = 1;
     47        private int rowper;
     48        private int colper;
     49        private byte[,] read_in_matrix;
     50        private DoubleAnimation fadeIn;
     51        private DoubleAnimation fadeOut;
     52
     53
     54        public void UpdateSpeed(int speed)
     55        {
     56            this.speed = speed;
     57        }
     58
     59        private void init(byte[,] read_in_matrix, String keyword, int per, int rein, int reout)
     60        {
     61            DoubleAnimation fadeIn = new DoubleAnimation();
     62            fadeIn.From = 0.0;
     63            fadeIn.To = 1.0;
     64            fadeIn.Duration = new Duration(TimeSpan.FromMilliseconds(1001 - speed));
     65
     66            DoubleAnimation fadeOut = new DoubleAnimation();
     67            fadeOut.From = 0.0;
     68            fadeOut.To = 1.0;
     69            fadeOut.Duration = new Duration(TimeSpan.FromMilliseconds(1001 - speed));
     70
     71            this.fadeIn = fadeIn;
     72            this.fadeOut = fadeOut;
     73            this.read_in_matrix=read_in_matrix;
     74            this.per = per;
     75            this.rein = rein;
     76            this.reout = reout;
     77
     78            countup = 0;
     79            outcount2 = 0;
     80           
     81            Stop = false;
     82            if (keyword == null)
     83                Stop = true;
     84
     85            textBox2.Clear();
     86            if (per == 1  )
     87                {
     88                   
     89                    rowper = 0;
     90                    colper = 2;
    5291                    if (reout == 1)
    5392                        outcount = 0;
     
    5796                    if(rein == 1)
    5897                        outcount1 = 0;
     98                   
    5999                    if(rein == 0)
    60100                        outcount1 = 2;
    61                    
    62                     Stop = false;
    63                     if (keyword == null)
    64                         Stop = true;
     101
     102                    if (rein == 1)
     103                        outcount3 = 0;
     104
     105                    if (rein == 0)
     106                        outcount3 = 2;
     107                   
     108                   
     109                }
     110            else
     111                {
     112                    rowper = 2;
     113                    colper = 0;
     114
     115                   
     116                    if (reout == 1)
     117                        outcount = 2;
     118                    if (reout == 0)
     119                        outcount = 0;
     120
     121                    if (rein == 1)
     122                        outcount1 = 2;
     123                    if (rein == 0)
     124                        outcount1 = 0;
     125                   
     126                    if (rein == 1)
     127                        outcount3 = 2;
     128                    if (rein == 0)
     129                        outcount3 = 0;
     130                   
     131                   
     132                    }
     133        }
     134
     135        public void main(byte[,] read_in_matrix, byte[,] permuted_matrix, int[] key, String keyword, byte[] input, byte[] output, int per, int rein, int reout)
     136        {
     137
     138            Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     139            {
     140                    this.my_Stop(this, EventArgs.Empty);
     141                    init(read_in_matrix,keyword, per, rein, reout);
    65142                    create(read_in_matrix, permuted_matrix, key, keyword, input, output);
    66143
    67144                    schleife = 0;
    68                     textBox1.Text = input;
    69                     readIn();
    70                 }
     145                    //textBox1.Text = input;
     146                    //readIn();
     147     
     148               
    71149            }, null);
    72150        }
    73151
    74152
    75 
     153       
    76154        public void readout()
    77155        {
     
    79157            myDoubleAnimation.From = 1.0;
    80158            myDoubleAnimation.To = 0.0;
    81             myDoubleAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(1001-slider1.Value));
     159            myDoubleAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(1001-speed));
    82160
    83161            if (teba != null)
    84162            {
    85163                if (reout == 1)
    86                     for (int i = 2; i < teba.GetLength(1); i++)
     164                    for (int i = colper; i < teba.GetLength(1); i++)
    87165                    {
    88166
     
    102180                else
    103181                {
    104                     for (int i = 0; i < teba.GetLength(0); i++)
     182                    for (int i = rowper; i < teba.GetLength(0); i++)
    105183                    {
    106184
     
    122200        public void sort(int i)
    123201        {
    124             if (teba != null)
    125             {
    126                 if (i < teba.GetLength(0) - 1)
    127                 {
    128                     if (Convert.ToInt32(teba[i, 0].Text) != i+1 )
    129                     {
    130                         int s =0;
    131                         for (int ix = i + 1; ix < teba.GetLength(0); ix++)
    132                         {
    133                             if (Convert.ToInt32(teba[ix, 0].Text) == i + 1)
     202            if (per == 1)
     203            {
     204                if (teba != null)
     205                {
     206                    if (i < teba.GetLength(0) - 1)
     207                    {
     208                        if (Convert.ToInt32(teba[i, 0].Text) != i + 1)
     209                        {
     210                            int s = 0;
     211                            for (int ix = i + 1; ix < teba.GetLength(0); ix++)
    134212                            {
    135                                 s = ix;
     213                                if (Convert.ToInt32(teba[ix, 0].Text) == i + 1)
     214                                {
     215                                    s = ix;
     216                                }
    136217                            }
    137                         }
    138                         ani( i, s);
    139                        
    140                     }
    141                     else
    142                     {
    143                         schleife++;
    144                         sort(schleife);
    145                     }
    146                    
    147                 }
    148                
    149 
    150                 else if ( !Stop){  readout(); }
     218                            ani(i, s);
     219
     220                        }
     221                        else
     222                        {
     223                            schleife++;
     224                            sort(schleife);
     225                        }
     226
     227                    }
     228
     229
     230                    else if (!Stop) { readout(); }
     231                }
     232            }
     233            else
     234           
     235            {
     236                readout();
    151237            }
    152238
     
    159245            myGrid.RowDefinitions.Clear();
    160246            outcount = 0;
     247
    161248           
     249
    162250            schleife = 0;
    163251            textBox1.Clear();
     
    178266            outcount1++;
    179267            if (!Stop)
    180                 readIn();
    181 
     268                postReadIn();
     269
     270        }
     271
     272        private void my_Help3(object sender, EventArgs e)
     273        {
     274            textBox2.Text = "feuer";
     275            if (!Stop)
     276            preReadIn();
     277        }
     278       
     279        private void my_Help4(object sender, EventArgs e)
     280        {
     281            textBox2.Text = "feuer";
     282            outcount2++;
     283            if (!Stop)
     284            readIn();
     285        }
     286         private void my_Help5(object sender, EventArgs e)
     287        {
     288            textBox2.Text = "feuer";
     289            outcount3++;
     290            if (!Stop)
     291            preReadIn();
    182292        }
    183293
     
    214324                myFadein.From = 0.0;
    215325                myFadein.To = 1.0;
    216                 myFadein.Duration = new Duration(TimeSpan.FromMilliseconds(1001-slider1.Value));
     326                myFadein.Duration = new Duration(TimeSpan.FromMilliseconds(1001-speed));
    217327
    218328
     
    237347            myDoubleAnimation.From = 1.0;
    238348            myDoubleAnimation.To = 0.0;
    239             myDoubleAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(1001-slider1.Value));
     349            myDoubleAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(1001-speed));
    240350
    241351            this.von = von;
     
    255365        }
    256366
     367        public void preReadIn()
     368        {
     369
     370            ColorAnimation myColorAnimation = new ColorAnimation();
     371            myColorAnimation.From = Colors.Transparent;
     372            myColorAnimation.To = Colors.Orange;
     373            myColorAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(1001 - speed));
     374
     375
     376            if (reina != null)
     377            {
     378                SolidColorBrush brush = new SolidColorBrush();
     379                brush.Color = Colors.Transparent;
     380
     381                if (rein == 0)
     382                {
     383                    for (int i = 0; i < read_in_matrix.GetLength(0); i++)
     384                    {
     385                        if (Convert.ToInt64(read_in_matrix[ i,outcount2]) != 0)
     386                        {
     387                            reina[countup].Background = brush;
     388                            countup++;
     389                        }
     390                    }
     391                }
     392               
     393                else
     394                    {
     395                        for (int i = 0; i < read_in_matrix.GetLength(1); i++)
     396                        {
     397                            if (Convert.ToInt64(read_in_matrix[outcount2, i]) != 0)
     398                            {
     399                                reina[countup].Background = brush;
     400                                countup++;
     401                            }
     402                        }
     403                    }
     404                myColorAnimation.Completed += new EventHandler(my_Help4);
     405                if (!Stop)
     406                brush.BeginAnimation(SolidColorBrush.ColorProperty, myColorAnimation);
     407               
     408            }
     409        }
     410
     411
    257412        public void readIn()
    258413        {
    259414
    260 
    261 
    262             DoubleAnimation myDoubleAnimation = new DoubleAnimation();
    263             myDoubleAnimation.From = 0.0;
    264             myDoubleAnimation.To = 1.0;
    265             myDoubleAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(1001-slider1.Value));
     415            DoubleAnimation fadeIn = new DoubleAnimation();
     416            fadeIn.From = 0.0;
     417            fadeIn.To = 1.0;
     418            fadeIn.Duration = new Duration(TimeSpan.FromMilliseconds(1001 - speed));
     419
     420            DoubleAnimation myFadeOut = new DoubleAnimation();
     421            myFadeOut.From = 1.0;
     422            myFadeOut.To = 0.0;
     423            myFadeOut.Duration = new Duration(TimeSpan.FromMilliseconds(1001 - speed));
     424
     425            for (int i = 0; i < countup; i++)
     426            {
     427                    if(reina[i].Opacity!=0.0) 
     428                    reina[i].BeginAnimation(TextBlock.OpacityProperty, myFadeOut);
     429               
     430            }
     431
     432                if (teba != null)
     433                {
     434
     435
     436                    if (rein == 0)
     437                    {
     438                        for (int i = rowper; i < teba.GetLength(0); i++)
     439                        {
     440
     441
     442                            if (i == teba.GetLength(0) - 1 && outcount1 < teba.GetLength(1) - 1 && !Stop)
     443                            {
     444                                fadeIn.Completed += new EventHandler(my_Help2);
     445                            }
     446
     447                            teba[i, outcount1].BeginAnimation(TextBlock.OpacityProperty, fadeIn);
     448
     449                            if (i == teba.GetLength(0) - 1 && outcount1 == teba.GetLength(1) - 1 && !Stop)
     450                            {
     451                                postReadIn();
     452                            }
     453
     454                        }
     455                    }
     456
     457
     458
     459                    else
     460                    {
     461                        for (int i = colper; i < teba.GetLength(1); i++)
     462                        {
     463
     464
     465                            if (i == teba.GetLength(1) - 1 && outcount1 < teba.GetLength(0) - 1 && !Stop)
     466                            {
     467                                fadeIn.Completed += new EventHandler(my_Help2);
     468                            }
     469                            teba[outcount1, i].BeginAnimation(TextBlock.OpacityProperty, fadeIn);
     470
     471                            try
     472                            {
     473                                textBox1.Text = textBox1.Text.Remove(0, 1);
     474                            }
     475
     476                            catch (ArgumentOutOfRangeException) { }
     477
     478                            if (i == teba.GetLength(1) - 1 && outcount1 == teba.GetLength(0) - 1 && !Stop)
     479                            { postReadIn(); }
     480
     481                        }
     482                    }
     483
     484
     485
     486                }
     487        }
     488
     489        public void postReadIn()
     490        {
     491            ColorAnimation myColorAnimation = new ColorAnimation();
     492            myColorAnimation.From = Colors.DarkOrange;
     493            myColorAnimation.To = Colors.Transparent;
     494            myColorAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(1001 - speed));
     495
     496            SolidColorBrush brush = new SolidColorBrush();
    266497
    267498            if (teba != null)
    268499            {
     500
    269501                if (rein == 0)
    270502                {
    271                     for (int i = 0; i < teba.GetLength(0); i++)
    272                     {
    273 
    274 
    275                         if (i == teba.GetLength(0) - 1 && outcount1 < teba.GetLength(1) - 1 && !Stop)
    276                         {
    277                             myDoubleAnimation.Completed += new EventHandler(my_Help2);
    278                         }
    279                         teba[i, outcount1].BeginAnimation(TextBlock.OpacityProperty, myDoubleAnimation);
    280 
    281                         try
    282                         {
    283                             textBox1.Text = textBox1.Text.Remove(0, 1);
    284                         }
    285 
    286                         catch (ArgumentOutOfRangeException) { }
    287 
    288                         if (i == teba.GetLength(0) - 1 && outcount1 == teba.GetLength(1) - 1 && !Stop)
    289                         { sort(schleife); }
    290 
    291                     }
    292                 }
     503                    Boolean no = true;
     504                    for (int i = rowper; i < teba.GetLength(0); i++)
     505                    {
     506
     507                        teba[i, outcount3].Background = brush;
     508
     509                        if (i == teba.GetLength(0) - 1 && outcount3 == teba.GetLength(1) - 1 && !Stop)
     510                        {
     511                            sort(schleife);
     512                            no = false;
     513                        }
     514
     515                    }
     516                    if(no)
     517                    myColorAnimation.Completed += new EventHandler(my_Help5);
     518                    if (!Stop)
     519                    brush.BeginAnimation(SolidColorBrush.ColorProperty, myColorAnimation);
     520                }
     521
     522
    293523
    294524                else
    295525                {
    296                     for (int i = 2; i < teba.GetLength(1); i++)
    297                     {
    298 
    299 
    300                         if (i == teba.GetLength(1) - 1 && outcount1 < teba.GetLength(0) - 1 && !Stop)
    301                         {
    302                             myDoubleAnimation.Completed += new EventHandler(my_Help2);
    303                         }
    304                         teba[outcount1,i].BeginAnimation(TextBlock.OpacityProperty, myDoubleAnimation);
    305 
    306                         try
    307                         {
    308                             textBox1.Text = textBox1.Text.Remove(0, 1);
    309                         }
    310 
    311                         catch (ArgumentOutOfRangeException) { }
    312 
    313                         if (i == teba.GetLength(1) - 1 && outcount1 == teba.GetLength(0) - 1 && !Stop)
    314                         { sort(schleife); }
    315 
    316                     }
     526                    Boolean no = true;
     527                    for (int i = colper; i < teba.GetLength(1); i++)
     528                    {
     529
     530
     531                        teba[ outcount3,i].Background = brush;
     532
     533                        if (i == teba.GetLength(1) - 1 && outcount3 == teba.GetLength(0) - 1 && !Stop)
     534                        {
     535                            sort(schleife);
     536                            no = false;
     537                        }
     538
     539                    }
     540                    if (no)
     541                        myColorAnimation.Completed += new EventHandler(my_Help5);
     542                    if (!Stop)
     543                    brush.BeginAnimation(SolidColorBrush.ColorProperty, myColorAnimation);
    317544                }
    318545            }
    319546        }
    320547
    321         public void create(char[,] read_in_matrix, char[,] permuted_matrix, int[] key, String keyword, String input, String output)
     548        public void create(byte[,] read_in_matrix, byte[,] permuted_matrix, int[] key, String keyword, byte[] input, byte[] output)
    322549        {
    323550
     
    331558                    textBox1.Clear();
    332559                    textBox2.Clear();
    333 
    334                    
    335 
    336                     mainGrid.Height = 100;
    337                     mainGrid.Width = 420;
    338 
    339                     myGrid.Width = 50;
    340                     myGrid.Height = 100;
    341                     myGrid.ShowGridLines = false;
    342 
    343                     teba = new TextBlock[read_in_matrix.GetLength(0), read_in_matrix.GetLength(1) + 2];
    344                    
    345                     myGrid.RowDefinitions.Add(new RowDefinition());
     560                    mywrap1.Children.Clear();
     561                    mywrap2.Children.Clear();
     562
     563
     564                    teba = new TextBlock[read_in_matrix.GetLength(0) + rowper, read_in_matrix.GetLength(1) + colper];
     565
     566                    for (int i = 0; i < read_in_matrix.GetLength(0) + rowper;i++ )
     567                    {
     568                       myGrid.ColumnDefinitions.Add(new ColumnDefinition());
     569                    }
     570
     571                    for (int i = 0; i < read_in_matrix.GetLength(1) + colper; i++)
     572                    {
     573                       
     574                        myGrid.RowDefinitions.Add(new RowDefinition());
     575                    }
     576                   
     577
    346578                    for (int i = 0; i < key.Length; i++)
    347579                    {
     
    351583                            mainGrid.Width += 12;
    352584                        }
    353                         myGrid.ColumnDefinitions.Add(new ColumnDefinition());
     585                       
     586                       
    354587                        TextBlock txt = new TextBlock();
    355588                        String s = key[i].ToString();
     589                       
    356590                        txt.VerticalAlignment = VerticalAlignment.Center;
    357591                        txt.Text = s;
     
    359593                        txt.FontWeight = FontWeights.ExtraBold;
    360594                        txt.TextAlignment = TextAlignment.Center;
    361                         Grid.SetRow(txt, 0);
    362                         Grid.SetColumn(txt, i);
    363                         myGrid.Children.Add(txt);
    364                         teba[i, 0] = txt;
    365 
    366                     }
    367 
    368                     myGrid.RowDefinitions.Add(new RowDefinition());
     595                        txt.Width = 17;
     596                        txt.Opacity = 0.0;
     597
     598                        if (per == 1)
     599                        {
     600                            Grid.SetRow(txt, 0);
     601                            Grid.SetColumn(txt, i);
     602                            myGrid.Children.Add(txt);
     603                            teba[i, 0] = txt;
     604                            teba[i, 0].BeginAnimation(TextBlock.OpacityProperty,fadeIn);
     605                           
     606                        }
     607
     608                        else
     609                       
     610                        {
     611                            Grid.SetRow(txt, i);
     612                            Grid.SetColumn(txt, 0);
     613                            myGrid.Children.Add(txt);
     614                            teba[0, i] = txt;
     615                            teba[0, i].BeginAnimation(TextBlock.OpacityProperty, fadeIn);
     616                        }
     617
     618                    }
     619
     620                   
    369621                    if (keyword != null)
    370622                    {
     
    381633                            txt.FontWeight = FontWeights.ExtraBold;
    382634                            txt.TextAlignment = TextAlignment.Center;
    383                             Grid.SetRow(txt, 1);
    384                             Grid.SetColumn(txt, i);
    385                             myGrid.Children.Add(txt);
    386                             teba[i, 1] = txt;
     635                            txt.Width = 17;
     636
     637                            if (per == 1)
     638                            {
     639                                Grid.SetRow(txt, 1);
     640                                Grid.SetColumn(txt, i);
     641                                myGrid.Children.Add(txt);
     642                                teba[i, 1] = txt;
     643                                teba[i, 1].BeginAnimation(TextBlock.OpacityProperty, fadeIn);
     644                            }
     645                           
     646                            else
     647                            {
     648                                Grid.SetRow(txt, i);
     649                                Grid.SetColumn(txt, 1);
     650                                myGrid.Children.Add(txt);
     651                                teba[1, i] = txt;
     652                                teba[1, i].BeginAnimation(TextBlock.OpacityProperty, fadeIn);
     653                            }
    387654                        }
    388655                    }
     
    390657                    for (int i = 0; i < read_in_matrix.GetLength(1); i++)
    391658                    {
    392                         if (mainGrid.Height < 280)
    393                         {
    394                             mainGrid.Height += 12;
    395                             myGrid.Height += 12;
    396                         }
    397 
    398 
     659                       
    399660                        int x = 0;
    400                         myGrid.RowDefinitions.Add(new RowDefinition());
     661                     
    401662                        if (i % 2 == 0)
    402663                            x = 1;
     
    406667                            TextBlock txt = new TextBlock();
    407668                            txt.VerticalAlignment = VerticalAlignment.Center;
    408                             if (char.GetUnicodeCategory(read_in_matrix[ix, i]).ToString() != "Control")
    409                                 txt.Text = read_in_matrix[ix, i].ToString();
     669                            if (Convert.ToInt64(read_in_matrix[ix, i]) != 0)
     670                                txt.Text = Convert.ToChar(read_in_matrix[ix, i]).ToString();
    410671                            else
    411672                                txt.Text = "";
    412                             if (ix % 2 == x)
    413                                 txt.Background = Brushes.AliceBlue;
    414                             else
    415                                 txt.Background = Brushes.LawnGreen;
     673                           // if (ix % 2 == x)
     674                             //   txt.Background = Brushes.AliceBlue;
     675                            //else
     676                              //  txt.Background = Brushes.LawnGreen;
     677                            txt.Background = Brushes.DarkOrange;
    416678                            txt.FontSize = 12;
    417                             txt.Opacity = 0.0;
     679                            txt.Opacity = 1.0;
    418680                            txt.FontWeight = FontWeights.ExtraBold;
    419681                            txt.TextAlignment = TextAlignment.Center;
    420                             Grid.SetRow(txt, i + 2);
    421                             Grid.SetColumn(txt, ix);
     682                            txt.Width = 17;
     683
     684                            Grid.SetRow(txt, (i + colper));
     685                            Grid.SetColumn(txt, (ix + rowper));
    422686                            myGrid.Children.Add(txt);
    423                             teba[ix, i + 2] = txt;
    424                         }
    425                     }
    426 
    427                 }
    428 
     687                            teba[(ix + rowper), (i + colper)] = txt;
     688                            teba[(ix + rowper), (i + colper)].Opacity = 0.0;
     689                        }
     690                    }
     691                   
     692                   
     693                   reina = new TextBlock[input.Length];
     694                    for (int i = 0; i < input.Length; i++)
     695                    {
     696                        TextBlock txt = new TextBlock();
     697                        txt.FontSize = 12;
     698                        txt.FontWeight = FontWeights.ExtraBold;
     699                        txt.Text = Convert.ToChar(input[i]).ToString();
     700                        reina[i] = txt;
     701                        reina[i].Background = Brushes.Transparent;
     702                        reina[i].Opacity = 0.0;
     703                        mywrap1.Children.Add(txt);
     704                        if (i == input.Length-1)
     705                            { fadeIn.Completed += new EventHandler(my_Help3); }
     706                        if (!Stop)
     707                        reina[i].BeginAnimation(TextBlock.OpacityProperty,fadeIn);
     708
     709
     710                    }
     711
     712                    reouta = new TextBlock[output.Length];
     713                    for (int i = 0; i < output.Length; i++)
     714                    {
     715                        TextBlock txt = new TextBlock();
     716                        txt.FontSize = 12;
     717                        txt.FontWeight = FontWeights.ExtraBold;
     718                        txt.Text = Convert.ToChar(output[i]).ToString();
     719                        reouta[i] = txt;
     720                        reouta[i].Background = Brushes.Transparent;
     721                        reouta[i].Opacity = 0.0;
     722                        mywrap2.Children.Add(txt);
     723                     
     724                       
     725                    }
     726                }
    429727            }
    430728         , null);
  • trunk/CrypPlugins/Transposition/TranspositionSettings.cs

    r796 r884  
    1818        private PermutationMode selectedPermutation = PermutationMode.byColumn;
    1919        private ReadOutMode selectedReadOut = ReadOutMode.byColumn;
    20        
     20        private int Presentation_Speed = 1;
     21
    2122        # endregion
    2223
     
    9899        }
    99100
     101        [PropertySaveOrder(5)]
     102        [TaskPane("Presentation Speed", "Change the pace of the Presentation", null, 5, true, DisplayLevel.Expert, ControlType.Slider, 1, 1000)]
     103        public int PresentationSpeed
     104        {
     105            get { return (int)Presentation_Speed; }
     106            set
     107            {
     108                if ((value) != Presentation_Speed) hasChanges = true;
     109                this.Presentation_Speed = value;
     110                OnPropertyChanged("Value");
     111            }
     112        }
     113
    100114
    101115        protected void OnPropertyChanged(string name)
Note: See TracChangeset for help on using the changeset viewer.