Merge branch 'master_13.5.1.1' into omaha_13.5.1.1

Former-commit-id: 278c91ea2d [formerly fd83e1da11] [formerly 278c91ea2d [formerly fd83e1da11] [formerly 2915c6393d [formerly a419d477ab3d6d03958e1f3960eac2b428766848]]]
Former-commit-id: 2915c6393d
Former-commit-id: 9270e14a67 [formerly dcc0c7e0ae]
Former-commit-id: be279f4d36
This commit is contained in:
Steve Harris 2013-09-16 09:24:25 -05:00
commit beb995f6b3
4 changed files with 81 additions and 6 deletions

View file

@ -144,6 +144,7 @@ import com.vividsolutions.jts.geom.Polygon;
* Jul 16, 2013 DR 16387 Qinglu Lin Reset totalSegments for each followup product.
* Jul 29, 2013 DR 16352 D. Friedman Move 'result' to okPressed().
* Aug 6, 2013 2243 jsanchez Refreshed the follow up list every minute.
* Sep 4, 2013 DR 16496 Qinglu Lin Fixed warning area expandable issue occurred after re-clicking on CON option.
* </pre>
*
* @author chammack
@ -1431,6 +1432,8 @@ public class WarngenDialog extends CaveSWTDialog implements
* Redraw everything based on warned area
*/
private void redrawFromWarned() {
warngenLayer.assignSavedWarningPolygon();
warngenLayer.setPolygonState(false);
try {
warngenLayer.redrawBoxFromHatched();
} catch (VizException e) {
@ -1457,6 +1460,11 @@ public class WarngenDialog extends CaveSWTDialog implements
return;
}
warngenLayer.setEquivalentString("");
warngenLayer.setPolygonState(false);
warngenLayer.setBoxEditable(true);
warngenLayer.setWarningAction(WarningAction.valueOf(""));
String lastAreaSource = warngenLayer.getConfiguration()
.getHatchedAreaSource().getAreaSource();
@ -1602,12 +1610,24 @@ public class WarngenDialog extends CaveSWTDialog implements
* item from update list selected
*/
public void updateListSelected() {
warngenLayer.setOldWarningPolygon(null);
FollowupData data = null;
if (updateListCbo != null) {
data = (FollowupData) updateListCbo.getData(updateListCbo
.getItem(updateListCbo.getSelectionIndex()));
if (data != null) {
String s = data.getEquvialentString();
if (!s.equals(warngenLayer.getEquivalentString())) {
warngenLayer.setEquivalentString(s);
warngenLayer.setPolygonState(false);
}
}
}
if (warngenLayer.getPolygonState()) {
return;
}
if (updateListCbo.getSelectionIndex() >= 0) {
warngenLayer.setOldWarningPolygon(null);
AbstractWarningRecord oldWarning = null;
FollowupData data = (FollowupData) updateListCbo
.getData(updateListCbo.getItem(updateListCbo
.getSelectionIndex()));
Mode currMode = warngenLayer.getStormTrackState().mode;
if (data != null) {
// does not refesh if user selected already highlighted option
@ -1622,9 +1642,12 @@ public class WarngenDialog extends CaveSWTDialog implements
.getEquvialentString());
}
return;
} else {
warngenLayer.setPolygonState(false);
}
}
} else {
warngenLayer.setOldWarningPolygon(null);
if (warngenLayer.state.followupData != null) {
// Sets the updatelist with the last selected vtec option
for (int i = 0; i < updateListCbo.getItemCount(); i++) {
@ -1643,6 +1666,7 @@ public class WarngenDialog extends CaveSWTDialog implements
return;
}
}
warngenLayer.setOldWarningPolygon(null);
if (currMode == Mode.DRAG_ME) {
warngenLayer.setLastMode(Mode.TRACK);
warngenLayer.getStormTrackState().mode = Mode.TRACK;
@ -1658,6 +1682,15 @@ public class WarngenDialog extends CaveSWTDialog implements
totalSegments = 0;
warngenLayer.getStormTrackState().endTime = null;
WarningAction action = WarningAction.valueOf(data.getAct());
if (warngenLayer.isBoxEditable()) {
if (action == WarningAction.CAN || action == WarningAction.COR
|| action == WarningAction.EXT
|| action == WarningAction.EXP) {
warngenLayer.setPolygonState(false);
}
}
warngenLayer.setWarningAction(action);
if (action == WarningAction.CON) {
oldWarning = conSelected(data);
@ -2196,6 +2229,11 @@ public class WarngenDialog extends CaveSWTDialog implements
shell.moveAbove(getParent());
}
}
String action = warngenLayer.getEquivalentString();
if (action.contains("CAN-") || action.contains("COR-")
|| action.contains("EXT-") || action.contains("EXP-")) {
warngenLayer.setBoxEditable(false);
}
}
private void otherSelected() {

View file

@ -185,6 +185,7 @@ import com.vividsolutions.jts.io.WKTReader;
* 07/26/2013 DR 16376 Qinglu Lin Moved adjustVertex() and computeSlope() to PolygonUtil; removed calculateDistance();
* updated AreaHatcher's run().
* 07/26/2013 DR 16450 D. Friedman Fix logic errors when frame count is one.
* 09/04/2013 DR 16496 Qinglu Lin Fixed CAN polygon editable issue occurred after swapping out and in.
* </pre>
*
* @author mschenke
@ -196,6 +197,9 @@ public class WarngenLayer extends AbstractStormTrackResource {
.getHandler(WarngenLayer.class);
String uniqueFip = null;
private boolean polygonChanged = false;
private String equivalentString = "";
private Polygon savedWarningPolygon;
private static class GeospatialDataList {
@ -482,7 +486,11 @@ public class WarngenLayer extends AbstractStormTrackResource {
public synchronized void hatchArea(Polygon warningPolygon,
Geometry warningArea, Polygon oldWarningPolygon) {
synchronized (polygonUtil) {
this.warningPolygon = warningPolygon;
savedWarningPolygon = warningPolygon;
if (warningAction != WarningAction.CON ||
(warningAction == WarningAction.CON && getPolygonState())) {
this.warningPolygon = warningPolygon;
}
this.warningArea = warningArea;
this.oldWarningPolygon = oldWarningPolygon;
}
@ -3089,4 +3097,28 @@ public class WarngenLayer extends AbstractStormTrackResource {
}
}
}
public WarningAction getWarningAction() {
return warningAction;
}
public void setPolygonState(boolean b) {
polygonChanged = b;
}
public boolean getPolygonState() {
return polygonChanged;
}
public void setEquivalentString(String s) {
equivalentString = s;
}
public String getEquivalentString() {
return equivalentString;
}
public void assignSavedWarningPolygon() {
this.areaHatcher.warningPolygon = savedWarningPolygon;
}
}

View file

@ -65,6 +65,8 @@ import com.vividsolutions.jts.geom.Polygon;
* when c2 is null for "case SINGLE_POINT" in move().
* Mar 28, 2013 DR 15974 D. Friedman Do not track removed GIDs.
* Jun 25, 2013 DR 16013 Qinglu Lin Called setUniqueFip() in handleMouseUp().
* Sep 4, 2013 DR 16496 Qinglu Lin Fixed warning area expandable issue which occurs after re-clicking on
* a CON option.
*
* </pre>
*
@ -137,6 +139,10 @@ public class WarngenUIManager extends InputAdapter {
if (!handleInput || warngenLayer.isBoxEditable() == false) {
return super.handleMouseDown(x, y, button);
}
if (warngenLayer.getWarningAction() == WarningAction.CON &&
!warngenLayer.getPolygonState()) {
warngenLayer.setPolygonState(true);
}
boolean rval = false;
if (button == 1 && moveType != null) {
return true;

View file

@ -56,7 +56,6 @@ typedef void CEdexNotification;
#include "NotificationProtocol.h"
using namespace qpid::messaging;
using namespace qpid::framing;
using namespace std;
using apache::thrift::transport::TMemoryBuffer;
using boost::shared_ptr;