Beispiel #1
0
        public static Point CenterBetweenNodes(NodModelBase Nod1, NodModelBase Nod2)
        {
            double newNodePosX;
            double newNodePosY;

            if (Nod1.PositionLeft > Nod2.PositionLeft)
            {
                newNodePosX = Nod2.PositionLeft + (Nod1.PositionLeft - Nod2.PositionLeft) / 2;

                if (Nod1.PositionTop > Nod2.PositionTop)
                {
                    newNodePosY = Nod2.PositionTop + (Nod1.PositionTop - Nod2.PositionTop) / 2;
                }
                else
                {
                    newNodePosY = Nod1.PositionTop + (Nod2.PositionTop - Nod1.PositionTop) / 2;
                }
            }
            else
            {
                newNodePosX = Nod1.PositionLeft + (Nod2.PositionLeft - Nod1.PositionLeft) / 2;
                if (Nod1.PositionTop > Nod2.PositionTop)
                {
                    newNodePosY = Nod2.PositionTop + (Nod1.PositionTop - Nod2.PositionTop) / 2;
                }
                else
                {
                    newNodePosY = Nod1.PositionTop + (Nod2.PositionTop - Nod1.PositionTop) / 2;
                }
            }

            return(new Point(newNodePosX, newNodePosY));
        }
Beispiel #2
0
        public LinjeModel(LinjeViewModel lvm, NodModelBase n1, NodModelBase n2)
        {
            LinjeViewModel = lvm;
            Nod1           = n1;
            Nod2           = n2;

            SetOnPropertyChanged();
        }
Beispiel #3
0
        public static LinjeModel GetSharingLinje(NodModelBase n1, NodModelBase n2)
        {
            foreach (LinjeModel l in n1.LinjeListModel)
            {
                if (l.Nod1 == n2 || l.Nod2 == n2)
                {
                    return(l);
                }
            }

            return(null);
        }
Beispiel #4
0
        public LinjeViewModel AddNewLinje(NodModelBase n1, NodModelBase n2)
        {
            LinjeViewModel lvm = new LinjeViewModel(this, n1, n2);

            n1.LinjeListModel.Add(lvm.LinjeModel);
            n2.LinjeListModel.Add(lvm.LinjeModel);

            Add(lvm);

            lvm.Select();

            return(lvm);
        }
Beispiel #5
0
        public void ReplaceNod(NodModelBase oldNod, NodModelBase newNod)
        {
            if (Nod1 == oldNod)
            {
                Nod1 = newNod;
            }
            else
            {
                Nod2 = newNod;
            }

            SetOnPropertyChanged();
        }
Beispiel #6
0
 public LinjeViewModel(LinjeRepository lr, NodModelBase n1, NodModelBase n2)
 {
     LinjeRepository = lr;
     LinjeModel      = new LinjeModel(this, n1, n2);
 }