Change-Id: I0af8db16244969e80ed81b82e83544bb94188387 Former-commit-id:026366fc59
[formerly252765c247
[formerly0235002dc0
] [formerly026366fc59
[formerly 24dee8480063cf90e5c261e848d9cbcddf6b9459]]] Former-commit-id:252765c247
[formerly0235002dc0
] Former-commit-id:252765c247
Former-commit-id:ae1bab442d
This commit is contained in:
parent
01022c7e41
commit
944e7a5025
3 changed files with 73 additions and 94 deletions
|
@ -7,7 +7,7 @@
|
||||||
point="org.eclipse.ui.commands">
|
point="org.eclipse.ui.commands">
|
||||||
<command
|
<command
|
||||||
id="gov.noaa.gsd.viz.ensemble.activate.layer"
|
id="gov.noaa.gsd.viz.ensemble.activate.layer"
|
||||||
name="Ensembles Tool">
|
name="Ensemble Tool">
|
||||||
</command>
|
</command>
|
||||||
</extension>
|
</extension>
|
||||||
|
|
||||||
|
@ -35,9 +35,9 @@
|
||||||
commandId="gov.noaa.gsd.viz.ensemble.activate.layer"
|
commandId="gov.noaa.gsd.viz.ensemble.activate.layer"
|
||||||
icon="icons/EnsembleTool.gif"
|
icon="icons/EnsembleTool.gif"
|
||||||
id="gov.noaa.gsd.viz.ensemble.tool.viewer"
|
id="gov.noaa.gsd.viz.ensemble.tool.viewer"
|
||||||
label="Ensembles"
|
label="Ensemble Tool"
|
||||||
style="push"
|
style="push"
|
||||||
tooltip="Ensemble Tools">
|
tooltip="Ensemble Tool">
|
||||||
</command>
|
</command>
|
||||||
<separator
|
<separator
|
||||||
name="gov.noaa.gsd.viz.ensemble.separator_post"
|
name="gov.noaa.gsd.viz.ensemble.separator_post"
|
||||||
|
|
|
@ -24,8 +24,8 @@ public enum Calculation {
|
||||||
COMBINED_ENS_REL_FREQ("Combined ERF"), //
|
COMBINED_ENS_REL_FREQ("Combined ERF"), //
|
||||||
DIFFERENCE("Diff"), //
|
DIFFERENCE("Diff"), //
|
||||||
ENSEMBLE_RELATIVE_FREQUENCY("Ens Rel Freq"), //
|
ENSEMBLE_RELATIVE_FREQUENCY("Ens Rel Freq"), //
|
||||||
HISTOGRAM_SAMPLING("Histogram sampling"), //
|
HISTOGRAM_SAMPLING("Sampling"), //
|
||||||
HISTOGRAM_TEXT("Histogram text"), //
|
HISTOGRAM_TEXT("Histogram Sampling"), //
|
||||||
MAX("Max"), //
|
MAX("Max"), //
|
||||||
MEAN("Mean"), //
|
MEAN("Mean"), //
|
||||||
MIN("Min"), //
|
MIN("Min"), //
|
||||||
|
|
|
@ -30,7 +30,6 @@ import org.eclipse.core.commands.ExecutionEvent;
|
||||||
import org.eclipse.jface.action.IMenuListener;
|
import org.eclipse.jface.action.IMenuListener;
|
||||||
import org.eclipse.jface.action.IMenuManager;
|
import org.eclipse.jface.action.IMenuManager;
|
||||||
import org.eclipse.jface.action.MenuManager;
|
import org.eclipse.jface.action.MenuManager;
|
||||||
import org.eclipse.jface.dialogs.IDialogConstants;
|
|
||||||
import org.eclipse.jface.dialogs.MessageDialog;
|
import org.eclipse.jface.dialogs.MessageDialog;
|
||||||
import org.eclipse.jface.viewers.ColumnLabelProvider;
|
import org.eclipse.jface.viewers.ColumnLabelProvider;
|
||||||
import org.eclipse.jface.viewers.ITreeContentProvider;
|
import org.eclipse.jface.viewers.ITreeContentProvider;
|
||||||
|
@ -40,6 +39,7 @@ import org.eclipse.jface.viewers.TreeViewer;
|
||||||
import org.eclipse.jface.viewers.TreeViewerColumn;
|
import org.eclipse.jface.viewers.TreeViewerColumn;
|
||||||
import org.eclipse.jface.viewers.Viewer;
|
import org.eclipse.jface.viewers.Viewer;
|
||||||
import org.eclipse.jface.viewers.ViewerSorter;
|
import org.eclipse.jface.viewers.ViewerSorter;
|
||||||
|
import org.eclipse.jface.window.Window;
|
||||||
import org.eclipse.swt.SWT;
|
import org.eclipse.swt.SWT;
|
||||||
import org.eclipse.swt.custom.CTabFolder;
|
import org.eclipse.swt.custom.CTabFolder;
|
||||||
import org.eclipse.swt.custom.CTabItem;
|
import org.eclipse.swt.custom.CTabItem;
|
||||||
|
@ -267,7 +267,7 @@ public class EnsembleToolViewer extends ViewPart implements IRefreshListener {
|
||||||
|
|
||||||
private Cursor selectionModeCursor = null;
|
private Cursor selectionModeCursor = null;
|
||||||
|
|
||||||
private Cursor toggleVisibilityModeCursor = null;
|
private Cursor normalCursor = null;
|
||||||
|
|
||||||
private Cursor waitCursor = null;
|
private Cursor waitCursor = null;
|
||||||
|
|
||||||
|
@ -447,13 +447,13 @@ public class EnsembleToolViewer extends ViewPart implements IRefreshListener {
|
||||||
selectionModeCursor = owner.getDisplay().getSystemCursor(
|
selectionModeCursor = owner.getDisplay().getSystemCursor(
|
||||||
SWT.CURSOR_HAND);
|
SWT.CURSOR_HAND);
|
||||||
|
|
||||||
toggleVisibilityModeCursor = owner.getDisplay().getSystemCursor(
|
normalCursor = owner.getDisplay().getSystemCursor(SWT.CURSOR_ARROW);
|
||||||
SWT.CURSOR_ARROW);
|
|
||||||
|
|
||||||
waitCursor = owner.getDisplay().getSystemCursor(SWT.CURSOR_WAIT);
|
waitCursor = owner.getDisplay().getSystemCursor(SWT.CURSOR_WAIT);
|
||||||
|
|
||||||
ensembleTree.addKeyListener(new EnsembleTreeKeyListener());
|
ensembleTree.addKeyListener(new EnsembleTreeKeyListener());
|
||||||
ensembleTree.setCursor(toggleVisibilityModeCursor);
|
|
||||||
|
updateCursor(normalCursor);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1524,7 +1524,7 @@ public class EnsembleToolViewer extends ViewPart implements IRefreshListener {
|
||||||
|
|
||||||
if ((e.keyCode & SWT.CTRL) == SWT.CTRL) {
|
if ((e.keyCode & SWT.CTRL) == SWT.CTRL) {
|
||||||
CTRL_KEY_DEPRESSED = true;
|
CTRL_KEY_DEPRESSED = true;
|
||||||
ensembleTree.setCursor(selectionModeCursor);
|
updateCursor(selectionModeCursor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1533,7 +1533,7 @@ public class EnsembleToolViewer extends ViewPart implements IRefreshListener {
|
||||||
|
|
||||||
if ((e.keyCode & SWT.CTRL) == SWT.CTRL) {
|
if ((e.keyCode & SWT.CTRL) == SWT.CTRL) {
|
||||||
CTRL_KEY_DEPRESSED = false;
|
CTRL_KEY_DEPRESSED = false;
|
||||||
ensembleTree.setCursor(toggleVisibilityModeCursor);
|
updateCursor(normalCursor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1554,7 +1554,7 @@ public class EnsembleToolViewer extends ViewPart implements IRefreshListener {
|
||||||
// menu for either ensemble products or
|
// menu for either ensemble products or
|
||||||
// individual grid products ...
|
// individual grid products ...
|
||||||
|
|
||||||
// if the enesemble tool isn't open then ignore
|
// if the ensemble tool isn't open then ignore
|
||||||
// user mouse clicks ...
|
// user mouse clicks ...
|
||||||
if (!EnsembleToolManager.getInstance().isReady()) {
|
if (!EnsembleToolManager.getInstance().isReady()) {
|
||||||
return;
|
return;
|
||||||
|
@ -1600,17 +1600,14 @@ public class EnsembleToolViewer extends ViewPart implements IRefreshListener {
|
||||||
|
|
||||||
public void handleEvent(Event event) {
|
public void handleEvent(Event event) {
|
||||||
|
|
||||||
final Cursor currCursor = ensembleTree
|
|
||||||
.getCursor();
|
|
||||||
|
|
||||||
VizApp.runAsync(new Runnable() {
|
VizApp.runAsync(new Runnable() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
ensembleTree.setCursor(waitCursor);
|
updateCursor(waitCursor);
|
||||||
startAddERFLayer(mousedEnsembleName);
|
startAddERFLayer(mousedEnsembleName);
|
||||||
ensembleTree.setCursor(currCursor);
|
updateCursor(normalCursor);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1632,17 +1629,14 @@ public class EnsembleToolViewer extends ViewPart implements IRefreshListener {
|
||||||
new Listener() {
|
new Listener() {
|
||||||
public void handleEvent(Event event) {
|
public void handleEvent(Event event) {
|
||||||
|
|
||||||
final Cursor currCursor = ensembleTree
|
|
||||||
.getCursor();
|
|
||||||
|
|
||||||
VizApp.runAsync(new Runnable() {
|
VizApp.runAsync(new Runnable() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
ensembleTree.setCursor(waitCursor);
|
updateCursor(waitCursor);
|
||||||
updateColorsOnResource(mousedEnsembleName);
|
updateColorsOnResource(mousedEnsembleName);
|
||||||
ensembleTree.setCursor(currCursor);
|
updateCursor(normalCursor);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1666,21 +1660,16 @@ public class EnsembleToolViewer extends ViewPart implements IRefreshListener {
|
||||||
|
|
||||||
if (proceed) {
|
if (proceed) {
|
||||||
|
|
||||||
final Cursor currCursor = ensembleTree
|
|
||||||
.getCursor();
|
|
||||||
|
|
||||||
VizApp.runAsync(new Runnable() {
|
VizApp.runAsync(new Runnable() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
ensembleTree
|
updateCursor(waitCursor);
|
||||||
.setCursor(waitCursor);
|
|
||||||
EnsembleToolManager
|
EnsembleToolManager
|
||||||
.getInstance()
|
.getInstance()
|
||||||
.unloadResourcesByName(
|
.unloadResourcesByName(
|
||||||
item.getText());
|
item.getText());
|
||||||
ensembleTree
|
updateCursor(normalCursor);
|
||||||
.setCursor(currCursor);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -1699,19 +1688,16 @@ public class EnsembleToolViewer extends ViewPart implements IRefreshListener {
|
||||||
|
|
||||||
public void handleEvent(Event event) {
|
public void handleEvent(Event event) {
|
||||||
|
|
||||||
final Cursor currCursor = ensembleTree
|
|
||||||
.getCursor();
|
|
||||||
|
|
||||||
VizApp.runAsync(new Runnable() {
|
VizApp.runAsync(new Runnable() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
ensembleTree.setCursor(waitCursor);
|
updateCursor(waitCursor);
|
||||||
setItemVisible(item,
|
setItemVisible(item,
|
||||||
toggleVisibilityMenuItem
|
toggleVisibilityMenuItem
|
||||||
.getSelection());
|
.getSelection());
|
||||||
ensembleTree.setCursor(currCursor);
|
updateCursor(normalCursor);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1977,21 +1963,19 @@ public class EnsembleToolViewer extends ViewPart implements IRefreshListener {
|
||||||
// of all the resources in one ensemble
|
// of all the resources in one ensemble
|
||||||
} else if (mousedItem instanceof GenericResourceHolder) {
|
} else if (mousedItem instanceof GenericResourceHolder) {
|
||||||
|
|
||||||
final Cursor currCursor = ensembleTree.getCursor();
|
|
||||||
|
|
||||||
VizApp.runAsync(new Runnable() {
|
VizApp.runAsync(new Runnable() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
ensembleTree.setCursor(waitCursor);
|
updateCursor(waitCursor);
|
||||||
toggleItemVisible(userClickedTreeItem);
|
toggleItemVisible(userClickedTreeItem);
|
||||||
|
|
||||||
// if this was the last item to be toggled off,
|
// if this was the last item to be toggled off,
|
||||||
// for example, in an ensemble group, then you
|
// for example, in an ensemble group, then you
|
||||||
// need to toggle the parent tree item off also
|
// need to toggle the parent tree item off also
|
||||||
matchParentToChildrenVisibility(userClickedTreeItem);
|
matchParentToChildrenVisibility(userClickedTreeItem);
|
||||||
ensembleTree.setCursor(currCursor);
|
updateCursor(normalCursor);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -2014,12 +1998,11 @@ public class EnsembleToolViewer extends ViewPart implements IRefreshListener {
|
||||||
final List<GenericResourceHolder> children = getEnsembleMemberGenericResources(ensembleName);
|
final List<GenericResourceHolder> children = getEnsembleMemberGenericResources(ensembleName);
|
||||||
|
|
||||||
// TODO: poor-man's way of knowing what type of flavor this ensemble is
|
// TODO: poor-man's way of knowing what type of flavor this ensemble is
|
||||||
if (ensembleName.toLowerCase().indexOf("gfsensemble") >= 0) {
|
if ((ensembleName.indexOf("GEFS") >= 0)
|
||||||
|
|| (ensembleName.indexOf("GFS Ensemble") >= 0)) {
|
||||||
updateGEFSEnsembleColors(ensembleName, children);
|
updateGEFSEnsembleColors(ensembleName, children);
|
||||||
} else if (ensembleName.toLowerCase().indexOf("sref") >= 0) {
|
} else if (ensembleName.indexOf("SREF") >= 0) {
|
||||||
updateSREFColors(ensembleName, children);
|
updateSREFColors(ensembleName, children);
|
||||||
} else {
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2027,40 +2010,35 @@ public class EnsembleToolViewer extends ViewPart implements IRefreshListener {
|
||||||
private void updateSREFColors(String ensembleName,
|
private void updateSREFColors(String ensembleName,
|
||||||
final List<GenericResourceHolder> children) {
|
final List<GenericResourceHolder> children) {
|
||||||
|
|
||||||
final Cursor currCursor = ensembleTree.getCursor();
|
VizApp.runSync(new Runnable() {
|
||||||
|
|
||||||
VizApp.runAsync(new Runnable() {
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
ensembleTree.setCursor(waitCursor);
|
updateCursor(waitCursor);
|
||||||
|
|
||||||
EnsembleSREFColorChooser cd = new EnsembleSREFColorChooser(
|
EnsembleSREFColorChooser cd = new EnsembleSREFColorChooser(
|
||||||
owner.getShell());
|
owner.getShell());
|
||||||
cd.create();
|
cd.setBlockOnOpen(true);
|
||||||
int result = cd.open();
|
if (cd.open() == Window.OK) {
|
||||||
if (result != IDialogConstants.OK_ID) {
|
Color currColor = null;
|
||||||
return;
|
for (GenericResourceHolder gRsc : children) {
|
||||||
}
|
if (gRsc instanceof GridResourceHolder) {
|
||||||
|
AbstractVizResource<?, ?> rsc = gRsc.getRsc();
|
||||||
Color currColor = null;
|
String ensId = gRsc.getEnsembleIdRaw();
|
||||||
for (GenericResourceHolder gRsc : children) {
|
if ((ensId != null) && (ensId.length() > 1)) {
|
||||||
if (gRsc instanceof GridResourceHolder) {
|
currColor = ChosenSREFColors.getInstance()
|
||||||
AbstractVizResource<?, ?> rsc = gRsc.getRsc();
|
.getGradientByEnsembleId(ensId);
|
||||||
String ensId = gRsc.getEnsembleIdRaw();
|
rsc.getCapability(ColorableCapability.class)
|
||||||
if ((ensId != null) && (ensId.length() > 1)) {
|
.setColor(currColor.getRGB());
|
||||||
currColor = ChosenSREFColors.getInstance()
|
rsc.issueRefresh();
|
||||||
.getGradientByEnsembleId(ensId);
|
}
|
||||||
rsc.getCapability(ColorableCapability.class)
|
|
||||||
.setColor(currColor.getRGB());
|
|
||||||
rsc.issueRefresh();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ensemblesTreeViewer.refresh();
|
||||||
}
|
}
|
||||||
ensemblesTreeViewer.refresh();
|
|
||||||
|
|
||||||
ensembleTree.setCursor(currCursor);
|
updateCursor(normalCursor);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -2070,46 +2048,43 @@ public class EnsembleToolViewer extends ViewPart implements IRefreshListener {
|
||||||
private void updateGEFSEnsembleColors(String ensembleName,
|
private void updateGEFSEnsembleColors(String ensembleName,
|
||||||
final List<GenericResourceHolder> children) {
|
final List<GenericResourceHolder> children) {
|
||||||
|
|
||||||
final Cursor currCursor = ensembleTree.getCursor();
|
VizApp.runSync(new Runnable() {
|
||||||
|
|
||||||
VizApp.runAsync(new Runnable() {
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
ensembleTree.setCursor(waitCursor);
|
updateCursor(waitCursor);
|
||||||
|
|
||||||
EnsembleGEFSColorChooser cd = new EnsembleGEFSColorChooser(
|
EnsembleGEFSColorChooser cd = new EnsembleGEFSColorChooser(
|
||||||
owner.getShell());
|
owner.getShell());
|
||||||
cd.create();
|
cd.setBlockOnOpen(true);
|
||||||
int result = cd.open();
|
if (cd.open() == Window.OK) {
|
||||||
if (result != IDialogConstants.OK_ID) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
Color currColor = null;
|
// EditorUtil.getActiveEditor().
|
||||||
int count = 0;
|
Color currColor = null;
|
||||||
for (GenericResourceHolder gRsc : children) {
|
int count = 0;
|
||||||
if (gRsc instanceof GridResourceHolder) {
|
for (GenericResourceHolder gRsc : children) {
|
||||||
count++;
|
if (gRsc instanceof GridResourceHolder) {
|
||||||
AbstractVizResource<?, ?> rsc = gRsc.getRsc();
|
count++;
|
||||||
if (count == 1) {
|
AbstractVizResource<?, ?> rsc = gRsc.getRsc();
|
||||||
currentEnsembleRsc = rsc;
|
if (count == 1) {
|
||||||
}
|
currentEnsembleRsc = rsc;
|
||||||
String ensId = gRsc.getEnsembleIdRaw();
|
}
|
||||||
if ((ensId != null) && (ensId.length() > 1)) {
|
String ensId = gRsc.getEnsembleIdRaw();
|
||||||
currColor = ChosenGEFSColors.getInstance()
|
if ((ensId != null) && (ensId.length() > 1)) {
|
||||||
.getGradientByEnsembleId(ensId);
|
currColor = ChosenGEFSColors.getInstance()
|
||||||
rsc.getCapability(ColorableCapability.class)
|
.getGradientByEnsembleId(ensId);
|
||||||
.setColor(currColor.getRGB());
|
rsc.getCapability(ColorableCapability.class)
|
||||||
rsc.getCapability(OutlineCapability.class);
|
.setColor(currColor.getRGB());
|
||||||
rsc.issueRefresh();
|
rsc.getCapability(OutlineCapability.class);
|
||||||
|
rsc.issueRefresh();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
ensemblesTreeViewer.refresh();
|
||||||
}
|
}
|
||||||
ensemblesTreeViewer.refresh();
|
|
||||||
|
|
||||||
ensembleTree.setCursor(currCursor);
|
updateCursor(normalCursor);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
@ -3516,4 +3491,8 @@ public class EnsembleToolViewer extends ViewPart implements IRefreshListener {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateCursor(Cursor c) {
|
||||||
|
ensembleTree.setCursor(c);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue