Package com.cburch.logisim.circuit

Examples of com.cburch.logisim.circuit.SubcircuitFactory


        return null;
    }

    public boolean contains(Circuit circ) {
        for (AddTool tool : tools) {
            SubcircuitFactory factory = (SubcircuitFactory) tool.getFactory();
            if (factory.getSubcircuit() == circ) {
                return true;
            }

        }
        return false;
View Full Code Here


    }

    public List<Circuit> getCircuits() {
        List<Circuit> ret = new ArrayList<Circuit>(tools.size());
        for (AddTool tool : tools) {
            SubcircuitFactory factory = (SubcircuitFactory) tool.getFactory();
            ret.add(factory.getSubcircuit());
        }
        return ret;
    }
View Full Code Here

        return ret;
    }

    public AddTool getAddTool(Circuit circ) {
        for (AddTool tool : tools) {
            SubcircuitFactory factory = (SubcircuitFactory) tool.getFactory();
            if (factory.getSubcircuit() == circ) {
                return tool;
            }
        }
        return null;
    }
View Full Code Here

        if (index >= 0) {
            Tool circuitTool = tools.remove(index);

            if (main == circuit) {
                AddTool dflt_tool = tools.get(0);
                SubcircuitFactory factory = (SubcircuitFactory) dflt_tool.getFactory();
                setMainCircuit(factory.getSubcircuit());
            }
            fireEvent(LibraryEvent.REMOVE_TOOL, circuitTool);
        }
    }
View Full Code Here

            Tool tool = ((ProjectExplorerToolNode) selected).getValue();
            if (tool instanceof AddTool) {
                AddTool addTool = (AddTool) tool;
                ComponentFactory source = addTool.getFactory();
                if (source instanceof SubcircuitFactory) {
                    SubcircuitFactory circFact = (SubcircuitFactory) source;
                    Circuit circ = circFact.getSubcircuit();
                    if (proj.getCurrentCircuit() == circ) {
                        AttrTableModel m = new AttrTableCircuitModel(proj, circ);
                        proj.getFrame().setAttrTableModel(m);
                        return;
                    }
View Full Code Here

            Tool baseTool = ((ProjectExplorerToolNode) clicked).getValue();
            if (baseTool instanceof AddTool) {
                AddTool tool = (AddTool) baseTool;
                ComponentFactory source = tool.getFactory();
                if (source instanceof SubcircuitFactory) {
                    SubcircuitFactory circFact = (SubcircuitFactory) source;
                    proj.setCurrentCircuit(circFact.getSubcircuit());
                    proj.getFrame().setEditorView(Frame.EDIT_LAYOUT);
                    if (lastSelected != null) {
                        proj.setTool(lastSelected);
                    }
View Full Code Here

        } else if (request instanceof ProjectExplorerToolNode) {
            Tool tool = ((ProjectExplorerToolNode) request).getValue();
            if (tool instanceof AddTool) {
                ComponentFactory factory = ((AddTool) tool).getFactory();
                if (factory instanceof SubcircuitFactory) {
                    SubcircuitFactory circFact = (SubcircuitFactory) factory;
                    ProjectCircuitActions.doRemoveCircuit(proj, circFact.getSubcircuit());
                }
            }
        }
    }
View Full Code Here

        if (path != null) {
            model.getCircuitState().getCircuit().addCircuitListener(this);
            for (int i = 0; i < path.length; i++) {
                path[i].getAttributeSet().addAttributeListener(this);
                SubcircuitFactory circFact = (SubcircuitFactory) path[i].getFactory();
                circFact.getSubcircuit().addCircuitListener(this);
            }
        }
        comp.getAttributeSet().addAttributeListener(this);
    }
View Full Code Here

    }

    public Value fetchValue(CircuitState root) {
        CircuitState cur = root;
        for (int i = 0; i < path.length; i++) {
            SubcircuitFactory circFact = (SubcircuitFactory) path[i].getFactory();
            cur = circFact.getSubstate(cur, path[i]);
        }
        Loggable log = (Loggable) comp.getFeature(Loggable.class);
        return log == null ? Value.NIL : log.getLogValue(cur, option);
    }
View Full Code Here

            Component circComp = null;
            if (circ == model.getCircuitState().getCircuit()) {
                circComp = path != null && path.length > 0 ? path[0] : comp;
            } else if (path != null) {
                for (int i = 0; i < path.length; i++) {
                    SubcircuitFactory circFact = (SubcircuitFactory) path[i].getFactory();
                    if (circ == circFact.getSubcircuit()) {
                        circComp = i + 1 < path.length ? path[i + 1] : comp;
                    }
                }
            }
            if (circComp == null) {
View Full Code Here

TOP

Related Classes of com.cburch.logisim.circuit.SubcircuitFactory

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.