Package com.cburch.logisim.instance

Examples of com.cburch.logisim.instance.Port


            } else {
                end0 = Location.create(-30, -10);
                end1 = Location.create(-3010);
                sel = Location.create(-20, selMult * 20);
            }
            ps[0] = new Port(end0.getX(), end0.getY(), Port.INPUT,  data.getWidth());
            ps[1] = new Port(end1.getX(), end1.getY(), Port.INPUT,  data.getWidth());
        } else {
            int dx = -(inputs / 2) * 10;
            int ddx = 10;
            int dy = -(inputs / 2) * 10;
            int ddy = 10;
            if (dir == Direction.WEST) {
                dx = 40; ddx = 0;
                sel = Location.create(20, selMult * (dy + 10 * inputs));
            } else if (dir == Direction.NORTH) {
                dy = 40; ddy = 0;
                sel = Location.create(selMult * dx, 20);
            } else if (dir == Direction.SOUTH) {
                dy = -40; ddy = 0;
                sel = Location.create(selMult * dx, -20);
            } else {
                dx = -40; ddx = 0;
                sel = Location.create(-20, selMult * (dy + 10 * inputs));
            }
            for (int i = 0; i < inputs; i++) {
                ps[i] = new Port(dx, dy, Port.INPUT, data.getWidth());
                dx += ddx;
                dy += ddy;
            }
        }
        Location en = sel.translate(dir, 10);
        ps[inputs] = new Port(sel.getX(), sel.getY(), Port.INPUT, select.getWidth());
        if (enable) {
            ps[inputs + 1] = new Port(en.getX(), en.getY(), Port.INPUT, BitWidth.ONE);
        }
        ps[ps.length - 1] = new Port(0, 0, Port.OUTPUT, data.getWidth());

        for (int i = 0; i < inputs; i++) {
            ps[i].setToolTip(getFromLocale("multiplexerInTip", "" + i));
        }
        ps[inputs].setToolTip(getFromLocale("multiplexerSelectTip"));
View Full Code Here


            inPt  = Location.create(-30, 0);
            selPt = Location.create(-10, 10);
        }

        Port[] ps = new Port[3];
        ps[0] = new Port(0, 0, Port.OUTPUT, group.getWidth());
        ps[1] = new Port(inPt.getX(), inPt.getY(), Port.INPUT, data.getWidth());
        ps[2] = new Port(selPt.getX(), selPt.getY(), Port.INPUT, select.getWidth());
        ps[0].setToolTip(getFromLocale("bitSelectorOutputTip"));
        ps[1].setToolTip(getFromLocale("bitSelectorDataTip"));
        ps[2].setToolTip(getFromLocale("bitSelectorSelectTip"));
        instance.setPorts(ps);
    }
View Full Code Here

                "", Io.LABEL_CENTER,
                StdAttr.DEFAULT_LABEL_FONT, Color.BLACK
            });
        setFacingAttribute(StdAttr.FACING);
        setIconName("led.svg");
        setPorts(new Port[] { new Port(0, 0, Port.INPUT, 1) });
        setInstanceLogger(Logger.class);
    }
View Full Code Here

    }

    private void configurePorts(Instance instance) {
        PinAttributes attrs = (PinAttributes) instance.getAttributeSet();
        String endType = attrs.isOutput() ? Port.INPUT : Port.OUTPUT;
        Port port = new Port(0, 0, endType, StdAttr.WIDTH);
        if (attrs.isOutput()) {
            port.setToolTip(getFromLocale("pinOutputToolTip"));
        } else {
            port.setToolTip(getFromLocale("pinInputToolTip"));
        }
        instance.setPorts(new Port[] { port });
    }
View Full Code Here

                new Object[] { BitWidth.create(4), Color.RED });
        setKeyConfigurator(new BitWidthConfigurator(ATTR_WIDTH, 2, 5));
        setOffsetBounds(Bounds.create(-30, -10, 30, 30));
        setIconName("joystick.svg");
        setPorts(new Port[] {
                new Port(0, 0, Port.OUTPUT, ATTR_WIDTH),
                new Port(0, 10, Port.OUTPUT, ATTR_WIDTH),
            });
        setInstancePoker(Poker.class);
    }
View Full Code Here

                Color.BLACK, DEFAULT_BACKGROUND
            });
        setIconName("tty.svg");

        Port[] ps = new Port[4];
        ps[CLR] = new Port(2010, Port.INPUT, 1);
        ps[CK= new Port( 0,   0, Port.INPUT, 1);
        ps[WE= new Port(1010, Port.INPUT, 1);
        ps[IN= new Port( 0, -10, Port.INPUT, 7);
        ps[CLR].setToolTip(getFromLocale("ttyClearTip"));
        ps[CK].setToolTip(getFromLocale("ttyClockTip"));
        ps[WE].setToolTip(getFromLocale("ttyEnableTip"));
        ps[IN].setToolTip(getFromLocale("ttyInputTip"));
        setPorts(ps);
View Full Code Here

        Object powerLoc = instance.getAttributeValue(Wiring.ATTR_GATE);
        boolean flip = (facing == Direction.SOUTH || facing == Direction.WEST)
            == (powerLoc == Wiring.GATE_TOP_LEFT);

        Port[] ports = new Port[4];
        ports[OUTPUT] = new Port(0, 0, Port.OUTPUT, StdAttr.WIDTH);
        ports[INPUT] = new Port(40 * dx, 40 * dy, Port.INPUT, StdAttr.WIDTH);
        if (flip) {
            ports[GATE1] = new Port(20 * (dx - dy), 20 * (dx + dy), Port.INPUT, 1);
            ports[GATE0] = new Port(20 * (dx + dy), 20 * (-dx + dy), Port.INPUT, 1);
        } else {
            ports[GATE0] = new Port(20 * (dx - dy), 20 * (dx + dy), Port.INPUT, 1);
            ports[GATE1] = new Port(20 * (dx + dy), 20 * (-dx + dy), Port.INPUT, 1);
        }
        instance.setPorts(ports);
    }
View Full Code Here

        setOffsetBounds(Bounds.create(0, -15, WIDTH, HEIGHT));
        setIconName("keyboard.svg");
        setInstancePoker(Poker.class);

        Port[] ps = new Port[5];
        ps[CLR] = new Port( 20, 10, Port.INPUT, 1);
        ps[CK= new Port00, Port.INPUT, 1);
        ps[RE= new Port( 10, 10, Port.INPUT, 1);
        ps[AVL] = new Port(130, 10, Port.OUTPUT, 1);
        ps[OUT] = new Port(140, 10, Port.OUTPUT, 7);
        ps[CLR].setToolTip(getFromLocale("keybClearTip"));
        ps[CK].setToolTip(getFromLocale("keybClockTip"));
        ps[RE].setToolTip(getFromLocale("keybEnableTip"));
        ps[AVL].setToolTip(getFromLocale("keybAvailTip"));
        ps[OUT].setToolTip(getFromLocale("keybOutputTip"));
View Full Code Here

    //
    @Override
    protected void configureNewInstance(Instance instance) {
        instance.addAttributeListener();
        instance.setPorts(new Port[] {
                new Port(0, 0, Port.INOUT, BitWidth.UNKNOWN)
            });
    }
View Full Code Here

            instance.fireInvalidated();
        }
    }

    private void configurePorts(Instance instance) {
        Port p0 = new Port(0, 0, Port.OUTPUT, ATTR_OUT_WIDTH);
        Port p1 = new Port(-40, 0, Port.INPUT, ATTR_IN_WIDTH);
        String type = getType(instance.getAttributeSet());
        if (type.equals("input")) {
            instance.setPorts(new Port[] { p0, p1, new Port(-20, -20, Port.INPUT, 1) });
        } else {
            instance.setPorts(new Port[] { p0, p1 });
        }
    }
View Full Code Here

TOP

Related Classes of com.cburch.logisim.instance.Port

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.