コード例 #1
0
        private void LoadPackage(IPackage package, string packagePath, PackageType packageType)
        {
            DisposeViewModel();

            if (package != null)
            {
                if (!HasLoadedContent <PackageViewer>())
                {
                    var packageViewer = new PackageViewer(UIServices, PackageChooser);
                    var binding       = new Binding
                    {
                        Converter     = new NullToVisibilityConverter(),
                        FallbackValue = Visibility.Collapsed
                    };
                    packageViewer.SetBinding(VisibilityProperty, binding);

                    MainContentContainer.Children.Add(packageViewer);

                    // HACK HACK: set the Export of IPackageMetadataEditor here
                    EditorService = packageViewer.PackageMetadataEditor;
                }

                PackageViewModel packageViewModel = PackageViewModelFactory.CreateViewModel(package, packagePath);
                packageViewModel.PropertyChanged += OnPackageViewModelPropertyChanged;

                DataContext = packageViewModel;
                if (!String.IsNullOrEmpty(packagePath))
                {
                    _mruManager.NotifyFileAdded(package, packagePath, packageType);
                }
            }
        }
コード例 #2
0
        private void AddPluginFromAssembly_Click(object sender, RoutedEventArgs e)
        {
            var dialog = new PluginManagerDialog
            {
                Owner       = this,
                DataContext = PackageViewModelFactory.CreatePluginManagerViewModel()
            };

            dialog.ShowDialog();
        }
コード例 #3
0
        private void AddPluginFromAssembly_Click(object sender, RoutedEventArgs e)
        {
            DiagnosticsClient.TrackEvent("MainWindow_AddPluginFromAssemblyClick");

            var dialog = new PluginManagerDialog
            {
                Owner       = this,
                DataContext = PackageViewModelFactory.CreatePluginManagerViewModel()
            };

            dialog.ShowDialog();
        }
コード例 #4
0
        public TestablePackagesViewModels(
            IPackageManagementSolution solution,
            IRegisteredPackageRepositories registeredPackageRepositories,
            IThreadSafePackageManagementEvents packageManagementEvents,
            IPackageActionRunner actionRunner,
            ITaskFactory taskFactory)
        {
            var packageViewModelFactory        = new PackageViewModelFactory(solution, packageManagementEvents, actionRunner);
            var updatedPackageViewModelFactory = new UpdatedPackageViewModelFactory(packageViewModelFactory);

            AvailablePackagesViewModel = new AvailablePackagesViewModel(solution, packageManagementEvents, registeredPackageRepositories, packageViewModelFactory, taskFactory);
            InstalledPackagesViewModel = new InstalledPackagesViewModel(solution, packageManagementEvents, registeredPackageRepositories, packageViewModelFactory, taskFactory);
            UpdatedPackagesViewModel   = new UpdatedPackagesViewModel(solution, packageManagementEvents, registeredPackageRepositories, updatedPackageViewModelFactory, taskFactory);
            RecentPackagesViewModel    = new RecentPackagesViewModel(solution, packageManagementEvents, registeredPackageRepositories, packageViewModelFactory, taskFactory);
        }
        void CreateViewModel(FakePackageManagementSolution solution)
        {
            registeredPackageRepositories = new FakeRegisteredPackageRepositories();
            var packageViewModelFactory          = new FakePackageViewModelFactory();
            var installedPackageViewModelFactory = new PackageViewModelFactory(packageViewModelFactory);

            taskFactory             = new FakeTaskFactory();
            packageManagementEvents = new PackageManagementEvents();

            viewModel = new InstalledPackagesViewModel(
                solution,
                packageManagementEvents,
                registeredPackageRepositories,
                installedPackageViewModelFactory,
                taskFactory);
        }
コード例 #6
0
        void CreateViewModelWithRealPackageManagementEvents()
        {
            CreateSolution();
            CreateRegisteredPackageRepositories();
            packageManagementEvents = new PackageManagementEvents();
            var actionRunner            = new FakePackageActionRunner();
            var packageViewModelFactory = new PackageViewModelFactory(solution, packageManagementEvents, actionRunner);

            updatedPackageViewModelFactory = new UpdatedPackageViewModelFactory(packageViewModelFactory);
            taskFactory = new FakeTaskFactory();

            viewModel = new UpdatedPackagesViewModel(
                solution,
                registeredPackageRepositories,
                updatedPackageViewModelFactory,
                taskFactory);
        }
コード例 #7
0
        private async void LoadPackage(IPackage package, string packagePath, PackageType packageType)
        {
            DisposeViewModel();

            if (package != null)
            {
                if (!HasLoadedContent <PackageViewer>())
                {
                    var packageViewer = new PackageViewer(SettingsManager, UIServices, PackageChooser);
                    var binding       = new Binding
                    {
                        Converter     = new NullToVisibilityConverter(),
                        FallbackValue = Visibility.Collapsed
                    };
                    packageViewer.SetBinding(VisibilityProperty, binding);

                    MainContentContainer.Children.Add(packageViewer);

                    // HACK HACK: set the Export of IPackageMetadataEditor here
                    EditorService = packageViewer.PackageMetadataEditor;
                }

                try
                {
                    var packageViewModel = await PackageViewModelFactory.CreateViewModel(package, packagePath);

                    packageViewModel.PropertyChanged += OnPackageViewModelPropertyChanged;

                    DataContext = packageViewModel;
                    if (!string.IsNullOrEmpty(packagePath))
                    {
                        _mruManager.NotifyFileAdded(package, packagePath, packageType);
                    }
                }
                catch (Exception e)
                {
                    if (!(e is ArgumentException))
                    {
                        DiagnosticsClient.Notify(e);
                    }
                    UIServices.Show($"Error loading package\n{e.Message}", MessageLevel.Error);
                }
            }
        }