//----------------------------------------------------------------------- public static CDefinitionProprieteDynamique[] SelectProprietes( Type tp, TypeSelectionAttendue typeSelection, CDefinitionProprieteDynamique defParente) { return(SelectProprietes(tp, typeSelection, defParente, null)); }
//----------------------------------------------------------------------- public static CDefinitionProprieteDynamique[] SelectProprietes( Type tp, TypeSelectionAttendue typeSelection, CDefinitionProprieteDynamique defParente, IFournisseurProprietesDynamiques fournisseur) { CFormSelectChampPourStructure form = new CFormSelectChampPourStructure(); if (fournisseur != null) { form.m_fournisseur = fournisseur; } form.m_typePrincipal = tp; form.m_typeSelection = typeSelection; form.m_lblTable.Text = DynamicClassAttribute.GetNomConvivial(form.m_typePrincipal); TreeNodeCollection nodes = form.m_arbre.Nodes; if ((typeSelection & TypeSelectionAttendue.AllowThis) == TypeSelectionAttendue.AllowThis) { TreeNode nodeThis = new TreeNode(DynamicClassAttribute.GetNomConvivial(tp)); nodeThis.Tag = new CDefinitionProprieteDynamiqueThis(new CTypeResultatExpression(tp, false), true, true); form.m_arbre.Nodes.Add(nodeThis); nodes = nodeThis.Nodes; } form.FillTree(tp, nodes, defParente); if (form.m_arbre.Nodes.Count == 1) { form.m_arbre.Nodes[0].Expand(); } if (form.ShowDialog() == DialogResult.OK) { ArrayList lst = new ArrayList(); form.GetSelectedFields(lst, form.m_arbre.Nodes, null); return(( CDefinitionProprieteDynamique[] )lst.ToArray(typeof(CDefinitionProprieteDynamique))); } return(new CDefinitionProprieteDynamique[0]); }