Issues #1229 Changes for non-blocking ColormapDialog.
Change-Id: I95126e4d7e0b450e014764c96caf93cdff9c2d8d Former-commit-id:bacff2f0f1
[formerlycdf5c546ab
] [formerly8e86f32714
] [formerly6833c7e04c
[formerly8e86f32714
[formerly 88476b683c5c480395edacd2920e32a0589a92e5]]] Former-commit-id:6833c7e04c
Former-commit-id: 68aa8f3b270c031298664186936eadb3c07db89b [formerlyd5acf40cc2
] Former-commit-id:1075e8ba16
This commit is contained in:
parent
824a1f8699
commit
85fbb59441
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.gfe.core.parm.Parm;
|
||||||
import com.raytheon.viz.ui.cmenu.AbstractRightClickAction;
|
import com.raytheon.viz.ui.cmenu.AbstractRightClickAction;
|
||||||
import com.raytheon.viz.ui.dialogs.ColormapDialog;
|
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.
|
* 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
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Feb 2, 2011 7999 dgilling Initial creation
|
* Feb 2, 2011 7999 dgilling Initial creation
|
||||||
|
* Oct 17, 2012 1229 rferrel Changes for non-blocking ColormapDialog.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -49,6 +51,8 @@ public class ChangeColorMapRangeAction extends AbstractRightClickAction {
|
||||||
|
|
||||||
private Parm parm;
|
private Parm parm;
|
||||||
|
|
||||||
|
private ColormapDialog colorMapDlg;
|
||||||
|
|
||||||
public ChangeColorMapRangeAction(Parm parm) {
|
public ChangeColorMapRangeAction(Parm parm) {
|
||||||
super("Set Range...");
|
super("Set Range...");
|
||||||
this.parm = parm;
|
this.parm = parm;
|
||||||
|
@ -61,21 +65,42 @@ public class ChangeColorMapRangeAction extends AbstractRightClickAction {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
|
if (colorMapDlg == null || colorMapDlg.getShell() == null
|
||||||
.getShell();
|
|| colorMapDlg.isDisposed()) {
|
||||||
ColorMapCapability cap = getSelectedRsc().getCapability(
|
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
|
||||||
ColorMapCapability.class);
|
.getShell();
|
||||||
IColorMap prevColorMap = cap.getColorMapParameters().getColorMap();
|
ColorMapCapability cap = getSelectedRsc().getCapability(
|
||||||
float prevMax = cap.getColorMapParameters().getColorMapMax();
|
ColorMapCapability.class);
|
||||||
float prevMin = cap.getColorMapParameters().getColorMapMin();
|
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",
|
colorMapDlg = new ColormapDialog(shell, "Set Color Table Range",
|
||||||
cap, parm.getGridInfo().getPrecision());
|
cap, parm.getGridInfo().getPrecision());
|
||||||
if (cmd.open() != ColormapDialog.OK) {
|
colorMapDlg.setBlockOnOpen(false);
|
||||||
cap.getColorMapParameters().setColorMap(prevColorMap);
|
colorMapDlg.setCloseCallback(new ICloseCallback() {
|
||||||
cap.getColorMapParameters().setColorMapMax(prevMax);
|
|
||||||
cap.getColorMapParameters().setColorMapMin(prevMin);
|
@Override
|
||||||
cap.notifyResources();
|
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.common.colormap.IColorMap;
|
||||||
import com.raytheon.uf.viz.core.rsc.capabilities.ColorMapCapability;
|
import com.raytheon.uf.viz.core.rsc.capabilities.ColorMapCapability;
|
||||||
import com.raytheon.viz.ui.dialogs.ColormapDialog;
|
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
|
* Date Ticket# Engineer Description
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* Jul 24, 2007 chammack Initial Creation.
|
* Jul 24, 2007 chammack Initial Creation.
|
||||||
|
* Oct 17, 2012 1229 rferrel Changes for non-blocking ColormapDialog.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -45,6 +47,8 @@ import com.raytheon.viz.ui.dialogs.ColormapDialog;
|
||||||
* @version 1
|
* @version 1
|
||||||
*/
|
*/
|
||||||
public class ChangeColorMapAction extends AbstractRightClickAction {
|
public class ChangeColorMapAction extends AbstractRightClickAction {
|
||||||
|
private ColormapDialog colorMapDlg;
|
||||||
|
|
||||||
public ChangeColorMapAction() {
|
public ChangeColorMapAction() {
|
||||||
super("Change Colormap...");
|
super("Change Colormap...");
|
||||||
}
|
}
|
||||||
|
@ -60,21 +64,42 @@ public class ChangeColorMapAction extends AbstractRightClickAction {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
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",
|
if (colorMapDlg == null || colorMapDlg.getShell() == null
|
||||||
cap);
|
|| colorMapDlg.isDisposed()) {
|
||||||
if (cmd.open() != ColormapDialog.OK) {
|
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
|
||||||
cap.getColorMapParameters().setColorMap(prevColorMap);
|
.getShell();
|
||||||
cap.getColorMapParameters().setColorMapMax(prevMax);
|
ColorMapCapability cap = getSelectedRsc().getCapability(
|
||||||
cap.getColorMapParameters().setColorMapMin(prevMin);
|
ColorMapCapability.class);
|
||||||
cap.notifyResources();
|
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.
|
* Feb 5, 2007 chammack Initial Creation.
|
||||||
* Aug 20, 2008 dglazesk Updated for the new ColorMap interface
|
* Aug 20, 2008 dglazesk Updated for the new ColorMap interface
|
||||||
* Oct 31, 2010 ryu use Text widgets for alternative entry
|
* Oct 31, 2010 ryu use Text widgets for alternative entry
|
||||||
|
* Oct 17, 2016 1229 rferrel Changes to allow non-blocking dialog.
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -165,4 +166,7 @@ public class ColormapDialog extends CaveJFACEDialog {
|
||||||
super.cancelPressed();
|
super.cancelPressed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ColorMapCapability getColorMapCapability() {
|
||||||
|
return cap;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue