Changeset 351


Ignore:
Timestamp:
Jun 15, 2009, 2:17:17 PM (13 years ago)
Author:
Danail Vazov
Message:

Added a basic text box Presentation.

Location:
trunk/CrypPlugins/VigenereAnalyser
Files:
2 added
3 edited

Legend:

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

    r340 r351  
    1010using System.Windows.Documents;
    1111using Cryptool.PluginBase.Miscellaneous;
     12using System.Windows.Controls;
     13using System.Windows.Threading;
     14using System.Threading;
    1215
    1316namespace Cryptool.VigenereAnalyser
     
    2124    public class VigenereAnalyser:IStatistic
    2225    {
    23        
     26        private VAPresentation vaPresentation;
    2427        private char[] validchars = new char[] { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }; //Sets alphabet of valid characters
    2528        private int[] keywordOutput;
     
    153156            get { return settings; }
    154157            set { settings = (VigenereAnalyserSettings)value; }
     158
     159        }
     160        public UserControl Presentation { get; private set; }
     161
     162        public UserControl QuickWatchPresentation
     163        {
     164            get { return Presentation; }
    155165        }
    156166        public VigenereAnalyser()
    157167        {
    158168            settings = new VigenereAnalyserSettings();
     169            vaPresentation = new VAPresentation();
     170
     171            Presentation = vaPresentation;
     172            vaPresentation.textBoxInputText.TextChanged +=textBoxInputText_TextChanged;
     173        }
     174        void textBoxInputText_TextChanged(object sender, TextChangedEventArgs e)
     175        {
     176            //this.NotifyUpdate();
     177            settings.HasChanges = true;
     178           
     179        }
     180        public void Initialize()
     181        {
     182            if (vaPresentation.textBoxInputText != null)
     183                vaPresentation.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     184                {
     185                    vaPresentation.textBoxInputText.Text = settings.Text;
     186                }, null);
    159187        }
    160188        public void Dispose()
    161189        {
    162             //throw new NotImplementedException();
     190            settings.Text = (string)vaPresentation.textBoxInputText.Dispatcher.Invoke(
     191        DispatcherPriority.Normal, (DispatcherOperationCallback)delegate
     192        {
     193            return vaPresentation.textBoxInputText.Text;
     194        }, null);
    163195        }
    164196        public void PreExecution()
     
    378410                   
    379411               }
    380                if (keys.Length-1==n) 
     412               if (keys.Length-1==n)
    381413               {
    382414                   keywordOutput = keyword;
    383415                   OnPropertyChanged("KeywordOutput");
     416                   /*if ()
     417                   {
     418                       int k = 0;
     419                       int[] keyword1 = new int[settings.Text.Length];
     420                       foreach (char g in settings.Text)
     421                       {   for (int f =0;f<=validchars.Length-1;f++)
     422                       {
     423                           if (g == validchars[f])
     424                           {
     425                               keyword1[k] = f;
     426                               k++;
     427                           }
     428                        }
     429                       }
     430                       keywordOutput = keyword1;
     431                       OnPropertyChanged("KeywordOutput");
     432
     433                   }*/
    384434               }
     435               StringBuilder keywordstring = new StringBuilder();
     436               foreach (int r in keyword)
     437               {
     438                   keywordstring.Append(validchars[r]);
     439               }
     440
     441               settings.Text = keywordstring.ToString();
     442               Initialize();
     443               string value = (string)this.vaPresentation.textBoxInputText.Dispatcher.Invoke(DispatcherPriority.Normal, (DispatcherOperationCallback)delegate
     444               {
     445                   return vaPresentation.textBoxInputText.Text;
     446               }, vaPresentation);
     447
     448               if (value == null || value == string.Empty)
     449                   ShowStatusBarMessage("No input value returning null.", NotificationLevel.Warning);
    385450               
    386451            }
    387452        }
    388453
    389         public void Initialize()
     454       
     455
     456        public event GuiLogNotificationEventHandler OnGuiLogNotificationOccured;
     457
     458        public event PluginProgressChangedEventHandler OnPluginProgressChanged;
     459
     460        public event StatusChangedEventHandler OnPluginStatusChanged;
     461
     462        public void Pause()
    390463        {
    391464            //throw new NotImplementedException();
    392465        }
    393466
    394         public event GuiLogNotificationEventHandler OnGuiLogNotificationOccured;
    395 
    396         public event PluginProgressChangedEventHandler OnPluginProgressChanged;
    397 
    398         public event StatusChangedEventHandler OnPluginStatusChanged;
    399 
    400         public void Pause()
    401         {
    402             //throw new NotImplementedException();
    403         }
    404 
    405467        public void PostExecution()
    406468        {
     469            Dispose();
    407470            kasiskiInput = null;
    408471            probableKeylength = 0;
     
    410473            v = 0;
    411474        }
    412 
    413        
    414 
    415         public System.Windows.Controls.UserControl Presentation
    416         {
    417             get { return null; }
    418         }
    419 
    420         public System.Windows.Controls.UserControl QuickWatchPresentation
    421         {
    422             get { return null; }
    423         }
    424 
    425        
    426 
    427475        public void Stop()
    428476        {
  • trunk/CrypPlugins/VigenereAnalyser/VigenereAnalyser.csproj

    r324 r351  
    6060    <Reference Include="System.Data" />
    6161    <Reference Include="System.Xml" />
     62    <Reference Include="UIAutomationProvider">
     63      <RequiredTargetFramework>3.0</RequiredTargetFramework>
     64    </Reference>
    6265    <Reference Include="WindowsBase">
    6366      <RequiredTargetFramework>3.0</RequiredTargetFramework>
     
    6568  </ItemGroup>
    6669  <ItemGroup>
     70    <Compile Include="VAPresentation.xaml.cs">
     71      <DependentUpon>VAPresentation.xaml</DependentUpon>
     72    </Compile>
    6773    <Compile Include="VigenereAnalyser.cs" />
    6874    <Compile Include="Properties\AssemblyInfo.cs" />
     
    7480  <ItemGroup>
    7581    <Resource Include="icon.png" />
     82  </ItemGroup>
     83  <ItemGroup>
     84    <Page Include="VAPresentation.xaml">
     85      <SubType>Designer</SubType>
     86      <Generator>MSBuild:Compile</Generator>
     87    </Page>
    7688  </ItemGroup>
    7789  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  • trunk/CrypPlugins/VigenereAnalyser/VigenereAnalyserSettings.cs

    r324 r351  
    1414        #region ISettings Members
    1515
    16         private bool hasChanges;
     16        private bool hasChanges = false;
    1717        public bool HasChanges
    1818        {
    1919            get { return hasChanges; }
    20             set { hasChanges = value; }
     20            set { hasChanges = value; OnPropertyChanged("HasChanges"); }
    2121        }
    22 
     22        private string text;
     23        public string Text
     24        {
     25            get { return text; }
     26            set
     27            {
     28                if (value != text) hasChanges = true;
     29                text = value;
     30            }
     31        }
    2332        #endregion
    2433
Note: See TracChangeset for help on using the changeset viewer.