diff --git a/CHANGELOG b/CHANGELOG index a1d9f7c3523837810524aabca20073651bc35abf..227fa55320e5df4fadd07a41632ec1e911caa42e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,8 +6,10 @@ minerva (12.2.0~beta.3) unstable; urgency=medium invalid (#735) * Bug fix: closing Add Project window was taking infinity (#734) * Bug fix: align of checkboxes in top right corner fixed (#733) + * Bug fix: uploading SBML file without layout resulted in overlapping + compartments (#736) - -- Piotr Gawron <piotr.gawron@uni.lu> Wed, 6 Mar 2019 17:00:00 +0200 + -- Piotr Gawron <piotr.gawron@uni.lu> Wed, 6 Mar 2019 14:00:00 +0200 minerva (12.2.0~beta.2) unstable; urgency=medium * Bug fix: order of the overlays is defined explicitly also for general diff --git a/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java index 36b05a8d4c20e84205612a4c9ca291d20a08b5a8..7d06c068c228d8125d35c359e01d065d36be4cd2 100644 --- a/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java +++ b/model-command/src/main/java/lcsb/mapviewer/commands/layout/ApplySimpleLayoutModelCommand.java @@ -219,7 +219,7 @@ public class ApplySimpleLayoutModelCommand extends ApplyLayoutModelCommand { minPoint.getY() + COMPARTMENT_BORDER, dimension.getWidth() - COMPARTMENT_BORDER * 2, dimension.getHeight() - COMPARTMENT_BORDER * 2); for (Element element : compartment.getElements()) { - if (!elements.contains(element) && element.getBorder()!=null) { + if (!elements.contains(element) && element.getBorder() != null && element.getX() != 0 && element.getY() != 0) { border.add(element.getBorder()); } } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java b/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java index 28eb7853b55c6518cebdf3055a70a483a7a67b98..b681b20e41f747982d0e18bc75b418679494e92a 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/model/Model.java @@ -151,7 +151,7 @@ public interface Model { * @param elements * list of elements */ - void addElements(List<? extends Element> elements); + void addElements(Collection<? extends Element> elements); /** * Sets new short description of the model. diff --git a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java index 8e7f837f2a73d56a5c6199743a742a72b70f334f..3f5eb64aff711aad75a7aac3fad50f78690e6eba 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/model/ModelFullIndexed.java @@ -198,7 +198,7 @@ public class ModelFullIndexed implements Model { } @Override - public void addElements(List<? extends Element> elements) { + public void addElements(Collection<? extends Element> elements) { for (Element element : elements) { addElement(element); } diff --git a/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java b/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java index 23f9e1802e56b00e13e442fe9e69befc0ad3f2ad..9245aee4c29e1a95dfa1efda8921442fb420b9ff 100644 --- a/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java +++ b/model/src/main/java/lcsb/mapviewer/model/map/species/Element.java @@ -322,7 +322,7 @@ public abstract class Element implements BioEntity, Serializable, SbmlArgument { * @see x */ public void setX(String string) { - this.x = Double.parseDouble(string); + setX(Double.parseDouble(string)); } /** @@ -483,7 +483,7 @@ public abstract class Element implements BioEntity, Serializable, SbmlArgument { * @return rectangle border */ public Rectangle2D getBorder() { - if (x == null || y == null || width == null || height == null) { + if (x == null || y == null || width == null || height == null || width == 0.0 || height == 0.0) { return null; } return new Rectangle2D.Double(x, y, width, height);