//----------------------------------------------------------------------- private void GetSelectedFields(ArrayList lst, TreeNodeCollection nodes, CDefinitionProprieteDynamique defParent) { foreach (TreeNode node in nodes) { CDefinitionProprieteDynamique defProp = null; if (node.Tag is CDefinitionProprieteDynamique) { defProp = (CDefinitionProprieteDynamique)node.Tag; defProp = defProp.Clone(); if (defParent != null && defParent.GetType() != typeof(CDefinitionProprieteDynamiqueThis)) { defProp.InsereParent(defParent); } } else if (node.Tag == null) //C'est un folder { defProp = defParent; } if (node.Checked && defProp != null) { lst.Add(defProp); } GetSelectedFields(lst, node.Nodes, defProp); } }
/// ////////////////////////////////////////////////// public override void InsereDefinitionToObjetFinal(CDefinitionProprieteDynamique def) { if (Champ != null) { Champ.InsereParent(def); } }
private void m_btnOk_Click(object sender, System.EventArgs e) { TreeNode node = m_arbre.SelectedNode; if (node == null || !(node.Tag is CDefinitionProprieteDynamique)) { return; } m_definitionSelectionnee = (CDefinitionProprieteDynamique)node.Tag; while (node.Parent != null) { node = node.Parent; if (node.Tag is CDefinitionProprieteDynamique) { m_definitionSelectionnee.InsereParent((CDefinitionProprieteDynamique)node.Tag); } } DialogResult = DialogResult.OK; Close(); }
//-------------------------------------------------------------------------------- private void m_arbreChamps_MouseUp(object sender, MouseEventArgs e) { if ((e.Button & MouseButtons.Right) == MouseButtons.Right && m_arbreChamps.SelectedNode != null) { TreeNode node = m_arbreChamps.SelectedNode; CDefinitionProprieteDynamique def = node.Tag as CDefinitionProprieteDynamique; while (node.Parent != null) { node = node.Parent; if (node.Tag is CDefinitionProprieteDynamique) { def.InsereParent((CDefinitionProprieteDynamique)node.Tag); } } if (def != null && m_OnRightClickChampFunc != null) { m_OnRightClickChampFunc(m_objetInterroge.TypeAnalyse, def, m_arbreChamps.PointToScreen(new Point(e.X, e.Y))); } } }