示例#1
0
        //--------------------------------------------------------
        void  menuInsert_Click(object sender, EventArgs e)
        {
            CMenuPeriode menu = sender as CMenuPeriode;

            if (menu == null)
            {
                return;
            }

            TreeNode node = m_arbre.SelectedNode;

            if (node == null)
            {
                return;
            }
            IPeriodeActivation         periodeSel = node.Tag as IPeriodeActivation;
            IPeriodeActivationMultiple periode    = Activator.CreateInstance(menu.TypePeriode, new object[0]) as IPeriodeActivationMultiple;

            if (node.Parent == null)
            {
                m_periodeRacine = periode;
                periode.AddPeriode(periodeSel);
                m_arbre.Nodes.Clear();
                TreeNode newNode = CreateNodeAndChilds(periode);
                m_arbre.Nodes.Add(newNode);
                newNode.Expand();
                newNode.EnsureVisible();
                m_arbre.SelectedNode = newNode;
            }
            else
            {
                TreeNode nodeParent = node.Parent;
                IPeriodeActivationMultiple periodeParente = nodeParent.Tag as IPeriodeActivationMultiple;
                nodeParent.Nodes.Remove(node);
                periodeParente.RemovePeriode(periodeSel);
                periode.AddPeriode(periodeSel);
                TreeNode newNode = CreateNodeAndChilds(periode);
                nodeParent.Nodes.Add(newNode);
                newNode.EnsureVisible();
                m_arbre.SelectedNode = newNode;
            }
        }
示例#2
0
        //---------------------------------------------
        private void InitMenu()
        {
            Assembly ass = typeof(IPeriodeActivation).Assembly;

            foreach (Type tp in ass.GetTypes())
            {
                if (typeof(IPeriodeActivation).IsAssignableFrom(tp) && !tp.IsAbstract && !tp.IsInterface)
                {
                    CMenuPeriode menu = new CMenuPeriode(tp, false);
                    m_menuAdd.DropDownItems.Add(menu);
                    menu.Click += new EventHandler(menuAdd_Click);
                    if (typeof(IPeriodeActivationMultiple).IsAssignableFrom(tp))
                    {
                        menu = new CMenuPeriode(tp, true);
                        m_menuInsert.DropDownItems.Add(menu);
                        menu.Click += new EventHandler(menuInsert_Click);
                    }
                }
            }
        }
示例#3
0
        void  menuAdd_Click(object sender, EventArgs e)
        {
            CMenuPeriode menu = sender as CMenuPeriode;

            if (menu == null)
            {
                return;
            }
            TreeNode           nodeSel = m_arbre.SelectedNode;
            IPeriodeActivation periode = Activator.CreateInstance(menu.TypePeriode, new object[0]) as IPeriodeActivation;
            TreeNode           newNode = CreateNodeAndChilds(periode);

            if (nodeSel != null)
            {
                nodeSel.Nodes.Add(newNode);
                ((IPeriodeActivationMultiple)nodeSel.Tag).AddPeriode(periode);
            }
            else
            {
                m_arbre.Nodes.Add(newNode);
                m_periodeRacine = periode;
            }
            m_arbre.SelectedNode = newNode;
        }