diff --git a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/WeatherPlotDialog.java b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/WeatherPlotDialog.java index 15cca47ab5..dd9bd3f355 100755 --- a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/WeatherPlotDialog.java +++ b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/climatology/WeatherPlotDialog.java @@ -69,6 +69,7 @@ import com.raytheon.viz.avncommon.AvnMessageMgr.StatusMessageType; import com.raytheon.viz.avnconfig.HelpUsageDlg; import com.raytheon.viz.avnconfig.MessageStatusComp; import com.raytheon.viz.ui.dialogs.CaveSWTDialog; +import com.raytheon.viz.ui.dialogs.ICloseCallback; /** * WeatherPlotDialog class displays the Weather Plot dialog for AvnFPS. @@ -85,6 +86,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * as WeatherPlotDataManager. * 04/28/2011 8065 rferrel Use cache data. * 10/02/2012 1229 rferrel Made dialog non-blocking. + * 10/10/2012 1229 rferrel Changes for non-blocking TimeSelectorDlg. * * * @@ -214,6 +216,8 @@ public class WeatherPlotDialog extends CaveSWTDialog { */ private List icaos; + private TimeSelectorDialog timeDlg; + /** * Constructor. * @@ -411,10 +415,25 @@ public class WeatherPlotDialog extends CaveSWTDialog { timesBtn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { - TimeSelectorDialog timeDlg = new TimeSelectorDialog(shell, - wxPlotCfg); - if ((Boolean) timeDlg.open()) { - displayData(); + if (timeDlg == null || timeDlg.getShell() == null + || timeDlg.isDisposed()) { + timeDlg = new TimeSelectorDialog(shell, wxPlotCfg); + timeDlg.setCloseCallback(new ICloseCallback() { + + @Override + public void dialogClosed(Object returnValue) { + if (returnValue instanceof Boolean) { + boolean value = (Boolean) returnValue; + if (value) { + displayData(); + } + } + + } + }); + timeDlg.open(); + } else { + timeDlg.bringToTop(); } } }); diff --git a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/utility/TimeSelectorDialog.java b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/utility/TimeSelectorDialog.java index 0a10ba644d..93fe52d3bf 100755 --- a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/utility/TimeSelectorDialog.java +++ b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/utility/TimeSelectorDialog.java @@ -49,6 +49,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * ------------ ---------- ----------- -------------------------- * 28 FEB 2008 938 lvenable Initial creation. * 3/27/2008 1033 grichard Added ETA-MOS label. + * 10/10/2012 1229 rferrel Make dialog non-blocking. * * * @@ -95,7 +96,8 @@ public class TimeSelectorDialog extends CaveSWTDialog { */ public TimeSelectorDialog(Shell parent, WxPlotCfg wxPlotCfg) { super(parent, SWT.DIALOG_TRIM | SWT.RESIZE, - CAVE.PERSPECTIVE_INDEPENDENT | CAVE.MODE_INDEPENDENT); + CAVE.PERSPECTIVE_INDEPENDENT | CAVE.MODE_INDEPENDENT + | CAVE.DO_NOT_BLOCK); setText("AvnFPS Time Selector"); this.wxPlotCfg = wxPlotCfg; }