コード例 #1
0
		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);
			}
			
		}
コード例 #2
0
		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);
		}