/// /////////////////////////////////////////// public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, System.IServiceProvider provider, object value) { IEditeurActionSur2iLink editeur = m_editeur; if (editeur == null) { editeur = (IEditeurActionSur2iLink)Activator.CreateInstance(m_typeEditeur); editeur.ObjetEdite = m_objetPourSousProprietes; } CActionSur2iLink action = (CActionSur2iLink)value; editeur.EditeAction(ref action); if (m_editeur == null && editeur is IDisposable) { ((IDisposable)editeur).Dispose(); } return(action); }
/*/// /////////////////////////////////////////// * public static void EditeAction(ref CActionSur2iLink action, Type typeObjetEdite) * { * IEditeurActionSur2iLink editeur = m_editeur; * if (editeur == null) * { * editeur = (IEditeurActionSur2iLink)Activator.CreateInstance(m_typeEditeur); * } * Type oldType = editeur.TypeEdite; * try * { * editeur.TypeEdite = typeObjetEdite; * editeur.EditeAction(ref action); * } * catch * { * } * editeur.TypeEdite = oldType; * if (m_editeur == null && editeur is IDisposable) * ((IDisposable)editeur).Dispose(); * }*/ /// /////////////////////////////////////////// public static void EditeAction(ref CActionSur2iLink action, CObjetPourSousProprietes objet) { IEditeurActionSur2iLink editeur = m_editeur; if (editeur == null) { editeur = (IEditeurActionSur2iLink)Activator.CreateInstance(m_typeEditeur); } CObjetPourSousProprietes oldObjet = editeur.ObjetEdite; try { editeur.ObjetEdite = objet; editeur.EditeAction(ref action); } catch { } editeur.ObjetEdite = oldObjet; if (m_editeur == null && editeur is IDisposable) { ((IDisposable)editeur).Dispose(); } }
/// /////////////////////////////////////////// public static void SetEditeur(IEditeurActionSur2iLink editeur) { m_editeur = editeur; }