当前位置: 首页>>代码示例>>Java>>正文


Java CircuitMutation.setForCircuit方法代码示例

本文整理汇总了Java中com.cburch.logisim.circuit.CircuitMutation.setForCircuit方法的典型用法代码示例。如果您正苦于以下问题:Java CircuitMutation.setForCircuit方法的具体用法?Java CircuitMutation.setForCircuit怎么用?Java CircuitMutation.setForCircuit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.cburch.logisim.circuit.CircuitMutation的用法示例。


在下文中一共展示了CircuitMutation.setForCircuit方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setValueRequested

import com.cburch.logisim.circuit.CircuitMutation; //导入方法依赖的package包/类
@Override
public void setValueRequested(Attribute<Object> attr, Object value) {
	if (tool instanceof AddTool) {
		AddTool mytool = (AddTool) tool;
		if (mytool.getFactory() instanceof SubcircuitFactory) {
			SubcircuitFactory fac = (SubcircuitFactory) mytool.getFactory();
			if (attr.equals(CircuitAttributes.NAMED_CIRCUIT_BOX)||
				attr.equals(CircuitAttributes.NAME_ATTR)) {
				try {
					CircuitMutation mutation = new CircuitMutation(fac.getSubcircuit());
					mutation.setForCircuit(attr, value);
					Action action = mutation.toAction(null);
					proj.doAction(action);
				} catch (CircuitException ex) {
					JOptionPane.showMessageDialog(proj.getFrame(),
							ex.getMessage());
				}
				return;
			}
		}
	}
	proj.doAction(ToolAttributeAction.create(tool, attr, value));
}
 
开发者ID:reds-heig,项目名称:logisim-evolution,代码行数:24,代码来源:AttrTableToolModel.java

示例2: setValueRequested

import com.cburch.logisim.circuit.CircuitMutation; //导入方法依赖的package包/类
@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")));
	}
}
 
开发者ID:LogisimIt,项目名称:Logisim,代码行数:12,代码来源:AttrTableCircuitModel.java

示例3: setValueRequested

import com.cburch.logisim.circuit.CircuitMutation; //导入方法依赖的package包/类
@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")));
	}
}
 
开发者ID:reds-heig,项目名称:logisim-evolution,代码行数:13,代码来源:AttrTableCircuitModel.java

示例4: setValueRequested

import com.cburch.logisim.circuit.CircuitMutation; //导入方法依赖的package包/类
@Override
public void setValueRequested(Attribute<Object> attr, Object value)
		throws AttrTableSetException {
	Selection selection = frame.getCanvas().getSelection();
	Circuit circuit = frame.getCanvas().getCircuit();
	if (selection.isEmpty() && circuit != null) {
		AttrTableCircuitModel circuitModel = new AttrTableCircuitModel(
				project, circuit);
		circuitModel.setValueRequested(attr, value);
	} else {
		SetAttributeAction act = new SetAttributeAction(circuit,
				Strings.getter("selectionAttributeAction"));
		AutoLabel labler = null;
		if (attr.equals(StdAttr.LABEL)) {
			labler = new AutoLabel((String)value,circuit);
		}
		SortedSet<Component> comps = new TreeSet<Component>(new PositionComparator());
		comps.addAll(selection.getComponents());
		for (Component comp : comps) {
			if (!(comp instanceof Wire)) {
				if (comp.getFactory() instanceof SubcircuitFactory) {
					SubcircuitFactory fac = (SubcircuitFactory) comp.getFactory();
					if (attr.equals(CircuitAttributes.NAMED_CIRCUIT_BOX)||
						attr.equals(CircuitAttributes.NAME_ATTR)) {
						try {
							CircuitMutation mutation = new CircuitMutation(fac.getSubcircuit());
							mutation.setForCircuit(attr, value);
							Action action = mutation.toAction(null);
							project.doAction(action);
						} catch (CircuitException ex) {
							JOptionPane.showMessageDialog(project.getFrame(),
									ex.getMessage());
						}
						return;
					}
				}
				if (attr.equals(StdAttr.LABEL)) {
					if (labler.hasNext(circuit)) {
						if (comps.size()>1) {
							act.set(comp, attr , labler.GetNext(circuit, comp.getFactory()));
						} else {
							if (getAttributeSet().getValue(StdAttr.LABEL).equals((String)value))
								return;
							else
								act.set(comp, attr, labler.GetCurrent(circuit, comp.getFactory()));
						}
					} else act.set(comp, attr, "");
				} else
					act.set(comp, attr, value);
			}
		}
		project.doAction(act);
	}
}
 
开发者ID:reds-heig,项目名称:logisim-evolution,代码行数:55,代码来源:AttrTableSelectionModel.java


注:本文中的com.cburch.logisim.circuit.CircuitMutation.setForCircuit方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。