Esempio n. 1
0
 public void OnMouseUp(object sender, MouseEventArgs e)
 {
     if (Dragged != null)
     {
         Dragged        = null;
         DraggingVector = Vector.Zero;
     }
 }
Esempio n. 2
0
        //Sketchy but needed
        public Relationship(ClassDiagramNode origin, ClassDiagramNode target) : base(new BasicNodeStructure(Vector.Zero, 0, 0), RectangleRenderElementStyle.Default)
        {
            OriginNode = origin;
            TargetNode = target;
            List <Vector> vectors = GetLineVectors();

            Origin = new RelationshipSegment(vectors[0], vectors[3], vectors[2]);
            Target = new RelationshipSegment(vectors[1], vectors[4], vectors[2]);
            OriginNode.OnPositionChanged += OnPositionChanged;
            TargetNode.OnPositionChanged += OnPositionChanged;
            OnOptionsHide += HideOptions;
            OnOptionsShow += ShowOptions;
            GeneratePrefab();
            StealHitboxes();
        }
Esempio n. 3
0
        public void AddDiagram(ClassStructure structure)
        {
            ClassDiagramNode node = new ClassDiagramNode(structure, new BasicNodeStructure(structure.Position, 0, Renderer.SingleTextHeight), RectangleRenderElementStyle.Classes);

            node.AddNode(new PropertyNode(new PropertyStructure(Vector.Zero, "Prop", "Type", AccessModifiers.Public, Modifiers.None), new BasicNodeStructure(Vector.Zero, 0, Renderer.SingleTextHeight), RectangleRenderElementStyle.Textbox));
            node.AddNode(new MethodNode(new MethodStructure(Vector.Zero, "Method", "Type", "Name : Type", AccessModifiers.Public, Modifiers.None), new BasicNodeStructure(Vector.Zero, 0, Renderer.SingleTextHeight), RectangleRenderElementStyle.Textbox));
            if (!Project.Classes.Contains(structure))
            {
                Project.AddClass(structure);
            }
            Children.Add(node);
            node.OnRemoval   += (sender, args) => RemoveDiagram((ClassDiagramNode)args.Node);
            node.OnFocused   += OnNodeFocus;
            node.OnUnfocused += OnNodeUnfocus;
            node.Position     = new Vector(node.Position.X - (node.Width / 2), node.Position.Y - (node.Height / 2));
        }
Esempio n. 4
0
        // TODO: Drag only if nothing is clicked on
        public void OnMouseDown(object sender, MouseEventArgs e)
        {
            Vector mouse_position = (Vector)e.Location / Renderer.Scale - Renderer.Origin;

            LastMousePos = mouse_position;
            if (e.Button == MouseButtons.Left)
            {
                Dragged = ((ClassDiagramNode)Children.FirstOrDefault(x => CheckIfClicked(mouse_position, x)));
                if (Dragged != null)
                {
                    DraggingVector = Dragged.Position - mouse_position;
                }
                else
                {
                    mouse_position = e.Location - Vector.Zero;
                    DraggingVector = Renderer.Origin - mouse_position;
                }
            }
        }
Esempio n. 5
0
 public void RemoveDiagram(ClassDiagramNode diagram)
 {
     Children.Remove(diagram);
 }