public void handleSelectClick(SelectClick click)
 {
     click.acceptPropAdd();
     click?.setContainsRect(bounds);
     if (click?.ContainsRect ?? false)
     {
         invokeClickDelegate(click);
     }
 }
示例#2
0
        public void mouseUp(Point pos)
        {
            if (note_select)
            {
                var click = new NoteSelectClick(pos);
                tree.HandleMouseEvent(click);
                populateSelected(click);
                noteSelected(click);
            }

            else if (checkMouseMoved(pos))
            {
                NodeClick click;
                if (checkForDragRelease(pos))
                {
                    click = new ReleaseClick(pos);
                    selected.populateNodeClick(click);
                }
                else
                {
                    click = new SelectClick(pos, new Rect(pos, down_point));
                }
                tree.HandleMouseEvent(click);
                populateSelected(click);
            }

            else if (double_click && selected.selectedContainsPoint(pos))
            {
                var click = new NodeClick(pos);
                selected.populateNodeClick(click);

                var args = new PropertyMenuEventArgs(click);
                PropertyMenuChanged?.Invoke(this, args);
            }

            else
            {
                var click = new StandardClick(SelectionState, pos);

                tree.HandleMouseEvent(click);
                if (!click.Handled)
                {
                    populateSelected(click);
                }

                if (SelectionState == Selection.Standard)
                {
                    TimeDoubleClick();
                }
            }
        }