/// <summary> /// Updates the data filter whenever the selected index changed. /// </summary> private void TypeConversionCB_SelectedIndexChanged(object sender, System.EventArgs e) { typeConversionCb_.Enabled = typeConversionSpecifiedCb_.Checked; TsCCpxComplexItem item = null; if (typeConversionSpecifiedCb_.Checked) { item = (TsCCpxComplexItem)typeConversionCb_.SelectedItem; } else { if (mItem_ != null) { item = mItem_.GetRootItem(); } } if (item != null) { dataFilterSpecifiedCb_.Enabled = (item.DataFilterItem != null); dataFilterTb_.Enabled = dataFilterSpecifiedCb_.Enabled && dataFilterSpecifiedCb_.Checked; } }
/// <summary> /// Initializes the control with information specified to a complex item. /// </summary> private void SetComplexItem(OpcItem itemId) { mItem_ = TsCCpxComplexTypeCache.GetComplexItem(itemId); // do nothing for items that are not complex. if (mItem_ == null) { reqTypePn_.Visible = true; complexItemPn_.Visible = false; return; } // display complex item controls. reqTypePn_.Visible = false; complexItemPn_.Visible = true; // initialize controls. typeConversionCb_.Items.Clear(); typeConversionCb_.Text = null; typeConversionSpecifiedCb_.Checked = false; dataFilterTb_.Text = null; dataFilterSpecifiedCb_.Checked = false; // fetch the available type conversions. Technosoftware.DaAeHdaClient.Cpx.TsCCpxComplexItem[] conversions = mItem_.GetRootItem().GetTypeConversions(TsCCpxComplexTypeCache.Server); // no conversions available. if (conversions == null || conversions.Length == 0) { typeConversionSpecifiedCb_.Enabled = false; } // populate conversions drop down menu. else { Technosoftware.DaAeHdaClient.Cpx.TsCCpxComplexItem item = mItem_; if (item.UnfilteredItemID != null) { item = TsCCpxComplexTypeCache.GetComplexItem(item.UnfilteredItemID); } foreach (TsCCpxComplexItem conversion in conversions) { typeConversionCb_.Items.Add(conversion); if (conversion.Key == item.Key) { typeConversionCb_.SelectedItem = conversion; typeConversionSpecifiedCb_.Checked = true; } } if (typeConversionCb_.SelectedItem == null) { typeConversionCb_.SelectedIndex = 0; } } // display the active data filter. if (mItem_.UnfilteredItemID != null) { dataFilterTb_.Text = mItem_.DataFilterValue; dataFilterSpecifiedCb_.Checked = true; } }