Issue #1353 Changers for non-blocking GhgFilterDlg and GhgSaveDeleteFilterDlg.
Change-Id: I9a6278ea75eda3f8bc9666f6ae41451b255cb223 Former-commit-id:43be0994dc
[formerly72d6a5620c
] [formerly317e34f89b
] [formerly317e34f89b
[formerlyd1d846267c
]] [formerly43be0994dc
[formerly72d6a5620c
] [formerly317e34f89b
] [formerly317e34f89b
[formerlyd1d846267c
]] [formerly2be7ff7c35
[formerly317e34f89b
[formerlyd1d846267c
] [formerly2be7ff7c35
[formerly 5a2362265aa6378f323144d87f6d7ef01cd37c9f]]]]] Former-commit-id:2be7ff7c35
Former-commit-id:1a6bf22708
[formerly9d8309d964
] [formerly0d05519f0a
] [formerly 5284e1095fe602e9c1a15adbd9df9d42d896f9e4 [formerly 3b827e94741138d9474851f85cebebea28383efe] [formerly0d05519f0a
[formerlyba682f2812
]]] Former-commit-id: 914ce859f1aab6455503cf066246a56f2a658fea [formerly ba185132ea81ba1dcf0a69a0cda1248021181d8f] [formerly65c5ad614d
[formerly66b44dffbe
]] Former-commit-id:65c5ad614d
Former-commit-id:289180881f
This commit is contained in:
parent
11ff446787
commit
e8652720be
4 changed files with 66 additions and 19 deletions
|
@ -65,6 +65,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
|
|||
* ------------ ---------- ----------- --------------------------
|
||||
* 25 MAR 2008 N/A lvenable Initial creation
|
||||
* 17Jun2008 1157 MW Fegan Hooked in configuration.
|
||||
* 28 Nov 2012 1353 rferrel Changes for non-blocking dialog.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -73,7 +74,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
|
|||
*
|
||||
*/
|
||||
public class GhgFilterDlg extends CaveSWTDialog {
|
||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||
private final IUFStatusHandler statusHandler = UFStatus
|
||||
.getHandler(GhgFilterDlg.class);
|
||||
|
||||
/**
|
||||
|
@ -118,7 +119,7 @@ public class GhgFilterDlg extends CaveSWTDialog {
|
|||
/**
|
||||
* Array of filter group containers that contain the list controls.
|
||||
*/
|
||||
private ArrayList<GhgFilterListGroup> listGroupArray;
|
||||
private List<GhgFilterListGroup> listGroupArray;
|
||||
|
||||
/**
|
||||
* Combine Geo ID check box.
|
||||
|
@ -186,7 +187,7 @@ public class GhgFilterDlg extends CaveSWTDialog {
|
|||
* Parent Shell.
|
||||
*/
|
||||
public GhgFilterDlg(Shell parent, GhgDataFilter filter) {
|
||||
super(parent);
|
||||
super(parent, SWT.DIALOG_TRIM, CAVE.DO_NOT_BLOCK);
|
||||
setText("GHG Monitor Filter Dialog");
|
||||
|
||||
this.filter = filter;
|
||||
|
|
|
@ -134,6 +134,8 @@ public class GhgMonitorDlg extends CaveSWTDialog implements
|
|||
|
||||
private GhgFontDlg fontDlg;
|
||||
|
||||
private GhgSaveDeleteFilterDlg saveFilterDlg;
|
||||
|
||||
/**
|
||||
* Active group one string.
|
||||
*/
|
||||
|
@ -943,11 +945,27 @@ public class GhgMonitorDlg extends CaveSWTDialog implements
|
|||
* Save the current filter.
|
||||
*/
|
||||
private void saveCurrentFilter() {
|
||||
// Show the Save Filter dialog.
|
||||
if (saveFilterDlg == null) {
|
||||
// Show the Save Filter dialog.
|
||||
GhgConfigData configuration = GhgConfigData.getInstance();
|
||||
saveFilterDlg = new GhgSaveDeleteFilterDlg(getShell(),
|
||||
configuration.getFilterNames(), true);
|
||||
saveFilterDlg.setCloseCallback(new ICloseCallback() {
|
||||
|
||||
@Override
|
||||
public void dialogClosed(Object returnValue) {
|
||||
if (returnValue instanceof String) {
|
||||
doSaveCurrentFilter(returnValue.toString());
|
||||
}
|
||||
saveFilterDlg = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
saveFilterDlg.open();
|
||||
}
|
||||
|
||||
private void doSaveCurrentFilter(String name) {
|
||||
GhgConfigData configuration = GhgConfigData.getInstance();
|
||||
GhgSaveDeleteFilterDlg saveFilterDlg = new GhgSaveDeleteFilterDlg(
|
||||
getShell(), configuration.getFilterNames(), true);
|
||||
String name = (String) saveFilterDlg.open();
|
||||
|
||||
// If no name was selected then return.
|
||||
if (name == null) {
|
||||
|
@ -976,12 +994,27 @@ public class GhgMonitorDlg extends CaveSWTDialog implements
|
|||
* Delete a named filter.
|
||||
*/
|
||||
private void deleteNamedFilter() {
|
||||
// Show the Delete Filter dialog.
|
||||
GhgConfigData configuration = GhgConfigData.getInstance();
|
||||
GhgSaveDeleteFilterDlg deleteFilterDlg = new GhgSaveDeleteFilterDlg(
|
||||
getShell(), configuration.getFilterNames(), false);
|
||||
String name = (String) deleteFilterDlg.open();
|
||||
if (deleteFilterDlg == null) {
|
||||
// Show the Delete Filter dialog.
|
||||
GhgConfigData configuration = GhgConfigData.getInstance();
|
||||
deleteFilterDlg = new GhgSaveDeleteFilterDlg(getShell(),
|
||||
configuration.getFilterNames(), false);
|
||||
deleteFilterDlg.setCloseCallback(new ICloseCallback() {
|
||||
|
||||
@Override
|
||||
public void dialogClosed(Object returnValue) {
|
||||
if (returnValue instanceof String) {
|
||||
doDeleteNamedFilter(returnValue.toString());
|
||||
}
|
||||
deleteFilterDlg = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
deleteFilterDlg.open();
|
||||
}
|
||||
|
||||
private void doDeleteNamedFilter(String name) {
|
||||
GhgConfigData configuration = GhgConfigData.getInstance();
|
||||
// If no name was selected then return.
|
||||
if (name == null) {
|
||||
return;
|
||||
|
@ -1080,12 +1113,21 @@ public class GhgMonitorDlg extends CaveSWTDialog implements
|
|||
* Display the filter dialog.
|
||||
*/
|
||||
private void showFilterDialog() {
|
||||
GhgConfigData configuration = GhgConfigData.getInstance();
|
||||
if (filterDlg == null) {
|
||||
final GhgConfigData configuration = GhgConfigData.getInstance();
|
||||
|
||||
GhgFilterDlg filterDlg = new GhgFilterDlg(getShell(),
|
||||
configuration.getCurrentFilter());
|
||||
filterDlg = new GhgFilterDlg(getShell(),
|
||||
configuration.getCurrentFilter());
|
||||
filterDlg.setCloseCallback(new ICloseCallback() {
|
||||
|
||||
@Override
|
||||
public void dialogClosed(Object returnValue) {
|
||||
filterDisplay.updateFilter(configuration.getCurrentFilter().name);
|
||||
filterDlg = null;
|
||||
}
|
||||
});
|
||||
}
|
||||
filterDlg.open();
|
||||
filterDisplay.updateFilter(configuration.getCurrentFilter().name);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -84,7 +84,7 @@ public class GhgSaveDeleteFilterDlg extends CaveSWTDialog {
|
|||
*/
|
||||
public GhgSaveDeleteFilterDlg(Shell parent, String[] names,
|
||||
boolean saveFilter) {
|
||||
super(parent);
|
||||
super(parent, SWT.DIALOG_TRIM, CAVE.DO_NOT_BLOCK);
|
||||
|
||||
namesArray = names;
|
||||
this.saveFilter = saveFilter;
|
||||
|
@ -141,6 +141,7 @@ public class GhgSaveDeleteFilterDlg extends CaveSWTDialog {
|
|||
gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
filterNameTF = new Text(filterComp, SWT.BORDER);
|
||||
filterNameTF.setLayoutData(gd);
|
||||
filterNameTF.setEnabled(saveFilter);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -81,6 +81,7 @@ import com.raytheon.viz.ui.statusline.StatusStore;
|
|||
* named filters.
|
||||
* 18Jun2008 1157 MW Fegan Use clone of default filter.
|
||||
* 20Jun2008 1157 MW Fegan Add resetting to default alerts.
|
||||
* 28Nov2012 1353 rferrel Sort the list of filter names for dialog display.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -750,10 +751,12 @@ public final class GhgConfigData {
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns a list of the filter names.
|
||||
* Returns a sorted list of the filter names.
|
||||
*/
|
||||
public String[] getFilterNames() {
|
||||
return filters.keySet().toArray(new String[] {});
|
||||
String[] names = filters.keySet().toArray(new String[] {});
|
||||
Arrays.sort(names);
|
||||
return names;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Reference in a new issue