Search in sources :

Example 1 with Viewer

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();
}
Also used : Viewer(org.graphstream.ui.view.Viewer)

Example 2 with Viewer

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);
}
Also used : Graph(org.graphstream.graph.Graph) MultiGraph(org.graphstream.graph.implementations.MultiGraph) Viewer(org.graphstream.ui.view.Viewer) DorogovtsevMendesGenerator(org.graphstream.algorithm.generator.DorogovtsevMendesGenerator) MultiGraph(org.graphstream.graph.implementations.MultiGraph) ViewerPipe(org.graphstream.ui.view.ViewerPipe)

Example 3 with Viewer

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();
}
Also used : ThreadProxyPipe(org.graphstream.stream.thread.ThreadProxyPipe) GridPane(javafx.scene.layout.GridPane) FxGraphRenderer(org.graphstream.ui.javafx.FxGraphRenderer) FxViewer(org.graphstream.ui.fx_viewer.FxViewer) Viewer(org.graphstream.ui.view.Viewer) DorogovtsevMendesGenerator(org.graphstream.algorithm.generator.DorogovtsevMendesGenerator) FxDefaultView(org.graphstream.ui.fx_viewer.FxDefaultView) Scene(javafx.scene.Scene) MultiGraph(org.graphstream.graph.implementations.MultiGraph) FxViewer(org.graphstream.ui.fx_viewer.FxViewer) WindowEvent(javafx.stage.WindowEvent) StackPane(javafx.scene.layout.StackPane)

Example 4 with Viewer

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);
}
Also used : FxViewer(org.graphstream.ui.fx_viewer.FxViewer) FxGraphRenderer(org.graphstream.ui.javafx.FxGraphRenderer) Node(org.graphstream.graph.Node) FxViewer(org.graphstream.ui.fx_viewer.FxViewer) Viewer(org.graphstream.ui.view.Viewer) FxDefaultView(org.graphstream.ui.fx_viewer.FxDefaultView) Edge(org.graphstream.graph.Edge) MultiGraph(org.graphstream.graph.implementations.MultiGraph) ViewerPipe(org.graphstream.ui.view.ViewerPipe)

Example 5 with Viewer

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);
}
Also used : FxViewer(org.graphstream.ui.fx_viewer.FxViewer) Sprite(org.graphstream.ui.spriteManager.Sprite) FxGraphRenderer(org.graphstream.ui.javafx.FxGraphRenderer) Node(org.graphstream.graph.Node) FxViewer(org.graphstream.ui.fx_viewer.FxViewer) Viewer(org.graphstream.ui.view.Viewer) FxDefaultView(org.graphstream.ui.fx_viewer.FxDefaultView) Edge(org.graphstream.graph.Edge) SpriteManager(org.graphstream.ui.spriteManager.SpriteManager) MultiGraph(org.graphstream.graph.implementations.MultiGraph) ViewerPipe(org.graphstream.ui.view.ViewerPipe)

Aggregations

Viewer (org.graphstream.ui.view.Viewer)11 MultiGraph (org.graphstream.graph.implementations.MultiGraph)8 FxDefaultView (org.graphstream.ui.fx_viewer.FxDefaultView)8 FxViewer (org.graphstream.ui.fx_viewer.FxViewer)8 ViewerPipe (org.graphstream.ui.view.ViewerPipe)8 FxGraphRenderer (org.graphstream.ui.javafx.FxGraphRenderer)7 Node (org.graphstream.graph.Node)6 Scene (javafx.scene.Scene)4 WindowEvent (javafx.stage.WindowEvent)3 DorogovtsevMendesGenerator (org.graphstream.algorithm.generator.DorogovtsevMendesGenerator)3 Edge (org.graphstream.graph.Edge)3 SpriteManager (org.graphstream.ui.spriteManager.SpriteManager)3 Point3 (org.graphstream.ui.geom.Point3)2 Random (java.util.Random)1 GridPane (javafx.scene.layout.GridPane)1 StackPane (javafx.scene.layout.StackPane)1 Graph (org.graphstream.graph.Graph)1 IdAlreadyInUseException (org.graphstream.graph.IdAlreadyInUseException)1 SingleGraph (org.graphstream.graph.implementations.SingleGraph)1 ThreadProxyPipe (org.graphstream.stream.thread.ThreadProxyPipe)1