public override void Recover() { arrayIterator = null; indexArray = new ArrayList(); status = new BubbleSortStatus(this.r); base.Recover(); }
public override void Initialize(bool isOpen) { base.Initialize(isOpen); status = new BubbleSortStatus(r); InitGraph(); WorkbenchSingleton.Workbench.ActiveViewContent.SelectView(); }
public override bool GetData() { statusItemList.Clear(); StatusItemControl statusItemControl = new StatusItemControl(); Hashtable table = AlgorithmManager.Algorithms.GetExampleDatas(); if (table != null) { XmlNode node = table[typeof(BubbleSort).ToString()] as XmlElement; XmlNodeList childNodes = node.ChildNodes; StatusItem statusItem = null; foreach (XmlElement el in childNodes) { string r = el.Attributes["OriginalString"].Value; statusItem = new StatusItem(new BubbleSortStatus(r)); statusItem.Height = 145; statusItem.Image = CreatePreviewImage(r); statusItemList.Add(statusItem); } } DialogType = typeof(BubbleSortDialog); InitDataForm form = new InitDataForm(); form.StatusItemList = statusItemList; if (form.ShowDialog() != DialogResult.OK) { return(false); } if (form.SelectedIndex >= 0) //说明用户是通过选中某个模板来初始化数据的 { StatusItem selectedItem = form.StatusItemList[form.SelectedIndex] as StatusItem; if (selectedItem != null) { BubbleSortStatus tempStatus = selectedItem.ItemInfo as BubbleSortStatus; if (tempStatus != null) { r = tempStatus.R; } } } else //说明用户选择自定义数据 { r = status.R; } return(true); }