From 80d7309ea7762216032d615c9b47b87e80cb8939 Mon Sep 17 00:00:00 2001 From: Roger Ferrel Date: Mon, 10 Dec 2012 11:28:41 -0600 Subject: [PATCH] Issue #1353 Changes for non-blocking DamDisplayControlDlg. Change-Id: I8a07b7ed7a7e46d243f0319850e2611e0cd05475 Former-commit-id: f9a8d30c4d81c0ab46758a172a877d0000b62e17 [formerly 35261a7964e2a66302ffc967e1071ab097cac33b] [formerly 40b8e4ec57408619f8928f4a894f19eb4bead04e [formerly 25051f8e5de207d39cedcf5ff42ec1f8305c5c9a]] Former-commit-id: 40b8e4ec57408619f8928f4a894f19eb4bead04e Former-commit-id: fdad99bcc88660b3ebd8983431e600b3a4edde32 --- .../hydro/damdisplay/DamDisplayAction.java | 27 ++++++++++----- .../damdisplay/DamDisplayControlDlg.java | 33 +++++++++++++------ 2 files changed, 42 insertions(+), 18 deletions(-) diff --git a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/damdisplay/DamDisplayAction.java b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/damdisplay/DamDisplayAction.java index b48dcf231b..46f785216e 100644 --- a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/damdisplay/DamDisplayAction.java +++ b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/damdisplay/DamDisplayAction.java @@ -39,6 +39,7 @@ import org.eclipse.ui.PlatformUI; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * 6/27/06 randerso Initial Creation. + * 12/10/2013 1353 rferrel Changes for non-blocking DamDisplayControlDlg. * * * @@ -46,15 +47,25 @@ import org.eclipse.ui.PlatformUI; * */ public class DamDisplayAction extends AbstractHandler { + private DamDisplayControlDlg damDisplayDlg; - @Override - public Object execute(ExecutionEvent arg0) throws ExecutionException { - Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow() - .getShell(); - DamDisplayControlDlg damDisplayDlg = new DamDisplayControlDlg(shell); - damDisplayDlg.open(); + /* + * (non-Javadoc) + * + * @see + * org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands + * .ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent arg0) throws ExecutionException { + if (damDisplayDlg == null) { + Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow() + .getShell(); + damDisplayDlg = new DamDisplayControlDlg(shell); + } + damDisplayDlg.open(); - return null; - } + return null; + } } diff --git a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/damdisplay/DamDisplayControlDlg.java b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/damdisplay/DamDisplayControlDlg.java index 29c95eb47d..e48c0ed7f3 100644 --- a/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/damdisplay/DamDisplayControlDlg.java +++ b/cave/com.raytheon.viz.hydro/src/com/raytheon/viz/hydro/damdisplay/DamDisplayControlDlg.java @@ -65,17 +65,17 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * */ public class DamDisplayControlDlg extends CaveSWTDialog { - private static final String GREATER_THAN = "greater than"; + private final String GREATER_THAN = "greater than"; - private static final String EQUAL_TO = "equal to"; + private final String EQUAL_TO = "equal to"; - private static final String LESS_THAN = "less than"; + private final String LESS_THAN = "less than"; - private static final String ALL = "All"; + private final String ALL = "All"; - private static final String CENTER_LAT_TOKEN = "hv_center_lat"; + private final String CENTER_LAT_TOKEN = "hv_center_lat"; - private static final String CENTER_LON_TOKEN = "hv_center_lon"; + private final String CENTER_LON_TOKEN = "hv_center_lon"; /** * Dam volume combo box. @@ -161,13 +161,18 @@ public class DamDisplayControlDlg extends CaveSWTDialog { * Parent shell. */ public DamDisplayControlDlg(Shell parent) { - super(parent); + super(parent, SWT.DIALOG_TRIM, CAVE.DO_NOT_BLOCK); setText("Dam Display Control"); waitCursor = new Cursor(parent.getDisplay(), SWT.CURSOR_WAIT); arrowCursor = new Cursor(parent.getDisplay(), SWT.CURSOR_ARROW); } + /* + * (non-Javadoc) + * + * @see com.raytheon.viz.ui.dialogs.CaveSWTDialogBase#constructShellLayout() + */ @Override protected Layout constructShellLayout() { GridLayout mainLayout = new GridLayout(1, true); @@ -176,6 +181,13 @@ public class DamDisplayControlDlg extends CaveSWTDialog { return mainLayout; } + /* + * (non-Javadoc) + * + * @see + * com.raytheon.viz.ui.dialogs.CaveSWTDialogBase#initializeComponents(org + * .eclipse.swt.widgets.Shell) + */ @Override protected void initializeComponents(Shell shell) { setReturnValue(false); @@ -384,9 +396,10 @@ public class DamDisplayControlDlg extends CaveSWTDialog { PointDataControlManager pdcManager = PointDataControlManager .getInstance(); DamLocationResource dlr = pdcManager.getDamLocationResource(); - dlr.unload(); - pdcManager.setRedraw(true); - + if (dlr != null) { + dlr.unload(); + pdcManager.setRedraw(true); + } } });