Package com.cburch.logisim.gui.main

Source Code of com.cburch.logisim.gui.main.AttrTableCircuitModel

/* Copyright (c) 2010, Carl Burch. License information is located in the
* com.cburch.logisim.Main source code and at www.cburch.com/logisim/. */

package com.cburch.logisim.gui.main;

import com.cburch.logisim.circuit.Circuit;
import com.cburch.logisim.circuit.CircuitMutation;
import com.cburch.logisim.data.Attribute;
import com.cburch.logisim.gui.generic.AttrTableSetException;
import com.cburch.logisim.gui.generic.AttributeSetTableModel;
import com.cburch.logisim.proj.Project;

public class AttrTableCircuitModel extends AttributeSetTableModel {
  private Project proj;
  private Circuit circ;
 
  public AttrTableCircuitModel(Project proj, Circuit circ) {
    super(circ.getStaticAttributes());
    this.proj = proj;
    this.circ = circ;
  }

  @Override
  public String getTitle() {
    return Strings.get("circuitAttrTitle", circ.getName());
  }
 
  @Override
  public void setValueRequested(Attribute<Object> attr, Object value)
      throws AttrTableSetException {
    if (!proj.getLogisimFile().contains(circ)) {
      String msg = Strings.get("cannotModifyCircuitError");
      throw new AttrTableSetException(msg);
    } else {
      CircuitMutation xn = new CircuitMutation(circ);
      xn.setForCircuit(attr, value);
      proj.doAction(xn.toAction(Strings.getter("changeCircuitAttrAction")));
    }
  }
}
TOP

Related Classes of com.cburch.logisim.gui.main.AttrTableCircuitModel

TOP
Copyright © 2018 www.massapi.com. 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.