Issue #1196 - dialog refactor.

Former-commit-id: de6dd650a8 [formerly 961f141b5a5960ebadd2b1d17889734f06121358]
Former-commit-id: 88dc1c28ac
This commit is contained in:
Lee Venable 2012-09-25 12:55:52 -05:00
parent c9a16a0607
commit a04bf64502
2 changed files with 35 additions and 45 deletions

View file

@ -60,6 +60,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
* uses the font.
* Feb 03, 2012 14317 mhuang Make alarm display window wider
* Sep 6, 2012 13365 rferrel Accumulate and Display fix.
* Sep 25, 2012 1196 lvenable Dialog refactor for AlarmDisplayWindow. Added DO_NOT_BLOCK.
*
* </pre>
*
@ -105,7 +106,7 @@ public class AlarmDisplayWindow extends CaveSWTDialog {
java.util.List<StdTextProduct> prodList,
ACCUMULATE_STATE accum_state) {
super(parentShell, SWT.RESIZE, CAVE.PERSPECTIVE_INDEPENDENT
| CAVE.INDEPENDENT_SHELL);
| CAVE.INDEPENDENT_SHELL | CAVE.DO_NOT_BLOCK);
setText("Alarm Display Window");
prods = prodList;
if (prods == null) {

View file

@ -64,6 +64,7 @@ import com.raytheon.viz.texteditor.command.ICommand;
import com.raytheon.viz.texteditor.msgs.IAfosBrowserCallback;
import com.raytheon.viz.texteditor.util.TextEditorUtil;
import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
import com.raytheon.viz.ui.dialogs.ICloseCallback;
import com.raytheon.viz.ui.dialogs.ModeListener;
/**
@ -94,6 +95,7 @@ import com.raytheon.viz.ui.dialogs.ModeListener;
* exception associated with closing "Current
* Alarm Queue" GUI
* Sep 6, 2012 13365 rferrel Accumulate and Display fix.
* Sep 25, 2012 1196 lvenable Dialog refactor for AlarmDisplayWindow.
* </pre>
*
* @author mnash
@ -384,32 +386,25 @@ public class CurrentAlarmQueue extends CaveSWTDialog implements
prods = produceTextProduct(command, refDate.getTime());
}
if (alarmDisplayDlg == null) {
// Display the Alarm Display Window
if (alarmDisplayDlg == null || alarmDisplayDlg.getShell().isDisposed()) {
alarmDisplayDlg = new AlarmDisplayWindow(shell, prods,
ACCUMULATE_STATE.UNCHANGE);
alarmDisplayDlg.open();
if (list != null && !list.isDisposed() && list.getItemCount() == 0) {
close();
}
} else {
if (alarmDisplayDlg.getShell() == null
|| alarmDisplayDlg.getShell().isDisposed()) {
alarmDisplayDlg = new AlarmDisplayWindow(shell, prods,
ACCUMULATE_STATE.UNCHANGE);
alarmDisplayDlg.open();
if (list != null && !list.isDisposed()
&& list.getItemCount() == 0) {
close();
alarmDisplayDlg.setCloseCallback(new ICloseCallback() {
@Override
public void dialogClosed(Object returnValue) {
if (list != null && !list.isDisposed()
&& list.getItemCount() == 0) {
close();
}
}
} else {
alarmDisplayDlg.setProds(prods);
alarmDisplayDlg.setDialogFocus();
}
}
if (list != null && !list.isDisposed()) {
if (list.getItemCount() == 0) {
displayAll.setEnabled(false);
}
});
alarmDisplayDlg.open();
} else {
alarmDisplayDlg.setProds(prods);
alarmDisplayDlg.setDialogFocus();
}
}
@ -457,31 +452,25 @@ public class CurrentAlarmQueue extends CaveSWTDialog implements
}
}
if (alarmDisplayDlg == null) {
// Display the Alarm Display Window
if (alarmDisplayDlg == null || alarmDisplayDlg.getShell().isDisposed()) {
alarmDisplayDlg = new AlarmDisplayWindow(shell, prods,
ACCUMULATE_STATE.TRUE);
alarmDisplayDlg.setCloseCallback(new ICloseCallback() {
@Override
public void dialogClosed(Object returnValue) {
if (list != null && !list.isDisposed()) {
if (list.getItemCount() == 0) {
displayAll.setEnabled(false);
}
}
}
});
alarmDisplayDlg.open();
} else {
if (alarmDisplayDlg.getShell() == null
|| alarmDisplayDlg.getShell().isDisposed()) {
alarmDisplayDlg = new AlarmDisplayWindow(shell, prods,
ACCUMULATE_STATE.TRUE);
alarmDisplayDlg.open();
} else {
alarmDisplayDlg.setProds(prods);
alarmDisplayDlg.setAccumulate(true);
alarmDisplayDlg.setDialogFocus();
}
}
/*
* DR14795 - fix the "Unhandled event loop" exception
* by calling setEnabled on displayAll only
* for a valid list
*/
if (list != null && !list.isDisposed()) {
if (list.getItemCount() == 0) {
displayAll.setEnabled(false);
}
alarmDisplayDlg.setProds(prods);
alarmDisplayDlg.setAccumulate(true);
alarmDisplayDlg.setDialogFocus();
}
}