Mercurial > hg > release > thermostat-2.0
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);