public override bool GetData()
        {
            statusItemList.Clear();

            StatusItemControl statusItemControl = new StatusItemControl();

            Hashtable table = AlgorithmManager.Algorithms.GetExampleDatas();

            if (table != null)
            {
                XmlNode node = table[typeof(ListDelete).ToString()] as XmlElement;

                XmlNodeList childNodes = node.ChildNodes;

                StatusItem statusItem = null;

                foreach (XmlElement el in childNodes)
                {
                    string l = el.Attributes["OriginalString"].Value;
                    int    i = Convert.ToInt32(el.Attributes["DeletePosition"].Value);

                    statusItem        = new StatusItem(new ListDeleteStatus(l, i));
                    statusItem.Height = 80;
                    statusItem.Image  = CreatePreviewImage(l, i);
                    statusItemList.Add(statusItem);
                }
            }
            DialogType = typeof(ListDeleteDialog);

            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)
                {
                    ListDeleteStatus tempStatus = selectedItem.ItemInfo as ListDeleteStatus;
                    if (tempStatus != null)
                    {
                        l = tempStatus.L;
                        i = tempStatus.I;
                    }
                }
            }
            else              //说明用户选择自定义数据
            {
                l = status.L;
                i = status.I;
            }
            return(true);
        }
        public override void Initialize(bool isOpen)
        {
            base.Initialize(isOpen);

            status = new ListDeleteStatus(l, i);

            InitGraph();

            WorkbenchSingleton.Workbench.ActiveViewContent.SelectView();
        }
        public override void Recover()
        {
            circleNodeIterator  = null;
            lineNodeIterator    = null;
            nullIteratorP       = null;
            nullIteratorQ       = null;
            circleNodeIterator1 = null;
            swerveLineIterator  = null;

            status = new ListDeleteStatus(l, i);
            base.Recover();
        }
		public override void Recover()
		{
			circleNodeIterator = null;
			lineNodeIterator   = null;
			nullIteratorP      = null;
			nullIteratorQ      = null;
			circleNodeIterator1= null;
			swerveLineIterator = null;

			status = new ListDeleteStatus(l,i);
			base.Recover();
		}
		public override void Initialize(bool isOpen)
		{
			base.Initialize(isOpen);
			
			status = new ListDeleteStatus(l,i);

			InitGraph();
			
			WorkbenchSingleton.Workbench.ActiveViewContent.SelectView();

		}