Package joshua.ui.hypergraph_visualizer

Source Code of joshua.ui.hypergraph_visualizer.HyperGraphPickedState

package joshua.ui.hypergraph_visualizer;

import javax.swing.DefaultListModel;

import joshua.decoder.hypergraph.HyperEdge;
import edu.uci.ics.jung.algorithms.layout.StaticLayout;
import edu.uci.ics.jung.visualization.picking.MultiPickedState;

public class HyperGraphPickedState extends MultiPickedState<Vertex> {
  private HyperGraphViewer viewer;
 
  public HyperGraphPickedState(HyperGraphViewer vv) {
    super();
    this.viewer = vv;
  }
 
  public boolean pick(Vertex v, boolean state)
  {
    if (!(v instanceof NodeVertex))
      return false;
    NodeVertex node =  (NodeVertex) v; //(NodeVertex) viewer.graph.getPredecessors(v).toArray()[0];
    if (viewer.graph.picked != null)
      viewer.graph.setSubTreeColor(viewer.graph.picked, 0);
    viewer.graph.picked = node;
  //  viewer.graph.incrementHyperEdge(node);
  //  viewer.setGraphLayout(new StaticLayout<Vertex,Edge>(viewer.graph, new HyperGraphTransformer(viewer.graph)));
    DefaultListModel edgeListModel = (DefaultListModel) viewer.edgeList.getModel();
    edgeListModel.removeAllElements();
    for (HyperEdge e : node.getNode().hyperedges) {
      edgeListModel.addElement(e);
    }
    if (node.getNode().hyperedges.size() == 0)
      return true;
    HyperEdgeVertex currentEdge = (HyperEdgeVertex) viewer.graph.getSuccessors(v).toArray()[0];
    viewer.edgeList.setSelectedValue(currentEdge.getHyperEdge(), true);
    v.setColor(1);
    return true;
  }
}
TOP

Related Classes of joshua.ui.hypergraph_visualizer.HyperGraphPickedState

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.