public void AddMCUData(MCUDataAsset[] input)
 {
     foreach(MCUDataAsset token in input){
         DataItems.Add(token.rawDataName, token);
     }
     if(autoUpdate){writeDataToXML();}
 }
 public static MCUDataDisplay GetInstance(MCUDataAsset input)
 {
     if (input.GetType().Equals("DIGITAL"))
     {
         return new DigitalDataDisplay(input);
     }
     else
     {
         return new AnalogDataDisplay(input);
     }
 }
 public DigitalDataDisplay(MCUDataAsset item)
     : base()
 {
     containedData = item;
     NameLabel.Text = item.refinedDataName + "(" + item.rawDataName + ")";
     valueDisplay = new Label();
     valueDisplay.Location = new System.Drawing.Point(210,0);
     this.Controls.Add(valueDisplay);
     valueDisplay.Size = new System.Drawing.Size(100, 25);
     valueDisplay.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
     valueDisplay.Text = "VAL";
     valueDisplay.ForeColor = System.Drawing.Color.White;
     containedData = item;
 }
 public void AddMCUData(MCUDataAsset input)
 {
     if (DataItems.ContainsKey(input.rawDataName))
     {
         DataItems[input.rawDataName] = input;
     }
     else
     {
         //.25 Regex is needed for misreads caused by incomplete transmissions, and for raw names that goof with parsing.
         if (Regex.IsMatch(input.rawDataName, @"^[A-Za-z0-9]*$"))
         {
             DataItems.Add(input.rawDataName, input);
             if (autoUpdate) { writeDataToXML(); }
         }
     }
 }
 public AnalogDataDisplay(MCUDataAsset input)
     : base()
 {
     NameLabel.Text = input.refinedDataName + "(" + input.rawDataName + ")";
     containedData = input;
     InitializeElement();
     valueDisplay = new Label();
     slideDataDisplay = new Panel();
     valueDisplay.AutoSize = false;
     valueDisplay.BackColor = System.Drawing.Color.FromArgb(0,255,255,255);
     this.Controls.Add(slideDataDisplay);
     this.slideDataDisplay.Controls.Add(valueDisplay);
     slideDataDisplay.Location = new System.Drawing.Point(210, 0);
     slideDataDisplay.BackColor = System.Drawing.Color.Green;
        // valueDisplay.Location = new System.Drawing.Point(210,0);
     valueDisplay.Size = new System.Drawing.Size(100, 25);
     valueDisplay.ForeColor = System.Drawing.Color.White;
     valueDisplay.Font = new System.Drawing.Font("Segoe UI", 14F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
     valueDisplay.Text = "VAL";
     valueDisplay.Size = new System.Drawing.Size(200, 25);
     valueDisplay.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
 }
        public CompoundDataDisplay(MCUDataAsset XAxisData, MCUDataAsset YAxisDataIn)
            : base()
        {
            containedData=XAxisData;
            YAxisData=YAxisDataIn;
            NameLabel.Text = "AXIS:" + XAxisData.rawDataName + "," + YAxisData.rawDataName;
            AxisDisplay = new Panel();
            XLine = new Panel();
            YLine = new Panel();
            XData = new Label();
            YData = new Label();
            this.Controls.Add(XData);
            this.Controls.Add(YData);
            AxisDisplay.Controls.Add(XLine);
            AxisDisplay.Controls.Add(YLine);
            this.Controls.Add(AxisDisplay);
            XLine.Size= new System.Drawing.Size(2,GridSize);
            YLine.Size= new System.Drawing.Size(GridSize,2);
            XLine.BackColor=System.Drawing.Color.White;
            YLine.BackColor=System.Drawing.Color.White;
            this.Size = new System.Drawing.Size(GridSize+52, GridSize+52);
            AxisDisplay.Size = new System.Drawing.Size(GridSize+2,GridSize+2);
            AxisDisplay.AutoSize = false;
            this.AxisDisplay.Location = new System.Drawing.Point(0, 50);

            XData.ForeColor = System.Drawing.Color.White;
            XData.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            XData.Text = "VAL";
            XData.Size = new System.Drawing.Size(100, 25);
            XData.Location = new System.Drawing.Point(0, 25);
            this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;

            YData.ForeColor = System.Drawing.Color.White;
            YData.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            YData.Text = "VAL";
            YData.Size = new System.Drawing.Size(100, 25);
            YData.Location = new System.Drawing.Point(100, 25);
        }
 private void AddDataLabel(String name, MCUDataAsset data)
 {
     this.Invoke((MethodInvoker)delegate
     {
         dataLabels.Add(name, DataDisplayFactory.GetInstance(data));
         this.SensorReadingsContainer.Controls.Add(dataLabels[name]);
         dataLabels[name].Location = new System.Drawing.Point(12, dataLabelHeights[paramNumber]);
         paramNumber++;
     });
 }