use of org.graphstream.ui.view.Viewer in project fmv by f-agu.
the class FilterGraphUI method display.
/**
*/
public void display() {
addTail();
Viewer viewer = graph.display();
}
use of org.graphstream.ui.view.Viewer in project gs-ui-javafx by graphstream.
the class ATest method run.
public void run(String[] args) {
Graph graph = new MultiGraph("g1");
Viewer viewer = graph.display(true);
ViewerPipe pipeIn = viewer.newViewerPipe();
DorogovtsevMendesGenerator gen = new DorogovtsevMendesGenerator();
pipeIn.addAttributeSink(graph);
pipeIn.addViewerListener(this);
pipeIn.pump();
graph.setAttribute("ui.default.title", "Layout Test Fx");
graph.setAttribute("ui.antialias");
graph.setAttribute("ui.stylesheet", styleSheet);
gen.addSink(graph);
gen.setDirectedEdges(true, true);
gen.begin();
int i = 0;
while (i < 100) {
gen.nextEvents();
i += 1;
}
gen.end();
graph.forEach(n -> n.setAttribute("ui.label", "truc"));
while (loop) {
pipeIn.pump();
sleep(10);
}
System.out.println("bye bye");
System.exit(0);
}
use of org.graphstream.ui.view.Viewer in project gs-ui-javafx by graphstream.
the class TestTwoViewersInOneFrame method start.
public void start(Stage primaryStage) throws Exception {
MultiGraph graph1 = new MultiGraph("g1");
MultiGraph graph2 = new MultiGraph("g2");
ThreadProxyPipe pipe1 = new ThreadProxyPipe();
pipe1.init(graph1);
ThreadProxyPipe pipe2 = new ThreadProxyPipe();
pipe2.init(graph2);
Viewer viewer1 = new FxViewer(pipe1);
Viewer viewer2 = new FxViewer(pipe2);
graph1.setAttribute("ui.quality");
graph2.setAttribute("ui.quality");
graph1.setAttribute("ui.antialias");
graph2.setAttribute("ui.antialias");
graph1.setAttribute("ui.stylesheet", styleSheet1);
graph2.setAttribute("ui.stylesheet", styleSheet2);
FxDefaultView view1 = new FxDefaultView(viewer1, "view1", new FxGraphRenderer());
FxDefaultView view2 = new FxDefaultView(viewer2, "view2", new FxGraphRenderer());
viewer1.addView(view1);
viewer2.addView(view2);
viewer1.enableAutoLayout();
viewer2.enableAutoLayout();
DorogovtsevMendesGenerator gen = new DorogovtsevMendesGenerator();
gen.addSink(graph1);
gen.addSink(graph2);
gen.begin();
for (int i = 0; i < 100; i++) gen.nextEvents();
gen.end();
gen.removeSink(graph1);
gen.removeSink(graph2);
StackPane paneView1 = new StackPane();
// prevent UI shift issues
paneView1.getChildren().addAll(view1);
StackPane paneView2 = new StackPane();
// prevent UI shift issues
paneView2.getChildren().addAll(view2);
GridPane gridpane = new GridPane();
gridpane.add(paneView1, 1, 0);
gridpane.add(paneView2, 2, 0);
Scene scene = new Scene(gridpane, 800, 600, true, SceneAntialiasing.BALANCED);
primaryStage.setScene(scene);
primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
@Override
public void handle(WindowEvent t) {
Platform.exit();
System.exit(0);
}
});
primaryStage.show();
}
use of org.graphstream.ui.view.Viewer in project gs-ui-javafx by graphstream.
the class BTest method run.
public void run() {
try {
MultiGraph graph = new MultiGraph("TestSize");
Viewer viewer = new FxViewer(graph, FxViewer.ThreadingModel.GRAPH_IN_ANOTHER_THREAD);
ViewerPipe pipeIn = viewer.newViewerPipe();
FxDefaultView view = (FxDefaultView) viewer.addView("view1", new FxGraphRenderer());
DefaultApplication.init(view, graph);
new Thread(() -> Application.launch(DefaultApplication.class)).start();
pipeIn.addAttributeSink(graph);
pipeIn.addViewerListener(this);
pipeIn.pump();
graph.setAttribute("ui.stylesheet", styleSheet);
graph.setAttribute("ui.antialias");
graph.setAttribute("ui.quality");
Node A = graph.addNode("A");
Node B = graph.addNode("B");
Node C = graph.addNode("C");
Node D = graph.addNode("D");
Node E = graph.addNode("E");
Node F = graph.addNode("F");
Edge AB = graph.addEdge("AB", "A", "B", true);
Edge BC = graph.addEdge("BC", "B", "C", true);
Edge CD = graph.addEdge("CD", "C", "D", true);
Edge DA = graph.addEdge("DA", "D", "A", true);
Edge BB = graph.addEdge("BB", "B", "B", true);
Edge DE = graph.addEdge("DE", "D", "E", true);
Edge DF = graph.addEdge("DF", "D", "F", true);
Edge CF = graph.addEdge("CF", "C", "F", true);
A.setAttribute("xyz", new double[] { 0, 1, 0 });
B.setAttribute("xyz", new double[] { 1, 0.8, 0 });
C.setAttribute("xyz", new double[] { 0.8, 0, 0 });
D.setAttribute("xyz", new double[] { 0, 0, 0 });
E.setAttribute("xyz", new double[] { 0.5, 0.5, 0 });
F.setAttribute("xyz", new double[] { 0.5, 0.25, 0 });
A.setAttribute("label", "A");
B.setAttribute("label", "Long label ...");
C.setAttribute("label", "C");
D.setAttribute("label", "A long label ...");
E.setAttribute("label", "Another very long label");
F.setAttribute("label", "F");
double size = 20f;
double sizeInc = 1f;
while (loop) {
pipeIn.pump();
sleep(40);
A.setAttribute("ui.size", size);
size += sizeInc;
if (size > 50) {
sizeInc = -1f;
size = 50f;
} else if (size < 20) {
sizeInc = 1f;
size = 20f;
}
}
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("bye bye");
System.exit(0);
}
use of org.graphstream.ui.view.Viewer in project gs-ui-javafx by graphstream.
the class TestSize method run.
private void run() {
MultiGraph graph = new MultiGraph("Test Size");
Viewer viewer = new FxViewer(graph, FxViewer.ThreadingModel.GRAPH_IN_ANOTHER_THREAD);
ViewerPipe pipeIn = viewer.newViewerPipe();
FxDefaultView view = (FxDefaultView) viewer.addView("view1", new FxGraphRenderer());
DefaultApplication.init(view, graph);
new Thread(() -> Application.launch(DefaultApplication.class)).start();
pipeIn.addAttributeSink(graph);
pipeIn.addViewerListener(this);
pipeIn.pump();
graph.setAttribute("ui.stylesheet", styleSheet);
graph.setAttribute("ui.antialias");
graph.setAttribute("ui.quality");
Node A = graph.addNode("A");
Node B = graph.addNode("B");
Node C = graph.addNode("C");
Node D = graph.addNode("D");
Edge AB = graph.addEdge("AB", "A", "B", true);
Edge BC = graph.addEdge("BC", "B", "C", true);
Edge CD = graph.addEdge("CD", "C", "D", true);
Edge DA = graph.addEdge("DA", "D", "A", true);
Edge BB = graph.addEdge("BB", "B", "B", true);
A.setAttribute("xyz", new double[] { 0, 1, 0 });
B.setAttribute("xyz", new double[] { 1, 1, 0 });
C.setAttribute("xyz", new double[] { 1, 0, 0 });
D.setAttribute("xyz", new double[] { 0, 0, 0 });
AB.setAttribute("ui.label", "AB");
BC.setAttribute("ui.label", "A Long label ...");
CD.setAttribute("ui.label", "CD");
BB.setAttribute("ui.label", "BB");
SpriteManager sm = new SpriteManager(graph);
Sprite S1 = sm.addSprite("S1");
S1.attachToNode("C");
S1.setPosition(StyleConstants.Units.PX, 40, 45, 0);
double size = 20f;
double sizeInc = 1f;
while (loop) {
pipeIn.pump();
sleep(40);
A.setAttribute("ui.size", size);
// A.setAttribute( "ui.size", "%spx".format( size ) )
BC.setAttribute("ui.size", size);
S1.setAttribute("ui.size", size);
size += sizeInc;
if (size > 50) {
sizeInc = -1f;
size = 50f;
} else if (size < 20) {
sizeInc = 1f;
size = 20f;
}
}
System.out.println("bye bye");
System.exit(0);
}
Aggregations