* Charts are usually created from the Statistics module and data are saved
- * within {@link Graph#getAttributes()}. Columns can be accessed from the graph table
- * in the {@link AttributeModel#getGraphTable() }.
- *
+ * within {@link Graph#getAttributes()}. Columns can be accessed from the graph
+ * table in the {@link AttributeModel#getGraphTable() }.
+ *
* @author Mathieu Bastian
- * @see TimelineController#selectColumn(org.gephi.data.attributes.api.AttributeColumn)
+ * @see
+ * TimelineController#selectColumn(org.gephi.data.attributes.api.AttributeColumn)
*/
public interface TimelineChart {
/**
* The attribute column used to create this chart.
+ *
* @return the attribute column
*/
- public AttributeColumn getColumn();
+ public String getColumn();
/**
* Returns the X values of this chart.
+ *
* @return the X values
*/
public Number[] getX();
/**
* Returns the Y values of this chart.
+ *
* @return the Y values
*/
public Number[] getY();
-
+
/**
- * Return the Y value for the given x
position. It returns the closest
- * value, as x
may not exist.
+ * Return the Y value for the given x
position. It returns the
+ * closest value, as x
may not exist.
+ *
* @param x the point in time
* @return the Y value
*/
@@ -86,24 +89,28 @@ public interface TimelineChart {
/**
* Returns the min Y value .This is the minimum value in the chart.
+ *
* @return the min Y value
*/
public Number getMinY();
/**
* Returns the max Y value. This is the maximum value in the chart.
+ *
* @return the max Y value
*/
public Number getMaxY();
-
+
/**
* Returns the min X value .This is the minimum interval in the chart.
+ *
* @return the min X value
*/
public Number getMinX();
/**
* Returns the max X value. This is the maximum interval in the chart.
+ *
* @return the max X value
*/
public Number getMaxX();
diff --git a/modules/TimelineAPI/src/main/java/org/gephi/timeline/api/TimelineController.java b/modules/TimelineAPI/src/main/java/org/gephi/timeline/api/TimelineController.java
index 2d6226ac9f9cb3c4351be3ce07b18602f04669ae..b63d22d6e3a79b44c6a105a7a4ea4dae424381f5 100644
--- a/modules/TimelineAPI/src/main/java/org/gephi/timeline/api/TimelineController.java
+++ b/modules/TimelineAPI/src/main/java/org/gephi/timeline/api/TimelineController.java
@@ -41,27 +41,28 @@ Portions Copyrighted 2011 Gephi Consortium.
*/
package org.gephi.timeline.api;
-import org.gephi.data.attributes.api.AttributeColumn;
-import org.gephi.dynamic.api.DynamicModel;
+import org.gephi.graph.api.TimeFormat;
import org.gephi.project.api.Workspace;
/**
* Controls the timeline bounds and animation features.
*
- * By default the timeline is disabled and can be enabled with the setEnabled()
- * method. Once enabled, the controller is setting its interval value to the
- * {@link DynamicModel}.
+ * By default the timeline is disabled and can be enabled with the
+ * setEnabled()
method. Once enabled, the controller is setting its
+ * interval value to the {@link DynamicModel}.
*
- * The interval can be animated using the startPlay()
and stopPlay()
- * methods. Configuration parameters are also available.
+ * The interval can be animated using the startPlay()
and
+ * stopPlay()
methods. Configuration parameters are also available.
*
- * This controller also allows to lookup graph attribute columns that can be used
- * as sparklines (e.g. node count, average degree...). Use the selectColumn()
- * to create a {@link TimelineChart} accessible from the TimelineModel
+ * This controller also allows to lookup graph attribute columns that can be
+ * used as sparklines (e.g. node count, average degree...). Use the
+ * selectColumn()
to create a {@link TimelineChart} accessible from
+ * the TimelineModel
*
- * All interval values are in the same space as the DynamicAPI
module and
- * no value should eb out of the min/max bounds maintained by the DynamicModel
.
- *
+ * All interval values are in the same space as the DynamicAPI
+ * module and no value should eb out of the min/max bounds maintained by the
+ * DynamicModel
.
+ *
* @author Julian Bilcke, Mathieu Bastian
* @see TimelineModel
*/
@@ -69,6 +70,7 @@ public interface TimelineController {
/**
* Returns the timeline model from workspace
.
+ *
* @param workspace the workspace to get the model from
* @return the timeline model for this workspace
*/
@@ -82,8 +84,10 @@ public interface TimelineController {
public TimelineModel getModel();
/**
- * Sets the timeline custom bounds. Custom bounds still need to be included in the
- * min and max bound of the time scale. The timeline will resize accordingly.
+ * Sets the timeline custom bounds. Custom bounds still need to be included
+ * in the min and max bound of the time scale. The timeline will resize
+ * accordingly.
+ *
* @param min the lower bound
* @param max the upper bound
* @throws IllegalArgumentException if min
is superior or equal than
@@ -93,22 +97,29 @@ public interface TimelineController {
/**
* Sets the timeline enable status.
+ *
* @param enabled the enabled value to set
*/
public void setEnabled(boolean enabled);
/**
- * Sets the current timeline interval. This is propagated to the
DynamicModel
- * and defines the interval the graph is filtered with.
+ * Sets the current timeline interval. This is propagated to the
+ * DynamicModel
and defines the interval the graph is filtered
+ * with.
+ *
* @param from the lower bound
* @param to the upper bound
* @throws IllegalArgumentException if min
is superior or equal than
*
max
or out of bounds
*/
public void setInterval(double from, double to);
+
+ public void setTimeFormat(TimeFormat timeFormat);
+
/**
- * Starts the timeline animation using the current delay, step size and play mode.
+ * Starts the timeline animation using the current delay, step size and play
+ * mode.
*/
public void startPlay();
@@ -118,8 +129,9 @@ public interface TimelineController {
public void stopPlay();
/**
- * Sets the play delay in milliseconds. Defines the time between each interval
- * shift.
+ * Sets the play delay in milliseconds. Defines the time between each
+ * interval shift.
+ *
* @param delay the delay in milliseconds
*/
public void setPlaySpeed(int delay);
@@ -127,39 +139,46 @@ public interface TimelineController {
/**
* Sets the play step. Defines how much the interval is moved at each step
* during animation. Defined in percentage of the total interval.
+ *
* @param step the step, between 0 and 1
*/
public void setPlayStep(double step);
/**
* Sets the play mode. This defines how the interval is moved.
+ *
* @param playMode the play mode
*/
public void setPlayMode(TimelineModel.PlayMode playMode);
/**
- * Returns all the possible dynamic attribute columns. This is essentially all
- * number-based dynamic columns defined in the graph table.
+ * Returns all the possible dynamic attribute columns. This is essentially
+ * all number-based dynamic columns defined in the graph table.
+ *
* @return all dynamic number columns in the graph table
*/
- public AttributeColumn[] getDynamicGraphColumns();
+ public String[] getDynamicGraphColumns();
/**
- * Select a column to make a {@link TimelineChart} of it. The column must be member
- * of the graph table.
+ * Select a column to make a {@link TimelineChart} of it. The column must be
+ * member of the graph table.
+ *
* @param column the column to select
- * @throws IllegalArgumentException if column
is not a graph column
+ * @throws IllegalArgumentException if column
is not a graph
+ * column
*/
- public void selectColumn(AttributeColumn column);
+ public void selectColumn(String column);
/**
* Add listener
to the list of event listerners.
+ *
* @param listener the listener to add
*/
public void addListener(TimelineModelListener listener);
/**
* Remove listerner
from the list of event listeners.
+ *
* @param listener the listener to remove
*/
public void removeListener(TimelineModelListener listener);
diff --git a/modules/TimelineAPI/src/main/java/org/gephi/timeline/api/TimelineModel.java b/modules/TimelineAPI/src/main/java/org/gephi/timeline/api/TimelineModel.java
index e0e66394e058d4c4d3a09416e45e915b85649bf8..b095f94f76ea34bdcd55a74ce3ea61e2e9fba940 100644
--- a/modules/TimelineAPI/src/main/java/org/gephi/timeline/api/TimelineModel.java
+++ b/modules/TimelineAPI/src/main/java/org/gephi/timeline/api/TimelineModel.java
@@ -41,7 +41,7 @@ Portions Copyrighted 2011 Gephi Consortium.
*/
package org.gephi.timeline.api;
-import org.gephi.dynamic.api.DynamicModel;
+import org.gephi.graph.api.TimeFormat;
/**
* Timeline model which holds timeline bounds, interval and animation flags.
@@ -136,7 +136,7 @@ public interface TimelineModel {
* Returns the current time format. Default is DOUBLE
* @return the current tie
*/
- public DynamicModel.TimeFormat getTimeFormat();
+ public TimeFormat getTimeFormat();
/**
* Returns the play delay in milliseconds. Defines the time between each interval
diff --git a/modules/VisualizationImpl/src/main/java/org/gephi/visualization/apiimpl/GraphDrawable.java b/modules/VisualizationImpl/src/main/java/org/gephi/visualization/apiimpl/GraphDrawable.java
index c1a298240cb23d88cc43ad34e9db3866f2d1f976..0a51ba3ff260b2382fd546856ae93edd66b1b903 100644
--- a/modules/VisualizationImpl/src/main/java/org/gephi/visualization/apiimpl/GraphDrawable.java
+++ b/modules/VisualizationImpl/src/main/java/org/gephi/visualization/apiimpl/GraphDrawable.java
@@ -97,4 +97,6 @@ public interface GraphDrawable {
public void destroy();
public Point getLocationOnScreen();
+
+ public void reinitWindow();
}
diff --git a/modules/VisualizationImpl/src/main/java/org/gephi/visualization/screenshot/OffscreenCanvas.java b/modules/VisualizationImpl/src/main/java/org/gephi/visualization/screenshot/OffscreenCanvas.java
index a0a4a68513c65b35cd768755ce2e22c78a980e37..8f52873b3f12f8dbd1ba6bea4c60f7370412753d 100644
--- a/modules/VisualizationImpl/src/main/java/org/gephi/visualization/screenshot/OffscreenCanvas.java
+++ b/modules/VisualizationImpl/src/main/java/org/gephi/visualization/screenshot/OffscreenCanvas.java
@@ -182,4 +182,8 @@ public class OffscreenCanvas extends GLAbstractListener implements TileRendererB
public void endTileRendering(TileRendererBase trb) {
}
+
+ @Override
+ public void reinitWindow() {
+ }
}
diff --git a/modules/VisualizationImpl/src/main/java/org/gephi/visualization/swing/GraphCanvas.java b/modules/VisualizationImpl/src/main/java/org/gephi/visualization/swing/GraphCanvas.java
index be2282ddca44d605842abc2d4c3ee6ec307d3dfe..6662e082adfd5816400724176337b82b4ae8fb90 100644
--- a/modules/VisualizationImpl/src/main/java/org/gephi/visualization/swing/GraphCanvas.java
+++ b/modules/VisualizationImpl/src/main/java/org/gephi/visualization/swing/GraphCanvas.java
@@ -110,4 +110,8 @@ public class GraphCanvas extends GLAbstractListener {
protected void reshape3DScene(GL2 gl) {
}
+ @Override
+ public void reinitWindow() {
+ }
+
}
diff --git a/modules/VisualizationImpl/src/main/java/org/gephi/visualization/swing/NewtGraphCanvas.java b/modules/VisualizationImpl/src/main/java/org/gephi/visualization/swing/NewtGraphCanvas.java
index e30a8d8ea5ebe438be9f12fcedc963d3c20f26fd..ffc08c786d1c0e78db0f10ff8cff21820a6888cb 100644
--- a/modules/VisualizationImpl/src/main/java/org/gephi/visualization/swing/NewtGraphCanvas.java
+++ b/modules/VisualizationImpl/src/main/java/org/gephi/visualization/swing/NewtGraphCanvas.java
@@ -50,6 +50,7 @@ import com.jogamp.opengl.glu.GLU;
import java.awt.Dimension;
import javax.swing.JPopupMenu;
import javax.swing.ToolTipManager;
+import org.gephi.ui.utils.UIUtils;
/**
*
@@ -93,11 +94,14 @@ public class NewtGraphCanvas extends GLAbstractListener {
engine.startDisplay();
}
+ @Override
public void reinitWindow() {
- // Only used when collapse panel is set visible
- // Workaround for JOGL bug 1274
- glCanvas.setNEWTChild(null);
- glCanvas.setNEWTChild(glWindow);
+ if (UIUtils.isAquaLookAndFeel()) {
+ // Only used when collapse panel is set visible
+ // Workaround for JOGL bug 1274
+ glCanvas.setNEWTChild(null);
+ glCanvas.setNEWTChild(glWindow);
+ }
}
@Override
diff --git a/modules/application/pom.xml b/modules/application/pom.xml
index 25b39abbe0b101afbc4921137f33e4b1e4f374eb..e14a4bd73019bea3a194ea1ce4d987acb5fa99f0 100644
--- a/modules/application/pom.xml
+++ b/modules/application/pom.xml
@@ -261,11 +261,10 @@