void GraphEditor_EdgeAdded(object sender, EdgeEventArgs e) { if (tsbEdgeInsertion.Checked == false || removingEdge == true) { return; } using (EdgeEditor editor = new EdgeEditor()) { editor.Model = Model; editor.SourceName = e.Edge.Source; editor.TargetName = e.Edge.Target; if (editor.ShowDialog() == DialogResult.OK) { Model.InsertRelationship(editor.SourceName, editor.TargetName, editor.Relationship, e.Edge); entityEditor.CloseEditor(); graphEditor.ClearSelection(); } else { Model.GraphEditor.Viewer.Undo(); } } Model.Invalidate(); }
void GraphEditor_EdgeRemoved(object sender, EdgeEventArgs e) { removingEdge = true; if (e?.Edge?.UserData is Relationship rel && rel.ContainsDrawingEdge && rel.DeleteIncludeRelationshipModel) { DialogResult dialogResult = MessageBox.Show($@"Are you sure you want to delete the relationship ""{rel.Source.Label}->[{rel.Name}]->{rel.Target.Label}"" from storage?", "WARNING!", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult == DialogResult.Yes) { Model.RemoveRelationship(rel); } else { Model.GraphEditor.Viewer.Undo(); } } if (entityEditor.IsEditable) { entityEditor.UpdateRelationshipGridView(); } removingEdge = false; Model.Invalidate(); }
void GraphEditor_ExcludeEntity(object sender, NodeEventArgs e) { if (e.Node.UserData is Submodel.NodeLocalType model) { Model.ExcludeFromCurrentModel(model); } ReloadGraph(); Model.Invalidate(); RefreshNodeCombobox(); CloseNodeEditor(); EnableDisableButtons(); }
void GraphEditor_DeleteEntity(object sender, NodeEventArgs e) { if (e.Node.UserData is Submodel.NodeLocalType node) { DialogResult dialogResult = MessageBox.Show($@"Are you sure you want to delete the {EntityNodeName.ToLower()} ""{node.Label}"" from storage?", "WARNING!", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult == DialogResult.Yes) { Model.DeleteEntity(node); ReloadGraph(); Model.Invalidate(); RefreshNodeCombobox(); CloseNodeEditor(); EnableDisableButtons(); } } }