Пример #1
0
        public void OnControlMove(object sender, MouseEventArgs e)
        {
            // A target control was moved; update positions
            TargetIcon icon      = (TargetIcon)sender;
            int        iconX     = icon.Location.X;
            int        iconY     = icon.Location.Y;
            int        controlX  = iconX - worldMap.Location.X;
            int        controlY  = iconY - worldMap.Location.Y;
            double     longitude = Conversion.Pixel2Longitude(controlX, worldMap.Width);
            double     latitude  = Conversion.Pixel2Latitude(controlY, worldMap.Height);

            // Change location and register event with memento
            TargetElement target = (TargetElement)icon.Tag;
            TargetElement before = (TargetElement)target.Clone();

            target.Position.Ics[0] = longitude;
            target.Position.Ics[1] = latitude;
            target.Position.Ics[2] = 0.0;
            TargetElement after = (TargetElement)target.Clone();

            _mManager.RegisterEvent(before, after, target, "Move Target");
        }
 private void xBox_TextChanged(object sender, EventArgs e)
 {
     if (_isLLA)
     {
         TargetElement before = (TargetElement)Target.Clone();
         Target.Position.Ics[0] = Convert.ToDouble(longBox.Text);
         TargetElement after = (TargetElement)Target.Clone();
         if (before.ToXml() != after.ToXml())
         {
             _mManager.RegisterEvent(before, after, Target, "Longitude Change");
         }
     }
 }