public MainViewModel() { // Create the state moderation (between views) BuildStateModerator(); MainDataDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); MainDataName = "analysis.db3"; // Titles and Status var version = ApplicationUtility.GetEntryAssemblyData(); Title = version; // Command Setup ShowAnalysisCommand = new BaseCommand(ShowAnalysis, BaseCommand.AlwaysPass); ShowStartCommand = new BaseCommand(ShowStart, BaseCommand.AlwaysPass); // View Models var workSpacePath = ApplicationUtility.GetApplicationDataFolderPath("MultiAlign"); workSpacePath = Path.Combine(workSpacePath, Settings.Default.WorkspaceFile); GettingStartedViewModel = new GettingStartedViewModel(workSpacePath, StateModerator); GettingStartedViewModel.NewAnalysisStarted += GettingStartedViewModel_NewAnalysisStarted; GettingStartedViewModel.ExistingAnalysisSelected += GettingStartedViewModel_ExistingAnalysisSelected; AnalysisRunningViewModel = new AnalysisRunningViewModel(); AnalysisRunningViewModel.AnalysisCancelled += AnalysisRunningViewModel_AnalysisCancelled; AnalysisRunningViewModel.AnalysisComplete += AnalysisRunningViewModel_AnalysisComplete; LoadingAnalysisViewModel = new AnalysisLoadingViewModel(); LoadingAnalysisViewModel.AnalysisLoaded += LoadingAnalysisViewModel_AnalysisLoaded; ApplicationStatusMediator.SetStatus("Ready."); }
/// <summary> /// Starts the analysis /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AnalysisSetupViewModel_AnalysisStart(object sender, EventArgs e) { StateModerator.CurrentAnalysisState = AnalysisState.Running; StateModerator.CurrentViewState = ViewState.RunningAnalysisView; AnalysisRunningViewModel.Start(AnalysisSetupViewModel.AnalysisConfiguration); }