From 42dc1d36235292786322d28340a81c6cb3fd46c0 Mon Sep 17 00:00:00 2001 From: hurter Date: Wed, 31 Aug 2011 16:25:05 +0000 Subject: --- SimpleRadar_etudiants/FormRadar.cs | 266 +++++++++++++++++++++++++++++++++++++ 1 file changed, 266 insertions(+) create mode 100644 SimpleRadar_etudiants/FormRadar.cs (limited to 'SimpleRadar_etudiants/FormRadar.cs') 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 + } + +} -- cgit v1.1