예제 #1
0
 public Facts(FactSource source)
     : this()
 {
     allFacts = true;
     facts    = ft.GetSourceDisplayFacts(source);
     Text     = "Facts Report for source: " + source.ToString() + ". Facts count: " + facts.Count;
     SetupFacts();
     //dgFacts.Columns["CensusReference"].Visible = true;
 }
예제 #2
0
 void DgSources_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
 {
     if (e.ColumnIndex >= 0 && e.RowIndex >= 0)
     {
         FactSource source   = (FactSource)dgSources.CurrentRow.DataBoundItem;
         Facts      factForm = new Facts(source);
         MainForm.DisposeDuplicateForms(factForm);
         factForm.Show();
     }
 }
예제 #3
0
파일: Facts.cs 프로젝트: jthigh/FTAnalyzer
 public Facts(FactSource source)
     : this()
 {
     allFacts = true;
     facts    = ft.GetSourceDisplayFacts(source);
     Text     = $"Facts Report for source: {source.ToString()}. Facts count: {facts.Count}";
     SetupFacts();
     //dgFacts.Columns["CensusReference"].Visible = true;
     Analytics.TrackAction(Analytics.FactsFormAction, Analytics.FactsSourceEvent);
 }
예제 #4
0
 void SourcesFactRowClicked(FactSource source)
 {
     InvokeOnMainThread(() =>
     {
         if (source != null)
         {
             App.ShowFacts(new FactsViewController <IDisplayFact>($"Facts Report for source: {source.ToString()}", source));
             Analytics.TrackAction(Analytics.FactsFormAction, Analytics.FactsSourceEvent);
         }
     });
 }
예제 #5
0
 public FactsViewController(string title, FactSource source) : base(title, string.Empty)
 {
     facts = FamilyTree.GetSourceDisplayFacts(source);
     Title = $"{title}.Facts count: {facts.Count}";
     RefreshDocumentView();
 }
 internal void RaiseFactRowClicked(FactSource source)
 {
     // Inform caller
     SourceFactRowClicked?.Invoke(source);
 }
        public virtual void ViewDetailsSelector()
        {
            if (!NSThread.IsMain)
            {
                InvokeOnMainThread(ViewDetailsSelector);
                return;
            }
            NSTableColumn column = GetColumnID("IndividualID");

            if (column != null)
            {
                if (_tableView.Source.GetViewForItem(_tableView, column, _tableView.SelectedRow) is NSTableCellView cell)
                {
                    string     indID = cell.TextField.StringValue;
                    Individual ind   = FamilyTree.Instance.GetIndividual(indID);
                    RaiseFactRowClicked(ind);
                    return;
                }
            }
            column = GetColumnID("FamilyID");
            if (column != null)
            {
                if (_tableView.Source.GetViewForItem(_tableView, column, _tableView.SelectedRow) is NSTableCellView cell)
                {
                    string familyID = cell.TextField.StringValue;
                    Family family   = FamilyTree.Instance.GetFamily(familyID);
                    RaiseFactRowClicked(family);
                    return;
                }
            }
            column = GetColumnID("SourceID");
            if (column != null)
            {
                if (_tableView.Source.GetViewForItem(_tableView, column, _tableView.SelectedRow) is NSTableCellView cell)
                {
                    string     sourceID = cell.TextField.StringValue;
                    FactSource source   = FamilyTree.Instance.GetSource(sourceID);
                    RaiseFactRowClicked(source);
                    return;
                }
            }
            column = GetColumnID("Occupation");
            if (column != null)
            {
                if (_tableView.Source.GetViewForItem(_tableView, column, _tableView.SelectedRow) is NSTableCellView cell)
                {
                    string occupation = cell.TextField.StringValue;
                    People people     = new People();
                    people.SetWorkers(occupation, FamilyTree.Instance.AllWorkers(occupation));
                    RaiseOccupationRowClicked(people);
                    return;
                }
            }
            column = GetColumnID("ErrorType");
            if (column != null)
            {
                var source = _tableView.Source as BindingListTableSource <IDisplayDataError>;
                if (source.GetRowObject(_tableView.SelectedRow) is DataError error)
                {
                    if (error.IsFamily == "Yes")
                    {
                        Family family = FamilyTree.Instance.GetFamily(error.Reference);
                        RaiseDataErrorRowClicked(null, family);
                    }
                    else
                    {
                        Individual ind = FamilyTree.Instance.GetIndividual(error.Reference);
                        RaiseDataErrorRowClicked(ind, null);
                    }
                }
            }
        }