Changeset 2625


Ignore:
Timestamp:
Feb 8, 2011, 4:23:03 PM (11 years ago)
Author:
sauer
Message:

Wizard: input memory bug fix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/Wizard/WizardControl.xaml.cs

    r2611 r2625  
    143143        private void SetupPage(XElement element)
    144144        {
     145            SaveContent();
     146            boxesWithWrongContent.Clear();
     147
    145148            if ((element.Name == "loadSample") && (element.Attribute("file") != null) && (element.Attribute("title") != null))
    146149            {
     
    573576        void p_MouseDoubleClick(object sender, MouseButtonEventArgs e)
    574577        {
     578            SwitchButtonWhenNecessary();
     579
    575580            var cc = (ContentControl)sender;
    576581            var hs = (StackPanel)history.Content;
     
    578583            history.Content = null;
    579584
    580             while (currentHistory.Count > i)
     585            while (currentHistory.Count > i+1)
    581586            {
    582587                currentHistory.RemoveAt(currentHistory.Count - 1);
    583588            }
    584589
    585             XElement parent = ((XElement)cc.Tag).Parent;
     590            XElement parent = (XElement)cc.Tag;
    586591
    587592            if (parent == null)
     
    733738        private void abortButton_Click(object sender, RoutedEventArgs e)
    734739        {
    735             if (inputPanel.Visibility == Visibility.Visible)
    736             {
    737                 if (inputPanel.Tag != null && ((XElement)inputPanel.Tag).Name == "loadSample")
    738                     SwitchNextButtonContent();
    739             }
     740            SwitchButtonWhenNecessary();
    740741
    741742            foreach (RadioButton rb in radioButtonStackPanel.Children)
     
    755756        }
    756757
     758        private void SwitchButtonWhenNecessary()
     759        {
     760            if (inputPanel.Visibility == Visibility.Visible)
     761            {
     762                if (inputPanel.Tag != null && ((XElement)inputPanel.Tag).Name == "loadSample")
     763                    SwitchNextButtonContent();
     764            }
     765        }
     766
    757767        private void SetNextContent(object sender, EventArgs e)
    758768        {
     
    766776                        var ele = (XElement) b.Tag;
    767777                        SetupPage(ele);
    768                         var page = new PageInfo()
    769                                        {
    770                                            name = FindElementsInElement(ele, "name").First().Value,
    771                                            description = FindElementsInElement(ele, "description").First().Value,
    772                                            tag = ele
    773                                        };
    774 
    775                         if (ele.Attribute("image") != null)
    776                         {
    777                             page.image = ele.Attribute("image").Value;
    778                         }
    779 
    780                         currentHistory.Add(page);
     778                        AddToHistory(ele);
    781779
    782780                        break;
     
    786784            else if (inputPanel.Visibility == Visibility.Visible)
    787785            {
    788                 foreach (var child in inputStack.Children)
    789                 {
    790                     SaveControlContent(child);
    791                 }
    792786                var nextElement = (XElement) inputPanel.Tag;
    793787                SetupPage(nextElement);
     788                AddToHistory(nextElement);
    794789            }
    795790
     
    798793
    799794            CreateHistory();
     795        }
     796
     797        private void SaveContent()
     798        {
     799            if (inputPanel.Visibility == Visibility.Visible)
     800            {
     801                foreach (var child in inputStack.Children)
     802                {
     803                    SaveControlContent(child);
     804                }
     805            }
     806        }
     807
     808        private void AddToHistory(XElement ele)
     809        {
     810            var page = new PageInfo()
     811                           {
     812                               name = FindElementsInElement(ele, "name").First().Value,
     813                               description = FindElementsInElement(ele, "description").First().Value,
     814                               tag = ele
     815                           };
     816
     817            if (ele.Attribute("image") != null)
     818            {
     819                page.image = ele.Attribute("image").Value;
     820            }
     821
     822            currentHistory.Add(page);
    800823        }
    801824
     
    883906            else if (inputPanel.Visibility == Visibility.Visible)
    884907            {
    885                 //foreach (var child in inputStack.Children)
    886                 //{
    887                 //    DeleteControlContent(child);
    888                 //}
    889                 boxesWithWrongContent.Clear();
    890 
    891908                ele = (XElement) inputPanel.Tag;
    892909                if (ele != null && ((XElement)inputPanel.Tag).Name == "loadSample")
     
    900917                    grandParent = wizardConfigXML;
    901918
    902                 if (grandParent.Name == "category" && currentHistory.Count > 0)
     919                if (currentHistory.Count > 0)
    903920                    currentHistory.RemoveAt(currentHistory.Count - 1);
    904921
Note: See TracChangeset for help on using the changeset viewer.