public EditSelectedLocalNameForm(Identification idType, string language, string namePair, CatchLocalNameSelectedForm parentForm) { InitializeComponent(); _idType = idType; _language = language; _namePair = namePair; _parentForm = parentForm; if (_idType == Identification.LocalName) { foreach (var item in Names.AllSpeciesDictionary) { comboBox.Items.Add(item); } lblEdit.Text = "Select a species name"; Text = "Provide a species name"; } else if (_idType == Identification.Scientific) { foreach (var item in Names.LocalNameListDict) { comboBox.Items.Add(item); } lblEdit.Text = "Select a local/common name"; Text = "Provide a local name"; } comboBox.ValueMember = "Key"; comboBox.DisplayMember = "Value"; comboBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend; comboBox.AutoCompleteSource = AutoCompleteSource.ListItems; comboBox.Visible = true; txtLocalName.Visible = false; comboBox.Location = txtLocalName.Location; comboBox.Size = txtLocalName.Size; _editActionType = EditActionType.ActionTypeAdd; }
public EditSelectedLocalNameForm(string selectedName, string nameGuid, CatchLocalNameSelectedForm parentForm) { InitializeComponent(); _selectedName = selectedName; _nameGuid = nameGuid; _parentForm = parentForm; _editActionType = EditActionType.ActionTypeEdit; }
private static EditActionType getInvertedAction(EditActionType forwardActionType) { switch (forwardActionType) { case EditActionType.SetNodePosition: return EditActionType.SetNodePosition; case EditActionType.ReplaceGeometry: return EditActionType.ReplaceGeometry; case EditActionType.InsertNode: return EditActionType.DeleteNode; case EditActionType.DeleteNode: return EditActionType.InsertNode; case EditActionType.InsertPatch: return EditActionType.DeletePatch; case EditActionType.DeletePatch: return EditActionType.InsertPatch; } throw new ArgumentException("Unsupported value", "forwardActionType"); }
public EditAction(EditActionType actionType, EditActionParameters parameters, out EditAction inverseAction) { _actionType = actionType; _parameters = parameters; EditActionParameters invertedParameters = new EditActionParameters(); inverseAction = null; if (actionType == EditActionType.SetNodePosition) { invertedParameters.PatchIndex = parameters.PatchIndex; invertedParameters.NodeIndex = parameters.NodeIndex; ICoordinate oldPosition = null; if (_parameters.OldGeometry is Polyline) oldPosition = (ICoordinate)(_parameters.OldGeometry as Polyline).Paths[parameters.PatchIndex].Vertices[_parameters.NodeIndex].Clone(); if (_parameters.OldGeometry is Polygon) oldPosition = (ICoordinate)(_parameters.OldGeometry as Polygon).Contours[parameters.PatchIndex].Vertices[_parameters.NodeIndex].Clone(); invertedParameters.NodePosition = oldPosition; } else if (actionType == EditActionType.InsertNode) { invertedParameters.PatchIndex = parameters.PatchIndex; invertedParameters.NodeIndex = parameters.NodeIndex; } else if (actionType == EditActionType.DeleteNode) { invertedParameters.PatchIndex = parameters.PatchIndex; invertedParameters.NodeIndex = parameters.NodeIndex; ICoordinate oldPosition = null; if (_parameters.OldGeometry is Polyline) oldPosition = (ICoordinate)(_parameters.OldGeometry as Polyline).Paths[parameters.PatchIndex].Vertices[_parameters.NodeIndex].Clone(); if (_parameters.OldGeometry is Polygon) oldPosition = (ICoordinate)(_parameters.OldGeometry as Polygon).Contours[parameters.PatchIndex].Vertices[_parameters.NodeIndex].Clone(); invertedParameters.NodePosition = oldPosition; } else if (actionType == EditActionType.InsertPatch) { invertedParameters.PatchIndex = parameters.PatchIndex; } else if (actionType == EditActionType.DeletePatch) { invertedParameters.PatchIndex = parameters.PatchIndex; List<ICoordinate> patchCoordinates = new List<ICoordinate>(); if (_parameters.OldGeometry is Polyline) foreach (ICoordinate c in (_parameters.OldGeometry as Polyline).Paths[parameters.PatchIndex].Vertices) patchCoordinates.Add((ICoordinate)c.Clone()); if (_parameters.OldGeometry is Polygon) foreach (ICoordinate c in (_parameters.OldGeometry as Polygon).Contours[parameters.PatchIndex].Vertices) patchCoordinates.Add((ICoordinate)c.Clone()); invertedParameters.PatchCoordinates = patchCoordinates; } else if (actionType == EditActionType.ReplaceGeometry) { invertedParameters.NewGeometry = parameters.OldGeometry; } _parameters.OldGeometry = null; inverseAction = new EditAction(getInvertedAction(actionType), invertedParameters); }
private EditAction(EditActionType actionType, EditActionParameters parameters) { _actionType = actionType; _parameters = parameters; }