public MultipleWordAlignmentViewModel(IProjectService projectService, IBusyService busyService, IExportService exportService, IAnalysisService analysisService) : base("Multiple Word Alignment") { _projectService = projectService; _busyService = busyService; _exportService = exportService; _analysisService = analysisService; _projectService.ProjectOpened += _projectService_ProjectOpened; var showCognateSets = new TaskAreaBooleanViewModel("Show cognate sets") { Value = true }; showCognateSets.PropertyChanged += _showCognateSets_PropertyChanged; TaskAreas.Add(new TaskAreaItemsViewModel("Common tasks", new TaskAreaItemsViewModel("Sort words by", new TaskAreaCommandGroupViewModel( new TaskAreaCommandViewModel("Form", new RelayCommand(() => SortBy("StrRep", ListSortDirection.Ascending))), new TaskAreaCommandViewModel("Variety", new RelayCommand(() => SortBy("Variety", ListSortDirection.Ascending)))), showCognateSets))); TaskAreas.Add(new TaskAreaItemsViewModel("Other tasks", new TaskAreaCommandViewModel("Export all cognate sets", new RelayCommand(ExportCognateSets, CanExportCognateSets)))); _words = new BindableList <MultipleWordAlignmentWordViewModel>(); _selectedWords = new BindableList <MultipleWordAlignmentWordViewModel>(); _showInVarietyPairsCommand = new RelayCommand(ShowInVarietyPairs, CanShowInVarietyPairs); _performComparisonCommand = new RelayCommand(PerformComparison); _groupByCognateSet = true; _sortByProp = "StrRep"; Messenger.Default.Register <ComparisonPerformedMessage>(this, msg => AlignWords()); Messenger.Default.Register <DomainModelChangedMessage>(this, msg => { if (msg.AffectsComparison) { ResetAlignment(); } }); Messenger.Default.Register <PerformingComparisonMessage>(this, msg => ResetAlignment()); Messenger.Default.Register <SwitchViewMessage>(this, HandleSwitchView); }
public MultipleWordAlignmentViewModel(IProjectService projectService, IBusyService busyService, IExportService exportService, IAnalysisService analysisService) : base("Multiple Word Alignment") { _projectService = projectService; _busyService = busyService; _exportService = exportService; _analysisService = analysisService; _projectService.ProjectOpened += _projectService_ProjectOpened; var showCognateSets = new TaskAreaBooleanViewModel("Show cognate sets") {Value = true}; showCognateSets.PropertyChanged += _showCognateSets_PropertyChanged; TaskAreas.Add(new TaskAreaItemsViewModel("Common tasks", new TaskAreaItemsViewModel("Sort words by", new TaskAreaCommandGroupViewModel( new TaskAreaCommandViewModel("Form", new RelayCommand(() => SortBy("StrRep", ListSortDirection.Ascending))), new TaskAreaCommandViewModel("Variety", new RelayCommand(() => SortBy("Variety", ListSortDirection.Ascending)))), showCognateSets))); TaskAreas.Add(new TaskAreaItemsViewModel("Other tasks", new TaskAreaCommandViewModel("Export all cognate sets", new RelayCommand(ExportCognateSets, CanExportCognateSets)))); _words = new BindableList<MultipleWordAlignmentWordViewModel>(); _selectedWords = new BindableList<MultipleWordAlignmentWordViewModel>(); _showInVarietyPairsCommand = new RelayCommand(ShowInVarietyPairs, CanShowInVarietyPairs); _performComparisonCommand = new RelayCommand(PerformComparison); _groupByCognateSet = true; _sortByProp = "StrRep"; Messenger.Default.Register<ComparisonPerformedMessage>(this, msg => AlignWords()); Messenger.Default.Register<DomainModelChangedMessage>(this, msg => { if (msg.AffectsComparison) ResetAlignment(); }); Messenger.Default.Register<PerformingComparisonMessage>(this, msg => ResetAlignment()); Messenger.Default.Register<SwitchViewMessage>(this, HandleSwitchView); }