Example #1
0
 //make sure qu'il n'y a QUE la page en cour qui est visible et qu'elle a la bonne position
 private void RefreshPageVisibility()
 {
     if (this.IsRunningAnyPage)
     {
         for (int TheIndex = 0; TheIndex <= this.listAllPage.Count - 1; TheIndex++)
         {
             iPage p  = this.listAllPage[TheIndex];
             Form  fp = (Form)p;
             if (TheIndex == this.ActualPageIndex)
             {
                 if (!fp.Visible)
                 {
                     fp.Show();
                     this.RefreshPageSize(fp);
                 }
             }
             else
             {
                 if (fp.Visible)
                 {
                     fp.Hide();
                 }
             }
         }
     }
 }
Example #2
0
        private void ActivatePageAtIndex(int IndexToActivate, bool IgnoreAlreadyActivatedPage = false)
        {
            //met en pause la page actuellement executer s'il y en a une
            if (!IgnoreAlreadyActivatedPage)
            {
                if (this.IsRunningAnyPage)
                {
                    this.PauseActualPage();
                }
            }

            //active l'index en question s'il existe
            if (IndexToActivate >= this.MinPageIndex && IndexToActivate <= this.MaxPageIndex)
            {
                iPage ActualPage  = this.listAllPage[IndexToActivate];
                Form  fActualPage = (Form)ActualPage;
                this.ActualPageIndex = IndexToActivate;
                ActualPage.Start();
                //make sure que les bordure sont les bonne
                if (fActualPage.FormBorderStyle != FormBorderStyle.None)
                {
                    fActualPage.FormBorderStyle = FormBorderStyle.None;
                }
                //make sure qu'elle a la bonne visibiliter
                if (!fActualPage.Visible)
                {
                    fActualPage.Show();
                }
            }
        }
Example #3
0
        public void Navigate(iPage NextPage)
        {
            int saveActualPageIndex = this.ActualPageIndex;             //effectue une save parce qu'il va surement changer

            //s'il y a deja une page en execution, il va la mettre en pause
            if (this.IsRunningAnyPage)
            {
                this.PauseActualPage();
            }

            //s'il y a des page qui suive l'index actuel, il les delete
            if (this.MaxPageIndex > saveActualPageIndex)
            {
                this.RemoveAllPageAfterIndex(saveActualPageIndex);
            }

            //ajoute la prochaine page
            this.listAllPage.Add(NextPage);
            Form fNextPage = (Form)NextPage;

            fNextPage.MdiParent     = this.forme;
            fNextPage.StartPosition = FormStartPosition.Manual;
            //this.ActualPageIndex = this.listAllPage.IndexOf(NextPage);
            NextPage.Initialize(this);
            this.ActivatePageAtIndex(this.listAllPage.Count - 1);             //NextPage est actuellement a la fin de la liste

            fNextPage.TextChanged += new EventHandler(this.AnyPageForm_TextChanged);



            this.RefreshActualPageSize();
            this.RefreshTitle();
        }
Example #4
0
        //delete toute les page qui se trouve APRES EndIndex
        private void RemoveAllPageAfterIndex(int EndIndex)
        {
            while (this.MaxPageIndex > EndIndex)
            {
                iPage ActualPage  = this.listAllPage[this.listAllPage.Count - 1];
                Form  fActualPage = (Form)ActualPage;
                fActualPage.TextChanged -= new EventHandler(this.AnyPageForm_TextChanged);
                ActualPage.Destroy();

                this.listAllPage.RemoveAt(this.listAllPage.Count - 1);
            }
            GC.Collect();             //pour debarasser la memoire des page deleter
        }
Example #5
0
 //ces void servent a la gestion des page
 private void PauseActualPage()
 {
     if (this.IsRunningAnyPage)
     {
         iPage ActualPage = this.listAllPage[this.ActualPageIndex];
         ActualPage.Pause();
         this.ActualPageIndex = -1;
         Form fActualPage = (Form)ActualPage;
         //make sure qu'elle a la bonne visibiliter
         if (fActualPage.Visible)
         {
             fActualPage.Hide();
         }
     }
 }
Example #6
0
 private void RefreshPageSize(iPage ThePage)
 {
     this.RefreshPageSize((Form)ThePage);
 }