DoDataExchange
(
Boolean bFromControls
)
{
if (bFromControls)
{
Boolean bCountDuplicates = chkCountDuplicates.Checked;
Boolean bDeleteDuplicates = chkDeleteDuplicates.Checked;
if (!bCountDuplicates && !bDeleteDuplicates)
{
return ( OnInvalidControl(chkCountDuplicates,
"Specify whether you want to count or merge duplicate"
+ " edges."
) );
}
String sThirdColumnNameForDuplicateDetection = null;
if (
radVerticesAndColumn.Checked
&&
!ValidateRequiredComboBox(
cbxThirdColumnNameForDuplicateDetection,
"Enter or select the column to use for determining"
+ " whether edges are duplicates.",
out sThirdColumnNameForDuplicateDetection) )
{
return (false);
}
m_oMergeDuplicateEdgesUserSettings.CountDuplicates =
bCountDuplicates;
m_oMergeDuplicateEdgesUserSettings.DeleteDuplicates =
bDeleteDuplicates;
m_oMergeDuplicateEdgesUserSettings
.ThirdColumnNameForDuplicateDetection
= sThirdColumnNameForDuplicateDetection;
}
else
{
chkCountDuplicates.Checked =
m_oMergeDuplicateEdgesUserSettings.CountDuplicates;
chkDeleteDuplicates.Checked =
m_oMergeDuplicateEdgesUserSettings.DeleteDuplicates;
String sThirdColumnNameForDuplicateDetection =
m_oMergeDuplicateEdgesUserSettings
.ThirdColumnNameForDuplicateDetection;
if ( String.IsNullOrEmpty(sThirdColumnNameForDuplicateDetection) )
{
radVerticesOnly.Checked = true;
}
else
{
radVerticesAndColumn.Checked = true;
cbxThirdColumnNameForDuplicateDetection.Text =
sThirdColumnNameForDuplicateDetection;
}
EnableControls();
}
return (true);
}