Skip to content

Commit

Permalink
refactored view to use generic interface; view panel is now base swin…
Browse files Browse the repository at this point in the history
…g view
  • Loading branch information
trajar committed Aug 8, 2014
1 parent ce2476c commit 6210d9d
Show file tree
Hide file tree
Showing 39 changed files with 1,516 additions and 1,438 deletions.
Expand Up @@ -37,8 +37,8 @@
import org.graphstream.graph.Node;
import org.graphstream.graph.implementations.MultiGraph;
import org.graphstream.stream.file.FileSourcePajek;
import org.graphstream.ui.swingViewer.Viewer;
import org.graphstream.ui.swingViewer.Viewer.CloseFramePolicy;
import org.graphstream.ui.view.Viewer;
import org.graphstream.ui.view.Viewer.CloseFramePolicy;
import org.junit.Ignore;

@Ignore
Expand Down
11 changes: 5 additions & 6 deletions src-test/org/graphstream/ui/viewer/test/DemoAllInSwing.java
Expand Up @@ -31,14 +31,13 @@
*/
package org.graphstream.ui.viewer.test;

import java.awt.BorderLayout;
import org.graphstream.graph.Graph;
import org.graphstream.graph.implementations.MultiGraph;
import org.graphstream.ui.view.Viewer;

import javax.swing.JFrame;
import javax.swing.SwingUtilities;

import org.graphstream.graph.Graph;
import org.graphstream.graph.implementations.MultiGraph;
import org.graphstream.ui.swingViewer.Viewer;
import java.awt.BorderLayout;

public class DemoAllInSwing {
public static void main(String args[]) {
Expand All @@ -53,7 +52,7 @@ public DemoAllInSwing() {
// On demande au viewer de consid�rer que le graphe ne sera lu et modifi� que
// dans le thread Swing.

Viewer viewer = new Viewer(graph, Viewer.ThreadingModel.GRAPH_IN_SWING_THREAD);
Viewer viewer = new Viewer(graph, Viewer.ThreadingModel.GRAPH_IN_GUI_THREAD);

// � Partir de l�, le viewer consid�re que le graphe est dans son propre thread,
// c'est-�-dire le thread Swing. Il est donc dangereux d'y toucher dans la thread
Expand Down
Expand Up @@ -44,7 +44,7 @@
import org.graphstream.ui.geom.Point3;
import org.graphstream.ui.graphicGraph.GraphPosLengthUtils;
import org.graphstream.ui.layout.springbox.implementations.LinLog;
import org.graphstream.ui.swingViewer.Viewer;
import org.graphstream.ui.view.Viewer;

/**
* This test creates a layout (instead of using the default layout of
Expand Down
Expand Up @@ -37,7 +37,7 @@
import org.graphstream.graph.implementations.*;
import org.graphstream.stream.file.FileSourceDGS;
import org.graphstream.stream.thread.*;
import org.graphstream.ui.swingViewer.*;
import org.graphstream.ui.view.Viewer;

public class DemoTwoGraphsInOneViewer {
public static final String GRAPH = "data/dorogovtsev_mendes6000.dgs";
Expand Down
Expand Up @@ -34,8 +34,8 @@
import org.graphstream.graph.Graph;
import org.graphstream.graph.Node;
import org.graphstream.graph.implementations.MultiGraph;
import org.graphstream.ui.swingViewer.ViewerListener;
import org.graphstream.ui.swingViewer.ViewerPipe;
import org.graphstream.ui.view.ViewerListener;
import org.graphstream.ui.view.ViewerPipe;

/**
* Test the viewer.
Expand Down
Expand Up @@ -41,7 +41,7 @@
import org.graphstream.ui.graphicGraph.stylesheet.StyleConstants;
import org.graphstream.ui.spriteManager.Sprite;
import org.graphstream.ui.spriteManager.SpriteManager;
import org.graphstream.ui.swingViewer.Viewer;
import org.graphstream.ui.view.Viewer;

public class DemoViewerJComponents {
public static void main(String args[]) {
Expand Down
9 changes: 5 additions & 4 deletions src/org/graphstream/graph/Graph.java
Expand Up @@ -39,6 +39,7 @@
import org.graphstream.stream.Pipe;
import org.graphstream.stream.file.FileSink;
import org.graphstream.stream.file.FileSource;
import org.graphstream.ui.view.Viewer;


/**
Expand Down Expand Up @@ -616,12 +617,12 @@ void read(FileSource input, String filename) throws IOException,
* automatically launch a graph layout algorithm in its own thread to
* compute best node positions.
*
* @see org.graphstream.ui.swingViewer.Viewer
* @see org.graphstream.ui.view.Viewer
* @see #display(boolean )
* @return a graph viewer that allows to command the viewer (it often run in
* another thread).
*/
org.graphstream.ui.swingViewer.Viewer display();
Viewer display();

/**
* Utility method that creates a new graph viewer, and register the graph in
Expand All @@ -631,12 +632,12 @@ void read(FileSource input, String filename) throws IOException,
* @param autoLayout
* If true a layout algorithm is launched in its own thread to
* compute best node positions.
* @see org.graphstream.ui.swingViewer.Viewer
* @see org.graphstream.ui.view.Viewer
* @see #display()
* @return a graph viewer that allows to command the viewer (it often run in
* another thread).
*/
org.graphstream.ui.swingViewer.Viewer display(boolean autoLayout);
Viewer display(boolean autoLayout);

// New methods

Expand Down
16 changes: 6 additions & 10 deletions src/org/graphstream/graph/implementations/AbstractElement.java
Expand Up @@ -31,17 +31,17 @@
*/
package org.graphstream.graph.implementations;

import org.graphstream.graph.CompoundAttribute;
import org.graphstream.graph.Element;
import org.graphstream.graph.NullAttributeException;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import org.graphstream.graph.CompoundAttribute;
import org.graphstream.graph.Element;
import org.graphstream.graph.NullAttributeException;

/**
* A base implementation of an element.
*
Expand Down Expand Up @@ -138,10 +138,6 @@ protected void setIndex(int index) {
* implemented by sub-elements in order to send events to the graph
* listeners.
*
* @param sourceId
* The source of the change.
* @param timeId
* The source time of the change, for synchronization.
* @param attribute
* The attribute name that changed.
* @param event
Expand Down Expand Up @@ -249,12 +245,12 @@ public <T> T getFirstAttributeOf(Class<T> clazz, String... keys) {
* @complexity O(log(n)) with n being the number of attributes of this
* element.
*/
public CharSequence getLabel(String key) {
public String getLabel(String key) {
if (attributes != null) {
Object o = attributes.get(key);

if (o != null && o instanceof CharSequence)
return (CharSequence) o;
return o.toString();
}

if (nullAttributesAreErrors())
Expand Down
12 changes: 6 additions & 6 deletions src/org/graphstream/graph/implementations/AbstractGraph.java
Expand Up @@ -31,11 +31,6 @@
*/
package org.graphstream.graph.implementations;

import java.io.IOException;
import java.util.AbstractCollection;
import java.util.Collection;
import java.util.Iterator;

import org.graphstream.graph.Edge;
import org.graphstream.graph.EdgeFactory;
import org.graphstream.graph.EdgeRejectedException;
Expand All @@ -57,9 +52,14 @@
import org.graphstream.ui.layout.Layout;
import org.graphstream.ui.layout.Layouts;
import org.graphstream.ui.swingViewer.GraphRenderer;
import org.graphstream.ui.swingViewer.Viewer;
import org.graphstream.ui.view.Viewer;
import org.graphstream.util.GraphListeners;

import java.io.IOException;
import java.util.AbstractCollection;
import java.util.Collection;
import java.util.Iterator;

/**
* <p>
* This class provides a basic implementation of
Expand Down
2 changes: 1 addition & 1 deletion src/org/graphstream/graph/implementations/Graphs.java
Expand Up @@ -57,7 +57,7 @@
import org.graphstream.stream.Sink;
import org.graphstream.stream.file.FileSink;
import org.graphstream.stream.file.FileSource;
import org.graphstream.ui.swingViewer.Viewer;
import org.graphstream.ui.view.Viewer;

public class Graphs {

Expand Down
5 changes: 3 additions & 2 deletions src/org/graphstream/ui/graphicGraph/GraphicGraph.java
Expand Up @@ -62,6 +62,7 @@
import org.graphstream.ui.graphicGraph.stylesheet.StyleSheet;
import org.graphstream.ui.graphicGraph.stylesheet.Value;
import org.graphstream.ui.graphicGraph.stylesheet.Values;
import org.graphstream.ui.view.Viewer;
import org.graphstream.util.GraphListeners;

/**
Expand Down Expand Up @@ -835,12 +836,12 @@ public <T extends Node> T removeNode(String id)
return (T) node;
}

public org.graphstream.ui.swingViewer.Viewer display() {
public Viewer display() {
throw new RuntimeException(
"GraphicGraph is used by display() and cannot recursively define display()");
}

public org.graphstream.ui.swingViewer.Viewer display(boolean autoLayout) {
public Viewer display(boolean autoLayout) {
throw new RuntimeException(
"GraphicGraph is used by display() and cannot recursively define display()");
}
Expand Down
33 changes: 10 additions & 23 deletions src/org/graphstream/ui/swingViewer/DefaultView.java
Expand Up @@ -33,11 +33,12 @@

import org.graphstream.ui.graphicGraph.GraphicElement;
import org.graphstream.ui.graphicGraph.GraphicGraph;
import org.graphstream.ui.swingViewer.util.Camera;
import org.graphstream.ui.swingViewer.util.DefaultMouseManager;
import org.graphstream.ui.swingViewer.util.DefaultShortcutManager;
import org.graphstream.ui.swingViewer.util.MouseManager;
import org.graphstream.ui.swingViewer.util.ShortcutManager;
import org.graphstream.ui.view.Viewer;
import org.graphstream.ui.view.Camera;
import org.graphstream.ui.view.util.DefaultMouseManager;
import org.graphstream.ui.view.util.DefaultShortcutManager;
import org.graphstream.ui.view.util.MouseManager;
import org.graphstream.ui.view.util.ShortcutManager;

import javax.swing.JFrame;
import java.awt.BorderLayout;
Expand Down Expand Up @@ -101,7 +102,7 @@
* graph attribute is the identifier of the view.
* </p>
*/
public class DefaultView extends View implements WindowListener, ComponentListener
public class DefaultView extends ViewPanel implements WindowListener, ComponentListener
{
private static final long serialVersionUID = - 4489484861592064398L;

Expand Down Expand Up @@ -155,12 +156,12 @@ public DefaultView(Viewer viewer, String identifier, GraphRenderer renderer) {

// Command

@Override

public Camera getCamera() {
return renderer.getCamera();
}

@Override

public void display(GraphicGraph graph, boolean graphChanged) {
repaint();
}
Expand Down Expand Up @@ -190,7 +191,6 @@ protected void checkTitle() {
}
}

@Override
public void close(GraphicGraph graph) {
renderer.close();
graph.addAttribute("ui.viewClosed", getId());
Expand All @@ -202,14 +202,12 @@ public void close(GraphicGraph graph) {
openInAFrame(false);
}

@Override
public void resizeFrame(int width, int height) {
if (frame != null) {
frame.setSize(width, height);
}
}

@Override
public void openInAFrame(boolean on) {
if (on) {
if (frame == null) {
Expand Down Expand Up @@ -250,19 +248,16 @@ public void render(Graphics2D g) {

// Selection

@Override
public void beginSelectionAt(double x1, double y1) {
renderer.beginSelectionAt(x1, y1);
repaint();
}

@Override
public void selectionGrowsAt(double x, double y) {
renderer.selectionGrowsAt(x, y);
repaint();
}

@Override
public void endSelectionAt(double x2, double y2) {
renderer.endSelectionAt(x2, y2);
repaint();
Expand Down Expand Up @@ -331,18 +326,15 @@ public void componentShown(ComponentEvent e) {

// Methods deferred to the renderer

@Override
public Collection<GraphicElement> allNodesOrSpritesIn(double x1, double y1,
double x2, double y2) {
return renderer.allNodesOrSpritesIn(x1, y1, x2, y2);
}

@Override
public GraphicElement findNodeOrSpriteAt(double x, double y) {
return renderer.findNodeOrSpriteAt(x, y);
}

@Override
public void moveElementAtPx(GraphicElement element, double x, double y) {
// The feedback on the node positions is often off since not needed
// and generating lots of events. We activate it here since the
Expand All @@ -353,8 +345,7 @@ public void moveElementAtPx(GraphicElement element, double x, double y) {
renderer.moveElementAtPx(element, x, y);
graph.feedbackXYZ(on);
}

@Override

public void freezeElement(GraphicElement element, boolean frozen) {
if(frozen) {
element.addAttribute("layout.frozen");
Expand All @@ -363,19 +354,16 @@ public void freezeElement(GraphicElement element, boolean frozen) {
}
}

@Override
public void setBackLayerRenderer(LayerRenderer renderer) {
this.renderer.setBackLayerRenderer(renderer);
repaint();
}

@Override
public void setForeLayoutRenderer(LayerRenderer renderer) {
this.renderer.setForeLayoutRenderer(renderer);
repaint();
}

@Override
public void setMouseManager(MouseManager manager) {
if(mouseClicks != null)
mouseClicks.release();
Expand All @@ -388,7 +376,6 @@ public void setMouseManager(MouseManager manager) {
mouseClicks = manager;
}

@Override
public void setShortcutManager(ShortcutManager manager) {
if(shortcuts != null)
shortcuts.release();
Expand Down
2 changes: 1 addition & 1 deletion src/org/graphstream/ui/swingViewer/GraphRenderer.java
Expand Up @@ -33,7 +33,7 @@

import org.graphstream.ui.graphicGraph.GraphicElement;
import org.graphstream.ui.graphicGraph.GraphicGraph;
import org.graphstream.ui.swingViewer.util.Camera;
import org.graphstream.ui.view.Camera;

import java.awt.Container;
import java.awt.Graphics2D;
Expand Down
7 changes: 4 additions & 3 deletions src/org/graphstream/ui/swingViewer/GraphRendererBase.java
Expand Up @@ -31,13 +31,14 @@
*/
package org.graphstream.ui.swingViewer;

import org.graphstream.ui.graphicGraph.GraphicGraph;
import org.graphstream.ui.graphicGraph.StyleGroupListener;
import org.graphstream.ui.view.Selection;

import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics2D;

import org.graphstream.ui.graphicGraph.GraphicGraph;
import org.graphstream.ui.graphicGraph.StyleGroupListener;

public abstract class GraphRendererBase implements GraphRenderer,
StyleGroupListener {
// Attribute
Expand Down

0 comments on commit 6210d9d

Please sign in to comment.