示例#1
0
        //----------------------------------------------------------------------------------------
        private static List <CDescriptionEvenementParFormule> GetDescriptionsEvenements(Type tp)
        {
            List <CDescriptionEvenementParFormule> lst = null; new List <CDescriptionEvenementParFormule>();

            if (m_cacheDescriptionsEvenements.TryGetValue(tp, out lst))
            {
                return(lst);
            }
            lst = new List <CDescriptionEvenementParFormule>();
            //Cherche s'il y a des evenements compatibles
            foreach (EventInfo info in tp.GetEvents())
            {
                if (info.EventHandlerType == typeof(ControleExterneEventHandler))
                {
                    string   strNom         = info.Name;
                    string   strDescription = "";
                    object[] attrs          = info.GetCustomAttributes(typeof(ControleExterneEventAttribute), true);
                    if (attrs.Length > 0)
                    {
                        ControleExterneEventAttribute att = attrs[0] as ControleExterneEventAttribute;
                        strNom         = att.NomEvenement;
                        strDescription = att.Description;
                    }
                    CDescriptionEvenementParFormule desc = new CDescriptionEvenementParFormule(
                        info.Name,
                        strNom,
                        strDescription);
                    lst.Add(desc);
                }
            }
            m_cacheDescriptionsEvenements[tp] = lst;
            return(lst);
        }
示例#2
0
        public void Init(
            C2iWnd wnd,
            CDescriptionEvenementParFormule descriptionEvenement,
            IFournisseurProprietesDynamiques fournisseur)
        {
            m_wndEditee            = wnd;
            m_descriptionEvenement = descriptionEvenement;
            m_lblNomEvenement.Text = m_descriptionEvenement.NomEvenement;
            m_tooltip.SetToolTip(m_lblNomEvenement, m_descriptionEvenement.DescriptionEvenement);

            CHandlerEvenementParFormule handler = wnd.GetHandler(descriptionEvenement.IdEvenement);

            if (handler == null)
            {
                m_txtEditFormule.Formule = null;
            }
            else
            {
                m_txtEditFormule.Formule = handler.FormuleEvenement;
            }
            C2iWnd parent = wnd;

            while (parent.Parent as C2iWnd != null)
            {
                parent = parent.Parent as C2iWnd;
            }
            m_txtEditFormule.Init(fournisseur, new CObjetPourSousProprietes(parent));
        }