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); }
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); }
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); }
public EditRegionViewModel(IEnumerable<Variety> varieties, Variety variety, GeographicRegion region) { _title = "Edit Region"; _varieties = new ReadOnlyList<VarietyViewModel>(varieties.Select(v => new VarietyViewModel(v)).OrderBy(vm => vm.Name).ToArray()); _selectedVariety = _varieties.First(vm => vm.DomainVariety == variety); _description = region.Description; }
public EditRegionViewModel(IEnumerable <Variety> varieties, Variety variety, GeographicRegion region) { _title = "Edit Region"; _varieties = new ReadOnlyList <VarietyViewModel>(varieties.Select(v => new VarietyViewModel(v)).OrderBy(vm => vm.Name).ToArray()); _selectedVariety = _varieties.First(vm => vm.DomainVariety == variety); _description = region.Description; }
public MultipleWordAlignmentWordViewModel(Word word, AlignmentCell <ShapeNode> prefix, IEnumerable <AlignmentCell <ShapeNode> > columns, AlignmentCell <ShapeNode> suffix, int cognateSetIndex) { _word = word; _variety = new VarietyViewModel(word.Variety); _prefix = prefix.StrRep(); _columns = new ReadOnlyList <string>(columns.Select(cell => cell.IsNull ? "-" : cell.StrRep()).ToArray()); _suffix = suffix.StrRep(); _cognateSetIndex = cognateSetIndex; }
public VarietySegmentViewModel(VarietyViewModel variety, Segment segment, FeatureSymbol position) : base(segment) { _variety = variety; FrequencyDistribution<Segment> freqDist; if (position == null) freqDist = variety.DomainVariety.SegmentFrequencyDistribution; else if (!variety.DomainVariety.SyllablePositionSegmentFrequencyDistributions.TryGetValue(position, out freqDist)) freqDist = null; if (freqDist != null) { _frequency = freqDist[segment]; _probability = (double) _frequency / freqDist.SampleOutcomeCount; } }
public VarietySegmentViewModel(VarietyViewModel variety, Segment segment, FeatureSymbol position) : base(segment) { _variety = variety; FrequencyDistribution <Segment> freqDist; if (position == null) { freqDist = variety.DomainVariety.SegmentFrequencyDistribution; } else if (!variety.DomainVariety.SyllablePositionSegmentFrequencyDistributions.TryGetValue(position, out freqDist)) { freqDist = null; } if (freqDist != null) { _frequency = freqDist[segment]; _probability = (double)_frequency / freqDist.SampleOutcomeCount; } }
public VarietySegmentViewModel(VarietyViewModel variety, Segment segment) : this(variety, segment, null) { }
public EditRegionViewModel(IEnumerable<Variety> varieties) { _title = "New Region"; _varieties = new ReadOnlyList<VarietyViewModel>(varieties.Select(v => new VarietyViewModel(v)).OrderBy(vm => vm.Name).ToArray()); _selectedVariety = _varieties[0]; }
public EditRegionViewModel(IEnumerable <Variety> varieties) { _title = "New Region"; _varieties = new ReadOnlyList <VarietyViewModel>(varieties.Select(v => new VarietyViewModel(v)).OrderBy(vm => vm.Name).ToArray()); _selectedVariety = _varieties[0]; }