changeset 1602:68dfab57afda

Fix charts to update on user changing since duration Reviewed-by: omajid Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2014-December/012008.html
author Lukasz Dracz <ldracz@redhat.com>
date Mon, 08 Dec 2014 14:19:36 -0500
parents a75dfbb7a137
children 4c152ea35b79
files client/swing/src/main/java/com/redhat/thermostat/client/swing/components/RecentTimeSeriesChartPanel.java client/swing/src/main/java/com/redhat/thermostat/client/swing/components/experimental/SingleValueChartPanel.java
diffstat 2 files changed, 19 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/client/swing/src/main/java/com/redhat/thermostat/client/swing/components/RecentTimeSeriesChartPanel.java	Fri Dec 05 18:11:02 2014 -0700
+++ b/client/swing/src/main/java/com/redhat/thermostat/client/swing/components/RecentTimeSeriesChartPanel.java	Mon Dec 08 14:19:36 2014 -0500
@@ -37,6 +37,8 @@
 package com.redhat.thermostat.client.swing.components;
 
 import java.awt.BorderLayout;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
 
 import javax.swing.JPanel;
 import javax.swing.SwingUtilities;
@@ -56,7 +58,7 @@
     private RecentTimeControlPanel recentTimeControlPanel;
     private JTextComponent label;
 
-    public RecentTimeSeriesChartPanel(RecentTimeSeriesChartController controller) {
+    public RecentTimeSeriesChartPanel(final RecentTimeSeriesChartController controller) {
 
         this.setLayout(new BorderLayout());
 
@@ -79,6 +81,13 @@
         cp.setMaximumDrawWidth(Integer.MAX_VALUE);
         Duration duration = new Duration(controller.getTimeValue(), controller.getTimeUnit());
         recentTimeControlPanel = new RecentTimeControlPanel(duration);
+        recentTimeControlPanel.addPropertyChangeListener(RecentTimeControlPanel.PROPERTY_VISIBLE_TIME_RANGE, new PropertyChangeListener() {
+            @Override
+            public void propertyChange(final PropertyChangeEvent evt) {
+                Duration d = (Duration) evt.getNewValue();
+                controller.setTime(d.value, d.unit);
+            }
+        });
         add(recentTimeControlPanel, BorderLayout.SOUTH);
 
         add(cp, BorderLayout.CENTER);
--- a/client/swing/src/main/java/com/redhat/thermostat/client/swing/components/experimental/SingleValueChartPanel.java	Fri Dec 05 18:11:02 2014 -0700
+++ b/client/swing/src/main/java/com/redhat/thermostat/client/swing/components/experimental/SingleValueChartPanel.java	Mon Dec 08 14:19:36 2014 -0500
@@ -38,6 +38,8 @@
 
 import java.awt.BorderLayout;
 import java.awt.Color;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
 import java.util.concurrent.TimeUnit;
 
 import javax.swing.JPanel;
@@ -104,6 +106,13 @@
         chartPanel.setMaximumDrawWidth(Integer.MAX_VALUE);
 
         recentTimeControlPanel = new RecentTimeControlPanel(duration);
+        recentTimeControlPanel.addPropertyChangeListener(RecentTimeControlPanel.PROPERTY_VISIBLE_TIME_RANGE, new PropertyChangeListener() {
+            @Override
+            public void propertyChange(final PropertyChangeEvent evt) {
+                Duration d = (Duration) evt.getNewValue();
+                SingleValueChartPanel.this.firePropertyChange(RecentTimeControlPanel.PROPERTY_VISIBLE_TIME_RANGE, null, d);
+            }
+        });
         add(chartPanel, BorderLayout.CENTER);
         add(recentTimeControlPanel, BorderLayout.SOUTH);