From 5a8833738cd2fd996962b2040a016114e302b496 Mon Sep 17 00:00:00 2001 From: bkuker Date: Thu, 13 Dec 2012 13:32:43 -0500 Subject: [PATCH] Allow batching several changes before firing a changeEvent --- .../sf/openrocket/appearance/AppearanceBuilder.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/core/src/net/sf/openrocket/appearance/AppearanceBuilder.java b/core/src/net/sf/openrocket/appearance/AppearanceBuilder.java index 2341908ec..cfb95f636 100644 --- a/core/src/net/sf/openrocket/appearance/AppearanceBuilder.java +++ b/core/src/net/sf/openrocket/appearance/AppearanceBuilder.java @@ -26,6 +26,8 @@ public class AppearanceBuilder extends AbstractChangeSource { private double rotation; private String image; private Decal.EdgeMode edgeMode; + + private boolean batch; public AppearanceBuilder() { resetToDefaults(); @@ -217,7 +219,15 @@ public class AppearanceBuilder extends AbstractChangeSource { @Override protected void fireChangeEvent() { - super.fireChangeEvent(); + if ( !batch ) + super.fireChangeEvent(); + } + + public void batch(Runnable r){ + batch = true; + r.run(); + batch = false; + fireChangeEvent(); } }