Package ca.nengo.ui.models

Examples of ca.nengo.ui.models.UINeoNode


        HashMap<Node, UINeoNode> currentNodes = new HashMap<Node, UINeoNode>(
                getGround().getChildrenCount());

        Enumeration<UINeoNode> en = neoNodesChildren.elements();
        while (en.hasMoreElements()) {
            UINeoNode node = en.nextElement();
            if (!node.isDestroyed()) {
                Util.Assert(node.getModel() != null);
                currentNodes.put(node.getModel(), node);
            }
        }
        neoNodesChildren.clear();

        /*
         * Construct Nodes from the Network model
         */
        Node[] nodes = getModel().getNodes();

        for (Node node : nodes) {
            if (getUINode(node) == null) {
                UINeoNode nodeUI = currentNodes.get(node);

                if (nodeUI == null) {
                  if (node instanceof Neuron) {
                Neuron neuron = (Neuron) node;

                UINeuron neuronUI = new UINeuron(neuron);

                addUINode(neuronUI, false, false);
              } else if (node instanceof Ensemble) {
                Ensemble ensemble = (Ensemble)node;
                UIEnsemble ensembleUI = new UIEnsemble(ensemble);
                addUINode(ensembleUI,false,false);
               
              } else if (node instanceof Network) {
                Network network = (Network)node;
                UINetwork networkUI = new UINetwork(network);
                addUINode(networkUI, false, false);
              } else {
                UserMessages.showError("Unsupported node type " + node.getClass().getSimpleName()
                    + " in EnsembleViewer");
              }
                } else {
                    neoNodesChildren.put(nodeUI.getModel(), nodeUI);
                }

            } else {
                Util.Assert(false, "Trying to add node which already exists");
            }
        }


        /*
         * Prune existing nodes by deleting them
         */
        for (Node node : currentNodes.keySet()) {
            // Remove nodes which are no longer referenced by the network model
            if (getUINode(node) == null) {
                UINeoNode nodeUI = currentNodes.get(node);
                nodeUI.destroy();
            }
        }

    if (getViewerParent().getNetworkParent() != null) {
      /*
       * Construct probes
       */
      Probe[] probes = getViewerParent().getNetworkParent().getSimulator().getProbes();

      for (Probe probe : probes) {
        Probeable target = probe.getTarget();

        if(target != null){
          if (!(target instanceof Node)) {
            UserMessages.showError("Unsupported target type for probe");
          } else {
 
            if (probe.isInEnsemble() && probe.getEnsembleName() == getModel().getName()) {
              Node node = (Node) target;
 
              UINeoNode nodeUI = getUINode(node);
              if(nodeUI  != null){
                nodeUI.showProbe(probe);
              }
            }
          }
        }
      }
View Full Code Here


        HashMap<Node, UINeoNode> currentNodes = new HashMap<Node, UINeoNode>(
                getGround().getChildrenCount());

        Enumeration<UINeoNode> en = neoNodesChildren.elements();
        while (en.hasMoreElements()) {
            UINeoNode node = en.nextElement();
            if (!node.isDestroyed()) {
                Util.Assert(node.getModel() != null);
                currentNodes.put(node.getModel(), node);
            }
        }
        neoNodesChildren.clear();

        /*
         * Construct Nodes from the Network model
         */
        Node[] nodes = getModel().getNodes();

        for (Node node : nodes) {
            if (getUINode(node) == null) {
                UINeoNode nodeUI = currentNodes.get(node);

                if (nodeUI == null) {
                    /*
                     * Create UI Wrappers here
                     */
                    nodeUI = UINeoNode.createNodeUI(node);


                    if (newItemPositionX != null && newItemPositionY != null) {
                        nodeUI.setOffset(newItemPositionX, newItemPositionY);
                        neoNodesChildren.put(nodeUI.getModel(), nodeUI);
                        getGround().addChildFancy(nodeUI, false);

                    } else {
                        boolean centerAndNotify = !isFirstUpdate;
                        addUINode(nodeUI, centerAndNotify, false);
                        if (centerAndNotify) {
                            nodeUI.showPopupMessage("Node " + node.getName() + " added to Network");
                        }
                    }
                } else {
                    neoNodesChildren.put(nodeUI.getModel(), nodeUI);
                }

            } else {
                Util.Assert(false, "Trying to add node which already exists");
            }
        }

        newItemPositionX=null;
        newItemPositionY=null;


        /*
         * Prune existing nodes by deleting them
         */
        for (Node node : currentNodes.keySet()) {
            // Remove nodes which are no longer referenced by the network model
            if (getUINode(node) == null) {
                UINeoNode nodeUI = currentNodes.get(node);
                nodeUI.showPopupMessage("Node " + nodeUI.getName() + " removed from Network");
                nodeUI.destroy();
            }
        }

        /*
         * Create projection map
         */
        HashSet<Projection> projectionsToAdd = new HashSet<Projection>(
                getModel().getProjections().length);
        for (Projection projection : getModel().getProjections()) {
            projectionsToAdd.add(projection);
        }

        HashMap<Termination, Projection> projectionMap = new HashMap<Termination, Projection>(
                projectionsToAdd.size());

        for (Projection projection : projectionsToAdd) {
            Util.Assert(!projectionMap.containsKey(projection.getTermination()),
                    "More than one projection found per termination");

            projectionMap.put(projection.getTermination(), projection);
        }

        /*
         * Get UI projections
         */
        LinkedList<UIProjection> projectionsToRemove = new LinkedList<UIProjection>();

        for (UINeoNode nodeUI : getUINodes()) {
            for (UITermination terminationUI : nodeUI.getVisibleTerminations()) {
                if (terminationUI.getConnector() != null) {
                    UIOrigin originUI = terminationUI.getConnector().getOriginUI();

                    Termination termination = terminationUI.getModel();
                    Origin origin = originUI.getModel();

                    Projection projection = projectionMap.get(termination);
                    if (projection != null && projection.getOrigin() == origin) {
                        /*
                         * Projection already exists
                         */
                        projectionsToAdd.remove(projectionMap.get(termination));

                    } else {
                        projectionsToRemove.add(terminationUI.getConnector());
                    }
                }
            }
        }

        /*
         * Destroy unreferenced projections
         */
        for (UIProjection projectionUI : projectionsToRemove) {
            UITermination terminationUI = projectionUI.getTermination();

            projectionUI.destroy();
            if (!isFirstUpdate) {
                terminationUI.showPopupMessage("REMOVED Projection to "
                        + terminationUI.getNodeParent().getName() + "." + terminationUI.getName());
            }
        }

        /*
         * Construct projections
         */
        for (Projection projection : projectionsToAdd) {
            Origin origin = projection.getOrigin();
            Termination term = projection.getTermination();

            UINeoNode nodeOrigin = getUINode(origin.getNode());

            UINeoNode nodeTerm = getUINode(term.getNode());

            if (nodeOrigin != null && nodeTerm != null) {
                UIOrigin originUI = nodeOrigin.showOrigin(origin.getName());
                UITermination termUI = nodeTerm.showTermination(term.getName());

                originUI.connectTo(termUI, false);
                if (!isFirstUpdate) {
                    termUI.showPopupMessage("NEW Projection to " + termUI.getName() + "."
                            + getName());
View Full Code Here

            /*
             * Update exposed terminations and origins
             */
            for (WorldObject wo : getGround().getChildren()) {
                if (wo instanceof UINeoNode) {
                    UINeoNode nodeUI = (UINeoNode) wo;

                    if (exposedOriginsChanged) {
                        for (UIOrigin originUI : nodeUI.getVisibleOrigins()) {
                            boolean isExposed = exposedOrigins.contains(originUI.getModel());
                            originUI.setExposed(isExposed);
                        }
                    }
                    if (exposedTerminationsChanged) {
                        for (UITermination terminationUI : nodeUI.getVisibleTerminations()) {
                            boolean isExposed = exposedTerminations.contains(terminationUI.getModel());
                            terminationUI.setExposed(isExposed);
                        }
                    }
                }
View Full Code Here

                if (!probe.isInEnsemble()) {

                    Node node = (Node) target;

                    UINeoNode nodeUI = getUINode(node);
                    if (nodeUI != null) {
                        nodeUI.showProbe(probe);
                    } else {
                        Util.debugMsg("There is a dangling probe in the Simulator");
                    }
                }
            }
View Full Code Here

    }

    public UINeoNode addNodeModel(Node node, Double posX, Double posY) throws ContainerException {
        try {
            // first, add node to UI
            UINeoNode nodeUI = UINeoNode.createNodeUI(node);

            if (posX != null && posY != null) {
                nodeUI.setOffset(posX, posY);
                addUINode(nodeUI, false, false);
            } else {
                addUINode(nodeUI, true, false);
            }
View Full Code Here

  private void setRecursive(boolean isRecursive) {
    if (isRecursive) {
      /*
       * Recursive connections are represented by an upward arcing edge
       */
      UINeoNode nodeParent = getOriginUI().getNodeParent();
      getEdge().setLineShape(PXEdge.EdgeShape.UPWARD_ARC);
      getEdge().setMinArcRadius(nodeParent.getBounds().getWidth());
      setPointerVisible(false);
    } else {
      getEdge().setLineShape(PXEdge.EdgeShape.STRAIGHT);
      setPointerVisible(true);
    }
View Full Code Here

            int successCount = 0;
            int failed = 0;

            for (ModelObject model : myNodes) {
                if (model instanceof UINeoNode) {
                    UINeoNode node = (UINeoNode) model;
                    UIProbe probeCreated;

                    try {
                        probeCreated = node.addProbe(stateName);
                        myCreatedProbesMap.put(node, probeCreated);
                        successCount++;
                    } catch (SimulationException e) {

                        failed++;
View Full Code Here

    @Override
    protected void undo() throws ActionException {
        for (ModelObject model : myNodes) {
            if (model instanceof UINeoNode) {
                UINeoNode node = (UINeoNode) model;
                UIProbe probeCreated = myCreatedProbesMap.get(node);
                node.removeProbe(probeCreated);
            }

        }

    }
View Full Code Here

     */
    private void processLoadedObject(Object objLoaded) throws ActionException {

        if (objLoaded instanceof Node) {
            try {
                UINeoNode nodeUI = nodeContainer.addNodeModel((Node) objLoaded);
                if (nodeUI instanceof UINodeViewable) {
                    ((UINodeViewable) (nodeUI)).openViewer();
                }
            } catch (ContainerException e) {
                throw new ActionException(e);
View Full Code Here

            throw new UserCancelledException();
        } else if (obj instanceof Node) {
            Node node = (Node) obj;
            try {
                CreateModelAction.ensureNonConflictingName(node, container);
                UINeoNode nodeUI = container.addNodeModel(node);
                if (nodeUI instanceof UINodeViewable) {
                    ((UINodeViewable) (nodeUI)).openViewer();
                }
            } catch (ContainerException e) {
                throw new ActionException(e.getMessage(), e);
View Full Code Here

TOP

Related Classes of ca.nengo.ui.models.UINeoNode

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.