Exemplo n.º 1
0
 private void m_arbreResultat_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
 {
     if (OnDemandeAffichageNoeud != null && e.Node != null)
     {
         TreeNode node = e.Node;
         CNoeudCheminResultatRechercheObjetAvecParents noeudEnCours = null;
         while (node != null)
         {
             CArbreResultatRechercheObjet arbre = node.Tag as CArbreResultatRechercheObjet;
             if (arbre == null)//L'item n'est pas un arbre, stop la remontée
             {
                 break;
             }
             INoeudCheminResultatRechercheObjet noeud = null;
             if (arbre != null)
             {
                 noeud = arbre.Noeud;
             }
             if (noeud != null)
             {
                 noeudEnCours = new CNoeudCheminResultatRechercheObjetAvecParents(noeud, noeudEnCours);
             }
             node = node.Parent;
         }
         if (noeudEnCours != null)
         {
             OnDemandeAffichageNoeud(noeudEnCours);
         }
     }
 }
 public CCheminResultatRechercheObjet(INoeudCheminResultatRechercheObjet noeud, CCheminResultatRechercheObjet cheminParent)
 {
     m_listeNoeuds = new List <INoeudCheminResultatRechercheObjet>();
     if (cheminParent != null)
     {
         m_listeNoeuds.AddRange(cheminParent.m_listeNoeuds);
     }
     m_listeNoeuds.Add(noeud);
 }
Exemplo n.º 3
0
 public CNoeudCheminResultatRechercheObjetAvecParents(INoeudCheminResultatRechercheObjet noeud,
                                                      CNoeudCheminResultatRechercheObjetAvecParents noeudFils)
 {
     m_noeud     = noeud;
     m_noeudFils = noeudFils;
     if (m_noeudFils != null)
     {
         m_noeudFils.m_noeudParent = this;
     }
 }
        /// <summary>
        /// Ajoute un  résultat
        /// </summary>
        /// <param name="consommateur"></param>
        public void AddResultat(INoeudCheminResultatRechercheObjet noeud)
        {
            CCheminResultatRechercheObjet chemin = null;

            if (m_pileChemins.Count > 0)
            {
                chemin = m_pileChemins.Peek();
            }
            chemin = new CCheminResultatRechercheObjet(noeud, chemin);
            m_arbreResultat.AddResultat(chemin);
        }
 /// <summary>
 /// Range les résultats suivants sous un nouveau chemin
 /// </summary>
 /// <param name="noeud"></param>
 public void PushChemin(INoeudCheminResultatRechercheObjet noeud)
 {
     if (m_pileChemins.Count > 0)
     {
         CCheminResultatRechercheObjet chemin = m_pileChemins.Peek();
         m_pileChemins.Push(new CCheminResultatRechercheObjet(noeud, chemin));
     }
     else
     {
         m_pileChemins.Push(new CCheminResultatRechercheObjet(noeud, null));
     }
 }
 /// <summary>
 ///
 /// </summary>
 /// <param name="noeudRacine"></param>
 public CArbreResultatRechercheObjet(INoeudCheminResultatRechercheObjet noeud)
 {
     m_noeud = noeud;
 }