SIL.FieldWorks.FdoUi.CmObjectUi.MergeUnderlyingObject C# (CSharp) Method

MergeUnderlyingObject() public method

Merge the underling objects. This method handles the confirm dialog, then delegates the actual merge to ReallyMergeUnderlyingObject. If the flag is true, we merge strings and owned atomic objects; otherwise, we don't change any that aren't null to begin with.
public MergeUnderlyingObject ( bool fLoseNoTextData ) : void
fLoseNoTextData bool
return void
		public void MergeUnderlyingObject(bool fLoseNoTextData)
		{
			CheckDisposed();

			var mainWindow = (Form) m_mediator.PropertyTable.GetValue("window");
			using (new WaitCursor(mainWindow))
			{
				using (var dlg = new MergeObjectDlg(m_mediator.HelpTopicProvider))
				{
					var wp = new WindowParams();
					var mergeCandidates = new List<DummyCmObject>();
					string guiControl, helpTopic;
					DummyCmObject dObj = GetMergeinfo(wp, mergeCandidates, out guiControl, out helpTopic);
					mergeCandidates.Sort();
					dlg.SetDlgInfo(m_cache, m_mediator, wp, dObj, mergeCandidates, guiControl, helpTopic);
					if (DialogResult.OK == dlg.ShowDialog(mainWindow))
						ReallyMergeUnderlyingObject(dlg.Hvo, fLoseNoTextData);
				}
			}
		}