Ejemplo n.º 1
0
        /// <summary>
        /// Constructor for clean window
        /// </summary>
        /// <param name="sketchpanel"></param>
        /// <param name="eventHandlingOn">Allow the stylus event handler to work if simulating the clean circuit only</param>
        public CleanCircuit(ref SketchPanelLib.SketchPanel sketchpanel, bool eventHandlingOn) : base()
        {
            // Make gate drawer, set some parameters
            gateDrawer = new GateDrawing.GateDrawing();
            gateDrawer.LockDrawingRatio = true;
            gateDrawer.RotateGates      = true;
            gateDrawer.SnapRotation     = true;

            if (eventHandlingOn)
            {
                this.StylusInAirMove += new StylusEventHandler(ParentStylusInAirMove);
            }
            this.SizeChanged += new SizeChangedEventHandler(CleanCircuit_SizeChanged);

            circuitElements = sketchpanel.Circuit.CircuitElementGraph;

            // Initialize DrawingGroup and our members that keep track of what we've drawn
            DrawingGroup = new DrawingGroup();
            gatesDrawn   = new Dictionary <string, GeometryDrawing>();
            labels       = new Dictionary <string, GeometryDrawing>();
            meshDict     = new Dictionary <string, List <int> >();
            meshesDrawn  = new Dictionary <int, List <GeometryDrawing> >();

            Draw();
        }
        /// <summary>
        /// Constructor.  Makes gate drawer, initializes lists, subscribes to supplied panel
        /// </summary>
        /// <param name="parent"></param>
        public GhostGateFeedback(ref SketchPanel parent)
            : base(ref parent)
        {
            // Set up gate drawer
            gateDrawer                  = new GateDrawing.GateDrawing();
            gateDrawer.RotateGates      = true;
            gateDrawer.SnapRotation     = true;
            gateDrawer.LockDrawingRatio = true;

            // Initialize our list of ghosts
            this.currGhosts = new List <GhostGate>();

            SubscribeToPanel();
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Constructor.  Makes gate drawer, initializes lists, subscribes to supplied panel
        /// </summary>
        /// <param name="parent"></param>
        public GhostGateFeedback(ref SketchPanel parent, GateRotatedHandler gateRotated)
            : base(ref parent)
        {
            // Set up gate drawer
            gateDrawer                  = new GateDrawing.GateDrawing();
            gateDrawer.RotateGates      = true;
            gateDrawer.SnapRotation     = false;
            gateDrawer.LockDrawingRatio = true;
            this.gateRotated            = gateRotated;


            // Initialize our list of ghosts
            this.currGhosts = new List <GhostGate>();

            ShapeToIO   = new Dictionary <Sketch.Shape, KeyValuePair <List <string>, List <string> > >();
            ShapeToGate = new Dictionary <Shape, GhostGate>();

            displayHelpTool = new DisplayHelpTool(ref sketchPanel);

            SubscribeToPanel();
        }