From: Tuukka Lehtonen Date: Fri, 6 Sep 2019 08:56:11 +0000 (+0300) Subject: Merge remote-tracking branch 'origin/master' into release/1.35.2 X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=commitdiff_plain;h=fb4e5f02481e918807be83e87239a4d91b4343f2;hp=-c;p=simantics%2Fdistrict.git Merge remote-tracking branch 'origin/master' into release/1.35.2 Conflicts resolved: org.simantics.district.imports.ui/src/org/simantics/district/imports/ui/CSVImportModel.java org.simantics.district.imports.ui/src/org/simantics/district/imports/ui/CSVImportWizard.java org.simantics.district.network.ontology/graph/DistrictNetworkProfiles.pgraph org.simantics.district.network.ontology/src/org/simantics/district/network/ontology/DistrictNetworkResource.java org.simantics.district.network.ui/META-INF/MANIFEST.MF org.simantics.district.network.ui/adapters.xml org.simantics.district.network.ui/fragment.e4xmi org.simantics.district.network.ui/src/org/simantics/district/network/ui/DistrictTransformUtil.java org.simantics.district.network.ui/src/org/simantics/district/network/ui/contributions/NetworkElementActionMenuContribution.java org.simantics.district.network.ui/src/org/simantics/district/network/ui/nodes/DistrictNetworkEdgeNode.java org.simantics.district.network.ui/src/org/simantics/district/network/ui/nodes/DistrictNetworkVertexNode.java org.simantics.district.network/scl/Simantics/District/Algorithm.scl org.simantics.district.network/src/org/simantics/district/network/DistrictNetworkUtil.java org.simantics.district.network/src/org/simantics/district/network/profile/ArrowLengthStyle.java gitlab #60 --- fb4e5f02481e918807be83e87239a4d91b4343f2 diff --combined org.simantics.district.network.ui/src/org/simantics/district/network/ui/contributions/NetworkElementActionMenuContribution.java index ec03ab87,cca37172..e29d11a2 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/contributions/NetworkElementActionMenuContribution.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/contributions/NetworkElementActionMenuContribution.java @@@ -14,6 -14,7 +14,7 @@@ import org.eclipse.e4.ui.model.applicat import org.eclipse.e4.ui.model.application.ui.menu.MMenuElement; import org.eclipse.e4.ui.model.application.ui.menu.MMenuFactory; import org.eclipse.e4.ui.services.IServiceConstants; + import org.eclipse.swt.widgets.Display; import org.simantics.Simantics; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; @@@ -30,10 -31,12 +31,12 @@@ import org.simantics.db.layer0.variable import org.simantics.district.network.ontology.DistrictNetworkResource; import org.simantics.layer0.Layer0; import org.simantics.modeling.ModelingResources; + import org.simantics.modeling.ui.scl.SCLScripts; import org.simantics.scl.compiler.top.ValueNotFound; import org.simantics.scl.osgi.SCLOsgi; import org.simantics.scl.runtime.SCLContext; import org.simantics.scl.runtime.function.Function; + import org.simantics.scl.runtime.reporting.SCLReportingHandler; import org.simantics.scl.runtime.tuple.Tuple2; import org.simantics.utils.ui.ISelectionUtils; import org.slf4j.Logger; @@@ -44,7 -47,7 +47,7 @@@ public class NetworkElementActionMenuCo static private Logger LOGGER = LoggerFactory.getLogger(NetworkElementActionMenuContribution.class); @AboutToShow - public void aboutToShow(@Named(IServiceConstants.ACTIVE_SELECTION) Object selection, List items) { + public void aboutToShow(@Named(IServiceConstants.ACTIVE_SELECTION) Object selection, Display display, List items) { final List vertices = ISelectionUtils.getPossibleKeys(selection, SelectionHints.KEY_MAIN, Resource.class); if (vertices.size() != 1) return; @@@ -59,15 -62,12 +62,15 @@@ return; } + if (actions == null || actions.isEmpty()) + return; + items.add(MMenuFactory.INSTANCE.createMenuSeparator()); MMenu subMenu = MMenuFactory.INSTANCE.createMenu(); List children = subMenu.getChildren(); subMenu.setLabel("Component Actions"); items.add(subMenu); - + for (Tuple2 action : actions) { String label = (String) action.c0; @SuppressWarnings("rawtypes") @@@ -91,6 -91,48 +94,48 @@@ @Execute public void execute() { + // Handler that only opens the SCL script console on demand + SCLReportingHandler handler = new SCLReportingHandler() { + + private SCLReportingHandler handler; + + // Get a handler for the SCL script console view + private SCLReportingHandler getHandler() { + if (handler == null) { + handler = SCLScripts.getOrCreateConsoleCommandSession().second; + } + return handler; + } + + @Override + public void printError(String error) { + display.asyncExec(() -> { + getHandler().printError(error); + }); + } + + @Override + public void printCommand(String command) { + display.asyncExec(() -> { + getHandler().printCommand(command); + }); + } + + @Override + public void print(String text) { + display.asyncExec(() -> { + getHandler().print(text); + }); + } + + @Override + public void didWork(double amount) { + display.asyncExec(() -> { + getHandler().didWork(amount); + }); + } + }; + Simantics.getSession().asyncRequest(new WriteRequest() { @SuppressWarnings("unchecked") @Override @@@ -105,9 -147,18 +150,18 @@@ graph.markUndoPoint(); Layer0Utils.addCommentMetadata(graph, label + " for " + v.getName(graph)); - Simantics.applySCLWrite(graph, function, v); + SCLContext context = SCLContext.getCurrent(); + Object oldHandler = context.put(SCLReportingHandler.REPORTING_HANDLER, handler); + try { + Simantics.applySCLWrite(graph, function, v); + } + finally { + context.put(SCLReportingHandler.REPORTING_HANDLER, oldHandler); + } } - }, (DatabaseException e) -> LOGGER.error("Running command " + label + " for " + vertex + " failed", e)); + }, (DatabaseException e) -> { + if (e != null) LOGGER.error("Running command " + label + " for " + vertex + " failed", e); + }); } }; diff --combined pom.xml index f36b9763,8bec8afd..5489a908 --- a/pom.xml +++ b/pom.xml @@@ -8,7 -8,7 +8,7 @@@ - master + release/1.35.1 http://www.simantics.org/download 1.0.0 @@@ -20,6 -20,11 +20,11 @@@ p2 ${simantics-download-site}/${branch-spec}/sdk + + external-components + p2 + ${simantics-download-site}/${branch-spec}/external-components/maven + @@@ -105,7 -110,10 +110,10 @@@ org.simantics.district.route.feature org.simantics.district.ui.feature org.simantics.maps.server.feature - + + org.simantics.maps.elevation.server + org.simantics.maps.elevation.server.ui + org.simantics.district.repository