Changeset 2688


Ignore:
Timestamp:
Feb 14, 2011, 5:26:00 PM (11 years ago)
Author:
Tim Podeszwa
Message:

Bug fixed

Location:
trunk/CrypPlugins/ManInTheMiddle
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/ManInTheMiddle/ManInTHeMiddle.cs

    r2334 r2688  
    1515using System.ComponentModel;
    1616using System.Security.Cryptography;
    17 using System.Security.Cryptography.Xml;
     17
    1818using System.Windows.Controls;
    1919using System.Collections;
     
    5555            {
    5656                case "InputString":
    57                     //presentation.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
    58                     //{
    59                     //TreeViewItem item = new TreeViewItem();
    60                     //XmlNode node = (XmlNode)inputSoap.DocumentElement;
    61                     //TextBlock elem1 = new TextBlock();
    62                     //elem1.Text = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
    63                     //StackPanel panel = new StackPanel();
    64                     //panel.Children.Add(elem1);
    65                     //item.Header = panel;
    66                     //presentation.CopyXmlToTreeView(node, ref item);
    67                     //presentation.treeView.Items.Clear();
    68                     //item.IsExpanded = true;
    69                     //presentation.treeView.Items.Add(item);
    70                     //}, null);
    71                     break;
     57                    presentation.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     58                    {
     59                        if (inputSoap != null)
     60                        {
     61                            TreeViewItem item = new TreeViewItem();
     62                            XmlNode node = (XmlNode)inputSoap.DocumentElement;
     63                            TextBlock elem1 = new TextBlock();
     64                            elem1.Text = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>";
     65                            StackPanel panel = new StackPanel();
     66                            panel.Children.Add(elem1);
     67                            item.Header = panel;
     68
     69                            presentation.CopyXmlToTreeView(node, item, this.getParameter());
     70                            presentation.treeView.Items.Clear();
     71                            item.IsExpanded = true;
     72                            presentation.treeView.Items.Add(item);
     73                        }
     74                    }, null);
     75                   break;
    7276            }
    7377        }
     
    158162                this.inputAnswer = value;
    159163                OnPropertyChanged("InputAnswer");
    160             }
    161         }
    162 
    163         [PropertyInfo(Direction.ControlSlave, "WSDL Input", "WSDL to create the soap message",null)]
     164             
     165            }
     166        }
     167
     168        [PropertyInfo(Direction.InputData, "WSDL Input", "WSDL to create the soap message",null)]
    164169        public XmlDocument wsdlInput
    165170        {
     
    233238                envelope.AppendChild(body);
    234239                mySettings.Soap = xmlToString(soap);
     240           
    235241            }
    236242        }
     
    239245        {
    240246            XmlNode rootElement = soap.SelectSingleNode("/*");
    241             presentation.soapItem = new System.Windows.Controls.TreeViewItem();
    242 
    243 
    244             presentation.soapItem.IsExpanded = true;
     247            presentation.SoapItem = new System.Windows.Controls.TreeViewItem();
     248
     249
     250            presentation.SoapItem.IsExpanded = true;
    245251
    246252            StackPanel panel1 = new StackPanel();
     
    256262            panel1.Children.Insert(0, elem1);
    257263
    258             presentation.soapItem.Header = panel1;
    259 
    260             presentation.CopyXmlToTreeView(soap.GetElementsByTagName("s:Body")[0], ref presentation.soapItem, this.getParameter());
     264            presentation.SoapItem.Header = panel1;
     265
     266            presentation.CopyXmlToTreeView(soap.GetElementsByTagName("s:Body")[0], presentation.SoapItem, this.getParameter());
    261267            presentation.treeView.Items.Clear();
    262             presentation.treeView.Items.Add(presentation.soapItem);
     268            presentation.treeView.Items.Add(presentation.SoapItem);
    263269            this.outputSoap = this.soap;
    264270            OnPropertyChanged("OutputString");
  • trunk/CrypPlugins/ManInTheMiddle/ManInTheMiddle.csproj

    r2392 r2688  
    5757    <Reference Include="System.Drawing" />
    5858    <Reference Include="System.Web.Services" />
     59    <Reference Include="System.Xaml" />
    5960    <Reference Include="System.Xml.Linq">
    6061      <RequiredTargetFramework>3.5</RequiredTargetFramework>
  • trunk/CrypPlugins/ManInTheMiddle/MitmPresentation.xaml

    r642 r2688  
    88            <ColumnDefinition Width="158*" />
    99        </Grid.ColumnDefinitions>
    10         <TreeView Margin="8.857,109,12,15" Name="treeView" Grid.ColumnSpan="2" SelectedItemChanged="treeView_SelectedItemChanged" />
     10        <TreeView Margin="8.857,109,12,15" Name="treeView" Grid.ColumnSpan="2" SelectedItemChanged="TreeViewSelectedItemChangedEventHandler" />
    1111        <ListBox Height="70" Margin="8.857,33,53,0" Name="lbSignSteps" VerticalAlignment="Top" />
    1212        <Label HorizontalAlignment="Left" Margin="8.857,12,0,0" Name="label1" Width="120" Height="28" VerticalAlignment="Top">Information:</Label>
  • trunk/CrypPlugins/ManInTheMiddle/MitmPresentation.xaml.cs

    r642 r2688  
    2727    public partial class MitmPresentation : UserControl
    2828    {
    29         private TreeViewItem item1;
    30         public TreeViewItem soapItem;
    31         private string lastURI;
    32         private Hashtable namespacesTable;
    33         private ManInTHeMiddle mitm;
     29        #region Fields
     30
     31        private TreeViewItem _foundItem;
     32        private TreeViewItem _soapItem;
     33        private string _lastURI;
     34        private Hashtable _namespacesTable;
     35        private ManInTHeMiddle _manInTheMiddle;
     36
     37        # endregion
     38
     39       
     40        public TreeViewItem SoapItem
     41        {
     42            get
     43            {
     44                return this._soapItem;
     45            }
     46            set
     47            {
     48                this._soapItem = value;
     49            }
     50        }
     51        #region Constructor
    3452
    3553        public MitmPresentation(ManInTHeMiddle mitm)
    3654        {
    3755            InitializeComponent();
    38             item1 = new TreeViewItem();
    39             lastURI = "";
    40             namespacesTable = new Hashtable();
    41             this.mitm = mitm;
    42         }
    43         /// <summary>
    44         /// Returns the Name of the Element without the prefix
    45         /// </summary>
    46         /// <param name="panel"></param>
    47         /// <returns></returns>
    48         private string getNameFromPanel(StackPanel panel, bool prefix)
    49         {
    50             foreach (object obj in panel.Children)
    51             {
    52                 if (obj.GetType().ToString().Equals("System.Windows.Controls.TextBlock"))
    53                 {
    54                     TextBlock tb = (TextBlock)obj;
     56           this._foundItem = new TreeViewItem();
     57           this._lastURI = "";
     58           this._namespacesTable = new Hashtable();
     59           this._manInTheMiddle = mitm;
     60        }
     61
     62        #endregion
     63
     64        #region Methods
     65
     66        private string GetNameFromPanel(StackPanel panel, bool prefix)
     67        {
     68            foreach (object childPanel in panel.Children)
     69            {
     70                if (childPanel.GetType().ToString().Equals("System.Windows.Controls.TextBlock"))
     71                {
     72                    TextBlock tb = (TextBlock)childPanel;
    5573                    if (tb.Name.Equals("tbName"))
    5674                    {
     
    7391            return null;
    7492        }
    75         public void CopyXmlToTreeView(XmlNode xNode, ref TreeViewItem tviParent, XmlNode[] parameter)
    76         {
    77             namespacesTable.Clear();
     93        public void CopyXmlToTreeView(XmlNode xmlNode,  TreeViewItem treeViewItemParent, XmlNode[] inputParameter)
     94        {
     95           this._namespacesTable.Clear();
    7896           
    79             CopyXmlToTreeViewReal(xNode, ref tviParent,parameter);
    80         }
    81 
    82         public void CopyXmlToTreeViewReal(XmlNode xNode, ref TreeViewItem tviParent, XmlNode[] parameter)
     97            CopyXmlToTreeViewReal(xmlNode, ref treeViewItemParent,inputParameter);
     98
     99        }
     100        private void CopyXmlToTreeViewReal(XmlNode xNode, ref TreeViewItem tviParent, XmlNode[] parameter)
    83101        {
    84102            SolidColorBrush elemBrush = new SolidColorBrush(Colors.MediumVioletRed);
     
    111129                    if (!xNode.NamespaceURI.Equals(""))
    112130                    {
    113                         insertNamespace(ref panel, xNode.NamespaceURI, xNode.Prefix);
     131                        InsertNamespace(panel, xNode.NamespaceURI, xNode.Prefix);
    114132                    }
    115133                    if (xNode.Attributes != null)
    116134                    {
    117                         insertAttributes(ref panel, xNode.Attributes);
     135                        InsertAttributes(panel, xNode.Attributes);
    118136                    }
    119137           
     
    127145                        if (node.Name.Equals(xNode.Name))
    128146                        {
    129                             addEditImageToPanel(ref panel, xNode.Name);
     147                            AddEditImageToPanel(panel, xNode.Name);
    130148                        }
    131149                    }
     
    134152                        foreach (XmlNode child in xNode.ChildNodes)
    135153                        {
    136                             lastURI = xNode.NamespaceURI; ;
     154                           this._lastURI = xNode.NamespaceURI; ;
    137155                            CopyXmlToTreeViewReal(child, ref item, parameter);
    138156                        }
     
    168186            }
    169187        }
    170         private void addEditImageToPanel(ref StackPanel panel, string name)
     188        private void AddEditImageToPanel(StackPanel panel, string name)
    171189        {
    172190            string[] splitter = name.Split(new char[] { ':' });
     
    192210            editImage.ToolTip = "Click here or on the element name to edit the: " + name + " Element";
    193211            panel.Children.Add(editImage);
    194             editImage.MouseEnter += new MouseEventHandler(myImage2_MouseEnter);
    195             editImage.MouseLeave += new MouseEventHandler(myImage2_MouseLeave);
     212            editImage.MouseEnter += new MouseEventHandler(ImageMouseEnterEventHAndler);
     213            editImage.MouseLeave += new MouseEventHandler(ImageMouseLeaveEventHandler);
    196214
    197215         
    198216        }
    199         void myImage2_MouseLeave(object sender, MouseEventArgs e)
    200         {
    201             Image img = (Image)sender;
    202             DoubleAnimation widhtAnimation = new DoubleAnimation(23, 18, TimeSpan.FromSeconds(0.2));
    203             widhtAnimation.AutoReverse = false;
    204             DoubleAnimation heightAnimation = new DoubleAnimation(23, 18, TimeSpan.FromSeconds(0.2));
    205             heightAnimation.AutoReverse = false;
    206             img.BeginAnimation(Image.WidthProperty, widhtAnimation);
    207             img.BeginAnimation(Image.HeightProperty, heightAnimation);
    208         }
    209 
    210         void myImage2_MouseEnter(object sender, MouseEventArgs e)
    211         {
    212             Image img = (Image)sender;
    213             DoubleAnimation widhtAnimation = new DoubleAnimation(18, 23, TimeSpan.FromSeconds(0.2));
    214             widhtAnimation.AutoReverse = false;
    215             DoubleAnimation heightAnimation = new DoubleAnimation(18, 23, TimeSpan.FromSeconds(0.2));
    216             heightAnimation.AutoReverse = false;
    217             img.BeginAnimation(Image.WidthProperty, widhtAnimation);
    218             img.BeginAnimation(Image.HeightProperty, heightAnimation);
    219         }
    220         public StackPanel insertNamespace(ref StackPanel panel, string nspace, string Prefix)
    221         {
    222             if (!namespacesTable.ContainsValue(nspace))
    223             {
    224                 namespacesTable.Add(nspace, nspace);
     217        private StackPanel InsertNamespace(StackPanel panel, string nspace, string Prefix)
     218        {
     219            if (!_namespacesTable.ContainsValue(nspace))
     220            {
     221               this._namespacesTable.Add(nspace, nspace);
    225222                TextBlock xmlns = new TextBlock();
    226223                xmlns.Name = "xmlns";
     
    242239            return panel;
    243240        }
    244 
    245        
    246 
    247         public StackPanel insertAttributes(ref StackPanel panel, XmlAttributeCollection attributes)
     241        private StackPanel InsertAttributes(StackPanel panel, XmlAttributeCollection attributes)
    248242        {
    249243            foreach (XmlAttribute tempAttribute in attributes)
     
    265259                else
    266260                {
    267                     if (!namespacesTable.ContainsValue(tempAttribute.Value))
    268                     {
    269                         namespacesTable.Add(tempAttribute.Value, tempAttribute.Value);
     261                    if (!this._namespacesTable.ContainsValue(tempAttribute.Value))
     262                    {
     263                       this._namespacesTable.Add(tempAttribute.Value, tempAttribute.Value);
    270264                        TextBlock name = new TextBlock();
    271265                        name.Text = " " + tempAttribute.Name;
     
    284278            return panel;
    285279        }
    286 
    287 
    288 
    289         private TreeViewItem findItem(TreeViewItem item, string bezeichner)
    290         {
    291             StackPanel tempHeader1 = (StackPanel)item.Header;
    292             string Bezeichner = getNameFromPanel(tempHeader1, false);
    293             if (Bezeichner != null)
    294             {
    295                 if (Bezeichner.Equals(bezeichner))
    296                 {
    297                     item1 = item;
     280        private TreeViewItem FindTreeViewItemByName(TreeViewItem item, string name)
     281        {
     282            StackPanel panelHeader = (StackPanel)item.Header;
     283            string nameFromPanel = GetNameFromPanel(panelHeader, false);
     284            if (nameFromPanel != null)
     285
     286            {
     287                if (nameFromPanel.Equals(name))
     288                {
     289                   this._foundItem = item;
    298290                    return item;
    299291                }
     
    301293            foreach (TreeViewItem childItem in item.Items)
    302294            {
    303                 findItem(childItem, bezeichner);
    304             }
    305             if (item1 != null)
    306             {
    307                 return item1;
     295                FindTreeViewItemByName(childItem, name);
     296            }
     297            if (_foundItem != null)
     298            {
     299                return this._foundItem;
    308300            }
    309301            return null;
    310302
    311303        }
    312 
    313         private void UserControl_Loaded(object sender, RoutedEventArgs e)
    314         {
    315 
    316         }
    317         private void clearBoxes(TreeViewItem item)
     304        private void ClearBoxes(TreeViewItem item)
    318305        {
    319306
     
    342329                                    {
    343330                                        TextBlock block = (TextBlock)parentPanel.Children[1];
    344                                         mitm.soap.GetElementsByTagName(block.Text)[0].InnerText = box.Text;
     331                                       this._manInTheMiddle.soap.GetElementsByTagName(block.Text)[0].InnerText = box.Text;
    345332                                        text = box.Text;
    346333                                        childIsTextBox = true;
     
    371358            foreach (TreeViewItem childItem in item.Items)
    372359            {
    373                 clearBoxes(childItem);
    374             }
    375 
    376         }
    377 
    378         private void treeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
    379         {
    380             clearBoxes(this.soapItem);
    381             TreeView tv = (TreeView)sender;
    382             if (tv.SelectedItem != null)
    383             {
    384                 TreeViewItem item = (TreeViewItem)tv.SelectedItem;
     360                ClearBoxes(childItem);
     361            }
     362
     363        }
     364
     365        #endregion
     366
     367        #region EventHandlers
     368
     369        private void TreeViewSelectedItemChangedEventHandler(object sender, RoutedPropertyChangedEventArgs<object> e)
     370        {
     371            ClearBoxes(this._soapItem);
     372            TreeView treeViewItem = (TreeView)sender;
     373            if (treeViewItem.SelectedItem != null)
     374            {
     375                TreeViewItem item = (TreeViewItem)treeViewItem.SelectedItem;
    385376                StackPanel tempPanel = (StackPanel)item.Header;
    386377                Object temp = tempPanel.Children[0];
     
    389380                if (type.Equals("System.Windows.Controls.TextBlock"))
    390381                {
    391                     XmlNode[] parameter = mitm.getParameter();
    392 
    393                     string name = getNameFromPanel(tempPanel, true);
     382                    XmlNode[] parameter = this._manInTheMiddle.getParameter();
     383
     384                    string name = GetNameFromPanel(tempPanel, true);
    394385
    395386                    foreach (XmlNode node in parameter)
     
    402393                                TreeViewItem childItem = (TreeViewItem)item.Items[0];
    403394                                StackPanel childPanel = (StackPanel)childItem.Header;
    404                                 text = getNameFromPanel(childPanel, false);
     395                                text = GetNameFromPanel(childPanel, false);
    405396                                item.Items.RemoveAt(0);
    406397                            }
     
    413404                            box.Height = 23;
    414405                            box.Width = 80;
    415                             box.Text = mitm.soap.GetElementsByTagName(name)[0].InnerXml.ToString(); ;
     406                            box.Text = this._manInTheMiddle.soap.GetElementsByTagName(name)[0].InnerXml.ToString(); ;
    416407                            box.IsEnabled = true;
    417408
    418409                            panel.Children.Add(box);
    419410                            newItem.Header = panel;
    420                            
    421                             box.KeyDown += new KeyEventHandler(box_KeyDown);
     411
     412                            box.KeyDown += new KeyEventHandler(BoxKeyDownEventHandler);
    422413                            StackPanel parentPanel = (StackPanel)item.Header;
    423414                            TextBlock parentBlock = (TextBlock)parentPanel.Children[0];
    424                             name = getNameFromPanel(tempPanel, false);
     415                            name = GetNameFromPanel(tempPanel, false);
    425416                            box.Name = name;
    426417                        }
     
    429420            }
    430421        }
    431         void box_KeyDown(object sender, KeyEventArgs e)
     422        private void BoxKeyDownEventHandler(object sender, KeyEventArgs e)
    432423        {
    433424            if (e.Key == Key.Return)
    434425            {
    435                 clearBoxes(soapItem);
    436             }
    437         }
    438 
     426                ClearBoxes(this._soapItem);
     427            }
     428        }
     429        private void ImageMouseLeaveEventHandler(object sender, MouseEventArgs e)
     430        {
     431            Image img = (Image)sender;
     432            DoubleAnimation widhtAnimation = new DoubleAnimation(23, 18, TimeSpan.FromSeconds(0.2));
     433            widhtAnimation.AutoReverse = false;
     434            DoubleAnimation heightAnimation = new DoubleAnimation(23, 18, TimeSpan.FromSeconds(0.2));
     435            heightAnimation.AutoReverse = false;
     436            img.BeginAnimation(Image.WidthProperty, widhtAnimation);
     437            img.BeginAnimation(Image.HeightProperty, heightAnimation);
     438        }
     439        private void ImageMouseEnterEventHAndler(object sender, MouseEventArgs e)
     440        {
     441            Image img = (Image)sender;
     442            DoubleAnimation widhtAnimation = new DoubleAnimation(18, 23, TimeSpan.FromSeconds(0.2));
     443            widhtAnimation.AutoReverse = false;
     444            DoubleAnimation heightAnimation = new DoubleAnimation(18, 23, TimeSpan.FromSeconds(0.2));
     445            heightAnimation.AutoReverse = false;
     446            img.BeginAnimation(Image.WidthProperty, widhtAnimation);
     447            img.BeginAnimation(Image.HeightProperty, heightAnimation);
     448        }
     449         
     450        #endregion
     451
     452        private void UserControl_Loaded(object sender, RoutedEventArgs e)
     453        {
     454
     455        }
    439456
    440457    }
Note: See TracChangeset for help on using the changeset viewer.