diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index c6554cbd7c..d2f0b34bb7 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -48,6 +48,7 @@ The parsed elements are still imported, and the loading report includes the pars - [cleanup] Use `SemanticRunnableFactory` more widely in integration tests, replacing the `IExecuteEditingContextFunctionRunner` by the `SemanticRunnableFactory`. - [releng] Remove redundant inherited Maven `groupId` and `version` declarations from backend modules. - [frontend] Export six components and eight hooks from `@eclipse-syson/syson-components` for expression tools and properties, the new-object report, diagram visibility, and node rotation. +- [core] Harmonize SysML icons === New features diff --git a/backend/metamodel/syson-sysml-metamodel-edit/src/main/java/org/eclipse/syson/sysml/provider/ItemUsageItemProvider.java b/backend/metamodel/syson-sysml-metamodel-edit/src/main/java/org/eclipse/syson/sysml/provider/ItemUsageItemProvider.java index eb40336fdd..3d2d7edf76 100644 --- a/backend/metamodel/syson-sysml-metamodel-edit/src/main/java/org/eclipse/syson/sysml/provider/ItemUsageItemProvider.java +++ b/backend/metamodel/syson-sysml-metamodel-edit/src/main/java/org/eclipse/syson/sysml/provider/ItemUsageItemProvider.java @@ -1,5 +1,5 @@ -/** - * Copyright (c) 2023, 2024 Obeo. +/******************************************************************************* + * Copyright (c) 2023, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -9,7 +9,7 @@ * * Contributors: * Obeo - initial API and implementation - */ + *******************************************************************************/ package org.eclipse.syson.sysml.provider; import java.util.Collection; @@ -20,8 +20,10 @@ import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.syson.sysml.Behavior; import org.eclipse.syson.sysml.FeatureDirectionKind; import org.eclipse.syson.sysml.ItemUsage; +import org.eclipse.syson.sysml.Step; import org.eclipse.syson.sysml.SysmlPackage; /** @@ -82,7 +84,12 @@ protected void addItemDefinitionPropertyDescriptor(Object object) { @Override public Object getImage(Object object) { StringBuilder iconPath = new StringBuilder(); - iconPath.append("full/obj16/ItemUsage"); + boolean isParameter = this.isParameter(object); + if (isParameter) { + iconPath.append("full/obj16/parameter"); + } else { + iconPath.append("full/obj16/ItemUsage"); + } if (object instanceof ItemUsage item) { FeatureDirectionKind direction = item.getDirection(); if (direction != null) { @@ -93,6 +100,14 @@ public Object getImage(Object object) { return this.overlayImage(object, this.getResourceLocator().getImage(iconPath.toString())); } + /** + * @generated NOT + */ + private boolean isParameter(Object object) { + return object instanceof ItemUsage itemUsage && (itemUsage.getOwningType() instanceof Step || itemUsage.getOwningType() instanceof Behavior) + && itemUsage.getDirection() != null; + } + /** * This returns the label text for the adapted class. * diff --git a/backend/metamodel/syson-sysml-metamodel-edit/src/main/java/org/eclipse/syson/sysml/provider/ReferenceUsageItemProvider.java b/backend/metamodel/syson-sysml-metamodel-edit/src/main/java/org/eclipse/syson/sysml/provider/ReferenceUsageItemProvider.java index bea29ae2ad..1ac3f6a79c 100644 --- a/backend/metamodel/syson-sysml-metamodel-edit/src/main/java/org/eclipse/syson/sysml/provider/ReferenceUsageItemProvider.java +++ b/backend/metamodel/syson-sysml-metamodel-edit/src/main/java/org/eclipse/syson/sysml/provider/ReferenceUsageItemProvider.java @@ -1,5 +1,5 @@ -/** - * Copyright (c) 2023, 2024 Obeo. +/******************************************************************************* + * Copyright (c) 2023, 2026 Obeo. * This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 * which accompanies this distribution, and is available at @@ -9,16 +9,20 @@ * * Contributors: * Obeo - initial API and implementation - */ + *******************************************************************************/ package org.eclipse.syson.sysml.provider; import java.util.Collection; import java.util.List; +import org.apache.commons.lang3.StringUtils; import org.eclipse.emf.common.notify.AdapterFactory; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.syson.sysml.Behavior; +import org.eclipse.syson.sysml.FeatureDirectionKind; import org.eclipse.syson.sysml.ReferenceUsage; +import org.eclipse.syson.sysml.Step; /** * This is the item provider adapter for a {@link org.eclipse.syson.sysml.ReferenceUsage} object.