Search in sources :

Example 76 with Value

use of com.cburch.logisim.data.Value in project logisim-evolution by reds-heig.

the class DipSwitch method propagate.

@Override
public void propagate(InstanceState state) {
    State pins = (State) state.getData();
    if (pins == null || pins.size != state.getAttributeValue(ATTR_SIZE)) {
        int val = (pins == null) ? 0 : pins.Value;
        pins = new State(val, state.getAttributeValue(ATTR_SIZE));
        state.setData(pins);
    }
    for (int i = 0; i < pins.size; i++) {
        Value pinstate = (pins.BitSet(i)) ? Value.TRUE : Value.FALSE;
        state.setPort(i, pinstate, 1);
    }
}
Also used : InstanceState(com.cburch.logisim.instance.InstanceState) Value(com.cburch.logisim.data.Value)

Example 77 with Value

use of com.cburch.logisim.data.Value in project logisim-evolution by reds-heig.

the class KeyboardData method setLastClock.

public Value setLastClock(Value newClock) {
    Value ret = lastClock;
    lastClock = newClock;
    return ret;
}
Also used : Value(com.cburch.logisim.data.Value)

Example 78 with Value

use of com.cburch.logisim.data.Value in project logisim-evolution by reds-heig.

the class Led method paintInstance.

@Override
public void paintInstance(InstancePainter painter) {
    InstanceDataSingleton data = (InstanceDataSingleton) painter.getData();
    Value val = data == null ? Value.FALSE : (Value) data.getValue();
    Bounds bds = painter.getBounds().expand(-1);
    Graphics g = painter.getGraphics();
    if (painter.getShowState()) {
        Color onColor = painter.getAttributeValue(Io.ATTR_ON_COLOR);
        Color offColor = painter.getAttributeValue(Io.ATTR_OFF_COLOR);
        Boolean activ = painter.getAttributeValue(Io.ATTR_ACTIVE);
        Object desired = activ.booleanValue() ? Value.TRUE : Value.FALSE;
        g.setColor(val == desired ? onColor : offColor);
        g.fillOval(bds.getX(), bds.getY(), bds.getWidth(), bds.getHeight());
    }
    g.setColor(Color.BLACK);
    GraphicsUtil.switchToWidth(g, 2);
    g.drawOval(bds.getX(), bds.getY(), bds.getWidth(), bds.getHeight());
    GraphicsUtil.switchToWidth(g, 1);
    painter.drawLabel();
    painter.drawPorts();
}
Also used : Graphics(java.awt.Graphics) Bounds(com.cburch.logisim.data.Bounds) Color(java.awt.Color) Value(com.cburch.logisim.data.Value) InstanceDataSingleton(com.cburch.logisim.instance.InstanceDataSingleton)

Example 79 with Value

use of com.cburch.logisim.data.Value in project logisim-evolution by reds-heig.

the class Led method propagate.

@Override
public void propagate(InstanceState state) {
    Value val = state.getPortValue(0);
    InstanceDataSingleton data = (InstanceDataSingleton) state.getData();
    if (data == null) {
        state.setData(new InstanceDataSingleton(val));
    } else {
        data.setValue(val);
    }
}
Also used : Value(com.cburch.logisim.data.Value) InstanceDataSingleton(com.cburch.logisim.instance.InstanceDataSingleton)

Example 80 with Value

use of com.cburch.logisim.data.Value in project logisim-evolution by reds-heig.

the class ShiftRegisterPoker method mouseReleased.

@Override
public void mouseReleased(InstanceState state, MouseEvent e) {
    int oldLoc = loc;
    if (oldLoc < 0)
        return;
    BitWidth widObj = state.getAttributeValue(StdAttr.WIDTH);
    if (widObj.equals(BitWidth.ONE)) {
        int newLoc = computeStage(state, e);
        if (oldLoc == newLoc) {
            ShiftRegisterData data = (ShiftRegisterData) state.getData();
            int i = data.getLength() - 1 - loc;
            Value v = data.get(i);
            if (v == Value.FALSE)
                v = Value.TRUE;
            else
                v = Value.FALSE;
            data.set(i, v);
            state.fireInvalidated();
        }
    }
}
Also used : BitWidth(com.cburch.logisim.data.BitWidth) Value(com.cburch.logisim.data.Value)

Aggregations

Value (com.cburch.logisim.data.Value)89 BitWidth (com.cburch.logisim.data.BitWidth)30 Graphics (java.awt.Graphics)15 Location (com.cburch.logisim.data.Location)9 Color (java.awt.Color)8 Bounds (com.cburch.logisim.data.Bounds)7 InstanceDataSingleton (com.cburch.logisim.instance.InstanceDataSingleton)7 AttributeSet (com.cburch.logisim.data.AttributeSet)6 InstanceState (com.cburch.logisim.instance.InstanceState)6 Direction (com.cburch.logisim.data.Direction)3 Instance (com.cburch.logisim.instance.Instance)3 Port (com.cburch.logisim.instance.Port)3 CircuitState (com.cburch.logisim.circuit.CircuitState)2 Component (com.cburch.logisim.comp.Component)2 FailException (com.cburch.logisim.data.FailException)2 TestException (com.cburch.logisim.data.TestException)2 Dimension (java.awt.Dimension)2 FontMetrics (java.awt.FontMetrics)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2