X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2FDistrictDiagramViewer.java;h=d932e0834a2cd2016c3092e5581850c24338af07;hb=2d2564b511ad13107e5a9cb3466bf19e66a9d645;hp=7ee2f2faa03a2c5b771e7d52de2d05db1a21f034;hpb=8ed34578950dcf8e59f85e3ceecf0f8f264f6208;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/DistrictDiagramViewer.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/DistrictDiagramViewer.java index 7ee2f2fa..d932e083 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/DistrictDiagramViewer.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/DistrictDiagramViewer.java @@ -183,41 +183,32 @@ public class DistrictDiagramViewer extends DiagramViewer { private void queueColoringObjectsChangeEvent(Map result) { - if (result != null && !canvasContext.isDisposed()) { - canvasContext.getDefaultHintContext().setHint(KEY_MAP_COLORING_OBJECTS, result); - canvasContext.getEventQueue().queueEvent(new CommandEvent(canvasContext, System.currentTimeMillis(), MAP_COLORING_OBJECTS_CHANGE)); - } else { - LOGGER.info("Result is either null or canvasContext is disposed", String.valueOf(result)); - } + queueEventInternal(KEY_MAP_COLORING_OBJECTS, MAP_COLORING_OBJECTS_CHANGE, result); } private void queueColorBarOptionsChangeEvent(ColorBarOptions result) { - if (result != null && !canvasContext.isDisposed()) { - canvasContext.getDefaultHintContext().setHint(KEY_MAP_COLOR_BAR_OPTIONS, result); - canvasContext.getEventQueue().queueEvent(new CommandEvent(canvasContext, System.currentTimeMillis(), MAP_COLOR_BAR_OPTIONS_CHANGE)); - } else { - LOGGER.info("Result is either null or canvasContext is disposed", String.valueOf(result)); - } + queueEventInternal(KEY_MAP_COLOR_BAR_OPTIONS, MAP_COLOR_BAR_OPTIONS_CHANGE, result); } private void queueSizingObjectsChangeEvent(Map result) { - if (result != null && !canvasContext.isDisposed()) { - canvasContext.getDefaultHintContext().setHint(KEY_MAP_SIZING_OBJECTS, result); - canvasContext.getEventQueue().queueEvent(new CommandEvent(canvasContext, System.currentTimeMillis(), MAP_SIZING_OBJECTS_CHANGE)); - } else { - LOGGER.info("Result is either null or canvasContext is disposed", String.valueOf(result)); - } + queueEventInternal(KEY_MAP_SIZING_OBJECTS, MAP_SIZING_OBJECTS_CHANGE, result); } private void queueSizeBarOptionsChangeEvent(SizeBarOptions result) { + queueEventInternal(KEY_MAP_SIZE_BAR_OPTIONS, MAP_SIZE_BAR_OPTIONS_CHANGE, result); + } + + private void queueEventInternal(Key key, Command command, Object result) { if (result != null && !canvasContext.isDisposed()) { - canvasContext.getDefaultHintContext().setHint(KEY_MAP_SIZE_BAR_OPTIONS, result); - canvasContext.getEventQueue().queueEvent(new CommandEvent(canvasContext, System.currentTimeMillis(), MAP_SIZE_BAR_OPTIONS_CHANGE)); + canvasContext.getThreadAccess().asyncExec(() -> { + canvasContext.getDefaultHintContext().setHint(key, result); + canvasContext.getEventQueue().queueEvent(new CommandEvent(canvasContext, System.currentTimeMillis(), command)); + }); } else { LOGGER.info("Result is either null or canvasContext is disposed", String.valueOf(result)); } } - + private static class DrawMapEnabledRequest extends UnaryRead { public DrawMapEnabledRequest(Resource diagram) {