예제 #1
0
        //---------------------------------------------------------------------------
        protected virtual bool AffichePage(CEntreeHistorique entreeExistante, bool bHistoriseNewPage, bool bHistorisePageEnCours)
        {
            bool result;

            result = AffichePage(entreeExistante.GetPage(), bHistoriseNewPage, bHistorisePageEnCours, false);
            return(result);
        }
예제 #2
0
        //---------------------------------------------------------------------------
        /// <summary>
        /// Stocke formNavigable dans l'historique
        /// </summary>
        private CEntreeHistorique HistorisePage(IFormNavigable formNavigable, bool bForcerHistorisation)
        {
            if (formNavigable == null)
            {
                return(null);
            }
            CEntreeHistorique nouvelleEntree;

            IFormNavigable pageActive = PageEnCours;

            if (formNavigable == pageActive && !bForcerHistorisation && EntreeEnCours != null)
            {
                nouvelleEntree = EntreeEnCours;
            }
            else
            {
                if (formNavigable == m_pageAccueil)
                {
                    nouvelleEntree = new CEntreeHistoriqueAccueil(formNavigable, I.T("Home|110"));
                }
                else
                {
                    nouvelleEntree = new CEntreeHistorique(TitreFenetreEnCours);
                }
                nouvelleEntree.EntreePrecedente = EntreeEnCours;
                if (EntreeEnCours != null)
                {
                    EntreeEnCours.EntreeSuivante = nouvelleEntree;
                }
                int nNiveau = c_nNbNiveauHistorique;
                if (EntreeEnCours != null)
                {
                    CEntreeHistorique old = EntreeEnCours.EntreePrecedente;
                    while (nNiveau > 0 && old != null)
                    {
                        old = old.EntreePrecedente;
                        nNiveau--;
                    }
                    if (old != null)
                    {
                        old.EntreeSuivante.EntreePrecedente = null;
                    }
                }
            }
            nouvelleEntree.Contexte = formNavigable.GetContexte();

            return(nouvelleEntree);
        }
예제 #3
0
        //---------------------------------------------------------------------------
        protected virtual bool AffichePage(CEntreeHistorique entreeExistante)
        {
            if (entreeExistante == null)
            {
                return(false);
            }

            CEntreeHistorique entreeEnCoursAvant = EntreeEnCours;

            bool bHistorisePageEnCours = entreeEnCoursAvant != null && (entreeEnCoursAvant.Contexte != null);

            bool result = AffichePage(entreeExistante, false, bHistorisePageEnCours);

            if (!result)
            {
                return(result);
            }
            if (entreeEnCoursAvant.Contexte == null)
            {
                if (entreeExistante == entreeEnCoursAvant.EntreePrecedente || entreeExistante == entreeEnCoursAvant.EntreeSuivante)
                {
                    if (entreeEnCoursAvant.EntreePrecedente != null)
                    {
                        entreeEnCoursAvant.EntreePrecedente.EntreeSuivante = entreeEnCoursAvant.EntreeSuivante;
                    }
                    if (entreeEnCoursAvant.EntreeSuivante != null)
                    {
                        entreeEnCoursAvant.EntreeSuivante.EntreePrecedente = entreeEnCoursAvant.EntreePrecedente;
                    }
                }
                else
                {
                    if (entreeEnCoursAvant.EntreePrecedente != null)
                    {
                        entreeEnCoursAvant.EntreePrecedente.EntreeSuivante = entreeExistante;
                    }
                    entreeExistante.EntreePrecedente = EntreeEnCours.EntreePrecedente;
                }
            }
            EntreeEnCours = entreeExistante;
            return(result);
        }
예제 #4
0
        private void m_menuNouvelOnglet_Click(object sender, System.EventArgs e)
        {
            if (m_bEnableTabs)
            {
                Crownwood.Magic.Controls.TabPage page = new Crownwood.Magic.Controls.TabPage("Page");
                m_tabs.ActiveLeaf.TabPages.Add(page);
                m_tableTabPageToEntreeHistorique[page] = null;

                CEntreeHistorique entree = null;
                if (m_pageContextMenu != null)
                {
                    entree = (CEntreeHistorique)m_tableTabPageToEntreeHistorique[m_pageContextMenu];
                }
                ((Crownwood.Magic.Controls.TabControl)m_tabs.ActiveLeaf.GroupControl).SelectedTab = page;
                if (entree != null)
                {
                    AffichePage(entree, true, false);
                }
            }
        }