Issues #1229 Changes for non-blocking ColormapDialog.
Change-Id: I95126e4d7e0b450e014764c96caf93cdff9c2d8d Former-commit-id:8e86f32714
[formerly 88476b683c5c480395edacd2920e32a0589a92e5] Former-commit-id:6833c7e04c
This commit is contained in:
parent
6199f7f516
commit
d5acf40cc2
3 changed files with 82 additions and 28 deletions
|
@ -27,6 +27,7 @@ import com.raytheon.uf.viz.core.rsc.capabilities.ColorMapCapability;
|
|||
import com.raytheon.viz.gfe.core.parm.Parm;
|
||||
import com.raytheon.viz.ui.cmenu.AbstractRightClickAction;
|
||||
import com.raytheon.viz.ui.dialogs.ColormapDialog;
|
||||
import com.raytheon.viz.ui.dialogs.ICloseCallback;
|
||||
|
||||
/**
|
||||
* Action for right click menu for changing range of color map values.
|
||||
|
@ -38,6 +39,7 @@ import com.raytheon.viz.ui.dialogs.ColormapDialog;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Feb 2, 2011 7999 dgilling Initial creation
|
||||
* Oct 17, 2012 1229 rferrel Changes for non-blocking ColormapDialog.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -49,6 +51,8 @@ public class ChangeColorMapRangeAction extends AbstractRightClickAction {
|
|||
|
||||
private Parm parm;
|
||||
|
||||
private ColormapDialog colorMapDlg;
|
||||
|
||||
public ChangeColorMapRangeAction(Parm parm) {
|
||||
super("Set Range...");
|
||||
this.parm = parm;
|
||||
|
@ -61,21 +65,42 @@ public class ChangeColorMapRangeAction extends AbstractRightClickAction {
|
|||
*/
|
||||
@Override
|
||||
public void run() {
|
||||
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
|
||||
.getShell();
|
||||
ColorMapCapability cap = getSelectedRsc().getCapability(
|
||||
ColorMapCapability.class);
|
||||
IColorMap prevColorMap = cap.getColorMapParameters().getColorMap();
|
||||
float prevMax = cap.getColorMapParameters().getColorMapMax();
|
||||
float prevMin = cap.getColorMapParameters().getColorMapMin();
|
||||
if (colorMapDlg == null || colorMapDlg.getShell() == null
|
||||
|| colorMapDlg.isDisposed()) {
|
||||
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
|
||||
.getShell();
|
||||
ColorMapCapability cap = getSelectedRsc().getCapability(
|
||||
ColorMapCapability.class);
|
||||
final IColorMap prevColorMap = cap.getColorMapParameters()
|
||||
.getColorMap();
|
||||
final float prevMax = cap.getColorMapParameters().getColorMapMax();
|
||||
final float prevMin = cap.getColorMapParameters().getColorMapMin();
|
||||
|
||||
ColormapDialog cmd = new ColormapDialog(shell, "Set Color Table Range",
|
||||
cap, parm.getGridInfo().getPrecision());
|
||||
if (cmd.open() != ColormapDialog.OK) {
|
||||
cap.getColorMapParameters().setColorMap(prevColorMap);
|
||||
cap.getColorMapParameters().setColorMapMax(prevMax);
|
||||
cap.getColorMapParameters().setColorMapMin(prevMin);
|
||||
cap.notifyResources();
|
||||
colorMapDlg = new ColormapDialog(shell, "Set Color Table Range",
|
||||
cap, parm.getGridInfo().getPrecision());
|
||||
colorMapDlg.setBlockOnOpen(false);
|
||||
colorMapDlg.setCloseCallback(new ICloseCallback() {
|
||||
|
||||
@Override
|
||||
public void dialogClosed(Object returnValue) {
|
||||
if (returnValue instanceof Integer) {
|
||||
int status = (Integer) returnValue;
|
||||
if (status != ColormapDialog.OK) {
|
||||
ColorMapCapability cap = colorMapDlg
|
||||
.getColorMapCapability();
|
||||
cap.getColorMapParameters().setColorMap(
|
||||
prevColorMap);
|
||||
cap.getColorMapParameters().setColorMapMax(prevMax);
|
||||
cap.getColorMapParameters().setColorMapMin(prevMin);
|
||||
cap.notifyResources();
|
||||
}
|
||||
}
|
||||
colorMapDlg = null;
|
||||
}
|
||||
});
|
||||
colorMapDlg.open();
|
||||
} else {
|
||||
colorMapDlg.bringToTop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import org.eclipse.ui.PlatformUI;
|
|||
import com.raytheon.uf.common.colormap.IColorMap;
|
||||
import com.raytheon.uf.viz.core.rsc.capabilities.ColorMapCapability;
|
||||
import com.raytheon.viz.ui.dialogs.ColormapDialog;
|
||||
import com.raytheon.viz.ui.dialogs.ICloseCallback;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -38,6 +39,7 @@ import com.raytheon.viz.ui.dialogs.ColormapDialog;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jul 24, 2007 chammack Initial Creation.
|
||||
* Oct 17, 2012 1229 rferrel Changes for non-blocking ColormapDialog.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -45,6 +47,8 @@ import com.raytheon.viz.ui.dialogs.ColormapDialog;
|
|||
* @version 1
|
||||
*/
|
||||
public class ChangeColorMapAction extends AbstractRightClickAction {
|
||||
private ColormapDialog colorMapDlg;
|
||||
|
||||
public ChangeColorMapAction() {
|
||||
super("Change Colormap...");
|
||||
}
|
||||
|
@ -60,21 +64,42 @@ public class ChangeColorMapAction extends AbstractRightClickAction {
|
|||
*/
|
||||
@Override
|
||||
public void run() {
|
||||
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
|
||||
.getShell();
|
||||
ColorMapCapability cap = getSelectedRsc().getCapability(
|
||||
ColorMapCapability.class);
|
||||
IColorMap prevColorMap = cap.getColorMapParameters().getColorMap();
|
||||
float prevMax = cap.getColorMapParameters().getColorMapMax();
|
||||
float prevMin = cap.getColorMapParameters().getColorMapMin();
|
||||
|
||||
ColormapDialog cmd = new ColormapDialog(shell, "Set Color Table Range",
|
||||
cap);
|
||||
if (cmd.open() != ColormapDialog.OK) {
|
||||
cap.getColorMapParameters().setColorMap(prevColorMap);
|
||||
cap.getColorMapParameters().setColorMapMax(prevMax);
|
||||
cap.getColorMapParameters().setColorMapMin(prevMin);
|
||||
cap.notifyResources();
|
||||
if (colorMapDlg == null || colorMapDlg.getShell() == null
|
||||
|| colorMapDlg.isDisposed()) {
|
||||
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
|
||||
.getShell();
|
||||
ColorMapCapability cap = getSelectedRsc().getCapability(
|
||||
ColorMapCapability.class);
|
||||
final IColorMap prevColorMap = cap.getColorMapParameters()
|
||||
.getColorMap();
|
||||
final float prevMax = cap.getColorMapParameters().getColorMapMax();
|
||||
final float prevMin = cap.getColorMapParameters().getColorMapMin();
|
||||
colorMapDlg = new ColormapDialog(shell, "Set Color Table Range",
|
||||
cap);
|
||||
colorMapDlg.setBlockOnOpen(false);
|
||||
colorMapDlg.setCloseCallback(new ICloseCallback() {
|
||||
|
||||
@Override
|
||||
public void dialogClosed(Object returnValue) {
|
||||
if (returnValue instanceof Integer) {
|
||||
int status = (Integer) returnValue;
|
||||
if (status != ColormapDialog.OK) {
|
||||
ColorMapCapability cap = colorMapDlg
|
||||
.getColorMapCapability();
|
||||
cap.getColorMapParameters().setColorMap(
|
||||
prevColorMap);
|
||||
cap.getColorMapParameters().setColorMapMax(prevMax);
|
||||
cap.getColorMapParameters().setColorMapMin(prevMin);
|
||||
cap.notifyResources();
|
||||
}
|
||||
}
|
||||
colorMapDlg = null;
|
||||
}
|
||||
});
|
||||
colorMapDlg.open();
|
||||
} else {
|
||||
colorMapDlg.bringToTop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,6 +45,7 @@ import com.raytheon.uf.viz.core.rsc.capabilities.ColorMapCapability;
|
|||
* Feb 5, 2007 chammack Initial Creation.
|
||||
* Aug 20, 2008 dglazesk Updated for the new ColorMap interface
|
||||
* Oct 31, 2010 ryu use Text widgets for alternative entry
|
||||
* Oct 17, 2016 1229 rferrel Changes to allow non-blocking dialog.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -165,4 +166,7 @@ public class ColormapDialog extends CaveJFACEDialog {
|
|||
super.cancelPressed();
|
||||
}
|
||||
|
||||
public ColorMapCapability getColorMapCapability() {
|
||||
return cap;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue