GraphStream Users

Archives de la liste Aide


ui.hide doesn't work on edges in some scenarios


Chronologique Discussions 
  • From: Carl Hakenäs <carl.hakenas AT gmail.com>
  • To: graphstream-users AT litislab.fr
  • Subject: ui.hide doesn't work on edges in some scenarios
  • Date: Thu, 10 Nov 2016 14:59:28 -0600

Hi,

I have a problem where sometimes the edges are not affected by ui.hide.

This is what I do:

1. remove the ui.hide from ALL nodes and edges
2. set ui.hide on ALL edges and nodes.

Some times the edges are still visible. I suspect there is a bug in the redrawing.

Thanks

/ Carl

Here is the code:

import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JButton;
import javax.swing.JFrame;

import org.graphstream.graph.*;
import org.graphstream.graph.implementations.*;
import org.graphstream.ui.view.View;
import org.graphstream.ui.view.Viewer;
public class Test {
public static void main(String args[]) 
{
final Graph graph = new SingleGraph("Tutorial 1");
graph.addNode("A");
graph.addNode("B");
graph.addNode("C");
graph.addEdge("AB", "A", "B");
graph.addEdge("BC", "B", "C");
graph.addEdge("CA", "C", "A");
Viewer viewer = new Viewer(graph, Viewer.ThreadingModel.GRAPH_IN_GUI_THREAD);
viewer.enableAutoLayout();
View view = viewer.addDefaultView(false);   // false indicates "no JFrame".

JButton button = new JButton();
button.setText("Clear");
JFrame myJFrame = new JFrame();
myJFrame.setSize(300,300);
myJFrame.setVisible(true);
myJFrame.setLayout(new BorderLayout());
myJFrame.add((Component) view);
myJFrame.add((Component) button,BorderLayout.SOUTH);
button.addMouseListener(new MouseListener(){
public void mouseClicked(MouseEvent arg0) {}
public void mouseEntered(MouseEvent arg0) {}
public void mouseExited(MouseEvent arg0) {}
public void mousePressed(MouseEvent arg0) {}
public void mouseReleased(MouseEvent arg0) {
// 
for(int i=0;i<graph.getNodeCount();i++)
{
graph.getNode(i).removeAttribute("ui.hide");
}
for(int i=0;i<graph.getEdgeCount();i++)
{
graph.getEdge(i).removeAttribute("ui.hide");
}
for(int i=0;i<graph.getEdgeCount();i++)
{
graph.getEdge(i).setAttribute("ui.hide","true");
}
for(int i=0;i<graph.getNodeCount();i++)
{
graph.getNode(i).setAttribute("ui.hide","true");
}
}
});
}
}


  • ui.hide doesn't work on edges in some scenarios, Carl Hakenäs, 10/11/2016

Archives gérées par MHonArc 2.6.16.

Top of page