コード例 #1
0
        private TreeNode GetNodeFor(CModuleParametrage module)
        {
            if (module == null)
            {
                return(null);
            }
            TreeNodeCollection nodes = Nodes;

            if (nodes.Count == 1 && nodes[0].Tag == null)
            {
                nodes = nodes[0].Nodes;
            }
            if (module.ModuleParent != null)
            {
                TreeNode nodeParent = GetNodeFor(module.ModuleParent);
                if (nodeParent == null)
                {
                    return(null);
                }
                AssureChilds(nodeParent);
                nodes = nodeParent.Nodes;
            }
            foreach (TreeNode node in nodes)
            {
                if (node.Tag != null && node.Tag.Equals(module))
                {
                    return(node);
                }
            }
            return(null);
        }
コード例 #2
0
 private void SelectModule(CModuleParametrage module)
 {
     if (module != null)
     {
         m_panelModulesParametrage.SelectModule(module);
     }
 }
コード例 #3
0
        private void m_nouveauModuleToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TreeNode node = m_ArbreModules.SelectedNode;

            if (node == null)
            {
                return;
            }

            CModuleParametrage moduleParent = node.Tag as CModuleParametrage;
            CModuleParametrage newModule    = null;

            // Ajouter ici un Module
            newModule = new CModuleParametrage(m_contexte);
            newModule.CreateNewInCurrentContexte();
            if (CFormInfosNouveauModule.EditModule(newModule))
            {
                newModule.CreateNewInCurrentContexte();

                if (moduleParent != null)
                {
                    newModule.ModuleParent = moduleParent;
                }

                TreeNode childNode = new TreeNode(newModule.Libelle);
                childNode.Tag = newModule;
                node.Nodes.Add(childNode);
                node.Expand();
            }
        }
コード例 #4
0
        //---------------------------------------
        public void InitForModule(CModuleParametrage module, CContexteDonnee contexte)
        {
            CTreeViewNodeKeeper keeper = new CTreeViewNodeKeeper(this);

            m_contexte      = contexte;
            m_moduleAffiche = module;
            BeginUpdate();
            Nodes.Clear();
            Dictionary <string, List <CRelationElement_ModuleParametrage> > dicTypeToObjets = new Dictionary <string, List <CRelationElement_ModuleParametrage> >();
            List <string> lstTypes = new List <string>();

            if (m_moduleAffiche != null)
            {
                foreach (CRelationElement_ModuleParametrage rel in m_moduleAffiche.RelationsElements)
                {
                    if (rel.ElementLie != null)
                    {
                        string strType = DynamicClassAttribute.GetNomConvivial(rel.ElementLie.GetType());
                        List <CRelationElement_ModuleParametrage> lst = null;
                        if (!dicTypeToObjets.TryGetValue(strType, out lst))
                        {
                            lstTypes.Add(strType);
                            lst = new List <CRelationElement_ModuleParametrage>();
                            dicTypeToObjets[strType] = lst;
                        }
                        lst.Add(rel);
                    }
                }
                lstTypes.Sort();
                foreach (string strType in lstTypes)
                {
                    TreeNode nodeType = new TreeNode(strType);
                    nodeType.SelectedImageIndex = 0;
                    nodeType.ImageIndex         = 0;
                    nodeType.Tag = null;
                    Nodes.Add(nodeType);
                    List <CRelationElement_ModuleParametrage> lst = null;
                    if (dicTypeToObjets.TryGetValue(strType, out lst))
                    {
                        foreach (CRelationElement_ModuleParametrage rel in lst)
                        {
                            CObjetDonnee obj     = rel.ElementLie;
                            string       strDesc = DescriptionFieldAttribute.GetDescription(obj);
                            if (strDesc.Trim().Length == 0)
                            {
                                strDesc = obj.DescriptionElement;
                            }
                            TreeNode node = new TreeNode(strDesc);
                            node.Tag                = rel;
                            node.ImageIndex         = 1;
                            node.SelectedImageIndex = 1;
                            nodeType.Nodes.Add(node);
                        }
                    }
                }
            }
            EndUpdate();
            keeper.Apply(this);
        }
コード例 #5
0
        public void SelectNode(CModuleParametrage module)
        {
            TreeNode node = GetNodeFor(module);

            if (node != null)
            {
                SelectedNode = node;
            }
        }
コード例 #6
0
        public static bool EditModule(CModuleParametrage module)
        {
            m_moduleParametrage = module;

            CFormInfosNouveauModule form = new CFormInfosNouveauModule();

            if (form.ShowDialog() == DialogResult.OK)
            {
                return(true);
            }

            return(false);
        }
コード例 #7
0
 public static void EditModules(CModuleParametrage moduleToSelect)
 {
     if (m_instance == null)
     {
         m_instance            = new CFormEditModulesParametrage();
         m_instance.m_contexte = new CContexteDonnee(CTimosApp.SessionClient.IdSession, true, false);
         m_instance.Show();
     }
     else
     {
         m_instance.Focus();
         m_instance.BringToFront();
     }
     if (moduleToSelect != null)
     {
         m_instance.SelectModule(moduleToSelect);
     }
 }
コード例 #8
0
 public void Init(CModuleParametrage module)
 {
     m_moduleParametrage = module;
     if (module != null)
     {
         string strLibelle = module.Libelle;
         if (strLibelle == "")
         {
             m_txtLibelle.Text = I.T("New Module|10003");
             m_txtLibelle.SelectAll();
         }
         else
         {
             m_txtLibelle.Text = strLibelle;
         }
         m_txtDescription.Text = module.Description;
     }
 }
コード例 #9
0
 private void AssureChilds(TreeNode node)
 {
     if (node.Nodes.Count == 1 && node.Nodes[0].Tag == null)
     {
         node.Nodes.Clear();
         CModuleParametrage module = node.Tag as CModuleParametrage;
         if (module != null)
         {
             foreach (CModuleParametrage moduleFils in module.ModulesFils)
             {
                 TreeNode nodeFils = CreateNode(moduleFils);
                 if (moduleFils != null)
                 {
                     node.Nodes.Add(nodeFils);
                 }
             }
         }
     }
 }
コード例 #10
0
        public TreeNode CreateNode(CModuleParametrage module)
        {
            TreeNode nodeModule = new TreeNode(module.Libelle);

            nodeModule.Tag = module;

            // Images modules
            nodeModule.ImageIndex         = 0;
            nodeModule.SelectedImageIndex = 1;

            // Ajoute un node fils nul
            if (module.ModulesFils.Count > 0)
            {
                TreeNode nodeNull = new TreeNode("");
                nodeNull.Tag = null;
                nodeModule.Nodes.Add(nodeNull);
            }
            return(nodeModule);
        }
コード例 #11
0
        //-------------------------------------------------------------------
        public override CResultAErreur VerifieDonnees(CObjetDonnee objet)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                CModuleParametrage module = (CModuleParametrage)objet;

                if (module.Libelle == "")
                {
                    result.EmpileErreur(I.T("The label of the Setting Module cannot be empty|10000"));
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }
コード例 #12
0
        private void m_ArbreModules_AfterSelect(object sender, TreeViewEventArgs e)
        {
            TreeNode           node   = e.Node;
            CModuleParametrage module = node.Tag as CModuleParametrage;

            if (module != null)
            {
                m_currentSelectedModule       = module;
                m_currentSelectedNode         = node;
                m_ctrlEditModuleParam.Visible = true;
                m_ctrlEditModuleParam.Init(module);
            }
            else
            {
                m_currentSelectedModule       = null;
                m_currentSelectedNode         = null;
                m_ctrlEditModuleParam.Visible = false;
            }

            // Affiche la liste des Relations elements
            InitListeRelationsElements(module);
        }
コード例 #13
0
        public CFiltreData GetFiltreForType(Type tp)
        {
            CFiltreData filtre = null;

            if (
                m_ArbreModules.SelectedNode != null &&
                m_chkAppliquerFiltre.Checked &&
                m_contexte != null &&
                typeof(IObjetDonneeAIdNumerique).IsAssignableFrom(tp))
            {
                CModuleParametrage module = m_ArbreModules.SelectedNode.Tag as CModuleParametrage;
                if (module != null)
                {
                    CListeObjetsDonnees lst = new CListeObjetsDonnees(m_contexte, typeof(CRelationElement_ModuleParametrage));
                    lst.Filtre = new CFiltreDataAvance(
                        CRelationElement_ModuleParametrage.c_nomTable,
                        CRelationElement_ModuleParametrage.c_champTypeElement + "=@1 and " +
                        CModuleParametrage.c_nomTable + "." + CModuleParametrage.c_champCodeSystemeComplet + " like @2",
                        tp.ToString(),
                        module.CodeSystemeComplet + "%");
                    if (lst.Count != 0)
                    {
                        StringBuilder bl = new StringBuilder();
                        foreach (CRelationElement_ModuleParametrage rel in lst)
                        {
                            bl.Append(rel.IdElement);
                            bl.Append(';');
                        }
                        bl.Remove(bl.Length - 1, 1);
                        DataTable table = m_contexte.GetTableSafe(CContexteDonnee.GetNomTableForType(tp));
                        filtre = new CFiltreDataAvance(
                            CContexteDonnee.GetNomTableForType(tp),
                            table.PrimaryKey[0].ColumnName + " in {" +
                            bl.ToString() + "}");
                    }
                }
            }
            return(filtre);
        }
コード例 #14
0
        private void m_deleteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TreeNode node = m_ArbreModules.SelectedNode;

            if (node == null)
            {
                return;
            }

            CModuleParametrage module = node.Tag as CModuleParametrage;

            // Supprime le Module et le noeud

            if (module != null)
            {
                if (MessageBox.Show(I.T("Delete the Setting Module and all its child modules ?|10007"),
                                    I.T("Delete ?|10006"), MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    module.Delete();
                    node.Remove();
                }
            }
        }
コード例 #15
0
 public void SelectModule(CModuleParametrage module)
 {
     m_ArbreModules.SelectNode(module);
 }
コード例 #16
0
 private void InitListeRelationsElements(CModuleParametrage module)
 {
     m_treeItems.InitForModule(module, m_contexte);
 }
コード例 #17
0
        private void m_ArbreModules_DragDrop(object sender, DragEventArgs e)
        {
            CModuleParametrage moduleDestination = null;

            Point pt = new Point(e.X, e.Y);

            pt = m_ArbreModules.PointToClient(pt);
            TreeNode nodeDestination = m_ArbreModules.GetNodeAt(pt);

            if (nodeDestination != null)
            {
                // Identifier le Module de paramétrage Sur lequel on a fait le Drop
                moduleDestination = nodeDestination.Tag as CModuleParametrage; //Celui-ci peut être null si c'est le node racine par exemple
            }

            // Si c'est un Module
            TreeNode nodeSource = e.Data.GetData(typeof(TreeNode)) as TreeNode;

            if (nodeSource != null)
            {
                CModuleParametrage moduleSource = nodeSource.Tag as CModuleParametrage;
                if (moduleSource != null)
                {
                    // On ne peut pas déplacer un module su rlui-même
                    if (moduleDestination != null && moduleDestination.Id == moduleSource.Id)
                    {
                        return;
                    }

                    if (e.Effect == DragDropEffects.Copy)
                    {
                        // Faire une copipe du Module de paramétrage
                        CModuleParametrage nouveauModule = moduleSource.Clone(false) as CModuleParametrage;
                        if (nouveauModule != null)
                        {
                            nouveauModule.ModuleParent = moduleDestination;
                            TreeNode nouveauNode = m_ArbreModules.CreateNode(nouveauModule);
                            nodeDestination.Nodes.Add(nouveauNode);
                        }
                    }
                    else if (e.Effect == DragDropEffects.Move)
                    {
                        // Le module déplacé change de parent
                        moduleSource.ModuleParent = moduleDestination;
                        nodeSource.Remove();
                        nodeDestination.Nodes.Add(nodeSource);
                    }
                }
            }
            // Si c'est une relation avec un element
            else if (e.Data.GetData(typeof(ListViewItem)) is ListViewItem)
            {
                ListViewItem itemSource = e.Data.GetData(typeof(ListViewItem)) as ListViewItem;
                if (itemSource != null)
                {
                    CRelationElement_ModuleParametrage relationSource = itemSource.Tag as CRelationElement_ModuleParametrage;
                    if (relationSource != null)
                    {
                        if (e.Effect == DragDropEffects.Copy)
                        {
                            // Faire une copipe du Module de paramétrage
                            CRelationElement_ModuleParametrage nouvelleRelation = relationSource.Clone(false) as CRelationElement_ModuleParametrage;
                            if (nouvelleRelation != null)
                            {
                                nouvelleRelation.ModuleParametrage = moduleDestination;
                            }
                        }
                        else if (e.Effect == DragDropEffects.Move)
                        {
                            // Le module déplacé change de parent
                            relationSource.ModuleParametrage = moduleDestination;
                        }

                        InitListeRelationsElements(m_currentSelectedModule);
                    }
                }
            }
            // Si c'est une relation avec un element
            else if (e.Data.GetData(typeof(CRelationElement_ModuleParametrage)) is CRelationElement_ModuleParametrage)
            {
                CRelationElement_ModuleParametrage relationSource = e.Data.GetData(typeof(CRelationElement_ModuleParametrage)) as CRelationElement_ModuleParametrage;
                if (relationSource != null)
                {
                    if (e.Effect == DragDropEffects.Copy)
                    {
                        // Faire une copipe du Module de paramétrage
                        CRelationElement_ModuleParametrage nouvelleRelation = relationSource.Clone(false) as CRelationElement_ModuleParametrage;
                        if (nouvelleRelation != null)
                        {
                            nouvelleRelation.ModuleParametrage = moduleDestination;
                        }
                    }
                    else if (e.Effect == DragDropEffects.Move)
                    {
                        // Le module déplacé change de parent
                        relationSource.ModuleParametrage = moduleDestination;
                    }

                    InitListeRelationsElements(m_currentSelectedModule);
                }
            }
        }