SIL.FieldWorks.FdoUi.PhonologicalFeatureEditor.m_PhonFeaturePopupTreeManager_AfterSelect C# (CSharp) Method

m_PhonFeaturePopupTreeManager_AfterSelect() private method

private m_PhonFeaturePopupTreeManager_AfterSelect ( object sender, System e ) : void
sender object
e System
return void
		private void m_PhonFeaturePopupTreeManager_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
		{
			// Arrange to turn all relevant items blue.
			// Remember which item was selected so we can later 'doit'.
			if (e.Node == null)
			{
				SelectedHvo = 0;
				SelectedLabel = "";
			}
			else
			{
				int hvo = ((HvoTreeNode) e.Node).Hvo;
				if (hvo == PhonologicalFeaturePopupTreeManager.kRemoveThisFeature)
				{
					var ptm = sender as PhonologicalFeaturePopupTreeManager;
					if (ptm != null)
					{
						SelectedHvo = ptm.ClosedFeature.Hvo;
						SelectedLabel = FdoUiStrings.ksRemoveThisFeature;
						if (EnableTargetFeatureCombo != null)
							EnableTargetFeatureCombo(this, new TargetFeatureEventArgs(true));
					}
				}
				else
				{
					var obj = m_cache.ServiceLocator.GetInstance<ICmObjectRepository>().GetObject(hvo);
					if (obj is IFsFeatStruc)
					{
						SelectedHvo = hvo;
						SelectedLabel = e.Node.Text;
						if (EnableTargetFeatureCombo != null)
							// since we're using the phonological feature chooser, disable the
							// Target Feature combo (it's no longer relevant)
							EnableTargetFeatureCombo(this, new TargetFeatureEventArgs(false));
					}
					else if (obj is IFsSymFeatVal)
					{
						SelectedHvo = hvo;
						SelectedLabel = e.Node.Text;
						if (EnableTargetFeatureCombo != null)
							EnableTargetFeatureCombo(this, new TargetFeatureEventArgs(true));
					}
					else
					{
						SelectedHvo = 0;
						SelectedLabel = "";
						m_tree.Text = "";
						if (EnableTargetFeatureCombo != null)
							EnableTargetFeatureCombo(this, new TargetFeatureEventArgs(true));
					}
				}
			}

			// Tell the parent control that we may have changed the selected item so it can
			// enable or disable the Apply and Preview buttons based on the selection.
			if (ValueChanged != null)
				ValueChanged(this, new FwObjectSelectionEventArgs(SelectedHvo));
		}