Issue #1229 Changes for non-blocking SaveColorMapDialog.

Change-Id: I5308c5f2ca546c825863f89162f2f1143f0431fc

Former-commit-id: 1c4e87e968 [formerly 086223e764] [formerly 3874545f803dcb6ca00a8d3a25d8f6c9a8e55885 [formerly 5e79024db3]] [formerly 7f3ab5434c [formerly 5e79024db3 [formerly b902eadfca48628bf8944d97019263e94618667a]]]
Former-commit-id: 7f3ab5434c
Former-commit-id: a4ad194b03c39475a030ce5186fa0c8dd107d6d7 [formerly f77e146c65]
Former-commit-id: e4016f2f59
This commit is contained in:
Roger Ferrel 2012-10-17 08:15:21 -05:00
parent 002e4e0e8b
commit 98f56ba457
2 changed files with 44 additions and 17 deletions

View file

@ -63,6 +63,7 @@ import com.raytheon.viz.ui.EditorUtil;
import com.raytheon.viz.ui.UiPlugin;
import com.raytheon.viz.ui.VizWorkbenchManager;
import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
import com.raytheon.viz.ui.dialogs.ICloseCallback;
import com.raytheon.viz.ui.editor.IMultiPaneEditor;
import com.raytheon.viz.ui.editor.ISelectedPanesChangedListener;
@ -75,6 +76,7 @@ import com.raytheon.viz.ui.editor.ISelectedPanesChangedListener;
* ------------ ---------- ----------- --------------------------
* lvenable Initial Creation.
* Jul 24, 2007 njensen Hooked into backend.
* Oct 17, 2012 1229 rferrel Changes for non-blocking SaveColorMapDialog.
*
* </pre>
*
@ -85,10 +87,10 @@ public class ColorEditDialog extends CaveSWTDialog implements
IVizEditorChangedListener, IRenderableDisplayChangedListener,
RemoveListener, AddListener, IResourceDataChanged,
ISelectedPanesChangedListener, IColorEditCompCallback {
private static final transient IUFStatusHandler statusHandler = UFStatus
private final transient IUFStatusHandler statusHandler = UFStatus
.getHandler(ColorEditDialog.class);
private static final String NO_COLOR_TABLE = "No color table is being edited";
private final String NO_COLOR_TABLE = "No color table is being edited";
private String currentColormapName;
@ -144,6 +146,10 @@ public class ColorEditDialog extends CaveSWTDialog implements
private static ColorEditDialog instance = null;
private SaveColorMapDialog officeSaveAsDialog;
private SaveColorMapDialog saveAsDialog;
public static void openDialog(Shell parent,
IDisplayPaneContainer container,
AbstractVizResource<?, ?> singleRscToEdit, boolean rightImages,
@ -831,24 +837,44 @@ public class ColorEditDialog extends CaveSWTDialog implements
}
private void officeSaveAs() {
SaveColorMapDialog saveDialog = new SaveColorMapDialog(shell,
(ColorMap) cap.getColorMapParameters().getColorMap(), true,
currentColormapName);
String newName = (String) saveDialog.open();
if (newName != null) {
currentColormapName = newName;
completeSave();
if (mustCreate(officeSaveAsDialog)) {
officeSaveAsDialog = new SaveColorMapDialog(shell, (ColorMap) cap
.getColorMapParameters().getColorMap(), true,
currentColormapName);
officeSaveAsDialog.setCloseCallback(new ICloseCallback() {
@Override
public void dialogClosed(Object returnValue) {
if (returnValue instanceof String) {
currentColormapName = (String) returnValue;
completeSave();
}
}
});
officeSaveAsDialog.open();
} else {
officeSaveAsDialog.bringToTop();
}
}
private void saveAs() {
SaveColorMapDialog saveDialog = new SaveColorMapDialog(shell,
(ColorMap) cap.getColorMapParameters().getColorMap(), false,
currentColormapName);
String newName = (String) saveDialog.open();
if (newName != null) {
currentColormapName = newName;
completeSave();
if (mustCreate(saveAsDialog)) {
saveAsDialog = new SaveColorMapDialog(shell, (ColorMap) cap
.getColorMapParameters().getColorMap(), false,
currentColormapName);
saveAsDialog.setCloseCallback(new ICloseCallback() {
@Override
public void dialogClosed(Object returnValue) {
if (returnValue instanceof String) {
currentColormapName = (String) returnValue;
completeSave();
}
}
});
saveAsDialog.open();
} else {
saveAsDialog.bringToTop();
}
}

View file

@ -55,6 +55,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
* Date Ticket# Engineer Description
* ------------ ---------- ----------- --------------------------
* Jul 24, 2007 njensen Initial creation
* Oct 17, 2012 1229 rferrel Dialog is non-blocking.
*
* </pre>
*
@ -85,7 +86,7 @@ public class SaveColorMapDialog extends CaveSWTDialog {
*/
public SaveColorMapDialog(Shell parent, ColorMap aColorMap,
boolean aSiteContext, String aCurrentColormapName) {
super(parent);
super(parent, SWT.NONE, CAVE.DO_NOT_BLOCK);
colorMapToSave = aColorMap;
siteContext = aSiteContext;
currentColormapName = new String(aCurrentColormapName == null ? ""