internal bool EditCurrentObject() { TrackedObjectConfig selectedObject = m_StateMachine.MeasuringStars[m_StateMachine.SelectedMeasuringStar]; int selectedStarId = m_StateMachine.SelectedMeasuringStar; if (LightCurveReductionContext.Instance.LightCurveReductionType == LightCurveReductionType.MutualEvent) { var frmAddMutualTarget = new frmAddOrEditMutualEventsTarget(m_StateMachine.SelectedMeasuringStar, selectedObject, m_StateMachine, m_VideoController); DialogResult result = frmAddMutualTarget.ShowDialog(); if (result == DialogResult.Cancel) return false; if (result == DialogResult.Abort) { m_StateMachine.ObjectSelected(frmAddMutualTarget.ObjectToAdd, false, true /* Ctrl = 'DELETE' */); if (frmAddMutualTarget.ObjectToAdd2 != null) m_StateMachine.ObjectSelected(frmAddMutualTarget.ObjectToAdd2, false, true /* Ctrl = 'DELETE' */); m_StateMachine.SelectedMeasuringStar = -1; m_VideoController.RefreshCurrentFrame(); return false; } if (selectedObject.GroupId != frmAddMutualTarget.ObjectToAdd.GroupId) { if (selectedObject.GroupId > -1) { // Remove the previous group as now the group is different or is not a group List<TrackedObjectConfig> objectsInGroup = m_StateMachine.MeasuringStars.Where(x => x.GroupId == selectedObject.GroupId).ToList(); foreach (TrackedObjectConfig prevObj in objectsInGroup) m_StateMachine.ObjectSelected(prevObj, false, true /* Ctrl = 'DELETE' */); } else // Remove the previous object as now we have a group of objects m_StateMachine.ObjectSelected(selectedObject, false, true /* Ctrl = 'DELETE' */); } m_StateMachine.ObjectEdited(selectedStarId, frmAddMutualTarget.ObjectToAdd); if (frmAddMutualTarget.ObjectToAdd2 != null) m_StateMachine.ObjectEdited(selectedStarId, frmAddMutualTarget.ObjectToAdd2); } else { frmAddOrEditSingleTarget frmAddSingleTarget = new frmAddOrEditSingleTarget(m_StateMachine.SelectedMeasuringStar, selectedObject, m_StateMachine, m_VideoController); DialogResult result = frmAddSingleTarget.ShowDialog(); if (result == DialogResult.Cancel) return false; if (result == DialogResult.Abort) { m_StateMachine.ObjectSelected(frmAddSingleTarget.ObjectToAdd, false, true /* Ctrl = 'DELETE' */); m_StateMachine.SelectedMeasuringStar = -1; m_VideoController.RefreshCurrentFrame(); return false; } m_StateMachine.ObjectEdited(selectedStarId, frmAddSingleTarget.ObjectToAdd); } return true; }
internal bool ConfirmNewObject(int objectId, bool tryAutoDoubleFind) { if (LightCurveReductionContext.Instance.LightCurveReductionType == LightCurveReductionType.MutualEvent) { var frmAddMutualTarget = new frmAddOrEditMutualEventsTarget(objectId, m_StateMachine.SelectedObject, m_StateMachine.SelectedObjectGaussian, m_StateMachine, m_VideoController, tryAutoDoubleFind); if (frmAddMutualTarget.ShowDialog() == DialogResult.Cancel) return false; m_StateMachine.ObjectSelected(frmAddMutualTarget.ObjectToAdd, false, false); if (frmAddMutualTarget.ObjectToAdd2 != null) m_StateMachine.ObjectSelected(frmAddMutualTarget.ObjectToAdd2, false, false); } else { var frmAddSingleTarget = new frmAddOrEditSingleTarget(objectId, m_StateMachine.SelectedObject, m_StateMachine.SelectedObjectGaussian, m_StateMachine, m_VideoController); if (frmAddSingleTarget.ShowDialog() == DialogResult.Cancel) return false; m_StateMachine.ObjectSelected(frmAddSingleTarget.ObjectToAdd, false, false); } return true; }