protected virtual void OnNewSourceCitationButton_Clicked(object sender, System.EventArgs e) { GedcomSourceCitation citation = new GedcomSourceCitation(); citation.Level = _listModel.Record.Level + 1; citation.Database = _database; _listModel.Record.Sources.Add(citation); _listModel.ItemInserted(); Gtk.TreeIter iter; int i = _listModel.List.Count - 1; if (_listModel.GetIter(out iter, i)) { SourceCitationTreeView.Selection.SelectIter(iter); } }
private void AddSourceCitation(GedcomRecord record) { GedcomSourceCitation sourceCitation = new GedcomSourceCitation(); sourceCitation.Level = _level; sourceCitation.Database = _ParseState.Database; if (_lineValueType == GedcomLineValueType.PointerType) { sourceCitation.Source = _lineValue; _missingReferences.Add(_lineValue); } else { GedcomSourceRecord source = new GedcomSourceRecord(); source.Level = 0; // new top level source, always 0 source.ParsingLevel = _level; source.XRefID = Database.GenerateXref("SOUR"); if (_lineValue != string.Empty) { source.Title = _lineValue; } sourceCitation.Source = source.XRefID; _ParseState.Database.Add(source.XRefID,source); } record.Sources.Add(sourceCitation); _ParseState.Records.Push(sourceCitation); _sourceCitations.Add(sourceCitation); }