Пример #1
0
        internal static ConsoleProject LoadFromXElement(XElement argXml)
        {
            ConsoleProject tmpProject = new ConsoleProject();

            foreach (XAttribute tmpAttribute in argXml.Attributes())
            {
                switch (tmpAttribute.Name.LocalName.ToLower())
                {
                case ATTRIBUTE_ARGUMENTS:
                    tmpProject.Arguments = tmpAttribute.Value;
                    break;

                case ATTRIBUTE_EXECUTABLE:
                    tmpProject.Executable = tmpAttribute.Value;
                    break;

                case ATTRIBUTE_NAME:
                    tmpProject.Name = tmpAttribute.Value;
                    break;

                case ATTRIBUTE_WORKING_DIR:
                    tmpProject.WorkingDir = tmpAttribute.Value;
                    break;

                case ATTRIBUTE_AUTO_LOAD:
                    bool tmpLoad;
                    if (!Boolean.TryParse(tmpAttribute.Value, out tmpLoad))
                    {
                        tmpLoad = false;
                    }
                    tmpProject.AutoLoad = tmpLoad;
                    break;

                case ATTRIBUTE_COLOR:
                    tmpProject.ProjectColor = ColorUtilities.GetColorFromString(tmpAttribute.Value, tmpProject.ProjectColor);
                    break;

                case ATTRIBUTE_BACKGROUND_COLOR:
                    tmpProject.BackgroundColor = ColorUtilities.GetColorFromString(tmpAttribute.Value, tmpProject.BackgroundColor);
                    break;

                case ATTRIBUTE_MESSAGE_COLOR:
                    tmpProject.MessageColor = ColorUtilities.GetColorFromString(tmpAttribute.Value, tmpProject.MessageColor);
                    break;

                case ATTRIBUTE_ERROR_COLOR:
                    tmpProject.ErrorMessageColor = ColorUtilities.GetColorFromString(tmpAttribute.Value, tmpProject.ErrorMessageColor);
                    break;

                case ATTRIBUTE_CARET_COLOR:
                    tmpProject.CaretColor = ColorUtilities.GetColorFromString(tmpAttribute.Value, tmpProject.CaretColor);
                    break;
                }
            }
            return(tmpProject);
        }
Пример #2
0
 private ConsoleProject(ConsoleProject argCopyFrom)
 {
     this.name            = argCopyFrom.Name;
     this.arguments       = argCopyFrom.Arguments;
     this.autoLoad        = argCopyFrom.AutoLoad;
     this.backgroundColor = argCopyFrom.BackgroundColor;
     this.caretColor      = argCopyFrom.CaretColor;
     if (argCopyFrom.Commands != null)
     {
         this.commands = new ObservableCollection <CommandData>(argCopyFrom.Commands.Select(item => item.GetCopy()));
     }
     this.errorMessageColor = argCopyFrom.ErrorMessageColor;
     this.executable        = argCopyFrom.Executable;
     this.messageColor      = argCopyFrom.MessageColor;
     this.projectColor      = argCopyFrom.ProjectColor;
     this.workingDir        = argCopyFrom.WorkingDir;
 }