/// <summary> /// Permet de créer les données à partir des fichiers XML, et d'ouvrir le menu "principal" de l'application /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void charger_Click(object sender, EventArgs e) { if (activitesRefs != null && marsOMatic != null) { XmlDocument mars = new XmlDocument(); mars.Load(marsOMatic); int jour = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Jour").InnerText); int mois = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Mois").InnerText); int annee = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Annee").InnerText); int heures = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Heures").InnerText); int minutes = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Minutes").InnerText); int secondes = int.Parse(mars.SelectSingleNode("Donnees").SelectSingleNode("DebutMission").SelectSingleNode("Secondes").InnerText); DateTime debutMission = new DateTime(annee, mois, jour, heures, minutes, secondes); if (debutMission > DateTime.Now) { erreurDate.Text = "La date de début de mission ne peut pas être supérieure à la date actuelle"; erreurDate.Visible = true; return; } CalendrierMission cm = new CalendrierMission(debutMission, true, marsOMatic, activitesRefs); cm.Show(); this.cacherFenetre(); } }
/// <summary> /// Permet de créer les données par défaut, et d'ouvrir le menu "principal" de l'application /// </summary> /// <param name="sender">Objet source</param> /// <param name="e">Evènement</param> private void button1_Click(object sender, EventArgs e) { DateTime picker = dateTimePicker1.Value; DateTime dt = new DateTime(picker.Year, picker.Month, picker.Day, (int) heures.Value, (int) minutes.Value, 0); if (dt > DateTime.Now) { erreurDate.Visible = true; erreurDate.Text = "La date de début de mission ne peut pas être supérieure à la date actuelle"; return; } if (TimeMartien.calculerJours(dt).getJours() > 500) { erreurDate.Visible = true; erreurDate.Text = "La durée de la mission dépasse les 500 jours..."; return; } CalendrierMission cm = new CalendrierMission(dt, false); cm.Show(); this.cacherFenetre(); }
/// <summary> /// Permet de créer les données par défaut, et d'ouvrir le menu "principal" de l'application /// </summary> /// <param name="sender">Objet source</param> /// <param name="e">Evènement</param> private void button1_Click(object sender, EventArgs e) { DateTime picker = dateTimePicker1.Value; DateTime dt = new DateTime(picker.Year, picker.Month, picker.Day, (int)heures.Value, (int)minutes.Value, 0); if (dt > DateTime.Now) { erreurDate.Visible = true; erreurDate.Text = "La date de début de mission ne peut pas être supérieure à la date actuelle"; return; } if (TimeMartien.calculerJours(dt).getJours() > 500) { erreurDate.Visible = true; erreurDate.Text = "La durée de la mission dépasse les 500 jours..."; return; } CalendrierMission cm = new CalendrierMission(dt, false); cm.Show(); this.cacherFenetre(); }
/// <summary> /// Constructeur paramétré /// </summary> /// <param name="j">Une journée</param> /// <param name="a">Une activité la journée</param> /// <param name="cm">L'interface graphique CalendrierMission</param> /// <param name="dh">L'interface graphique DetailHeure</param> public ModificationActivite(Journee j, Activite a, CalendrierMission cm, DetailHeure dh) { if (a.getHeureFin().getHeures() == 24 && a.getHeureFin().getMinutes() == 39) a.setHeureFin(new TimeMartien(0)); InitializeComponent(); this.dh = dh; if (finHeure.Value == 0 && finMinute.Value == 0) { finHeure.Value = 24; finMinute.Value = 40; } debutHeure.Maximum = finHeure.Value; lieu = new Lieu(0, 0); activiteAModifier = a; journeeAModifier = j; this.cm = cm; debutHeure.Value = activiteAModifier.getHeureDebut().getHeures(); finHeure.Value = activiteAModifier.getHeureFin().getHeures(); debutMinute.Value = activiteAModifier.getHeureDebut().getMinutes(); finMinute.Value = activiteAModifier.getHeureFin().getMinutes(); debutHeure.Minimum = debutHeure.Value; finHeure.Maximum = (finHeure.Value == 0) ? 24 : finHeure.Value; finHeure.Minimum = (finHeure.Value == 0) ? 0 : debutHeure.Value; remplirTreeView(); descriptionTB.Text = a.getDescription(); if (a.isActiviteExterieure()) { exterieurRadio.Checked = true; if (a.isExploration()) { explorationRadio.Checked = true; scaphandreRadio.Checked = (((ExplorationExterieure)a).nomTransport().Equals("Scaphandre")) ? true : false; vehiculeRadio.Checked = !scaphandreRadio.Checked; } else { experienceRadio.Checked = true; scaphandreRadio.Checked = (((ExperienceExterieure)a).nomTransport().Equals("Scaphandre")) ? true : false; vehiculeRadio.Checked = !scaphandreRadio.Checked; } } else interieurRadio.Checked = true; foreach (TreeNode tn in treeView.Nodes) foreach (TreeNode tnn in tn.Nodes) if (tnn.Text.Equals(a.getNom())) treeView.SelectedNode = tnn; lieuTB.Text = activiteAModifier.getLieu().ToString(); debutHeure.Maximum = finHeure.Maximum; heureDebutStatic = new TimeMartien(0, (int) debutHeure.Value, (int) debutMinute.Value, 0); heureFinStatic = new TimeMartien(0, (int) finHeure.Value, (int) finMinute.Value, 0); }
/// <summary> /// Constructeur paramétré /// </summary> /// <param name="j">Une journée</param> /// <param name="a">Une activité la journée</param> /// <param name="cm">L'interface graphique CalendrierMission</param> /// <param name="dh">L'interface graphique DetailHeure</param> public ModificationActivite(Journee j, Activite a, CalendrierMission cm, DetailHeure dh) { if (a.getHeureFin().getHeures() == 24 && a.getHeureFin().getMinutes() == 39) { a.setHeureFin(new TimeMartien(0)); } InitializeComponent(); this.dh = dh; if (finHeure.Value == 0 && finMinute.Value == 0) { finHeure.Value = 24; finMinute.Value = 40; } debutHeure.Maximum = finHeure.Value; lieu = new Lieu(0, 0); activiteAModifier = a; journeeAModifier = j; this.cm = cm; debutHeure.Value = activiteAModifier.getHeureDebut().getHeures(); finHeure.Value = activiteAModifier.getHeureFin().getHeures(); debutMinute.Value = activiteAModifier.getHeureDebut().getMinutes(); finMinute.Value = activiteAModifier.getHeureFin().getMinutes(); debutHeure.Minimum = debutHeure.Value; finHeure.Maximum = (finHeure.Value == 0) ? 24 : finHeure.Value; finHeure.Minimum = (finHeure.Value == 0) ? 0 : debutHeure.Value; remplirTreeView(); descriptionTB.Text = a.getDescription(); if (a.isActiviteExterieure()) { exterieurRadio.Checked = true; if (a.isExploration()) { explorationRadio.Checked = true; scaphandreRadio.Checked = (((ExplorationExterieure)a).nomTransport().Equals("Scaphandre")) ? true : false; vehiculeRadio.Checked = !scaphandreRadio.Checked; } else { experienceRadio.Checked = true; scaphandreRadio.Checked = (((ExperienceExterieure)a).nomTransport().Equals("Scaphandre")) ? true : false; vehiculeRadio.Checked = !scaphandreRadio.Checked; } } else { interieurRadio.Checked = true; } foreach (TreeNode tn in treeView.Nodes) { foreach (TreeNode tnn in tn.Nodes) { if (tnn.Text.Equals(a.getNom())) { treeView.SelectedNode = tnn; } } } lieuTB.Text = activiteAModifier.getLieu().ToString(); debutHeure.Maximum = finHeure.Maximum; heureDebutStatic = new TimeMartien(0, (int)debutHeure.Value, (int)debutMinute.Value, 0); heureFinStatic = new TimeMartien(0, (int)finHeure.Value, (int)finMinute.Value, 0); }
/// <summary> /// COnstructeur paramétré /// </summary> /// <param name="heureSelectionnee">Une heure</param> /// <param name="activites">La liste des activités de la journée</param> /// <param name="journee">La journée</param> /// <param name="cm">Le CalendrierMission source</param> public DetailHeure(int heureSelectionnee, List <Activite> activites, Journee journee, CalendrierMission cm) { InitializeComponent(); this.heureSelectionnee = heureSelectionnee; this.activites = activites; horaires = new Dictionary <int, Label>(); heures = new Dictionary <int, Label>(); iconesActivite = new Dictionary <int, PictureBox>(); this.journee = journee; this.cm = cm; for (int i = 0; i <= 60; i += 10) { Control[] ctrl; if (i <= 50) { ctrl = this.Controls.Find("actM" + i, true); horaires[i] = (Label)ctrl[0]; ctrl = this.Controls.Find("h" + i + "img", true); iconesActivite[i] = (PictureBox)ctrl[0]; } ctrl = this.Controls.Find("label" + i, true); heures[i] = (Label)ctrl[0]; } foreach (Activite a in activites) { int debut = a.getHeureDebut().getMinutes(); int fin = a.getHeureFin().getMinutes(); int hDebut = a.getHeureDebut().getHeures(); int hFin = a.getHeureFin().getHeures(); String nom = a.getNom(); if (hDebut < heureSelectionnee) { debut = 0; } if (hFin > heureSelectionnee) { fin = 60; } if (fin == 0 && heureSelectionnee != 24) { fin = 60; } else if (fin == 0 && heureSelectionnee == 24) { fin = 40; } heures[60].Text = (heureSelectionnee + 1) + "h00"; for (int i = debut; i < fin; i += 10) { if ((heureSelectionnee + "h" + i + ((i < 10) ? "0" : "")).Equals("24h40")) { heures[i].Text = "0h00"; } horaires[i].Text = a.getNom(); heures[i].Text = heureSelectionnee + "h" + i + ((i < 10) ? "0" : ""); int h = int.Parse(heures[i].Text.Split('h')[0]); int m = int.Parse(heures[i].Text.Split('h')[1]); if (h == 24 && m > 40) { heures[i].Visible = false; horaires[i - 10].Visible = false; this.Size = new Size(379, 158); } foreach (Domaine d in CalendrierMission.domaines) { if (d.getNomActivites().Contains(a.getNom()) || d.getNom().Equals(a.getNom())) { horaires[i].BackColor = Color.FromArgb(d.getCouleur()[0], d.getCouleur()[1], d.getCouleur()[2]); } } if (a.isActiviteExterieure()) { Bitmap img = (a.isExploration()) ? ((ExplorationExterieure)a).deplacement() : ((ExperienceExterieure)a).deplacement(); iconesActivite[i].Image = img; iconesActivite[i].Visible = true; } else { iconesActivite[i].Visible = false; } } if (heureSelectionnee == 24) { for (int i = 40; i < 60; i += 10) { heures[i + 10].Visible = false; iconesActivite[i].Visible = false; horaires[i].Visible = false; } if (fin < 60) { label40.Text = "0h00"; label60.Visible = false; this.Size = new Size(379, 158); } } } }
/// <summary> /// COnstructeur paramétré /// </summary> /// <param name="heureSelectionnee">Une heure</param> /// <param name="activites">La liste des activités de la journée</param> /// <param name="journee">La journée</param> /// <param name="cm">Le CalendrierMission source</param> public DetailHeure(int heureSelectionnee, List<Activite> activites, Journee journee, CalendrierMission cm) { InitializeComponent(); this.heureSelectionnee = heureSelectionnee; this.activites = activites; horaires = new Dictionary<int, Label>(); heures = new Dictionary<int, Label>(); iconesActivite = new Dictionary<int, PictureBox>(); this.journee = journee; this.cm = cm; for (int i = 0; i <= 60; i += 10) { Control[] ctrl; if (i <= 50) { ctrl = this.Controls.Find("actM" + i, true); horaires[i] = (Label)ctrl[0]; ctrl = this.Controls.Find("h" + i + "img", true); iconesActivite[i] = (PictureBox)ctrl[0]; } ctrl = this.Controls.Find("label" + i, true); heures[i] = (Label)ctrl[0]; } foreach (Activite a in activites) { int debut = a.getHeureDebut().getMinutes(); int fin = a.getHeureFin().getMinutes(); int hDebut = a.getHeureDebut().getHeures(); int hFin = a.getHeureFin().getHeures(); String nom = a.getNom(); if (hDebut < heureSelectionnee) debut = 0; if (hFin > heureSelectionnee) fin = 60; if (fin == 0 && heureSelectionnee != 24) fin = 60; else if (fin == 0 && heureSelectionnee == 24) fin = 40; heures[60].Text = (heureSelectionnee + 1) + "h00"; for (int i = debut; i < fin; i += 10) { if ((heureSelectionnee + "h" + i + ((i < 10) ? "0" : "")).Equals("24h40")) heures[i].Text = "0h00"; horaires[i].Text = a.getNom(); heures[i].Text = heureSelectionnee + "h" + i + ((i < 10) ? "0" : ""); int h = int.Parse(heures[i].Text.Split('h')[0]); int m = int.Parse(heures[i].Text.Split('h')[1]); if (h == 24 && m > 40) { heures[i].Visible = false; horaires[i - 10].Visible = false; this.Size = new Size(379, 158); } foreach (Domaine d in CalendrierMission.domaines) if (d.getNomActivites().Contains(a.getNom()) || d.getNom().Equals(a.getNom())) horaires[i].BackColor = Color.FromArgb(d.getCouleur()[0], d.getCouleur()[1], d.getCouleur()[2]); if (a.isActiviteExterieure()) { Bitmap img = (a.isExploration()) ? ((ExplorationExterieure)a).deplacement() : ((ExperienceExterieure)a).deplacement(); iconesActivite[i].Image = img; iconesActivite[i].Visible = true; } else iconesActivite[i].Visible = false; } if (heureSelectionnee == 24) { for (int i = 40; i < 60; i += 10) { heures[i + 10].Visible = false; iconesActivite[i].Visible = false; horaires[i].Visible = false; } if (fin < 60) { label40.Text = "0h00"; label60.Visible = false; this.Size = new Size(379, 158); } } } }