From 551cffe3155d4bfe6e59a28420e16c2567453d93 Mon Sep 17 00:00:00 2001 From: Roger Ferrel Date: Tue, 30 Oct 2012 09:00:10 -0500 Subject: [PATCH] Issue #1298 Changes for non-blocking WeatherElementBrowserDialog. Change-Id: I3359b2b9f9bbf1e58735891163fa8fd798e4ac1e Former-commit-id: f65213c5426b504160d185f16615b1aae5e2f532 [formerly f37d9edd9803c6a2bbf039662b3f2750b1cec8db] Former-commit-id: 4a13cfb8a617348267b19fdd9ff7f4a2e404bea1 --- .../actions/ShowWeatherElementBrowserDialog.java | 15 +++++++++++---- .../gfe/dialogs/WeatherElementBrowserDialog.java | 5 +++-- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/actions/ShowWeatherElementBrowserDialog.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/actions/ShowWeatherElementBrowserDialog.java index 4d2bcb779d..cc0b91d99d 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/actions/ShowWeatherElementBrowserDialog.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/actions/ShowWeatherElementBrowserDialog.java @@ -38,6 +38,7 @@ import com.raytheon.viz.gfe.dialogs.WeatherElementBrowserDialog; * 02/22/2008 Eric Babin Initial Creation * 04/09/2009 1288 rjpeter Removed explicit refresh of SpatialDisplayManager. * 04/30/2009 2282 rjpeter Moved dialog handling to the dialog. + * 10/30/2012 1229 rferrel Changed for non-blocking WeatherElementBrowserDialog. * * * @author ebabin @@ -45,6 +46,7 @@ import com.raytheon.viz.gfe.dialogs.WeatherElementBrowserDialog; */ public class ShowWeatherElementBrowserDialog extends AbstractHandler { + private WeatherElementBrowserDialog dialog; /* * (non-Javadoc) @@ -56,13 +58,18 @@ public class ShowWeatherElementBrowserDialog extends AbstractHandler { @Override public Object execute(ExecutionEvent arg0) throws ExecutionException { DataManager dm = DataManager.getCurrentInstance(); - if (dm != null) { + if (dm == null) { + return null; + } + + if (dialog == null || dialog.getShell() == null || dialog.isDisposed()) { Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getShell(); - WeatherElementBrowserDialog dialog = new WeatherElementBrowserDialog( - shell, dm); - dialog.setBlockOnOpen(true); + dialog = new WeatherElementBrowserDialog(shell, dm); + dialog.setBlockOnOpen(false); dialog.open(); + } else { + dialog.bringToTop(); } return null; diff --git a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/WeatherElementBrowserDialog.java b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/WeatherElementBrowserDialog.java index ecf249623b..0e14118314 100644 --- a/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/WeatherElementBrowserDialog.java +++ b/cave/com.raytheon.viz.gfe/src/com/raytheon/viz/gfe/dialogs/WeatherElementBrowserDialog.java @@ -72,6 +72,7 @@ import com.raytheon.viz.ui.widgets.ToggleSelectList; * 09/12/2012 #1117 dgilling Revert previous changes, retrieve * database list from ParmManager * not EDEX. + * 10/30/2012 1298 rferrel Code clean up non-blocking dialog. * * * @author ebabin @@ -109,9 +110,9 @@ public class WeatherElementBrowserDialog extends CaveJFACEDialog { private ParmID[] currentDisplayedParms; - private static final Point size = new Point(603, 778); + private final Point size = new Point(603, 778); - private static final String IFP = "IFP"; + private final String IFP = "IFP"; /** * Constructor