public override void InputEvent(int evId)
        {
            base.InputEvent(evId);
            if (evId != 4)
            {
                return;
            }
            ShowInfo(2, "Отметьте конец линии");
            if (start == IntPtr.Zero)
            {
                start = CoreWrapper.nodeFactory(X, Y);
            }
            if (end == IntPtr.Zero)
            {
                end = CoreWrapper.nodeFactory(X, Y);
            }
            else
            {
                end = CoreWrapper.nodeFactory(X, Y);

                if (newLineGen != IntPtr.Zero)
                {
                    CoreWrapper.detachFromBase(CurrentSession, CurrentDocument, lineId);
                }

                newLineGen = CoreWrapper.genericFactory(CoreWrapper.lineFactory(start, end), (uint)0);
                lineId     = CoreWrapper.attachToBase(CurrentSession, CurrentDocument, newLineGen);

                CoreWrapper.commit(CurrentSession, CurrentDocument);
                FinilizeOperation();
            }
        }
        public override void MouseMove(double x, double y)
        {
            base.MouseMove(x, y);
            if (start != IntPtr.Zero)
            {
                //CoreWrapper.Destroy(end)
                end = CoreWrapper.nodeFactory(X, Y);

                if (newLineGen != IntPtr.Zero)
                {
                    CoreWrapper.detachFromBase(CurrentSession, CurrentDocument, lineId);
                }

                newLineGen = CoreWrapper.genericFactory(CoreWrapper.lineFactory(start, end), (uint)0);
                lineId     = CoreWrapper.attachToBase(CurrentSession, CurrentDocument, newLineGen);
            }
        }