Omaha #3467 Error occurs when loading/editing the Range Rings tool multiple times
Change-Id: I68642e05ce970545a516d4fab1492a860c530032 Former-commit-id:9b6e5e2245
[formerly9259187266
] [formerly447986eed3
] [formerly447986eed3
[formerly06b98bb48a
]] [formerly9b6e5e2245
[formerly9259187266
] [formerly447986eed3
] [formerly447986eed3
[formerly06b98bb48a
]] [formerlyee36d09cb0
[formerly447986eed3
[formerly06b98bb48a
] [formerlyee36d09cb0
[formerly 725354074d54112c8658dc34a8ac564739acbebb]]]]] Former-commit-id:ee36d09cb0
Former-commit-id:127e3436b7
[formerlycda9e678ce
] [formerly8ace5b852c
] [formerly 6bb52cfc792dd6cf2a62c7d6b8c408dab769507d [formerly 77c8cf7908b9938669d07f1218c604ca9a22cca8] [formerly8ace5b852c
[formerlya3feb0de78
]]] Former-commit-id: 64e19367d169a2e9c5503da02e920cbcdc2f26d5 [formerly 2f22b952a1904df9821cbfd7543994a5d0efe440] [formerly72184dbcaf
[formerlye7e58b4e78
]] Former-commit-id:72184dbcaf
Former-commit-id:9af2093ebf
This commit is contained in:
parent
f766ab7ddd
commit
7ac9bb8112
4 changed files with 24 additions and 43 deletions
|
@ -47,7 +47,6 @@ import com.raytheon.uf.viz.core.drawables.IDescriptor;
|
|||
import com.raytheon.uf.viz.core.drawables.IFrameCoordinator.FrameChangeMode;
|
||||
import com.raytheon.uf.viz.core.drawables.IFrameCoordinator.FrameChangeOperation;
|
||||
import com.raytheon.uf.viz.core.drawables.IRenderableDisplay;
|
||||
import com.raytheon.uf.viz.core.drawables.ResourcePair;
|
||||
import com.raytheon.uf.viz.core.exception.VizException;
|
||||
import com.raytheon.uf.viz.core.globals.VizGlobalsManager;
|
||||
import com.raytheon.uf.viz.core.maps.scales.MapScalesManager;
|
||||
|
@ -55,7 +54,6 @@ import com.raytheon.uf.viz.core.procedures.Bundle;
|
|||
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
|
||||
import com.raytheon.uf.viz.core.rsc.IInputHandler;
|
||||
import com.raytheon.uf.viz.core.rsc.IInputHandler.InputPriority;
|
||||
import com.raytheon.uf.viz.core.rsc.capabilities.EditableCapability;
|
||||
import com.raytheon.uf.viz.core.time.TimeMatchingJob;
|
||||
import com.raytheon.uf.viz.d2d.core.legend.D2DLegendResource;
|
||||
import com.raytheon.uf.viz.d2d.core.legend.D2DLegendResource.LegendMode;
|
||||
|
@ -68,7 +66,6 @@ import com.raytheon.viz.ui.color.IBackgroundColorChangedListener;
|
|||
import com.raytheon.viz.ui.editor.AbstractEditor;
|
||||
import com.raytheon.viz.ui.editor.IMultiPaneEditor;
|
||||
import com.raytheon.viz.ui.editor.ISelectedPanesChangedListener;
|
||||
import com.raytheon.viz.ui.input.EditableManager;
|
||||
import com.raytheon.viz.ui.input.InputAdapter;
|
||||
import com.raytheon.viz.ui.input.PanHandler;
|
||||
import com.raytheon.viz.ui.panes.PaneManager;
|
||||
|
@ -95,6 +92,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
* Aug 9, 2013 DR 16427 D. Friedman Swap additional input handlers.
|
||||
* Oct 10, 2013 #2104 mschenke Switched to use MapScalesManager
|
||||
* Jul 15, 2014 2954 njensen Updated init() for MapScalesManager change
|
||||
* Aug 25, 2014 3467 mapeters Removed changing of editability from swapPanes().
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -112,8 +110,6 @@ public class SideView extends ViewPart implements IMultiPaneEditor,
|
|||
|
||||
private LoopProperties loopProperties;
|
||||
|
||||
private AbstractVizResource<?, ?> editableResource = null;
|
||||
|
||||
private Bundle bundleToLoad = null;
|
||||
|
||||
private BackgroundColor backgroundColor;
|
||||
|
@ -368,21 +364,6 @@ public class SideView extends ViewPart implements IMultiPaneEditor,
|
|||
if (dPane.isVisible() == false) {
|
||||
editorHiddenDisplays.add(dPane.getRenderableDisplay());
|
||||
}
|
||||
|
||||
if (editableResource == null) {
|
||||
for (ResourcePair rp : dPane.getDescriptor()
|
||||
.getResourceList()) {
|
||||
AbstractVizResource<?, ?> rsc = rp.getResource();
|
||||
if (rsc != null
|
||||
&& rsc.hasCapability(EditableCapability.class)) {
|
||||
if (rsc.getCapability(EditableCapability.class)
|
||||
.isEditable()) {
|
||||
editableResource = rsc;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
IRenderableDisplay[] myRenderables = paneManager
|
||||
|
@ -574,16 +555,6 @@ public class SideView extends ViewPart implements IMultiPaneEditor,
|
|||
}
|
||||
}
|
||||
|
||||
// Set up editableness
|
||||
if (editableResource != null) {
|
||||
EditableManager.makeEditable(editableResource, false);
|
||||
}
|
||||
|
||||
this.editableResource = editableResource;
|
||||
if (this.editableResource != null) {
|
||||
EditableManager.makeEditable(this.editableResource, true);
|
||||
}
|
||||
|
||||
theEditor.getBackgroundColor().setColor(BGColorMode.EDITOR,
|
||||
myRenderables[0].getBackgroundColor());
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* 10-21-09 #1711 bsteffen Initial Comments, changed to accomodate both Fixed and Movable Rings
|
||||
* 08-13-14 #3467 mapeters Modified equals() method to prevent ArrayIndexOutOfBoundsException.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -179,7 +180,7 @@ public class RangeRing {
|
|||
if (radii.length != otherRing.radii.length) {
|
||||
return false;
|
||||
}
|
||||
for (int i = 0; i <= radii.length; i++) {
|
||||
for (int i = 0; i < radii.length; i++) {
|
||||
if (radii[i] != otherRing.radii[i]) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -85,6 +85,8 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
* 07-02-2013 #2145 rferrel populatePointsMenuButton no longer modifies movableRings.
|
||||
* Indicate selected movable ring and only delete selected ring.
|
||||
* Verify listeners for radius, latitude and longitude fields.
|
||||
* 08-20-12 #3467 mapeters Added addChangeListenerToResourceData and
|
||||
* removeChangeListenerFromResourceData functions.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -1041,4 +1043,13 @@ public class RangeRingDialog extends CaveJFACEDialog implements
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void addChangeListenerToResourceData(IResourceDataChanged resource) {
|
||||
this.resourceData.addChangeListener(resource);
|
||||
}
|
||||
|
||||
public void removeChangeListenerFromResourceData(
|
||||
IResourceDataChanged resource) {
|
||||
this.resourceData.removeChangeListener(resource);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -80,6 +80,7 @@ import com.vividsolutions.jts.geom.Point;
|
|||
* 15Mar2013 15693 mgamazaychikov Added magnification capability.
|
||||
* 07-21-14 #3412 mapeters Updated deprecated drawCircle call.
|
||||
* 07-29-14 #3465 mapeters Updated deprecated drawString() calls.
|
||||
* 08-13-14 #3467 mapeters ringDialog notifies this of changes.
|
||||
* </pre>
|
||||
*
|
||||
* @author ebabin
|
||||
|
@ -118,6 +119,9 @@ public class RangeRingsLayer extends AbstractMovableToolLayer<RangeRing>
|
|||
GenericToolsResourceData<RangeRingsLayer> resourceData,
|
||||
LoadProperties loadProperties) throws VizException {
|
||||
super(resourceData, loadProperties);
|
||||
if (ringDialog != null) {
|
||||
ringDialog.addChangeListenerToResourceData(this);
|
||||
}
|
||||
getCapabilities().addCapability(new OutlineCapability());
|
||||
// add magnification capability
|
||||
getCapabilities().addCapability(new MagnificationCapability());
|
||||
|
@ -136,6 +140,7 @@ public class RangeRingsLayer extends AbstractMovableToolLayer<RangeRing>
|
|||
resourceData.fireChangeListeners(ChangeType.DATA_UPDATE, false);
|
||||
super.disposeInternal();
|
||||
resourceData.removeChangeListener(this);
|
||||
ringDialog.removeChangeListenerFromResourceData(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -154,7 +159,7 @@ public class RangeRingsLayer extends AbstractMovableToolLayer<RangeRing>
|
|||
setObjects(dataManager.getRangeRings());
|
||||
}
|
||||
|
||||
public void displayDialog() throws VizException {
|
||||
public void displayDialog() {
|
||||
|
||||
VizApp.runAsync(new Runnable() {
|
||||
|
||||
|
@ -164,19 +169,17 @@ public class RangeRingsLayer extends AbstractMovableToolLayer<RangeRing>
|
|||
Shell shell = PlatformUI.getWorkbench()
|
||||
.getActiveWorkbenchWindow().getShell();
|
||||
if (ringDialog == null || ringDialog.getReturnCode() != 0) {
|
||||
|
||||
ringDialog = new RangeRingDialog(shell, resourceData);
|
||||
|
||||
ringDialog.setBlockOnOpen(false);
|
||||
ringDialog.open();
|
||||
} else {
|
||||
ringDialog.open();
|
||||
resourceData.addChangeListener(ringDialog);
|
||||
ringDialog.open();
|
||||
}
|
||||
|
||||
} catch (VizException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
e.getLocalizedMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -281,12 +284,7 @@ public class RangeRingsLayer extends AbstractMovableToolLayer<RangeRing>
|
|||
if (object instanceof EditableCapability) {
|
||||
EditableCapability cap = (EditableCapability) object;
|
||||
if (cap.isEditable()) {
|
||||
try {
|
||||
displayDialog();
|
||||
} catch (VizException e) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
e.getLocalizedMessage(), e);
|
||||
}
|
||||
displayDialog();
|
||||
}
|
||||
} else if (object instanceof Boolean) {
|
||||
if ((Boolean) object) {
|
||||
|
|
Loading…
Add table
Reference in a new issue