public void Start(IDispatcherInvoker dispatcherInvoker) { if (null == dispatcherInvoker) { throw new ArgumentNullException(nameof(dispatcherInvoker)); } DispatcherInvoker = dispatcherInvoker; JobStarting(); if (!StartImpl()) { JobFinished(); } }
public ImportExportViewModel(IDispatcherInvoker dispatcherInvoker) { _dispatcherInvoker = dispatcherInvoker; ExportFormats = (ExportFormat[])Enum.GetValues(typeof(ExportFormat)); ExportFormatSelected = ExportFormat.MPSD; IMagicDatabaseReadOnly magicDatabase = MagicDatabaseManager.ReadOnly; ExportCollections = magicDatabase.GetAllCollections().Select(cc => new ExportedCollectionViewModel(cc.Name)).ToList(); ImportCollections = magicDatabase.GetAllCollections().Select(cc => cc.Name).ToList(); HasCollection = ExportCollections.Count > 0; SelectedIndex = HasCollection ? 0 : 1; Path = "."; OpenCommand = new RelayCommand(OpenCommandExecute); }
//TODO: Test add/remove splitted card and statistics public MainViewModel(IDispatcherInvoker dispatcherInvoker) { AddLinkedProperty(nameof(Hierarchical), nameof(Title)); HideResultCommand = new RelayCommand(o => UpgradeStatus = UpgradeStatus.NotChecked); _dispatcherInvoker = dispatcherInvoker; _allhierarchical = new HierarchicalViewModel(MagicCards, AllCardAsViewModel); _magicDatabase = MagicDatabaseManager.ReadOnly; _magicDatabaseForOption = MagicDatabaseManager.ReadAndWriteOption; _magicDatabaseForCollection = MagicDatabaseManager.ReadAndWriteCollection; _magicDatabaseForCardInCollection = MagicDatabaseManager.ReadAndWriteCardInCollection; Options = new OptionsViewModel(_magicDatabaseForOption); _programUpdater = new ProgramUpgrader(); UpgradeStatus = _programUpdater.Status; if (Options.AutoCheckUpgrade) { ThreadPool.QueueUserWorkItem(DoCheckNewVersion); } Analysers = new HierarchicalInfoAnalysersViewModel(); _menuRoot = new MenuViewModel(); _contextMenuRoot = new MenuViewModel(); CreateMenu(); //Reload last chosen option IOption option = _magicDatabase.GetOption(TypeOfOption.SelectedCollection, "Name"); if (option != null) { LoadCollection(option.Value); } else { LoadCollection(); } }
public MultiThreadedObservableCollection(IDispatcherInvoker dispatcherInvoker) { _dispatcherInvoker = dispatcherInvoker; }