Merge lp:~danilovesky/workcraft/trunk-bug-1321714 into lp:workcraft

Proposed by Danil Sokolov
Status: Merged
Merged at revision: 520
Proposed branch: lp:~danilovesky/workcraft/trunk-bug-1321714
Merge into: lp:workcraft
Diff against target: 568 lines (+121/-83)
19 files modified
CircuitPlugin/src/org/workcraft/plugins/circuit/VisualCircuitComponent.java (+6/-0)
GraphPlugin/src/org/workcraft/plugins/graph/ToolsProvider.java (+0/-3)
SONPlugin/src/org/workcraft/plugins/son/SONToolProvider.java (+0/-3)
WorkcraftCore/src/org/workcraft/Framework.java (+6/-10)
WorkcraftCore/src/org/workcraft/dom/AbstractGroup.java (+50/-41)
WorkcraftCore/src/org/workcraft/dom/DefaultHangingConnectionRemover.java (+1/-1)
WorkcraftCore/src/org/workcraft/dom/math/MathConnection.java (+2/-1)
WorkcraftCore/src/org/workcraft/dom/math/MathGroup.java (+13/-9)
WorkcraftCore/src/org/workcraft/dom/visual/AbstractVisualModel.java (+1/-5)
WorkcraftCore/src/org/workcraft/dom/visual/VisualGroup.java (+4/-0)
WorkcraftCore/src/org/workcraft/dom/visual/VisualPage.java (+4/-0)
WorkcraftCore/src/org/workcraft/dom/visual/connections/Polyline.java (+5/-1)
WorkcraftCore/src/org/workcraft/dom/visual/connections/VisualConnection.java (+6/-0)
WorkcraftCore/src/org/workcraft/gui/graph/tools/PageGeneratorTool.java (+1/-3)
WorkcraftCore/src/org/workcraft/observation/ObservableHierarchy.java (+1/-0)
WorkcraftCore/src/org/workcraft/observation/ObservableHierarchyImpl.java (+4/-0)
WorkcraftCore/src/org/workcraft/workspace/WorkspaceEntry.java (+6/-6)
XmasPlugin/src/org/workcraft/plugins/xmas/components/VisualXmasComponent.java (+6/-0)
XmasPlugin/src/org/workcraft/plugins/xmas/components/XmasComponent.java (+5/-0)
To merge this branch: bzr merge lp:~danilovesky/workcraft/trunk-bug-1321714
Reviewer Review Type Date Requested Status
Danil Sokolov Approve
Review via email: mp+226995@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Danil Sokolov (danilovesky) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'CircuitPlugin/src/org/workcraft/plugins/circuit/VisualCircuitComponent.java'
--- CircuitPlugin/src/org/workcraft/plugins/circuit/VisualCircuitComponent.java 2014-07-08 11:51:21 +0000
+++ CircuitPlugin/src/org/workcraft/plugins/circuit/VisualCircuitComponent.java 2014-07-16 10:33:39 +0000
@@ -631,5 +631,11 @@
631 public void removeObserver(HierarchyObserver obs) {631 public void removeObserver(HierarchyObserver obs) {
632 groupImpl.removeObserver(obs);632 groupImpl.removeObserver(obs);
633 }633 }
634
635 @Override
636 public void removeAllObservers() {
637 groupImpl.removeAllObservers();
638 }
639
634640
635}641}
636642
=== modified file 'GraphPlugin/src/org/workcraft/plugins/graph/ToolsProvider.java'
--- GraphPlugin/src/org/workcraft/plugins/graph/ToolsProvider.java 2014-02-27 09:22:57 +0000
+++ GraphPlugin/src/org/workcraft/plugins/graph/ToolsProvider.java 2014-07-16 10:33:39 +0000
@@ -2,14 +2,12 @@
22
3import java.util.ArrayList;3import java.util.ArrayList;
44
5import org.workcraft.dom.math.PageNode;
6import org.workcraft.gui.graph.tools.CommentGeneratorTool;5import org.workcraft.gui.graph.tools.CommentGeneratorTool;
7import org.workcraft.gui.graph.tools.ConnectionTool;6import org.workcraft.gui.graph.tools.ConnectionTool;
8import org.workcraft.gui.graph.tools.CustomToolsProvider;7import org.workcraft.gui.graph.tools.CustomToolsProvider;
9import org.workcraft.gui.graph.tools.DefaultNodeGenerator;8import org.workcraft.gui.graph.tools.DefaultNodeGenerator;
10import org.workcraft.gui.graph.tools.GraphEditorTool;9import org.workcraft.gui.graph.tools.GraphEditorTool;
11import org.workcraft.gui.graph.tools.NodeGeneratorTool;10import org.workcraft.gui.graph.tools.NodeGeneratorTool;
12import org.workcraft.gui.graph.tools.PageGeneratorTool;
13import org.workcraft.gui.graph.tools.SelectionTool;11import org.workcraft.gui.graph.tools.SelectionTool;
1412
15public class ToolsProvider implements CustomToolsProvider {13public class ToolsProvider implements CustomToolsProvider {
@@ -20,7 +18,6 @@
20 18
21 result.add(new SelectionTool());19 result.add(new SelectionTool());
22 result.add(new CommentGeneratorTool());20 result.add(new CommentGeneratorTool());
23 result.add(new PageGeneratorTool(new DefaultNodeGenerator(PageNode.class)));
24 result.add(new ConnectionTool(true, false));21 result.add(new ConnectionTool(true, false));
25 result.add(new NodeGeneratorTool(new DefaultNodeGenerator(Vertex.class)));22 result.add(new NodeGeneratorTool(new DefaultNodeGenerator(Vertex.class)));
26 return result;23 return result;
2724
=== modified file 'SONPlugin/src/org/workcraft/plugins/son/SONToolProvider.java'
--- SONPlugin/src/org/workcraft/plugins/son/SONToolProvider.java 2014-04-30 08:14:53 +0000
+++ SONPlugin/src/org/workcraft/plugins/son/SONToolProvider.java 2014-07-16 10:33:39 +0000
@@ -2,13 +2,11 @@
22
3import java.util.ArrayList;3import java.util.ArrayList;
44
5import org.workcraft.dom.math.PageNode;
6import org.workcraft.gui.graph.tools.CommentGeneratorTool;5import org.workcraft.gui.graph.tools.CommentGeneratorTool;
7import org.workcraft.gui.graph.tools.CustomToolsProvider;6import org.workcraft.gui.graph.tools.CustomToolsProvider;
8import org.workcraft.gui.graph.tools.DefaultNodeGenerator;7import org.workcraft.gui.graph.tools.DefaultNodeGenerator;
9import org.workcraft.gui.graph.tools.GraphEditorTool;8import org.workcraft.gui.graph.tools.GraphEditorTool;
10import org.workcraft.gui.graph.tools.NodeGeneratorTool;9import org.workcraft.gui.graph.tools.NodeGeneratorTool;
11import org.workcraft.gui.graph.tools.PageGeneratorTool;
12import org.workcraft.plugins.son.elements.ChannelPlace;10import org.workcraft.plugins.son.elements.ChannelPlace;
13import org.workcraft.plugins.son.elements.Condition;11import org.workcraft.plugins.son.elements.Condition;
14import org.workcraft.plugins.son.elements.Event;12import org.workcraft.plugins.son.elements.Event;
@@ -23,7 +21,6 @@
23 ArrayList<GraphEditorTool> result = new ArrayList<GraphEditorTool>();21 ArrayList<GraphEditorTool> result = new ArrayList<GraphEditorTool>();
24 GraphEditorTool channelPlaceTool = new NodeGeneratorTool(new DefaultNodeGenerator(ChannelPlace.class));22 GraphEditorTool channelPlaceTool = new NodeGeneratorTool(new DefaultNodeGenerator(ChannelPlace.class));
25 result.add(new SelectionTool(channelPlaceTool));23 result.add(new SelectionTool(channelPlaceTool));
26 result.add(new PageGeneratorTool(new DefaultNodeGenerator(PageNode.class)));
27 result.add(new CommentGeneratorTool());24 result.add(new CommentGeneratorTool());
28 result.add(new SONConnectionTool());25 result.add(new SONConnectionTool());
29 result.add(new NodeGeneratorTool(new DefaultNodeGenerator(Condition.class)));26 result.add(new NodeGeneratorTool(new DefaultNodeGenerator(Condition.class)));
3027
=== modified file 'WorkcraftCore/src/org/workcraft/Framework.java'
--- WorkcraftCore/src/org/workcraft/Framework.java 2014-06-25 19:35:02 +0000
+++ WorkcraftCore/src/org/workcraft/Framework.java 2014-07-16 10:33:39 +0000
@@ -69,11 +69,9 @@
69import org.workcraft.gui.propertyeditor.SettingsPage;69import org.workcraft.gui.propertyeditor.SettingsPage;
70import org.workcraft.interop.Importer;70import org.workcraft.interop.Importer;
71import org.workcraft.plugins.PluginInfo;71import org.workcraft.plugins.PluginInfo;
72import org.workcraft.plugins.serialisation.XMLDualModelDeserialiser;
73import org.workcraft.plugins.serialisation.XMLModelDeserialiser;72import org.workcraft.plugins.serialisation.XMLModelDeserialiser;
74import org.workcraft.plugins.serialisation.XMLModelSerialiser;73import org.workcraft.plugins.serialisation.XMLModelSerialiser;
75import org.workcraft.serialisation.DeserialisationResult;74import org.workcraft.serialisation.DeserialisationResult;
76import org.workcraft.serialisation.DualDeserialisationResult;
77import org.workcraft.serialisation.ModelSerialiser;75import org.workcraft.serialisation.ModelSerialiser;
78import org.workcraft.serialisation.ReferenceProducer;76import org.workcraft.serialisation.ReferenceProducer;
79import org.workcraft.serialisation.References;77import org.workcraft.serialisation.References;
@@ -663,28 +661,26 @@
663 }661 }
664662
665 public ModelEntry load(InputStream is1, InputStream is2) throws DeserialisationException {663 public ModelEntry load(InputStream is1, InputStream is2) throws DeserialisationException {
666
667 ModelEntry me1 = load(is1);664 ModelEntry me1 = load(is1);
668 ModelEntry me2 = load(is2);665 ModelEntry me2 = load(is2);
669 666
670 VisualModel vmodel1 = me1.getVisualModel();667 VisualModel vmodel1 = me1.getVisualModel();
671 VisualModel vmodel2 = me2.getVisualModel();668 VisualModel vmodel2 = me2.getVisualModel();
672 669
673 if (!me1.getDescriptor().getDisplayName().equals(670 if (!me1.getDescriptor().getDisplayName().equals(me2.getDescriptor().getDisplayName())) {
674 me2.getDescriptor().getDisplayName())) {671 throw new DeserialisationException("Incompatible models cannot be merged");
675 throw new DeserialisationException("incompatible models cannot be merged");
676 }672 }
677 673
678
679 Collection<Node> children = new HashSet<Node>(vmodel2.getRoot().getChildren());674 Collection<Node> children = new HashSet<Node>(vmodel2.getRoot().getChildren());
680 675
681 vmodel1.selectNone();676 vmodel1.selectNone();
682 vmodel1.reparent(vmodel1.getCurrentLevel(), vmodel2, vmodel2.getRoot(), null);677 vmodel1.reparent(vmodel1.getCurrentLevel(), vmodel2, vmodel2.getRoot(), null);
683 vmodel1.select(children);678 vmodel1.select(children);
684 679
685 return me1;680 // FIXME: dirty hack to avoid any hanging observers (serialise and deserialise the model)
686681 Memento memo = save(me1);
687 682 ModelEntry me3 = load(memo);
683 return me3;
688 }684 }
689 685
690// old implementation for reference686// old implementation for reference
691687
=== modified file 'WorkcraftCore/src/org/workcraft/dom/AbstractGroup.java'
--- WorkcraftCore/src/org/workcraft/dom/AbstractGroup.java 2014-06-29 17:47:02 +0000
+++ WorkcraftCore/src/org/workcraft/dom/AbstractGroup.java 2014-07-16 10:33:39 +0000
@@ -65,35 +65,38 @@
6565
66 protected void postAdd(Node node, boolean notify) {66 protected void postAdd(Node node, boolean notify) {
67 node.setParent(groupRef);67 node.setParent(groupRef);
68 68 if (notify) {
69 if (notify)
70 observableHierarchyImpl.sendNotification (new NodesAddedEvent(groupRef, node));69 observableHierarchyImpl.sendNotification (new NodesAddedEvent(groupRef, node));
70 }
71 }71 }
7272
73 protected void preAdd(Node node, boolean notify) {73 protected void preAdd(Node node, boolean notify) {
74 if (node.getParent() == this)74 if (node.getParent() == this) {
75 return;75 return;
7676 }
77 if (node.getParent() != null && node.getParent() != groupRef)77 if ((node.getParent() != null) && (node.getParent() != groupRef)) {
78 throw new RuntimeException("Cannot attach someone else's node. Please detach from the old parent first.");78 throw new RuntimeException("Cannot attach someone else's node. Please detach from the old parent first.");
7979 }
80 if (notify)80 if (notify) {
81 observableHierarchyImpl.sendNotification (new NodesAddingEvent(groupRef, node));81 observableHierarchyImpl.sendNotification (new NodesAddingEvent(groupRef, node));
82 }
82 }83 }
8384
84 protected void removeInternal(Node node, boolean notify) {85 protected void removeInternal(Node node, boolean notify) {
85 if (notify)86 if (notify) {
86 observableHierarchyImpl.sendNotification(new NodesDeletingEvent(groupRef, node));87 observableHierarchyImpl.sendNotification(new NodesDeletingEvent(groupRef, node));
8788 }
88 if (node.getParent() != groupRef)89 if (node.getParent() != groupRef) {
89 throw new RuntimeException 90 throw new RuntimeException(
90 ("Failed to remove a node frome a group because it is not a child of that group ("+node+", parent is " + node.getParent() +", expected " + groupRef + ")");91 "Failed to remove a node frome a group because it is not a child of that group ("
9192 + node + ", parent is " + node.getParent() + ", expected " + groupRef + ")");
93 }
92 removeInternal(node);94 removeInternal(node);
93 node.setParent(null);95 node.setParent(null);
9496
95 if (notify)97 if (notify) {
96 observableHierarchyImpl.sendNotification (new NodesDeletedEvent(groupRef, node));98 observableHierarchyImpl.sendNotification (new NodesDeletedEvent(groupRef, node));
99 }
97 }100 }
98101
99 public void addObserver(HierarchyObserver obs) {102 public void addObserver(HierarchyObserver obs) {
@@ -103,6 +106,10 @@
103 public void removeObserver(HierarchyObserver obs) {106 public void removeObserver(HierarchyObserver obs) {
104 observableHierarchyImpl.removeObserver(obs);107 observableHierarchyImpl.removeObserver(obs);
105 }108 }
109
110 public void removeAllObservers() {
111 observableHierarchyImpl.removeAllObservers();
112 }
106113
107 @Override114 @Override
108 public void add(Node node) {115 public void add(Node node) {
@@ -112,10 +119,9 @@
112 @Override119 @Override
113 public void add(Collection<Node> nodes) {120 public void add(Collection<Node> nodes) {
114 observableHierarchyImpl.sendNotification (new NodesAddingEvent(groupRef, nodes));121 observableHierarchyImpl.sendNotification (new NodesAddingEvent(groupRef, nodes));
115122 for (Node node : nodes) {
116 for (Node node : nodes)
117 addInternal(node, false);123 addInternal(node, false);
118124 }
119 observableHierarchyImpl.sendNotification (new NodesAddedEvent(groupRef, nodes));125 observableHierarchyImpl.sendNotification (new NodesAddedEvent(groupRef, nodes));
120 }126 }
121127
@@ -127,40 +133,42 @@
127 @Override133 @Override
128 public void remove(Collection<Node> nodes) {134 public void remove(Collection<Node> nodes) {
129 LinkedList<Node> nodesToRemove = new LinkedList<Node>(nodes);135 LinkedList<Node> nodesToRemove = new LinkedList<Node>(nodes);
130
131 observableHierarchyImpl.sendNotification(new NodesDeletingEvent(groupRef, nodesToRemove));136 observableHierarchyImpl.sendNotification(new NodesDeletingEvent(groupRef, nodesToRemove));
132137 for (Node node : nodesToRemove) {
133 for (Node node : nodesToRemove)
134 removeInternal(node, false);138 removeInternal(node, false);
135139 }
136 observableHierarchyImpl.sendNotification (new NodesDeletedEvent(groupRef, nodesToRemove));140 observableHierarchyImpl.sendNotification (new NodesDeletedEvent(groupRef, nodesToRemove));
137 }141 }
138
139
140
141 142
142 @Override143 @Override
143 public void reparent(Collection<Node> nodes, Container newParent) {144 public void reparent(Collection<Node> nodes, Container newParent) {
144 observableHierarchyImpl.sendNotification(new NodesReparentingEvent(groupRef, newParent, nodes));145 observableHierarchyImpl.sendNotification(new NodesReparentingEvent(groupRef, newParent, nodes));
145 146 for (Node node: nodes) {
146 //HashSet<Node> newModelNodes= new HashSet<Node>();
147 boolean differentModels = false;
148
149 for (Node node : nodes) {
150
151 if (Hierarchy.getTopParent(newParent)!=Hierarchy.getTopParent(node)) differentModels = true;
152
153 removeInternal(node, false);147 removeInternal(node, false);
154 148 }
155 }149 if (!isSameModel(nodes, newParent)) {
156 150 // If the model is not the same, then remove all node listeners
157 if (differentModels)151 for (Node node: nodes) {
158 newParent.add(nodes);152 if (node instanceof ObservableHierarchy) {
159 else153 ((ObservableHierarchy) node).removeAllObservers();
160 newParent.reparent(nodes);154 }
161155 }
156 }
157 newParent.add(nodes);
162 observableHierarchyImpl.sendNotification(new NodesReparentedEvent(groupRef, newParent, nodes));158 observableHierarchyImpl.sendNotification(new NodesReparentedEvent(groupRef, newParent, nodes));
163 }159 }
160
161 private boolean isSameModel(Collection<Node> nodes, Container newParent) {
162 Node newRoot = Hierarchy.getTopParent(newParent);
163 boolean sameModel = true;
164 for (Node node : nodes) {
165 if (newRoot != Hierarchy.getTopParent(node)) {
166 sameModel = false;
167 break;
168 }
169 }
170 return sameModel;
171 }
164 172
165 @Override173 @Override
166 public void reparent (Collection<Node> nodes) {174 public void reparent (Collection<Node> nodes) {
@@ -173,5 +181,6 @@
173 public abstract Collection<Node> getChildren();181 public abstract Collection<Node> getChildren();
174182
175 protected abstract void addInternal(Node node);183 protected abstract void addInternal(Node node);
184
176 protected abstract void removeInternal (Node node);185 protected abstract void removeInternal (Node node);
177}
178\ No newline at end of file186\ No newline at end of file
187}
179188
=== modified file 'WorkcraftCore/src/org/workcraft/dom/DefaultHangingConnectionRemover.java'
--- WorkcraftCore/src/org/workcraft/dom/DefaultHangingConnectionRemover.java 2013-10-31 11:44:01 +0000
+++ WorkcraftCore/src/org/workcraft/dom/DefaultHangingConnectionRemover.java 2014-07-16 10:33:39 +0000
@@ -53,7 +53,7 @@
53 53
54 for (Node node : e.getAffectedNodes())54 for (Node node : e.getAffectedNodes())
55 findHangingConnections(node, hangingConnections, hanging);55 findHangingConnections(node, hangingConnections, hanging);
56 56
57 for (Connection con : hangingConnections)57 for (Connection con : hangingConnections)
58 if (con.getParent() instanceof Container)58 if (con.getParent() instanceof Container)
59 ((Container)con.getParent()).remove(con);59 ((Container)con.getParent()).remove(con);
6060
=== modified file 'WorkcraftCore/src/org/workcraft/dom/math/MathConnection.java'
--- WorkcraftCore/src/org/workcraft/dom/math/MathConnection.java 2013-09-10 09:54:55 +0000
+++ WorkcraftCore/src/org/workcraft/dom/math/MathConnection.java 2014-07-16 10:33:39 +0000
@@ -23,6 +23,7 @@
2323
24import org.workcraft.annotations.VisualClass;24import org.workcraft.annotations.VisualClass;
25import org.workcraft.dom.Connection;25import org.workcraft.dom.Connection;
26import org.workcraft.dom.Node;
2627
27@VisualClass(org.workcraft.dom.visual.connections.VisualConnection.class)28@VisualClass(org.workcraft.dom.visual.connections.VisualConnection.class)
28public class MathConnection extends MathNode implements Connection {29public class MathConnection extends MathNode implements Connection {
@@ -36,7 +37,7 @@
36 super();37 super();
37 setDependencies(first, second);38 setDependencies(first, second);
38 }39 }
39 40
40 final public MathNode getFirst() {41 final public MathNode getFirst() {
41 return first;42 return first;
42 }43 }
4344
=== modified file 'WorkcraftCore/src/org/workcraft/dom/math/MathGroup.java'
--- WorkcraftCore/src/org/workcraft/dom/math/MathGroup.java 2014-04-28 18:05:39 +0000
+++ WorkcraftCore/src/org/workcraft/dom/math/MathGroup.java 2014-07-16 10:33:39 +0000
@@ -22,17 +22,16 @@
22package org.workcraft.dom.math;22package org.workcraft.dom.math;
2323
24import java.util.ArrayList;24import java.util.ArrayList;
25import java.util.Collection;25import java.util.Collection;
2626
27import org.workcraft.dom.Container;27import org.workcraft.dom.Container;
28import org.workcraft.dom.DefaultGroupImpl;28import org.workcraft.dom.DefaultGroupImpl;
29import org.workcraft.dom.Node;29import org.workcraft.dom.Node;
30import org.workcraft.dom.hierarchy.NamespaceProvider;30import org.workcraft.dom.hierarchy.NamespaceProvider;
31import org.workcraft.dom.references.HierarchicalUniqueNameReferenceManager;31import org.workcraft.dom.references.HierarchicalUniqueNameReferenceManager;
32import org.workcraft.dom.references.ReferenceManager;32import org.workcraft.dom.references.ReferenceManager;
33import org.workcraft.dom.visual.TransformHelper;33import org.workcraft.observation.HierarchyObserver;
34import org.workcraft.observation.HierarchyObserver;34import org.workcraft.observation.ObservableHierarchy;
35import org.workcraft.observation.ObservableHierarchy;
36import org.workcraft.util.Hierarchy;35import org.workcraft.util.Hierarchy;
3736
38public class MathGroup extends MathNode implements NamespaceProvider, ObservableHierarchy, Container {37public class MathGroup extends MathNode implements NamespaceProvider, ObservableHierarchy, Container {
@@ -66,7 +65,12 @@
66 @Override65 @Override
67 public void removeObserver(HierarchyObserver obs) {66 public void removeObserver(HierarchyObserver obs) {
68 groupImpl.removeObserver(obs);67 groupImpl.removeObserver(obs);
69 }68 }
69
70 @Override
71 public void removeAllObservers() {
72 groupImpl.removeAllObservers();
73 }
7074
71 @Override75 @Override
72 public void setParent(Node parent) {76 public void setParent(Node parent) {
7377
=== modified file 'WorkcraftCore/src/org/workcraft/dom/visual/AbstractVisualModel.java'
--- WorkcraftCore/src/org/workcraft/dom/visual/AbstractVisualModel.java 2014-07-11 09:28:08 +0000
+++ WorkcraftCore/src/org/workcraft/dom/visual/AbstractVisualModel.java 2014-07-16 10:33:39 +0000
@@ -627,11 +627,7 @@
627 627
628 Collection<Node> children = new HashSet<Node>();628 Collection<Node> children = new HashSet<Node>();
629 629
630 if (sourceChildren==null) {630 children.addAll(sourceChildren);
631 children.addAll(sourceRoot.getChildren());
632 } else {
633 children.addAll(sourceChildren);
634 }
635 631
636 sourceRoot.reparent(children, targetContainer);632 sourceRoot.reparent(children, targetContainer);
637 633
638634
=== modified file 'WorkcraftCore/src/org/workcraft/dom/visual/VisualGroup.java'
--- WorkcraftCore/src/org/workcraft/dom/visual/VisualGroup.java 2014-06-29 17:47:02 +0000
+++ WorkcraftCore/src/org/workcraft/dom/visual/VisualGroup.java 2014-07-16 10:33:39 +0000
@@ -223,6 +223,10 @@
223 groupImpl.removeObserver(obs);223 groupImpl.removeObserver(obs);
224 }224 }
225225
226 @Override
227 public void removeAllObservers() {
228 groupImpl.removeAllObservers();
229 }
226230
227 @Override231 @Override
228 public void setParent(Node parent) {232 public void setParent(Node parent) {
229233
=== modified file 'WorkcraftCore/src/org/workcraft/dom/visual/VisualPage.java'
--- WorkcraftCore/src/org/workcraft/dom/visual/VisualPage.java 2014-06-26 08:11:52 +0000
+++ WorkcraftCore/src/org/workcraft/dom/visual/VisualPage.java 2014-07-16 10:33:39 +0000
@@ -170,6 +170,10 @@
170 groupImpl.removeObserver(obs);170 groupImpl.removeObserver(obs);
171 }171 }
172172
173 @Override
174 public void removeAllObservers() {
175 groupImpl.removeAllObservers();
176 }
173177
174 @Override178 @Override
175 public void setParent(Node parent) {179 public void setParent(Node parent) {
176180
=== modified file 'WorkcraftCore/src/org/workcraft/dom/visual/connections/Polyline.java'
--- WorkcraftCore/src/org/workcraft/dom/visual/connections/Polyline.java 2013-10-21 17:36:57 +0000
+++ WorkcraftCore/src/org/workcraft/dom/visual/connections/Polyline.java 2014-07-16 10:33:39 +0000
@@ -276,7 +276,11 @@
276276
277 public void removeObserver(HierarchyObserver obs) {277 public void removeObserver(HierarchyObserver obs) {
278 groupImpl.removeObserver(obs);278 groupImpl.removeObserver(obs);
279 }279 }
280
281 public void removeAllObservers() {
282 groupImpl.removeAllObservers();
283 }
280284
281 public void reparent(Collection<Node> nodes, Container newParent) {285 public void reparent(Collection<Node> nodes, Container newParent) {
282 groupImpl.reparent(nodes, newParent);286 groupImpl.reparent(nodes, newParent);
283287
=== modified file 'WorkcraftCore/src/org/workcraft/dom/visual/connections/VisualConnection.java'
--- WorkcraftCore/src/org/workcraft/dom/visual/connections/VisualConnection.java 2014-06-05 11:46:41 +0000
+++ WorkcraftCore/src/org/workcraft/dom/visual/connections/VisualConnection.java 2014-07-16 10:33:39 +0000
@@ -457,6 +457,12 @@
457 public void removeObserver(HierarchyObserver obs) {457 public void removeObserver(HierarchyObserver obs) {
458 observableHierarchyImpl.removeObserver(obs);458 observableHierarchyImpl.removeObserver(obs);
459 }459 }
460
461 public void removeAllObservers() {
462 observableHierarchyImpl.removeAllObservers();
463 }
464
465
460 @Override466 @Override
461 public Point2D getFirstCenter() {467 public Point2D getFirstCenter() {
462 return componentsTransformObserver.getFirstCenter();468 return componentsTransformObserver.getFirstCenter();
463469
=== modified file 'WorkcraftCore/src/org/workcraft/gui/graph/tools/PageGeneratorTool.java'
--- WorkcraftCore/src/org/workcraft/gui/graph/tools/PageGeneratorTool.java 2014-02-27 09:22:57 +0000
+++ WorkcraftCore/src/org/workcraft/gui/graph/tools/PageGeneratorTool.java 2014-07-16 10:33:39 +0000
@@ -1,6 +1,5 @@
1package org.workcraft.gui.graph.tools;1package org.workcraft.gui.graph.tools;
22
3import org.workcraft.dom.math.CommentNode;
4import org.workcraft.dom.math.MathNode;3import org.workcraft.dom.math.MathNode;
5import org.workcraft.dom.math.PageNode;4import org.workcraft.dom.math.PageNode;
6import org.workcraft.exceptions.NodeCreationException;5import org.workcraft.exceptions.NodeCreationException;
@@ -11,8 +10,7 @@
11 super(new DefaultNodeGenerator(PageNode.class)10 super(new DefaultNodeGenerator(PageNode.class)
12 {11 {
13 @Override12 @Override
14 protected MathNode createMathNode()13 protected MathNode createMathNode() throws NodeCreationException {
15 throws NodeCreationException {
16 MathNode node = super.createMathNode();14 MathNode node = super.createMathNode();
17 return node;15 return node;
18 }16 }
1917
=== modified file 'WorkcraftCore/src/org/workcraft/observation/ObservableHierarchy.java'
--- WorkcraftCore/src/org/workcraft/observation/ObservableHierarchy.java 2009-09-22 21:01:45 +0000
+++ WorkcraftCore/src/org/workcraft/observation/ObservableHierarchy.java 2014-07-16 10:33:39 +0000
@@ -24,4 +24,5 @@
24public interface ObservableHierarchy {24public interface ObservableHierarchy {
25 public void addObserver (HierarchyObserver obs);25 public void addObserver (HierarchyObserver obs);
26 public void removeObserver (HierarchyObserver obs);26 public void removeObserver (HierarchyObserver obs);
27 public void removeAllObservers();
27}28}
2829
=== modified file 'WorkcraftCore/src/org/workcraft/observation/ObservableHierarchyImpl.java'
--- WorkcraftCore/src/org/workcraft/observation/ObservableHierarchyImpl.java 2009-09-22 21:01:45 +0000
+++ WorkcraftCore/src/org/workcraft/observation/ObservableHierarchyImpl.java 2014-07-16 10:33:39 +0000
@@ -34,6 +34,10 @@
34 observers.remove(obs);34 observers.remove(obs);
35 }35 }
36 36
37 public void removeAllObservers() {
38 observers.clear();
39 }
40
37 public void sendNotification (HierarchyEvent e) {41 public void sendNotification (HierarchyEvent e) {
38 for (HierarchyObserver obs : observers)42 for (HierarchyObserver obs : observers)
39 obs.notify(e);43 obs.notify(e);
4044
=== modified file 'WorkcraftCore/src/org/workcraft/workspace/WorkspaceEntry.java'
--- WorkcraftCore/src/org/workcraft/workspace/WorkspaceEntry.java 2014-06-17 18:47:40 +0000
+++ WorkcraftCore/src/org/workcraft/workspace/WorkspaceEntry.java 2014-07-16 10:33:39 +0000
@@ -29,11 +29,12 @@
29import java.io.IOException;29import java.io.IOException;
30import java.io.InputStreamReader;30import java.io.InputStreamReader;
31import java.util.Collection;31import java.util.Collection;
32import java.util.HashMap;
33import java.util.HashSet;32import java.util.HashSet;
34import java.util.zip.ZipEntry;33import java.util.zip.ZipEntry;
35import java.util.zip.ZipInputStream;34import java.util.zip.ZipInputStream;
3635
36import javax.swing.JOptionPane;
37
37import org.workcraft.Framework;38import org.workcraft.Framework;
38import org.workcraft.dom.Container;39import org.workcraft.dom.Container;
39import org.workcraft.dom.Node;40import org.workcraft.dom.Node;
@@ -48,7 +49,6 @@
48import org.workcraft.observation.StateEvent;49import org.workcraft.observation.StateEvent;
49import org.workcraft.observation.StateObserver;50import org.workcraft.observation.StateObserver;
50import org.workcraft.plugins.shared.CommonEditorSettings;51import org.workcraft.plugins.shared.CommonEditorSettings;
51import org.workcraft.plugins.shared.CommonVisualSettings;
52import org.workcraft.util.Hierarchy;52import org.workcraft.util.Hierarchy;
5353
54public class WorkspaceEntry implements ObservableState {54public class WorkspaceEntry implements ObservableState {
@@ -211,9 +211,7 @@
211 Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();211 Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
212 String str = unzipInputStream(new ZipInputStream(capturedMemento.getStream()));212 String str = unzipInputStream(new ZipInputStream(capturedMemento.getStream()));
213 clipboard.setContents(new StringSelection(str), null);213 clipboard.setContents(new StringSelection(str), null);
214
215 }214 }
216
217 }215 }
218216
219 public void cancelMemento() {217 public void cancelMemento() {
@@ -278,7 +276,8 @@
278 setModelEntry(result);276 setModelEntry(result);
279 setChanged(true);277 setChanged(true);
280 } catch (DeserialisationException e) {278 } catch (DeserialisationException e) {
281 e.printStackTrace();279 JOptionPane.showMessageDialog(framework.getMainWindow(), e.getMessage(),
280 "Model insertion failed", JOptionPane.ERROR_MESSAGE);
282 }281 }
283 }282 }
284 283
@@ -356,7 +355,8 @@
356 setChanged(true);355 setChanged(true);
357 VisualModelTransformer.translateSelection(result.getVisualModel(), 1.0, 1.0);356 VisualModelTransformer.translateSelection(result.getVisualModel(), 1.0, 1.0);
358 } catch (DeserialisationException e) {357 } catch (DeserialisationException e) {
359 e.printStackTrace();358 JOptionPane.showMessageDialog(framework.getMainWindow(), e.getMessage(),
359 "Clipboard paste failed", JOptionPane.ERROR_MESSAGE);
360 }360 }
361 }361 }
362 }362 }
363363
=== modified file 'XmasPlugin/src/org/workcraft/plugins/xmas/components/VisualXmasComponent.java'
--- XmasPlugin/src/org/workcraft/plugins/xmas/components/VisualXmasComponent.java 2014-01-07 16:03:24 +0000
+++ XmasPlugin/src/org/workcraft/plugins/xmas/components/VisualXmasComponent.java 2014-07-16 10:33:39 +0000
@@ -213,6 +213,12 @@
213 groupImpl.removeObserver(obs);213 groupImpl.removeObserver(obs);
214 }214 }
215 215
216 @Override
217 public void removeAllObservers() {
218 groupImpl.removeAllObservers();
219 }
220
221
216 abstract public Shape getShape();222 abstract public Shape getShape();
217223
218 @Override224 @Override
219225
=== modified file 'XmasPlugin/src/org/workcraft/plugins/xmas/components/XmasComponent.java'
--- XmasPlugin/src/org/workcraft/plugins/xmas/components/XmasComponent.java 2013-11-05 18:01:19 +0000
+++ XmasPlugin/src/org/workcraft/plugins/xmas/components/XmasComponent.java 2014-07-16 10:33:39 +0000
@@ -52,6 +52,11 @@
52 public void removeObserver(HierarchyObserver obs) {52 public void removeObserver(HierarchyObserver obs) {
53 groupImpl.removeObserver(obs);53 groupImpl.removeObserver(obs);
54 }54 }
55
56 public void removeAllObservers() {
57 groupImpl.removeAllObservers();
58 }
59
5560
56 @Override61 @Override
57 public void add(Node node) {62 public void add(Node node) {

Subscribers

People subscribed via source and target branches