public void SubjectFocus(SubjectCanvas element)
        {
            FocusedElement = element;

            SubjectVisibility = Visibility.Visible;

            RefVisibility = Visibility.Collapsed;

            Update();
        }
        public ObjectFormView(ApplicationView view, SubjectCanvas element)
        {
            MainView = view;

            Subject = element;

            PropertyElements = new ObservableCollection <FormElement>();

            MethodElements = new ObservableCollection <FormElement>();
        }
        public void Click(SubjectCanvas element, ReferencesType type)
        {
            if (!_counter)
            {
                Subject = element;

                Type = type;

                _counter = true;
            }
            else
            {
                Target = element;

                Type = type;
            }
        }
Ejemplo n.º 4
0
        private void _CanvasClick_Exec(object parameter)
        {
            Point mousePos = Mouse.GetPosition((IInputElement)parameter);

            var elements = ClickCanvas(mousePos);

            switch (CurrentAction)
            {
            case CanvasActionType.Cursor:

                if (elements.Count() > 1)
                {
                    ChooseElemets = new ObservableCollection <ComboBoxElementItem>
                                        (ComboBoxElementItem.GetValues(elements));

                    ((App)Application.Current).ShowDialog();
                }

                if (elements.Count() == 1)
                {
                    SelectElement(elements.Single());
                }
                else if (SelectedElement is SubjectCanvas)
                {
                    ((SubjectCanvas)SelectedElement).Move(mousePos);

                    UpdateCanvas();

                    if (SelectedElement is SubjectCanvas)
                    {
                        ((SubjectCanvas)SelectedElement).UnFocus();

                        UpdateCanvas();
                    }

                    SelectedElement = null;
                }

                break;

            case CanvasActionType.ObjectCreate:

                InfoPanel.UnFocus();

                var subject = new SubjectCanvas(CreateSubject(), mousePos);

                AddCanvasElement(subject);

                break;

            case CanvasActionType.ReferenceCreate:

                InfoPanel.UnFocus();

                if (elements.Count() == 1 && elements.Single() is SubjectCanvas)
                {
                    ReferenceCreator.Click((SubjectCanvas)elements.Single(),
                                           (ReferencesType)CurrentReferenceType);

                    if (ReferenceCreator.IsReady)
                    {
                        var bindings = ReferenceCreator.CreateReference();

                        AddCanvasElement(bindings[0]);

                        AddCanvasElement(bindings[1]);

                        ReferenceCreator.Clear();
                    }
                }
                else
                {
                    ReferenceCreator.Clear();
                }

                break;

            default:
                return;
            }
        }