summaryrefslogtreecommitdiff
path: root/SimpleRadar/FormSimpleRadar.cs
diff options
context:
space:
mode:
authorhurter2011-08-31 16:25:05 +0000
committerhurter2011-08-31 16:25:05 +0000
commit42dc1d36235292786322d28340a81c6cb3fd46c0 (patch)
tree6f4ef0d4ad672c54500d9457af90fc599ac9b299 /SimpleRadar/FormSimpleRadar.cs
parent5aa429a3e7e9f610f5b2dd8f8e2a865ecfd25ea3 (diff)
downloadamilis-42dc1d36235292786322d28340a81c6cb3fd46c0.zip
amilis-42dc1d36235292786322d28340a81c6cb3fd46c0.tar.gz
amilis-42dc1d36235292786322d28340a81c6cb3fd46c0.tar.bz2
amilis-42dc1d36235292786322d28340a81c6cb3fd46c0.tar.xz
Diffstat (limited to 'SimpleRadar/FormSimpleRadar.cs')
-rw-r--r--SimpleRadar/FormSimpleRadar.cs298
1 files changed, 298 insertions, 0 deletions
diff --git a/SimpleRadar/FormSimpleRadar.cs b/SimpleRadar/FormSimpleRadar.cs
new file mode 100644
index 0000000..08e2de5
--- /dev/null
+++ b/SimpleRadar/FormSimpleRadar.cs
@@ -0,0 +1,298 @@
+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;
+using System.Globalization;
+
+namespace SimpleRadar
+{
+ public partial class FormSimpleRadar : Form
+ {
+ public static FormSimpleRadar FormRadarInstance;
+ UserControlRadarView userControlRadarView1;
+
+ public static IvyBus.Ivy TheIvyBus;
+
+
+ #region Attributes
+
+ #endregion
+
+ #region Constructor
+
+ public FormSimpleRadar()
+ {
+ FormRadarInstance = this;
+ userControlRadarView1 = new UserControlRadarView();
+ this.Controls.Add(userControlRadarView1);
+ userControlRadarView1.Dock = DockStyle.Fill;
+
+ 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();
+
+ FormSimpleRadar.TheIvyBus = IvyBus.ivy;
+ }
+
+ #endregion
+
+ #region Ivy messages binding
+
+ private void Bind()
+ {
+
+ int regexp_id = IvyBus.ivy.BindMsg(@"RadarScreenPenDown PenId=(.*) X=(.*) Y=(.*)",
+ RadarScreenPenDown, null);
+
+ // ajoute la nouvelle regex
+
+ 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]);
+ }
+
+ CultureInfo ci = new CultureInfo("en-US");
+
+ /// <summary>
+ /// The anoto supervision sent a pendown event
+ /// </summary>
+ /// <param name="sender"></param>
+ /// <param name="e"></param>
+ private void RadarScreenPenDown(object sender, IvyMessageEventArgs e)
+ {
+ string penId = e[0];
+ float x = float.Parse(e[1],ci);
+ float y = float.Parse(e[2],ci);
+ userControlRadarView1.AddNewPenDown(new PointF(x, y));
+
+
+ }
+
+ #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 }
+ }
+
+} \ No newline at end of file