public void AddNewTarget(double latitude, double longitude)
        {
            TargetdeckComponent before = (TargetdeckComponent)hComponent.Clone();

            // Create new component
            TargetComponent newTarget = new TargetComponent(latitude, longitude);

            hComponent.AddTarget(newTarget);

            // Create new icon
            double     x       = (longitude + 180.0) * worldMap.Size.Width / 360.0;
            double     y       = (latitude + 90.0) * worldMap.Size.Height / 180.0;
            TargetIcon newIcon = new TargetIcon(newTarget);

            newIcon.Location = new Point((int)x, (int)y);
            newIcon.Visible  = true;
            newIcon.Tag      = newTarget;
            targetIcons.Add(newIcon);
            Controls.Add(newIcon);
            newIcon.BringToFront();

            // Register event
            _mManager.RegisterEvent(before, hComponent, hComponent, "Add Target");
        }
        public void RefreshTargets()
        {
            // (Re)creates icons for each target in deck
            foreach (TargetIcon t in targetIcons)
            {
                t.Visible = false;
            }
            targetIcons.Clear();
            double x, y;

            foreach (TargetComponent target in hComponent.Targets)
            {
                TargetIcon newIcon = new TargetIcon(target);
                x = ((double)target.TargetPosition.InitialConditions[0] + 180.0) * worldMap.Size.Width / 360.0;
                y = ((double)target.TargetPosition.InitialConditions[1] + 90.0) * worldMap.Size.Height / 180.0;
                newIcon.Location = new Point((int)x, (int)y);
                newIcon.Tag      = target;
                newIcon.Visible  = true;
                targetIcons.Add(newIcon);
                Controls.Add(newIcon);
                newIcon.BringToFront();
            }
            return;
        }