コード例 #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);
        }
コード例 #2
0
ファイル: WordPairViewModel.cs プロジェクト: rmunn/cog
        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);
        }
コード例 #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);
        }
コード例 #4
0
ファイル: EditRegionViewModel.cs プロジェクト: rmunn/cog
 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;
 }
コード例 #5
0
 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;
 }
コード例 #6
0
 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;
 }
コード例 #7
0
ファイル: VarietySegmentViewModel.cs プロジェクト: rmunn/cog
        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;
            }
        }
コード例 #8
0
        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;
            }
        }
コード例 #9
0
ファイル: VarietySegmentViewModel.cs プロジェクト: rmunn/cog
 public VarietySegmentViewModel(VarietyViewModel variety, Segment segment)
     : this(variety, segment, null)
 {
 }
コード例 #10
0
ファイル: EditRegionViewModel.cs プロジェクト: rmunn/cog
 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];
 }
コード例 #11
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];
 }
コード例 #12
0
 public VarietySegmentViewModel(VarietyViewModel variety, Segment segment)
     : this(variety, segment, null)
 {
 }