public Form2(Calendrier calendrier, Journee jour)
        {
            this.StartPosition = FormStartPosition.CenterScreen;

            InitializeComponent();

            this.tabSpatio.TabPages[0].Text = calendrier.ListSpationaute.ElementAt(0).Nom.ToString();
            this.tabSpatio.TabPages[1].Text = calendrier.ListSpationaute.ElementAt(1).Nom.ToString();
            this.tabSpatio.TabPages[2].Text = calendrier.ListSpationaute.ElementAt(2).Nom.ToString();

            this._listPanelActivites = new List<Panel>(calendrier.ListSpationaute.Count);
            // Ajout des 3 tab à la liste des panels
            this._listPanelActivites.Add(panelActivites1);
            this._listPanelActivites.Add(panelActivites2);
            this._listPanelActivites.Add(panelActivites3);

            jourSelec = jour;
            calendrierActuel = calendrier;
            this.tagjourSelec.Text = jour.NumJour.ToString();
            this.tagjourSelec2.Text = jour.NumJour.ToString();

            _taille10minPixel = 5; // 10 Minutes = 5 pixel
            this.tb_compteRendu.Text = jourSelec.CompteRendu;

            afficheBoutons(0);

            changerCouleurJours();

            // On désactive les contrôles si la journée est passée
            desactiverJourPasses();
        }
        public void rafraichirPage(int jour)
        {
            // on met à jour le jour sur lequel on est
            jourSelec = calendrierActuel.ListJournees.ElementAt(jour - 1);

            miseAJourJour(jourSelec.NumJour);
            // on met à jour le compte rendu du jour sur lequel on est
            tb_compteRendu.Text = jourSelec.CompteRendu;

            afficheBoutons(0);

            changerCouleurJours();
            desactiverJourPasses();
        }
        public Form3(Form2 p, Calendrier calendrier, Journee jourSelec, Activite actiActuelle, string nomSpatio)
        {
            this.StartPosition = FormStartPosition.CenterScreen;

            InitializeComponent();

            this.treeView1.ExpandAll();

            this.jour_actuel.Text = jourSelec.NumJour.ToString();
            this.jourSelec = jourSelec;
            this.actiActuelle = actiActuelle;

            this.calendrierActuel = calendrier;

            this._nomSpatio = nomSpatio;

            if (actiActuelle != null) // mets les caractéristiques d'une activité dans le cas d'un chargement d'activité
            {
                this.H_debut.SelectedItem = actiActuelle.HeureDebut.Heure.ToString();
                this.M_debut.SelectedItem = actiActuelle.HeureDebut.Minute.ToString();
                this.H_fin.SelectedItem = actiActuelle.HeureFin.Heure.ToString();
                this.M_fin.SelectedItem = actiActuelle.HeureFin.Minute.ToString();
                this.description.SelectedText = actiActuelle.Descritpion.ToString();
                this.labelActi.Text = actiActuelle.Nom;
                this.textBoxX.Text = string.Format("{0}", actiActuelle.Lieu.Position.X);
                this.textBoxY.Text = string.Format("{0}", actiActuelle.Lieu.Position.Y);
                this._listSpatio = this.calendrierActuel.ListSpationaute;
            }
            else
            {
                this.labelActi.Text = "Aucun type d'activité sélectionné";
                btn_suppr.Enabled = false; // laisse les champs vide pour une création d'activité

                for (int i = 0; i < this.calendrierActuel.ListSpationaute.Count; i++)
                {
                    if (this.calendrierActuel.ListSpationaute.ElementAt(i).Nom.ToString() == this._nomSpatio)
                    {
                        this._listSpatio.Add(this.calendrierActuel.ListSpationaute.ElementAt(i));
                    }
                }
            }

            parent = p;

            graphics = pictureBox1.CreateGraphics();

            changerCouleurJours();
            desactiverJourPasses();
        }
        public Form1()
        {
            // ListJourneeNumAffichage contient les numéros de toutes les journées affichées. Par défaut, on lui donne toutes les valeurs de 1 à 500.
            // On lui associe de nouvelles valeurs lorsqu'on utilise la fonction recherche.
            for (int i = 1; i <= 500; i++)
            {
                this.ListJourneeNumAffichage.Add(i);
            }

            this.StartPosition = FormStartPosition.CenterScreen;

            InitializeComponent();

            chargementXML();

            Cal.JourDebutMission = new DateTime(2015, 11, 20);

            Cal.JourActuel = Cal.conversionHeureMartienne(DateTime.Now).Jour;

            // Si le calendrier n'a pas été chargé via la déserialisation
            if (Cal.ListJournees.Count == 0)
            {
                // Création des jours
                for (int i = 0; i < 500; i++)
                {
                    Journee jour = new Journee(i + 1);

                    Cal.ListJournees.Add(jour);

                    // NE marche pas à corriger
                    for (int j = 0; j < Cal.ListActiviteDefaut.Count; j++)
                    {
                        Cal.ListActiviteDefaut.ElementAt(j).HeureDebut.Jour = jour.NumJour;
                        Cal.ListActiviteDefaut.ElementAt(j).HeureFin.Jour = jour.NumJour;
                    }

                    // Ajout de toutes les activités par défaut à la journée
                    Cal.ListJournees.ElementAt(i).ListActiviteJournee.AddRange(Cal.ListActiviteDefaut);
                }
            }

            // Création et gestion des boutons
            if (this.ListBtnJour == null)
            {
                ListBtnJour = new List<Button>();
            }
            for (int i = Period * 50; i < (Period + 1) * 50; i++)
            {
                Button btn_jour = new Button();
                ListBtnJour.Add(btn_jour);

                btn_jour.Size = new Size(70, 50);

                // Pour le chargement de la 1ère page du calendrier : on sait que le numéro du jour va de 1 à 50
                btn_jour.Text = btn_jour.Name = ListJourneeNumAffichage[i].ToString();
                btn_jour.Location = new Point(50 + (posX * 80), 160 + (posY * 60));
                posX++;

                //mise à jour des positions, si x depasse le nombre max d'elements en horizontal, on passe à la ligne suivante
                if (posX >= 10)
                {
                    posX = 0;
                    posY++;
                }

                this.Controls.Add(btn_jour);
                btn_jour.Click += jour_Click;//fonction de click sur le Btn_jour

                //gestion de la couleur
                if (int.Parse(btn_jour.Name) < Cal.JourActuel)
                    btn_jour.BackColor = Color.LightGray;
                else if (int.Parse(btn_jour.Name) == Cal.JourActuel)
                    btn_jour.BackColor = Color.LightBlue;
                else
                    btn_jour.BackColor = Color.LimeGreen;
            }

            // on ajoute les activités par défaut dans la liste à cocher
            string[] nomsActivites = new string[Cal.ListActiviteDefaut.Count];
            for (int i = 0; i < nomsActivites.Length; i++)
            {
                nomsActivites[i] = Cal.ListActiviteDefaut[i].Nom;
            }
            foreach (string unNomAct in nomsActivites)
            {
                this.clb_activites.Items.Add(unNomAct, true);
            }
            this.clb_activites.Items.AddRange(nomsActivites);
        }