diff --git a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/observer/TafMonitorDlg.java b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/observer/TafMonitorDlg.java index b21c162549..7510cb1afc 100644 --- a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/observer/TafMonitorDlg.java +++ b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/observer/TafMonitorDlg.java @@ -135,7 +135,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback; * 10/09/2012 1229 rferrel Made dialog non-blocking. * 10/10/2012 1229 rferrel Changes for non-blocking ResourceEditorDlg. * 10/10/2012 1229 rferrel Changes for non-blocking TransmissionQueueDlg. - * + * 10/10/2012 1229 jkorman Changes for AlertDialog to support non-blocking. * * * @author grichard @@ -193,6 +193,11 @@ public class TafMonitorDlg extends CaveSWTDialog { */ private ResourceEditorDlg resDlg; + /** + * Alert configuration dialog. + */ + private AlertDialog alertDialog; + /** * Resource configuration manager. */ @@ -508,8 +513,15 @@ public class TafMonitorDlg extends CaveSWTDialog { alertMenuItem.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { - AlertDialog alertDialog = new AlertDialog(shell); - alertDialog.open(); + // Do we need to create a new dialog? + if ((alertDialog == null) || (alertDialog.getShell() == null) + || (alertDialog.isDisposed())) { + alertDialog = new AlertDialog(shell); + alertDialog.open(); + } else { + // No, so use the existing dialog. + alertDialog.bringToTop(); + } } }); diff --git a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/utility/AlertDialog.java b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/utility/AlertDialog.java index 874b07a233..a41b60a850 100644 --- a/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/utility/AlertDialog.java +++ b/cave/com.raytheon.viz.aviation/src/com/raytheon/viz/aviation/utility/AlertDialog.java @@ -45,6 +45,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog; * Date Ticket# Engineer Description * ------------ ---------- ----------- -------------------------- * 1/24/2008 817 grichard Initial creation. + * 20121010 1229 jkorman Added DO_NOT_BLOCK so dialog does not block on open. * * * @@ -72,7 +73,7 @@ public class AlertDialog extends CaveSWTDialog { * Parent Shell. */ public AlertDialog(Shell parent) { - super(parent, SWT.DIALOG_TRIM, CAVE.PERSPECTIVE_INDEPENDENT); + super(parent, SWT.DIALOG_TRIM, CAVE.PERSPECTIVE_INDEPENDENT | CAVE.DO_NOT_BLOCK); setText("AvnFPS Alert Dialog"); }