Exemple #1
0
        public WordPairViewModel(IProjectService projectService, IAnalysisService analysisService, WordPair wordPair, bool areVarietiesInOrder)
        {
            _projectService      = projectService;
            _analysisService     = analysisService;
            _wordPair            = wordPair;
            _areVarietiesInOrder = areVarietiesInOrder;
            _meaning             = new MeaningViewModel(_wordPair.Word1.Meaning);
            _variety1            = new VarietyViewModel(_wordPair.VarietyPair.Variety1);
            _variety2            = new VarietyViewModel(_wordPair.VarietyPair.Variety2);

            IWordAlignerResult results = _projectService.Project.WordAligners[ComponentIdentifiers.PrimaryWordAligner].Compute(_wordPair);

            _alignment  = results.GetAlignments().First();
            _prefixNode = new AlignedNodeViewModel(_alignment.Prefixes[0], _alignment.Prefixes[1]);
            var nodes = new List <AlignedNodeViewModel>();
            int i     = 0;

            for (int column = 0; column < _alignment.ColumnCount; column++)
            {
                string note = null;
                if (i < _wordPair.AlignmentNotes.Count)
                {
                    note = _wordPair.AlignmentNotes[i];
                }
                nodes.Add(new AlignedNodeViewModel(column, _alignment[0, column], _alignment[1, column], note));
                i++;
            }
            _suffixNode = new AlignedNodeViewModel(_alignment.Suffixes[0], _alignment.Suffixes[1]);

            _alignedNodes = new ReadOnlyCollection <AlignedNodeViewModel>(nodes);

            _showInMultipleWordAlignmentCommand = new RelayCommand(ShowInMultipleWordAlignment);
            _pinUnpinCommand = new RelayCommand(PinUnpin);
        }
Exemple #2
0
        public WordPairViewModel(IWordAligner aligner, WordPair wordPair, bool areVarietiesInOrder)
        {
            _wordPair = wordPair;
            _areVarietiesInOrder = areVarietiesInOrder;
            _meaning = new MeaningViewModel(_wordPair.Word1.Meaning);
            _variety1 = new VarietyViewModel(_wordPair.VarietyPair.Variety1);
            _variety2 = new VarietyViewModel(_wordPair.VarietyPair.Variety2);

            IWordAlignerResult results = aligner.Compute(_wordPair);
            _alignment = results.GetAlignments().First();
            _prefixNode = new AlignedNodeViewModel(_alignment.Prefixes[0], _alignment.Prefixes[1]);
            var nodes = new List<AlignedNodeViewModel>();
            int i = 0;
            for (int column = 0; column < _alignment.ColumnCount; column++)
            {
                string note = null;
                if (i < _wordPair.AlignmentNotes.Count)
                    note = _wordPair.AlignmentNotes[i];
                nodes.Add(new AlignedNodeViewModel(column, _alignment[0, column], _alignment[1, column], note));
                i++;
            }
            _suffixNode = new AlignedNodeViewModel(_alignment.Suffixes[0], _alignment.Suffixes[1]);

            _alignedNodes = new ReadOnlyCollection<AlignedNodeViewModel>(nodes);

            _showInMultipleWordAlignmentCommand = new RelayCommand(ShowInMultipleWordAlignment);
        }
Exemple #3
0
        public WordPairViewModel(IWordAligner aligner, WordPair wordPair, bool areVarietiesInOrder)
        {
            _wordPair            = wordPair;
            _areVarietiesInOrder = areVarietiesInOrder;
            _meaning             = new MeaningViewModel(_wordPair.Word1.Meaning);
            _variety1            = new VarietyViewModel(_wordPair.VarietyPair.Variety1);
            _variety2            = new VarietyViewModel(_wordPair.VarietyPair.Variety2);

            IWordAlignerResult results = aligner.Compute(_wordPair);

            _alignment  = results.GetAlignments().First();
            _prefixNode = new AlignedNodeViewModel(_alignment.Prefixes[0], _alignment.Prefixes[1]);
            var nodes = new List <AlignedNodeViewModel>();
            int i     = 0;

            for (int column = 0; column < _alignment.ColumnCount; column++)
            {
                string note = null;
                if (i < _wordPair.AlignmentNotes.Count)
                {
                    note = _wordPair.AlignmentNotes[i];
                }
                nodes.Add(new AlignedNodeViewModel(column, _alignment[0, column], _alignment[1, column], note));
                i++;
            }
            _suffixNode = new AlignedNodeViewModel(_alignment.Suffixes[0], _alignment.Suffixes[1]);

            _alignedNodes = new ReadOnlyCollection <AlignedNodeViewModel>(nodes);
        }
Exemple #4
0
 private void AddNewMeaning()
 {
     var vm = new EditMeaningViewModel(_projectService.Project.Meanings);
     if (_dialogService.ShowModalDialog(this, vm) == true)
     {
         var newMeaning = new Meaning(vm.Gloss, vm.Category);
         _projectService.Project.Meanings.Add(newMeaning);
         Messenger.Default.Send(new DomainModelChangedMessage(true));
         SelectedMeaning = _meanings.Single(s => s.DomainMeaning == newMeaning);
     }
 }
Exemple #5
0
 public WordViewModel(IBusyService busyService, IAnalysisService analysisService, Word word)
 {
     _busyService = busyService;
     _analysisService = analysisService;
     _meaning = new MeaningViewModel(word.Meaning);
     _word = word;
     LoadSegments();
     _monitor = new SimpleMonitor();
     _showInWordListsCommand = new RelayCommand(ShowInWordLists);
     _showInVarietiesCommand = new RelayCommand(ShowInVarieties);
     _word.PropertyChanged += WordPropertyChanged;
 }
Exemple #6
0
 public WordViewModel(IBusyService busyService, IAnalysisService analysisService, Word word)
 {
     _busyService     = busyService;
     _analysisService = analysisService;
     _meaning         = new MeaningViewModel(word.Meaning);
     _word            = word;
     LoadSegments();
     _monitor = new SimpleMonitor();
     _showInWordListsCommand = new RelayCommand(ShowInWordLists);
     _showInVarietiesCommand = new RelayCommand(ShowInVarieties);
     _word.PropertyChanged  += WordPropertyChanged;
 }
 private void _projectService_ProjectOpened(object sender, EventArgs e)
 {
     IsEmpty = true;
     Set("Meanings", ref _meanings, new MirroredBindableList<Meaning, MeaningViewModel>(_projectService.Project.Meanings, meaning => new MeaningViewModel(meaning), vm => vm.DomainMeaning));
     _selectedMeaning = null;
 }
 private void _projectService_ProjectOpened(object sender, EventArgs e)
 {
     IsEmpty = true;
     Set("Meanings", ref _meanings, new MirroredBindableList <Meaning, MeaningViewModel>(_projectService.Project.Meanings, meaning => new MeaningViewModel(meaning), vm => vm.DomainMeaning));
     _selectedMeaning = null;
 }
Exemple #9
0
 private void _projectService_ProjectOpened(object sender, EventArgs e)
 {
     Set("Meanings", ref _meanings, new MirroredBindableList<Meaning, MeaningViewModel>(_projectService.Project.Meanings, meaning => new MeaningViewModel(meaning), vm => vm.DomainMeaning));
     _meanings.CollectionChanged += MeaningsChanged;
     SelectedMeaning = _meanings.Count > 0 ? _meanings[0] : null;
 }
Exemple #10
0
 private void RemoveSelectedMeaning()
 {
     if (_dialogService.ShowYesNoQuestion(this, "Are you sure you want to remove this Meaning?", "Cog"))
     {
         int index = _meanings.IndexOf(_selectedMeaning);
         _projectService.Project.Meanings.Remove(_selectedMeaning.DomainMeaning);
         Messenger.Default.Send(new DomainModelChangedMessage(true));
         if (index == _meanings.Count)
             index--;
         SelectedMeaning = _meanings.Count > 0 ?  _meanings[index] : null;
     }
 }
Exemple #11
0
 private void MeaningsChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     if (_selectedMeaning == null || !_meanings.Contains(_selectedMeaning))
         SelectedMeaning = _meanings.Count > 0 ? _meanings[0] : null;
 }