Package com.cburch.logisim.circuit

Examples of com.cburch.logisim.circuit.SubcircuitFactory


    if (selected instanceof Tool) {
      if (selected instanceof AddTool) {
        AddTool addTool = (AddTool) selected;
        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


    Object clicked = event.getTarget();
    if (clicked instanceof AddTool) {
      AddTool tool = (AddTool) clicked;
      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

    if (request instanceof Library) {
      ProjectLibraryActions.doUnloadLibrary(proj, (Library) request);
    } else if (request instanceof AddTool) {
      ComponentFactory factory = ((AddTool) request).getFactory();
      if (factory instanceof SubcircuitFactory) {
        SubcircuitFactory circFact = (SubcircuitFactory) factory;
        ProjectCircuitActions.doRemoveCircuit(proj, circFact.getSubcircuit());
      }
    }
  }
View Full Code Here

    for (Count count : counts.values()) {
      count.uniqueCount = count.simpleCount;
      count.recursiveCount = count.simpleCount;
    }
    for (Circuit sub : include) {
      SubcircuitFactory subFactory = sub.getSubcircuitFactory();
      if (counts.containsKey(subFactory)) {
        int multiplier = counts.get(subFactory).simpleCount;
        Map<ComponentFactory,Count> subCount;
        subCount = doRecursiveCount(sub, include, countMap);
        for (Count subcount : subCount.values()) {
View Full Code Here

  private void processCircuit(Circuit circ) {
    circ.addCircuitListener(myListener);
    for (Component comp : circ.getNonWires()) {
      if (comp.getFactory() instanceof SubcircuitFactory) {
        SubcircuitFactory factory = (SubcircuitFactory) comp.getFactory();
        depends.addEdge(circ, factory.getSubcircuit());
      }
    }
  }
View Full Code Here

      switch (e.getAction()) {
      case LibraryEvent.ADD_TOOL:
        if (e.getData() instanceof AddTool) {
          ComponentFactory factory = ((AddTool) e.getData()).getFactory();
          if (factory instanceof SubcircuitFactory) {
            SubcircuitFactory circFact = (SubcircuitFactory) factory;
            processCircuit(circFact.getSubcircuit());
          }
        }
        break;
      case LibraryEvent.REMOVE_TOOL:
        if (e.getData() instanceof AddTool) {
          ComponentFactory factory = ((AddTool) e.getData()).getFactory();
          if (factory instanceof SubcircuitFactory) {
            SubcircuitFactory circFact = (SubcircuitFactory) factory;
            Circuit circ = circFact.getSubcircuit();
            depends.removeNode(circ);
            circ.removeCircuitListener(this);
          }
        }
        break;
View Full Code Here

      Component comp;
      switch (e.getAction()) {
      case CircuitEvent.ACTION_ADD:
        comp = (Component) e.getData();
        if (comp.getFactory() instanceof SubcircuitFactory) {
          SubcircuitFactory factory = (SubcircuitFactory) comp.getFactory();
          depends.addEdge(e.getCircuit(), factory.getSubcircuit());
        }
        break;
      case CircuitEvent.ACTION_REMOVE:
        comp = (Component) e.getData();
        if (comp.getFactory() instanceof SubcircuitFactory) {
          SubcircuitFactory factory = (SubcircuitFactory) comp.getFactory();
          boolean found = false;
          for (Component o : e.getCircuit().getNonWires()) {
            if (o.getFactory() == factory) {
              found = true;
              break;
            }
          }
          if (!found) depends.removeEdge(e.getCircuit(), factory.getSubcircuit());
        }
        break;
      case CircuitEvent.ACTION_CLEAR:
        depends.removeNode(e.getCircuit());
        break;
View Full Code Here

      } else if (action == LibraryEvent.REMOVE_TOOL) {
        Object data = event.getData();
        if (data instanceof AddTool) {
          Object factory = ((AddTool) data).getFactory();
          if (factory instanceof SubcircuitFactory) {
            SubcircuitFactory fact = (SubcircuitFactory) factory;
            if (fact.getSubcircuit() == getCurrentCircuit()) {
              setCurrentCircuit(file.getMainCircuit());
            }
          }
        }
      }
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

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.