public CreateFromStepOperationChild(CreateFromStepOperationModel createFromStepOperationModel, ScriptUserControl suc) : base(suc)
        {
            this.createFromStepOperationModel = createFromStepOperationModel;
            //构建对话框
            tbStepName = GetTexeBox(createFromStepOperationModel.StepName.ToString());
            AddTitleAndControl("ParentColon", tbStepName);

            CreateDialog();

            tbStepName.LostFocus += TbStart_LostFocus;
        }
Exemplo n.º 2
0
        public static Dictionary <String, ScriptModel> GetScriptModelDictionary(String filePath, out String introduce, out String audioResources)
        {
            Dictionary <String, ScriptModel> scriptModelDictionary = new Dictionary <string, ScriptModel>();
            XDocument xDoc       = XDocument.Load(filePath);
            XElement  xRoot      = xDoc.Element("Root");
            XElement  xIntroduce = xRoot.Element("Introduce");

            if (xIntroduce != null)
            {
                introduce = xIntroduce.Value;
            }
            else
            {
                introduce = "";
            }
            XElement xAudioResources = xRoot.Element("AudioResources");

            if (xAudioResources != null)
            {
                audioResources = xAudioResources.Value;
            }
            else
            {
                audioResources = "";
            }
            XElement xScripts = xRoot.Element("Scripts");

            foreach (var xScript in xScripts.Elements("Script"))
            {
                ScriptModel scriptModel = new ScriptModel
                {
                    Name  = xScript.Attribute("name").Value,
                    Value = Base2String(xScript.Attribute("value").Value)
                };
                if (xScript.Attribute("intersection") != null && !xScript.Attribute("intersection").Value.ToString().Trim().Equals(String.Empty))
                {
                    scriptModel.Intersection = xScript.Attribute("intersection").Value.Trim().Split(' ').ToList();
                }
                else
                {
                    scriptModel.Intersection = new List <String>();
                }
                if (xScript.Attribute("complement") != null && !xScript.Attribute("complement").Value.Equals(String.Empty))
                {
                    scriptModel.Complement = xScript.Attribute("complement").Value.Trim().Split(' ').ToList();
                }
                else
                {
                    scriptModel.Complement = new List <String>();
                }
                String visible = xScript.Attribute("visible").Value;
                if (visible.Equals("true"))
                {
                    scriptModel.Visible = true;
                }
                else
                {
                    scriptModel.Visible = false;
                }
                //scriptModel.Contain = xScript.Attribute("contain").Value.Split(' ').ToList();
                //command = fileBusiness.Base2String(xScript.Attribute("value").Value);

                foreach (var xEdit in xScript.Elements())
                {
                    BaseOperationModel baseOperationModel = null;
                    if (xEdit.Name.ToString().Equals("ConditionJudgment"))
                    {
                        baseOperationModel = new ConditionJudgmentOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("SetAttribute"))
                    {
                        baseOperationModel = new SetAttributeOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("CreateFromAutomatic"))
                    {
                        baseOperationModel = new CreateFromAutomaticOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("CreateFromFile"))
                    {
                        baseOperationModel = new CreateFromFileOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("CreateFromStep"))
                    {
                        baseOperationModel = new CreateFromStepOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("CreateFromQuick"))
                    {
                        baseOperationModel = new CreateFromQuickOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("VerticalFlipping"))
                    {
                        baseOperationModel = new VerticalFlippingOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("HorizontalFlipping"))
                    {
                        baseOperationModel = new HorizontalFlippingOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("LowerLeftSlashFlipping"))
                    {
                        baseOperationModel = new LowerLeftSlashFlippingOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("LowerRightSlashFlipping"))
                    {
                        baseOperationModel = new LowerRightSlashFlippingOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("Clockwise"))
                    {
                        baseOperationModel = new ClockwiseOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("AntiClockwise"))
                    {
                        baseOperationModel = new AntiClockwiseOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("RemoveBorder"))
                    {
                        baseOperationModel = new RemoveBorderOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("Reversal"))
                    {
                        baseOperationModel = new ReversalOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("SetEndTime"))
                    {
                        baseOperationModel = new SetEndTimeOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("ChangeTime"))
                    {
                        baseOperationModel = new ChangeTimeOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("AnimationDisappear"))
                    {
                        baseOperationModel = new AnimationDisappearOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("InterceptTime"))
                    {
                        baseOperationModel = new InterceptTimeOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("FillColor") ||
                             xEdit.Name.ToString().Equals("SetAllTime") ||
                             xEdit.Name.ToString().Equals("SetStartTime") ||
                             xEdit.Name.ToString().Equals("MatchTotalTimeLattice") ||
                             xEdit.Name.ToString().Equals("Animation.Windmill"))
                    {
                        baseOperationModel = new OneNumberOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("Fold"))
                    {
                        baseOperationModel = new FoldOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("ChangeColor") ||
                             xEdit.Name.ToString().Equals("CopyToTheEnd") ||
                             xEdit.Name.ToString().Equals("CopyToTheFollow") ||
                             xEdit.Name.ToString().Equals("AccelerationOrDeceleration") ||
                             xEdit.Name.ToString().Equals("ColorWithCount"))
                    {
                        if (xEdit.Name.ToString().Equals("ChangeColor"))
                        {
                            baseOperationModel = new ChangeColorOperationModel();
                        }
                        else if (xEdit.Name.ToString().Equals("CopyToTheEnd"))
                        {
                            baseOperationModel = new CopyToTheEndOperationModel();
                        }
                        else if (xEdit.Name.ToString().Equals("CopyToTheFollow"))
                        {
                            baseOperationModel = new CopyToTheFollowOperationModel();
                        }
                        else if (xEdit.Name.ToString().Equals("AccelerationOrDeceleration"))
                        {
                            baseOperationModel = new AccelerationOrDecelerationOperationModel();
                        }
                        else
                        {
                            baseOperationModel = new ColorWithCountOperationModel();
                        }
                    }
                    else if (xEdit.Name.ToString().Equals("ShapeColor"))
                    {
                        baseOperationModel = new ShapeColorOperationModel();
                    }
                    else if (xEdit.Name.ToString().Equals("ThirdParty"))
                    {
                        baseOperationModel = new ThirdPartyOperationModel();
                    }
                    baseOperationModel.SetXElement(xEdit);
                    scriptModel.OperationModels.Add(baseOperationModel);
                }
                scriptModelDictionary.Add(scriptModel.Name, scriptModel);
            }
            return(scriptModelDictionary);
        }