Skip to content
Snippets Groups Projects
Commit fd25342b authored by Andreas Bayha's avatar Andreas Bayha
Browse files

Merge branch '4289' into 'master'

4289

Closes af3#4289

See merge request !215
parents 5ce12275 5a8aaa3c
No related branches found
No related tags found
1 merge request!2154289
org.fortiss.tooling.ext.variability.ui/icons/checkbox_disabled_greyed.gif

354 B

org.fortiss.tooling.ext.variability.ui/icons/checkbox_enabled_greyed.gif

1016 B

......@@ -3,5 +3,5 @@ AlternativeVariationPointEditor.java 2c2d3d3779919ab033961075835e571350b7f7e2 GR
AlternativesNamesEditingSupport.java f70f92388dc6038c8f00097c8c0331d52e9ea9c0 GREEN
CheckBoxLabelProvider.java b810b06ec113dc499cb6f897d9515a067327bdb4 GREEN
PresenceConditionEditingSupportBase.java 17a3ca19919aa15aa8e69b392dd5ec5c60a2a315 GREEN
VariabilityEditorUtils.java e91dfab265c12c44935967296a52664246d2f105 GREEN
VariabilityEditorUtils.java 3a86f0f6e7f5a6b4c1aa7a1747c819999b6f9b2e GREEN
VariantConfigurationLabelProvider.java 119f5dc7b1fd91cb0e00c8d6e0934a144ace5ec1 GREEN
/*-------------------------------------------------------------------------+
| Copyright 2021 fortiss GmbH |
| Copyright 2024 fortiss GmbH |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
......@@ -17,10 +17,13 @@ package org.fortiss.tooling.ext.variability.ui.editor;
import static org.eclipse.jface.layout.GridDataFactory.swtDefaults;
import static org.eclipse.jface.viewers.ColumnViewerToolTipSupport.enableFor;
import static org.eclipse.swt.SWT.COLOR_GRAY;
import static org.eclipse.swt.SWT.COLOR_RED;
import static org.eclipse.swt.SWT.FILL;
import static org.eclipse.swt.SWT.NONE;
import static org.eclipse.swt.widgets.Display.getCurrent;
import static org.fortiss.tooling.ext.variability.ui.VariabilityUIActivator.getImageDescriptor;
import static org.fortiss.tooling.kernel.utils.LoggingUtils.warning;
import static org.fortiss.variability.bind.BindUtils.checkVariantConfiguration;
import java.util.List;
......@@ -30,6 +33,8 @@ import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.jface.viewers.TreeViewerColumn;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
import org.fortiss.tooling.ext.variability.ui.VariabilityUIActivator;
import org.fortiss.tooling.kernel.ui.presentation.ModelElementLabelProvider;
import org.fortiss.variability.model.features.AbstractFeature;
import org.fortiss.variability.model.features.configuration.AlternativeFeatureConfiguration;
......@@ -122,6 +127,10 @@ public class VariabilityEditorUtils {
return afc.valueToString();
}
if(isMandatoryFeatureConfig(element)) {
return " (non-optional)";
}
return "";
}
......@@ -135,11 +144,39 @@ public class VariabilityEditorUtils {
if(checkResult != null && checkResult.second.contains(referencedFeature)) {
return getCurrent().getSystemColor(COLOR_RED);
}
if(isMandatoryFeatureConfig(element)) {
return getCurrent().getSystemColor(COLOR_GRAY);
}
}
return super.getBackground(element);
}
/** {@inheritDoc} */
@Override
public Image getImage(Object element) {
if(isMandatoryFeatureConfig(element)) {
if(((CompositionalFeatureConfiguration)element).isSelected()) {
return getImageDescriptor("icons/checkbox_enabled_greyed.gif")
.createImage();
}
// This should never happen. Yet, a warning is logged, since it would indicate a
// bug.
warning(VariabilityUIActivator.getDefault(),
"Mandatory feature is not selected in FeatureConfigurationDialog!");
return getImageDescriptor("icons/checkbox_disabled_greyed.gif").createImage();
}
return super.getImage(element);
}
});
selectionCol.setEditingSupport(
new AlternativeConfigurationEditingSupport(varConfig, treeViewer));
}
/** Checks whether the given config is for a mandatory feature. */
private static boolean isMandatoryFeatureConfig(Object config) {
return config instanceof CompositionalFeatureConfiguration &&
!((CompositionalFeatureConfiguration)config).getFeatureReference().isOptional();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment