summaryrefslogtreecommitdiff
path: root/SimpleRadar_etudiants/FormRadar.cs
diff options
context:
space:
mode:
Diffstat (limited to 'SimpleRadar_etudiants/FormRadar.cs')
-rw-r--r--SimpleRadar_etudiants/FormRadar.cs266
1 files changed, 266 insertions, 0 deletions
diff --git a/SimpleRadar_etudiants/FormRadar.cs b/SimpleRadar_etudiants/FormRadar.cs
new file mode 100644
index 0000000..9355e45
--- /dev/null
+++ b/SimpleRadar_etudiants/FormRadar.cs
@@ -0,0 +1,266 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using IvyBus;
+using System.Xml.Serialization;
+using System.IO;
+using Data;
+
+namespace SimpleRadar
+{
+ public partial class FormRadar : Form
+ {
+ public static FormRadar FormRadarInstance;
+ #region Attributes
+
+ #endregion
+
+ #region Constructor
+
+ public FormRadar()
+ {
+ FormRadarInstance = this;
+
+ InitializeComponent();
+ AppDatabase data = new AppDatabase(IvyBus);
+ data.addAircraftView(userControlRadarView1);
+ userControlRadarView1.setData(data);
+ }
+
+ #endregion
+
+ #region Events handlers
+
+ private void FormRadar_Load(object sender, EventArgs e)
+ {
+ IvyBus.ivy.Start(ivyDomain.Domain);
+ Bind();
+ }
+
+ #endregion
+
+ #region Ivy messages binding
+
+ private void Bind()
+ {
+ // ajoute la nouvelle regex
+
+ int regexp_id = IvyBus.ivy.BindMsg(@"SelectionEvent Flight=([0-9]+) Perform=(True|False)",
+ SelectAircraft, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"WarningEvent Flight=([0-9]+) Perform=(True|False|Change)",
+ WarningAircraft, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"PartEvent Flight=([0-9]+) Perform=(True|False|Change)",
+ PartAircraft, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"DisplayRoadEvent Flight1=([0-9]+) Route1=(.*) Distance1=([0-9]+) Thicks1=(.*) Flight2=([0-9]+) Route2=(.*) Distance2=([0-9]+) Thicks2=(.*) Distance=([0-9]+) Perform=(True|False)",
+ DisplayAircraftRoad, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"AFLFilterEvent AFL=([0-9]+) Range=(-?[0-9]+) Perform=(True|False)",
+ AFLFilter, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"AFLFilterEvent Flight=([0-9]+) Perform=(True|False)",
+ AFLAircraftFilter, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"ModS Flight=([0-9]+) Level=([0-9]+) NextSector=(.*) Succeed=(True|False)",
+ ModS, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"InformationMessage Beginning Flight=([0-9]+) NumberOfWords=([0-9]+)",
+ InformationMessageBegin, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"InformationMessage Flight=([0-9]+) Word=(([0-9]+)(( [0-9]+)+))",
+ InformationMessageStream, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"InformationMessage Flight=([0-9]+) End",
+ InformationMessageEnd, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"InformationMessage Flight=([0-9]+) Remove",
+ InformationMessageRemove, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"AlarmClock Flight=([0-9]+) Hour=([0-9]+) Min=([0-9]+) Perform=(True|False)",
+ AlarmClock, null);
+
+ regexp_id = IvyBus.BindMsg(@"TrackMovedEvent (.*) Time=([0-9]+):([0-9]+):([0-9]+)",
+ UpdateClock, null);
+
+ regexp_id = IvyBus.BindMsg(@"FollowPlane Flight=([0-9]+) Perform=(True|False)",
+ FollowPlane, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"SetTag Flight=([0-9]+) Strip=([0-9]+) Perform=(True|False)",
+ TagMessageInit, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"SetTag Beginning Flight=([0-9]+) NumberOfWords=([0-9]+)",
+ TagMessageBegin, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"SetTag Flight=([0-9]+) Word=(([0-9]+)(( [0-9]+)+))",
+ TagMessageStream, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"SetTag Flight=([0-9]+) End",
+ TagMessageEnd, null);
+
+ regexp_id = IvyBus.ivy.BindMsg(@"SetTag Flight=([0-9]+) Remove",
+ TagMessageRemove, null);
+ }
+
+ private void TagMessageRemove(object sender, IvyMessageEventArgs e)
+ {
+ userControlRadarView1.manageAircraftTagMessageDictionary("remove", e[0], 0, 0);
+ }
+
+ private void TagMessageEnd(object sender, IvyMessageEventArgs e)
+ {
+ userControlRadarView1.updateAircraftTagMessage(e[0], false, "");
+ }
+
+ private void TagMessageStream(object sender, IvyMessageEventArgs e)
+ {
+ userControlRadarView1.updateAircraftTagMessage(e[0], true, e[1]);
+ }
+
+ private void TagMessageBegin(object sender, IvyMessageEventArgs e)
+ {
+ userControlRadarView1.manageAircraftTagMessageDictionary("update", e[0], 0, int.Parse(e[1]));
+ }
+
+ private void TagMessageInit(object sender, IvyMessageEventArgs e)
+ {
+ if (e[2].ToLower() == "true")
+ {
+ userControlRadarView1.manageAircraftTagMessageDictionary("add", e[0], int.Parse(e[1]), 0);
+ }
+ else
+ {
+ userControlRadarView1.manageAircraftTagMessageDictionary("remove", e[0], 0, 0);
+ }
+ }
+
+ private void FollowPlane(object sender, IvyMessageEventArgs e)
+ {
+ if (e[1].ToLower() == "true")
+ userControlRadarView1.manageFollowedAircraftList("add", e[0]);
+ else
+ userControlRadarView1.manageFollowedAircraftList("remove", e[0]);
+ }
+
+ private void UpdateClock(object sender, IvyMessageEventArgs e)
+ {
+ userControlRadarView1.updateClock(Int32.Parse(e[1]), Int32.Parse(e[2]), Int32.Parse(e[3]));
+ }
+
+ private void AlarmClock(object sender, IvyMessageEventArgs e)
+ {
+ if (e[3].ToLower() == "true")
+ {
+ userControlRadarView1.manageAircraftAlarmsDictionary("add", e[0], Int32.Parse(e[1]), Int32.Parse(e[2]), 0);
+ }
+ else
+ {
+ userControlRadarView1.manageAircraftAlarmsDictionary("remove", e[0], Int32.Parse(e[1]), Int32.Parse(e[2]), 0);
+ }
+ }
+
+ private void InformationMessageRemove(object sender, IvyMessageEventArgs e)
+ {
+ userControlRadarView1.manageAircraftInformationMessagesDictionary("remove", e[0], 0);
+ }
+
+ private void InformationMessageEnd(object sender, IvyMessageEventArgs e)
+ {
+ userControlRadarView1.updateAircraftInformationMessage(e[0], false, "");
+ }
+
+ private void InformationMessageStream(object sender, IvyMessageEventArgs e)
+ {
+ userControlRadarView1.updateAircraftInformationMessage(e[0], true, e[1]);
+ }
+
+ private void InformationMessageBegin(object sender, IvyMessageEventArgs e)
+ {
+ userControlRadarView1.manageAircraftInformationMessagesDictionary("add", e[0], int.Parse(e[1]));
+ }
+
+ private void ModS(object sender, IvyMessageEventArgs e)
+ {
+ userControlRadarView1.manageAircraftModSDictionary(e[0], e[1], e[2], e[3]);
+ }
+
+ private void AFLFilter(object sender, IvyMessageEventArgs e)
+ {
+ if (e[2].ToLower() == "true")
+ {
+ userControlRadarView1.manageFlightLevelFilter("add", int.Parse(e[0]), int.Parse(e[1]));
+ }
+ else
+ {
+ userControlRadarView1.manageFlightLevelFilter("clear", 0, 0);
+ userControlRadarView1.manageFollowedAircraftList("clear", "");
+ }
+ }
+
+ private void AFLAircraftFilter(object sender, IvyMessageEventArgs e)
+ {
+ if (e[1].ToLower() == "true")
+ {
+ userControlRadarView1.manageAircraftFlightLevelFilterList("add", e[0]);
+ }
+ else
+ {
+ userControlRadarView1.manageAircraftFlightLevelFilterList("remove", e[0]);
+ }
+ }
+
+ private void DisplayAircraftRoad(object sender, IvyMessageEventArgs e)
+ {
+ if (e[9].ToLower() == "true")
+ userControlRadarView1.manageAircraftSeparationList("add", e[0], e[1], e[2], e[3], e[4], e[5], e[6], e[7], e[8]);
+ else
+ userControlRadarView1.manageAircraftSeparationList("clear", "", "", "", "", "", "", "", "", "");
+ }
+
+ private void PartAircraft(object sender, IvyMessageEventArgs e)
+ {
+ if (e[1].ToLower() == "true")
+ userControlRadarView1.managePartAircraftList("add", e[0]);
+ else if (e[1].ToLower() == "false")
+ userControlRadarView1.managePartAircraftList("remove", e[0]);
+ else
+ userControlRadarView1.managePartAircraftList("change", e[0]);
+ }
+
+ private void WarningAircraft(object sender, IvyMessageEventArgs e)
+ {
+ if (e[1].ToLower() == "true")
+ userControlRadarView1.manageWarningAircraftList("add", e[0]);
+ else if (e[1].ToLower() == "false")
+ userControlRadarView1.manageWarningAircraftList("remove", e[0]);
+ else
+ userControlRadarView1.manageWarningAircraftList("change", e[0]);
+ }
+
+ private void SelectAircraft(object sender, IvyMessageEventArgs e)
+ {
+ if (e[1].ToLower() == "true")
+ userControlRadarView1.manageSelectedAircraftTimer("add", e[0]);
+ else
+ userControlRadarView1.manageSelectedAircraftTimer("clear", e[0]);
+ }
+
+ #endregion
+
+ #region Other methods
+
+ public void sendIvyMessage(string txt)
+ {
+ int resp = IvyBus.ivy.SendMsg(txt);
+ Console.WriteLine("Message sent on Ivy : " + txt + " with response : " + resp);
+ }
+
+ #endregion
+ }
+
+}