Exemplo n.º 1
0
        private void AddConfiguration(object obj)
        {
            Window mainWindow = Application.Current.MainWindow;

            if (mainWindow == null)
            {
                return;
            }

            ConfigurationPropertiesDialog dialog = new ConfigurationPropertiesDialog();

            dialog.DataContext = new ConfigurationVM(this);
            dialog.Owner       = mainWindow;
            if (dialog.ShowDialog() == true)
            {
                ConfigurationVM result = (ConfigurationVM)dialog.DataContext;

                Configurations.Insert(0, result);
                if (!IsExpanded)
                {
                    IsExpanded = true;
                }

                result.IsSelected = true;
                Parent.EnvironmentIsDirty();
            }
        }
Exemplo n.º 2
0
        internal OperationResult MergeConfigurationViewModels(IList <Configuration> newConfigurations)
        {
            var result = OperationResult.Finished;

            lock (Configurations)
            {
                foreach (var c in newConfigurations)
                {
                    ConfigurationVM vm = Configurations.FirstOrDefault(e => string.Equals(e.BuildStrategy, c.BuildStrategy, StringComparison.OrdinalIgnoreCase));
                    if (vm == null)
                    {
                        vm = new ConfigurationVM(this, c);
                        Configurations.Add(vm);
                        result = OperationResult.Success;
                    }
                }
            }

            if (result == OperationResult.Success)
            {
                RegenerateModel();
            }

            return(result);
        }
Exemplo n.º 3
0
 public void InitializeWith(ConfigurationVM configurationVM)
 {
     BuildStrategy = configurationVM.BuildStrategy;
     Stream        = configurationVM?.Parent?.Stream;
     SrcDir        = configurationVM?.Parent?.SrcPath;
     OutDir        = configurationVM?.OutPath;
     Release       = configurationVM.Release;
     Platform      = "x64";
 }
Exemplo n.º 4
0
        private void ShowProperties(object obj)
        {
            if (Parent == null)
            {
                return;
            }

            Window mainWindow = Application.Current.MainWindow;

            if (mainWindow == null)
            {
                return;
            }

            ConfigurationPropertiesDialog dialog = new ConfigurationPropertiesDialog();

            dialog.DataContext = Copy();
            dialog.Owner       = mainWindow;
            if (dialog.ShowDialog() == true)
            {
                ConfigurationVM result = (ConfigurationVM)dialog.DataContext;
                if (!result.IsDirty)
                {
                    return;
                }

                var oldModel = Model;
                Model = result.Model;
                OnPropertyChanged(nameof(Alias));
                OnPropertyChanged(nameof(OutPath));
                OnPropertyChanged(nameof(BuildStrategy));
                OnPropertyChanged(nameof(Release));

                Parent?.Parent?.EnvironmentIsDirty();
            }
        }
Exemplo n.º 5
0
        internal static OperationResult Build(CancellationToken cancellationToken, ProgressViewModel progress, ConfigurationVM configurationVM, PinnedPart part = null)
        {
            var shell  = configurationVM.SetupEnv();
            var mainVM = configurationVM?.Parent?.Parent;
            var vm     = mainVM?.HistoryVM?.CreateHistoryEvent();

            if (vm == null)
            {
                throw new InvalidOperationException("Could not create new history event");
            }

            vm.InitializeWith(configurationVM);
            if (part == null)
            {
                vm.Command = "bb b";
            }
            else
            {
                vm.Part = part?.Name;
                var prefix = BuildPrefix(part);
                vm.Command = $"bb {prefix} b";
            }

            vm.JobName = "Build";
            var context = new JobContext <BuildInfo>(shell, cancellationToken, progress, vm, mainVM.OutputVM);

            return(Execute(context, ProcessBuildOutput));
        }
Exemplo n.º 6
0
 internal PartVM(ConfigurationVM parent, PinnedPart model)
 {
     Parent = parent;
     Model  = model;
     WireupCommands();
 }
Exemplo n.º 7
0
 public PartExplorerElementVM(ConfigurationVM _configuration)
 {
     this._configuration = _configuration;
     WireupCommands();
 }
Exemplo n.º 8
0
 public PartExplorerVM(ConfigurationVM config)
 {
     _configuration = config;
     //Task.Run((Action)ScanForParts);
 }