コード例 #1
0
ファイル: MainForm.cs プロジェクト: j-prox/blueprint41
        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();
        }
コード例 #2
0
ファイル: MainForm.cs プロジェクト: j-prox/blueprint41
        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();
        }
コード例 #3
0
ファイル: MainForm.cs プロジェクト: j-prox/blueprint41
        void GraphEditor_ExcludeEntity(object sender, NodeEventArgs e)
        {
            if (e.Node.UserData is Submodel.NodeLocalType model)
            {
                Model.ExcludeFromCurrentModel(model);
            }

            ReloadGraph();
            Model.Invalidate();
            RefreshNodeCombobox();
            CloseNodeEditor();
            EnableDisableButtons();
        }
コード例 #4
0
ファイル: MainForm.cs プロジェクト: j-prox/blueprint41
        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();
                }
            }
        }