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"); } } }