public MainViewModel(IServiceLocator serviceLocator, ITelemetryProvider telemetryProvider, ICommandProvider commands, IApplicationSettings settings, NuGetViewModel nugetViewModel)
        {
            _serviceLocator    = serviceLocator;
            _telemetryProvider = telemetryProvider;
            _commands          = commands;
            Settings           = settings;
            _telemetryProvider.Initialize(_currentVersion.ToString(), settings);
            _telemetryProvider.LastErrorChanged += () =>
            {
                OnPropertyChanged(nameof(LastError));
                OnPropertyChanged(nameof(HasError));
            };

            NuGet = nugetViewModel;
            NuGetConfiguration = new NuGetConfiguration(NuGet.GlobalPackageFolder, NuGetPathVariableName);

            NewDocumentCommand          = commands.Create(CreateNewDocument);
            CloseCurrentDocumentCommand = commands.CreateAsync(CloseCurrentDocument);
            ClearErrorCommand           = commands.Create(() => _telemetryProvider.ClearLastError());
            ReportProblemCommand        = commands.Create(ReportProblem);
            EditUserDocumentPathCommand = commands.Create(EditUserDocumentPath);

            _editorFontSize = Settings.EditorFontSize;

            DocumentRoot = CreateDocumentRoot();

            OpenDocuments = new ObservableCollection <OpenDocumentViewModel>();
            OpenDocuments.CollectionChanged += (sender, args) => OnPropertyChanged(nameof(HasNoOpenDocuments));
        }
Esempio n. 2
0
        public MainViewModel(IServiceLocator serviceLocator, ITelemetryProvider telemetryProvider, ICommandProvider commands, NuGetViewModel nugetViewModel)
        {
            _serviceLocator    = serviceLocator;
            _telemetryProvider = telemetryProvider;
            _telemetryProvider.Initialize(_currentVersion.ToString());
            _telemetryProvider.LastErrorChanged += () => OnPropertyChanged(nameof(LastError));

            NuGet = nugetViewModel;
            NuGetConfiguration = new NuGetConfiguration(NuGet.GlobalPackageFolder, NuGetPathVariableName);
            RoslynHost         = new RoslynHost(NuGetConfiguration, new[]
            {
                // TODO: xplat
                Assembly.Load("RoslynPad.Roslyn.Windows"),
                Assembly.Load("RoslynPad.Editor.Windows")
            });

            NewDocumentCommand          = commands.Create(CreateNewDocument);
            CloseCurrentDocumentCommand = commands.CreateAsync(CloseCurrentDocument);
            ClearErrorCommand           = commands.Create(() => _telemetryProvider.ClearLastError());
            ReportProblemCommand        = commands.Create(ReportProblem);
            EditUserDocumentPathCommand = commands.Create(EditUserDocumentPath);

            _editorFontSize = Properties.Settings.Default.EditorFontSize;

            DocumentRoot = CreateDocumentRoot();

            OpenDocuments = new ObservableCollection <OpenDocumentViewModel>();
            OpenDocuments.CollectionChanged += (sender, args) => OnPropertyChanged(nameof(HasNoOpenDocuments));
        }
Esempio n. 3
0
        public NuGetDocumentViewModel(NuGetViewModel nuGetViewModel, ICommandProvider commands)
        {
            _nuGetViewModel = nuGetViewModel;

            InstallPackageCommand = commands.CreateAsync <PackageData>(InstallPackage);

            IsEnabled = true;
        }
Esempio n. 4
0
        public NuGetDocumentViewModel(NuGetViewModel nuGetViewModel, ICommandProvider commands, ITelemetryProvider telemetryProvider)
        {
            _nuGetViewModel    = nuGetViewModel;
            _telemetryProvider = telemetryProvider;
            _restoreLock       = new SemaphoreSlim(1, 1);

            InstallPackageCommand = commands.Create <PackageData>(InstallPackage);

            Initialize();
        }
Esempio n. 5
0
#pragma warning disable CS8618 // Non-nullable field is uninitialized.
        public NuGetDocumentViewModel(NuGetViewModel nuGetViewModel, ICommandProvider commands, ITelemetryProvider telemetryProvider)
#pragma warning restore CS8618 // Non-nullable field is uninitialized.
        {
            _nuGetViewModel    = nuGetViewModel;
            _telemetryProvider = telemetryProvider;
            _restoreLock       = new SemaphoreSlim(1, 1);
            _libraries         = new HashSet <LibraryRef>();
            _packages          = Array.Empty <PackageData>();
            LocalLibraryPaths  = ImmutableArray <string> .Empty;
            RestoreTask        = Task.CompletedTask;

            InstallPackageCommand = commands.Create <PackageData>(InstallPackage);
        }