Skip to content

Commit 7235444

Browse files
Merge branch 'feature/undo-redo' into develop
2 parents f261a62 + b9c1d53 commit 7235444

File tree

2 files changed

+27
-10
lines changed

2 files changed

+27
-10
lines changed

src/java/pt/lsts/neptus/types/map/AbstractElement.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,9 @@ public boolean load(Element elem) {
238238
}
239239
setPhi(val);
240240
}
241+
else {
242+
setPhi(0);
243+
}
241244
ndTemp = nd.selectSingleNode("theta");
242245
if (ndTemp != null) {
243246
String text = ndTemp.getText();
@@ -251,6 +254,9 @@ public boolean load(Element elem) {
251254
}
252255
setTheta(val);
253256
}
257+
else {
258+
setTheta(0);
259+
}
254260
ndTemp = nd.selectSingleNode("psi");
255261
if (ndTemp != null) {
256262
String text = ndTemp.getText();
@@ -264,6 +270,9 @@ public boolean load(Element elem) {
264270
}
265271
setPsi(val);
266272
}
273+
else {
274+
setPsi(0);
275+
}
267276
}
268277
nd = doc.selectSingleNode("//filled");
269278
if (nd != null) {
@@ -296,7 +305,10 @@ public boolean load(Element elem) {
296305
val = 100;
297306

298307
setTransparency((int)val);
299-
}
308+
}
309+
else {
310+
setTransparency(0);
311+
}
300312
}
301313
catch (Exception e) {
302314
NeptusLog.pub().error(this + ":XML not recognized!!!");
@@ -347,7 +359,7 @@ public Document asDocument(String rootElementName) {
347359

348360
Element root = getCenterLocation().asElement(rootElementName);
349361

350-
if ( (phi != 0) || (theta != 0) || (psi != 0) ) {
362+
if ( (phi != 0) || (theta != 0) || (psi != 0) || this instanceof RotatableElement) {
351363
Element att = root.addElement("attitude");
352364
if (phi != 0)
353365
att.addElement("phi").addText(Double.toString(phi));
@@ -492,7 +504,7 @@ public void setPitchDeg(double pitch) {
492504
public void setYawDeg(double yaw) {
493505
this.psi = yaw;
494506
}
495-
507+
496508

497509
/**
498510
* @return the current roll rotation in RADIANS!
@@ -783,6 +795,7 @@ public void showParametersDialog(Component parentComp, String[] takenNames, MapT
783795
* @param takenNames
784796
*/
785797
protected void showParametersDialog(Component parentComp, String[] takenNames, MapType map, boolean editable, boolean idEditable) {
798+
this.userCancel = false;
786799
this.takenNames = takenNames;
787800
this.parentMap = map;
788801

src/java/pt/lsts/neptus/types/map/ImageElement.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -442,13 +442,17 @@ public Document asDocument(String rootElementName) {
442442
Element root = (Element) super.asDocument(DEFAULT_ROOT_ELEMENT).getRootElement().detach();
443443
document.add(root);
444444

445-
if ("".equals(originalFilePath)) {
446-
root.addElement("href").addText(getImageFileName());
445+
if (getImageFileName() != null && !getImageFileName().isEmpty()) {
446+
if (originalFilePath != null && !originalFilePath.isEmpty()) {
447+
root.addElement("href").addText(FileUtil.relativizeFilePathAsURI(originalFilePath, getImageFileName()));
448+
} else {
449+
root.addElement("href").addText(getImageFileName());
450+
}
451+
} else if (originalFilePath != null && !originalFilePath.isEmpty()) {
452+
root.addElement("href").addText(originalFilePath);
453+
} else {
447454
NeptusLog.pub().error(this + ": Original file path is empty!");
448455
}
449-
else
450-
root.addElement("href")
451-
.addText(FileUtil.relativizeFilePathAsURI(getOriginalFilePath(), getImageFileName()));
452456
Element scaleElm = root.addElement("scale");
453457
scaleElm.addText(Double.toString(getImageScale()));
454458
if (!Double.isNaN(imageScaleV)) {
@@ -503,7 +507,7 @@ public int getLayerPriority() {
503507

504508
@Override
505509
public ParametersPanel getParametersPanel(boolean editable, MapType map) {
506-
params.setCenter(getCenterLocation());
510+
params.setCenter(new LocationType(getCenterLocation()));
507511
params.setImageFileName(getImageFileName());
508512
params.setImageScale(getImageScale());
509513
params.setImageScaleV(getImageScaleV());
@@ -524,7 +528,7 @@ public boolean paramsOK(JPanel paramsPanel) {
524528
@Override
525529
public void initialize(ParametersPanel paramsPanel) {
526530

527-
setCenterLocation(params.getCenter());
531+
setCenterLocation(new LocationType(params.getCenter()));
528532
setImageFileName(params.getImageFileName());
529533
setImageScale(params.getImageScale());
530534
setImageScaleV(params.getImageScaleV());

0 commit comments

Comments
 (0)