//--------------------------------------------------------------------------- protected virtual bool AffichePage(CEntreeHistorique entreeExistante, bool bHistoriseNewPage, bool bHistorisePageEnCours) { bool result; result = AffichePage(entreeExistante.GetPage(), bHistoriseNewPage, bHistorisePageEnCours, false); return(result); }
//--------------------------------------------------------------------------- /// <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); }
//--------------------------------------------------------------------------- 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); }
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); } } }