/// <summary> /// Initializes a new instance of the <see cref="ApplicationContext"/> class. /// </summary> /// <param name="inoutService">The IO-Service used in this application.</param> /// <param name="settings">The settings for this application.</param> /// <param name="mainWindow">The main window.</param> /// <param name="taskContext">The task service.</param> /// <param name="taskWizardProvider">The task wizard provider.</param> /// <exception cref="ApplicationException">Double initialization of the ApplicationViewModel.</exception> public ApplicationContext( IOService inoutService, ISettingsProvider settings, /*IDialogService dialogService , */ IMainWindow mainWindow, TaskContext taskContext, IViewProvider taskWizardProvider) { if (initialized != null) { if (!ViewModelBase.IsInDesignModeStatic) throw new ApplicationException("Double initialization of the ApplicationViewModel."); } initialized = new object(); Guard.NotNull(() => inoutService, inoutService); Guard.NotNull(() => settings, settings); Guard.NotNull(() => mainWindow, mainWindow); Guard.NotNull(() => taskContext, taskContext); Guard.NotNull(() => taskWizardProvider, taskWizardProvider); this.settings = settings; this.inoutService = inoutService; ApplicationContext.taskContext = taskContext; if (!ViewModelBase.IsInDesignModeStatic) { TaskContext.Default = taskContext; } ApplicationContext.taskWizardProvider = taskWizardProvider; // ApplicationViewModel.dialogService = dialogService; this.MainWindow = mainWindow; // TaskRegistry.GetInstance(); // this.ApplicationCommands = new ApplicationCommandModel(this); /*this.parent = parent; //ClassData2 = ClassDataProvider.CreateSampleClassData(); //ICollectionView view = CollectionViewSource.GetDefaultView(ClassData2); ICollectionView view = CollectionViewSource.GetDefaultView(parent.ClassRawData); view.GroupDescriptions.Clear(); view.GroupDescriptions.Add(new PropertyGroupDescription(ClassDataItemViewModel.ItemTypeDescriptor)); ClassData = view; this.ClassDataCommands = new ClassDataCommandModel(parent);*/ // taskWizardProvider.GetWizard(); }
/// <summary> /// Resets to a deterministic starting position for unit tests. /// </summary> internal static void ResetToTestCondition() { defaultContext = null; }
/// <summary> /// Resets to the default context. /// </summary> internal static void ResetToDefault() { defaultContext = new DefaultTaskContext(); }