From: Hannu Niemistö Date: Wed, 7 Feb 2018 12:34:18 +0000 (+0200) Subject: Merge "(refs #7751) Added orElseM" X-Git-Tag: v1.43.0~136^2~600 X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=commitdiff_plain;h=52e4de12339bc824f878f1086adf8580b5c7adf1;hp=2a293ea594bdaa652bbd0d8271f56ead806c4cbd Merge "(refs #7751) Added orElseM" --- diff --git a/bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/DiagramHints.java b/bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/DiagramHints.java index 6152c168e..367cebcce 100644 --- a/bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/DiagramHints.java +++ b/bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/DiagramHints.java @@ -179,4 +179,11 @@ public class DiagramHints { */ public static final Key POPUP_MENU_HIDDEN = new KeyOf(Long.class, "POPUP_MENU_HIDDEN"); + /** + * For specifying a user-defined padding for selections + * + * @since 1.33.0 + */ + public static final Key SELECTION_PADDING_SCALE_FACTOR = new KeyOf(Double.class, "SELECTION_PADDING_SCALE_FACTOR"); + } diff --git a/bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/participant/ElementPainter.java b/bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/participant/ElementPainter.java index d35bfadb0..ba575c630 100644 --- a/bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/participant/ElementPainter.java +++ b/bundles/org.simantics.g2d/src/org/simantics/g2d/diagram/participant/ElementPainter.java @@ -1090,6 +1090,9 @@ public class ElementPainter extends AbstractDiagramParticipant implements Compos } else { SelectionNode s = selectionNode.getOrCreateNode(getNodeId("shape", e), SelectionNode.class); s.init(selectionTransform, bounds, color); + Double paddingFactor = diagram.getHint(DiagramHints.SELECTION_PADDING_SCALE_FACTOR); + if (paddingFactor != null) + s.setPaddingFactor(paddingFactor); } } diff --git a/bundles/org.simantics.modeling/scl/Simantics/SharedOntologies.scl b/bundles/org.simantics.modeling/scl/Simantics/SharedOntologies.scl index 6b365d04a..212a4fbaf 100644 --- a/bundles/org.simantics.modeling/scl/Simantics/SharedOntologies.scl +++ b/bundles/org.simantics.modeling/scl/Simantics/SharedOntologies.scl @@ -129,6 +129,7 @@ querySharedOntologyType dummy = do importJava "org.simantics.modeling.ModelingUtils" where importSharedOntologyWithUI :: Variable -> () importSharedOntology :: String -> () + importSharedOntology2 :: String -> [Resource] createSharedOntologyWithUI :: Resource -> () unlinkSharedOntologyWithUI :: Variable -> [Resource] -> () createNewVersionWithUI :: Resource -> () diff --git a/bundles/org.simantics.modeling/src/org/simantics/modeling/ModelingUtils.java b/bundles/org.simantics.modeling/src/org/simantics/modeling/ModelingUtils.java index a43220f06..2053a8fe3 100644 --- a/bundles/org.simantics.modeling/src/org/simantics/modeling/ModelingUtils.java +++ b/bundles/org.simantics.modeling/src/org/simantics/modeling/ModelingUtils.java @@ -100,6 +100,7 @@ import org.simantics.db.layer0.adapter.impl.ImportAdvisorFactory; import org.simantics.db.layer0.genericrelation.DependenciesRelation.DependencyChangesRequest; import org.simantics.db.layer0.genericrelation.DependencyChanges; import org.simantics.db.layer0.genericrelation.IndexedRelations; +import org.simantics.db.layer0.migration.MigratedImportResult; import org.simantics.db.layer0.migration.MigrationUtils; import org.simantics.db.layer0.request.ActivateModel; import org.simantics.db.layer0.request.ActiveModels; @@ -1450,18 +1451,27 @@ public class ModelingUtils { } - public static void importSharedOntology(String fileName) throws Exception { + public static MigratedImportResult importSharedOntologyWithResult(String fileName) throws Exception { try { DataContainer dc = DataContainers.readFile(new File(fileName)); TransferableGraph1 tg = (TransferableGraph1)dc.content.getValue(TransferableGraph1.BINDING); Variant draftStatus = dc.metadata.get(DraftStatusBean.EXTENSION_KEY); - MigrationUtils.importSharedOntology(Simantics.getSession(), tg, draftStatus == null); + return MigrationUtils.importSharedOntology(Simantics.getSession(), tg, draftStatus == null); } catch (Exception e) { Logger.defaultLogError(e); throw e; } } + public static void importSharedOntology(String fileName) throws Exception { + importSharedOntologyWithResult(fileName); + } + + public static List importSharedOntology2(String fileName) throws Exception { + MigratedImportResult result = importSharedOntologyWithResult(fileName); + return new ArrayList(result.roots); + } + public static void importSharedOntologyWithUI(ReadGraph graph, final Variable variable) throws DatabaseException { Display.getDefault().asyncExec(new Runnable() { diff --git a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/SelectionNode.java b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/SelectionNode.java index 445a66fe3..bd09c4574 100644 --- a/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/SelectionNode.java +++ b/bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/nodes/SelectionNode.java @@ -36,10 +36,15 @@ public class SelectionNode extends G2DNode implements Decoration { protected transient BasicStroke scaledStroke; protected transient double previousScaleRecip = Double.NaN; private boolean ignore = false; + private double paddingFactor = 5.0; public void setIgnore(boolean value) { ignore = value; } + + public void setPaddingFactor(double factor) { + paddingFactor = factor; + } @SyncField({"transform", "bounds", "color"}) public void init(AffineTransform transform, Rectangle2D bounds, Color color) { @@ -78,7 +83,7 @@ public class SelectionNode extends G2DNode implements Decoration { } g.setStroke(scaledStroke); - double padding = 5.0 * scaleRecip; + double padding = paddingFactor * scaleRecip; double paddingX = padding; double paddingY = padding;