Ejemplo n.º 1
0
        private void HandleRightClick(Vector mouse_position, MouseEventArgs e)
        {
            INode temp = Children.FirstOrDefault(x => CheckIfClicked(mouse_position, x));

            if (temp == null)
            {
                temp = RelationshipManager.Relationships.FirstOrDefault(x => CheckIfClicked(mouse_position, x));
            }
            if (temp != null)
            {
                if (temp is ClassDiagramNode cn)
                {
                    IOptionsNode op = SearchForOptionsNode(temp, mouse_position);
                    op.OptionsPrefab.Position = mouse_position;
                    op.OnOptionsShow?.Invoke(this, EventArgs.Empty);
                }
                else if (temp is Relationship rs)
                {
                    OnOptionsHide?.Invoke(this, EventArgs.Empty);
                    rs.OptionsPrefab.Position = mouse_position;
                    rs.OnOptionsShow?.Invoke(this, EventArgs.Empty);
                    focusedRelationship = rs;
                }
            }
            else
            {
                OptionsPrefab.Position = mouse_position;
                OnOptionsShow?.Invoke(this, EventArgs.Empty);
            }
        }
Ejemplo n.º 2
0
        public void GeneratePrefab()
        {
            float total_Width = Renderer.GetTextWidth(16);

            OptionsPrefab = new BasicContainerNode(new BasicNodeStructure(Vector.Zero, total_Width, Renderer.SingleTextHeight * 1), RectangleRenderElementStyle.Default);
            OptionsPrefab.AddNode(new ButtonNode(new ButtonStructure(Vector.Zero, "Proof of Concept", total_Width, Renderer.SingleTextHeight, () =>
            {
                OnOptionsHide?.Invoke(this, EventArgs.Empty);
            }),
                                                 RectangleRenderElementStyle.Default,
                                                 TextRenderElementStyle.Default));
        }
Ejemplo n.º 3
0
 public void ShowOptions(object sender, EventArgs e)
 {
     if (OptionsMenu == null)
     {
         OptionsMenu = OptionsPrefab;
         TriggerAreas.Add(OptionsMenu.TriggerAreas[0]);
         OnFocused?.Invoke(this, new NodeEventArgs(OptionsMenu));
         FocusedNode?.OnUnfocused?.Invoke(this, new NodeEventArgs(FocusedNode));
         TriggerAreas.Add(OptionsMenu.TriggerAreas[0]);
     }
     else
     {
         OnOptionsHide?.Invoke(this, e);
     }
 }