示例#1
0
        //---------------------------------------------------
        private void CreateNodes(object source, CFolderConsultationHierarchique folder, TreeNode nodeParent)
        {
            CNodeConsultationHierarchique dataParent = null;

            if (nodeParent != null)
            {
                dataParent = nodeParent.Tag as CNodeConsultationHierarchique;
            }
            object[] objets = folder.GetObjets(dataParent, m_contexteDonnee);
            if (objets != null)
            {
                foreach (object obj in objets)
                {
                    CNodeConsultationHierarchique data = new CNodeConsultationHierarchique(obj, folder, dataParent);
                    TreeNode node = CreateNode(data);
                    if (nodeParent != null)
                    {
                        nodeParent.Nodes.Add(node);
                    }
                    else
                    {
                        Nodes.Add(node);
                    }
                }
            }
        }
示例#2
0
 private void CArbreConsultationHierarchique_MouseMove(object sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left &&
         m_nodeSurLequelOnAFaitMouseDown != null)
     {
         if (Math.Abs(e.X - m_pointSurLequelOnAFaitMouseDown.X) > 3 ||
             Math.Abs(e.Y - m_pointSurLequelOnAFaitMouseDown.Y) > 3)
         {
             CNodeConsultationHierarchique node = m_nodeSurLequelOnAFaitMouseDown.Tag as CNodeConsultationHierarchique;
             if (OnDragNode != null)
             {
                 OnDragNode(this, node);
             }
         }
     }
 }
示例#3
0
 private void CArbreConsultationHierarchique_BeforeExpand(object sender, TreeViewCancelEventArgs e)
 {
     using (sc2i.win32.common.CWaitCursor waiter = new sc2i.win32.common.CWaitCursor())
     {
         TreeNode node = e.Node;
         if (node.Nodes.Count == 1 && node.Nodes[0].Tag == null)
         {
             node.Nodes.Clear();
             CNodeConsultationHierarchique data         = node.Tag as CNodeConsultationHierarchique;
             IObjetDonneeAutoReference     objetAutoRef = data.ObjetLie as IObjetDonneeAutoReference;
             CFolderConsultationFolder     folderParent = null;
             folderParent = ((CNodeConsultationHierarchique)node.Tag).Folder as CFolderConsultationFolder;
             if (objetAutoRef != null && (folderParent == null))
             {
                 string       strProp = objetAutoRef.ProprieteListeFils;
                 PropertyInfo prop    = objetAutoRef.GetType().GetProperty(strProp);
                 if (prop != null)
                 {
                     MethodInfo methode = prop.GetGetMethod();
                     if (methode != null)
                     {
                         CListeObjetsDonnees listeFils = methode.Invoke(objetAutoRef, new object[0]) as CListeObjetsDonnees;
                         if (listeFils != null)
                         {
                             foreach (CObjetDonnee objet in listeFils)
                             {
                                 CNodeConsultationHierarchique dataFils = new CNodeConsultationHierarchique(
                                     objet,
                                     data.Folder,
                                     node.Tag as CNodeConsultationHierarchique);
                                 TreeNode newNode = CreateNode(dataFils);
                                 node.Nodes.Add(newNode);
                             }
                         }
                     }
                 }
             }
             foreach (CFolderConsultationHierarchique folderFils in data.Folder.SousFolders)
             {
                 CreateNodes(data.ObjetLie, folderFils, node);
             }
         }
     }
 }
示例#4
0
        private TreeNode CreateNode(CNodeConsultationHierarchique data)
        {
            string   strLibelle = data.Folder.GetLibelleNode(data);
            TreeNode node       = new TreeNode(strLibelle);

            node.Tag       = data;
            node.BackColor = data.Folder.Couleur;
            int nIndex = -1;

            if (!m_dicIndexImages.TryGetValue(data.Folder, out nIndex))
            {
                nIndex = -1;
                Image bmp = data.Folder.Image;
                if (bmp != null)
                {
                    m_imageList.Images.Add(bmp);
                    nIndex = m_imageList.Images.Count - 1;
                }
                m_dicIndexImages[data.Folder] = nIndex;
            }
            if (nIndex >= 0)
            {
                node.ImageIndex         = nIndex;
                node.SelectedImageIndex = nIndex;
            }


            IObjetDonneeAutoReference objAuto = data.ObjetLie as IObjetDonneeAutoReference;

            if (data.Folder.SousFolders.Length > 0 ||
                (objAuto != null))
            {
                TreeNode nodeDummy = new TreeNode();
                node.Nodes.Add(nodeDummy);
            }
            return(node);
        }
示例#5
0
        private void m_arbreConsultation_AfterSelect(object sender, TreeViewEventArgs e)
        {
            // Met à jour la liste des documents de GED de l'élmément sélectionné dans la hiérarchie

            CNodeConsultationHierarchique nodeHierarchique = e.Node.Tag as CNodeConsultationHierarchique;

            if (nodeHierarchique != null)
            {
                IObjetDonneeAIdNumerique donnee = nodeHierarchique.ObjetLie as IObjetDonneeAIdNumerique;

                if (donnee != null)
                {
                    if (!m_chkToutesCategories.Checked)
                    {
                        FillCategoriesForElement(donnee);
                    }
                    InitPanelList(donnee);
                }
                else
                {
                    InitPanelList(m_elementEdite);
                }
            }
        }
示例#6
0
        //---------------------------------------------------------------------
        private DragDropEffects m_arbreConsultation_OnDragNode(object sender, CNodeConsultationHierarchique node)
        {
            //if (m_gestionnaireModeEdition.ModeEdition)
            {
                IElementDeSchemaReseau element = node.ObjetLie as IElementDeSchemaReseau;



                if (element != null && m_schemaReseau != null)
                {
                    if (m_lienEdite != null)
                    {
                        if (element.GetType() == typeof(CLienReseau))
                        {
                            CLienReseau lien = (CLienReseau)element;

                            if (!m_lienEdite.PeutEtreSupporte(lien))
                            {
                                CFormAlerte.Afficher(I.T("Cannot add the link because it is already supported by the current link|30385"), EFormAlerteType.Erreur);
                                return(DragDropEffects.None);
                            }


                            if (!m_lienEdite.TypeSupportantPossible(lien))
                            {
                                CFormAlerte.Afficher(I.T("Cannot add the link because its type is not a possible supporting type for this link type|30400"), EFormAlerteType.Erreur);
                                return(DragDropEffects.None);
                            }
                        }
                    }

                    if (element.GetType() == typeof(CSchemaReseau))
                    {
                        //CSchemaReseau schema = (CSchemaReseau)element;

                        //if (schema.SchemaParent != null)
                        //{
                        //    CFormAlerte.Afficher(I.T("Cannot add the diagram beacuse it is included in another diagram|30391"),EFormAlerteType.Erreur);
                        //    return DragDropEffects.None;
                        //}
                    }


                    /*CElementDeSchemaReseau elementDeSchema = new CElementDeSchemaReseau(m_schemaReseau.ContexteDonnee);
                     * elementDeSchema.CreateNewInCurrentContexte();
                     * elementDeSchema.ElementAssocie = element;
                     * elementDeSchema.SchemaReseau = m_schemaReseau;*/

                    C2iObjetDeSchemaTemporairePourDragDropSansElementDeSchema objet = new C2iObjetDeSchemaTemporairePourDragDropSansElementDeSchema();
                    objet.InitFrom(element);

                    CDonneeDragDropObjetGraphique data = new CDonneeDragDropObjetGraphique(m_arbreConsultation.GetType().ToString(), objet);
                    DataObject dataObj = new DataObject();
                    dataObj.SetData(data);
                    dataObj.SetData(typeof(CReferenceObjetDonnee), new CReferenceObjetDonnee((CObjetDonnee)element));
                    DragDropEffects eff = DoDragDrop(dataObj, DragDropEffects.All | DragDropEffects.Link);

                    /* if (eff == DragDropEffects.None)
                     *   elementDeSchema.CancelCreate();*/
                }
            }
            return(DragDropEffects.None);
        }