Exemple #1
0
        protected override void OnMouseUp(MouseEventArgs e)
        {
            base.OnMouseUp(e);

            switch (Drag)
            {
                case DragOp.CableFrom:
                    {
                        var src = Selected as TPin;
                        var dest = Hovered as TPin;
                        if (dest != null && !dest.IsOutput && dest.Module.Mod.Inputs[dest.Index] == null)
                        {
                            try
                            {
                                MyGraph.Connect(src.Module.Mod, dest.Module.Mod,
                                    (dest.Index > 0 ? dest.Module.Mod.Definition.ParamNames[dest.Index - 1] : null));
                            }
                            catch (ModelException me)
                            {
                                MessageBox.Show(me.Message);
                            }
                            Dirty = true;
                        }
                        DragCable = null;
                        Invalidate();
                    }
                    break;
                case DragOp.CableTo:
                    {
                        var src = Hovered as TPin;
                        var dest = Selected as TPin;
                        if (src != null && src.IsOutput)
                        {
                            try
                            {
                                MyGraph.Connect(src.Module.Mod, dest.Module.Mod,
                                    (dest.Index > 0 ? dest.Module.Mod.Definition.ParamNames[dest.Index - 1] : null));
                            }
                            catch (ModelException me)
                            {
                                MessageBox.Show(me.Message);
                            }
                            Dirty = true;
                        }
                        DragCable = null;
                        Invalidate();
                    }
                    break;
            }
            Drag = DragOp.None;
        }
Exemple #2
0
        protected override void OnMouseMove(MouseEventArgs e)
        {
            base.OnMouseMove(e);
            SetHovered(Hit(e.Location));

            switch (Drag)
            {
                case DragOp.Module:
                    {
                        var tmod = Selected as TModule;

                        tmod.Mod.X = Math.Max(0, e.X - DragOffset.X);
                        tmod.Mod.Y = Math.Max(0, e.Y - DragOffset.Y);

                        Dirty = true;
                        Invalidate();
                    }
                    break;
                case DragOp.CableFrom:
                    {
                        var tpin = Selected as TPin;
                        DragCable = new TCable(tpin.Module, e.Location, this);
                        Invalidate();
                    }
                    break;
                case DragOp.CableTo:
                    {
                        var tpin = Selected as TPin;
                        DragCable = new TCable(e.Location, tpin.Module, tpin.Index, this);
                        Invalidate();
                    }
                    break;
            }
        }