protected void DataToControls()
{
if (_property != null)
{
_newProperty = false;
edtName.Value = _property.name;
edtDescription.Value = _property.Description;
if (_property is SoftwareTriggerPropertyGroup)
{
cmbPropertyType.SelectedIndex = (int)enumPropertTypes.Software;
}
else if (_property is LANTriggerPropertyGroup)
{
cmbPropertyType.SelectedIndex = (int)enumPropertTypes.LAN;
}
else if (_property is DigitalTriggerPropertyGroup)
{
cmbPropertyType.SelectedIndex = (int)enumPropertTypes.Digital; ;
var dpg = (DigitalTriggerPropertyGroup) _property;
if (dpg.MinPulseWidth == null)
dpg.MinPulseWidth = new MinPulseWidthType();
if (dpg.Detection == null)
dpg.Detection = new DetectionType();
edtPulseValue.Value = dpg.MinPulseWidth.value;
cmbPulseUnits.SelectedItem = Enum.GetName(typeof(PulseUnits), dpg.MinPulseWidth.units);
if (dpg.Detection.edgeDetectionSpecified)
cmbEdgeDetection.SelectedItem = Enum.GetName(typeof(DigitalEdge), dpg.Detection.edgeDetection);
else
cmbEdgeDetection.SelectedIndex = -1;
if (dpg.Detection.levelDetectionSpecified)
cmbLevelDetection.SelectedItem =Enum.GetName(typeof(DigitalLevel), dpg.Detection.levelDetection );
else
cmbLevelDetection.SelectedIndex = -1;
}
else if (_property is AnalogTriggerPropertyGroup)
{
cmbPropertyType.SelectedIndex = (int)enumPropertTypes.Analog; ;
var apg = (AnalogTriggerPropertyGroup) _property;
if (apg.Level == null)
apg.Level = new LevelType();
edtLevelTypeValue.Value = apg.Level.value;
edtNumberOfBits.Value = apg.Level.numberOfBits;
cmbLevelUnits.SelectedItem = Enum.GetName(typeof(LevelUnits), apg.Level.units );
}
SetControlStates();
}
}