From a16ee1ef94ca7d7b4811f6d165cf20a13f9ce375 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulrich=20Sch=C3=B6pp?= Date: Sat, 19 Feb 2022 12:17:39 +0200 Subject: [PATCH 1/8] Implement navigateTo in Data Dictionary editor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ulrich Schöpp Issue-Ref: 4202 Issue-Ref: 4162 --- .../org/fortiss/af3/expression/ui/editor/fx/.ratings | 2 +- .../ui/editor/fx/DataDictionaryFXEditor.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/.ratings b/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/.ratings index c263ef556c..6c3ccfa383 100644 --- a/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/.ratings +++ b/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/.ratings @@ -1,4 +1,4 @@ -DataDictionaryFXEditor.java 225c54161a107a8f17caa1f3ffdaee607ba19cfd GREEN +DataDictionaryFXEditor.java 2df63e289d3ab88bd8c6c912a7ce181cc11b6414 YELLOW DataDictionaryFXEditorBinding.java 02fd7a3dfde670b9cfd09a783c090833444c418d GREEN DataDictionaryFXEditorContentProvider.java 74a878b7462e2fcae3df18a2162fa3b5aa737acc GREEN DataDictionaryFXEditorUIProvider.java 8afb90b45d455adf838e80bbafc96c4fa2903d0a GREEN diff --git a/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/DataDictionaryFXEditor.java b/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/DataDictionaryFXEditor.java index 225c54161a..2df63e289d 100644 --- a/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/DataDictionaryFXEditor.java +++ b/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/DataDictionaryFXEditor.java @@ -74,9 +74,9 @@ public class DataDictionaryFXEditor extends FXEditorBase }); treeTableViewer = new DynamicTreeTableViewer<>(dd, true, 2, contentProvider, uiProvider); - treeTableViewer.addColumn("Name", 160); + treeTableViewer.addColumn("Name", 300); treeTableViewer.addColumn("Type", 160); - treeTableViewer.addColumn("Comment", 300); + treeTableViewer.addColumn("Comment", 500); pane.setTop(filterWidget); pane.setCenter(treeTableViewer.getControl()); @@ -96,4 +96,10 @@ public class DataDictionaryFXEditor extends FXEditorBase modelListener.unregister(); super.dispose(); } + + /** {@inheritDoc} */ + @Override + public void navigateToFX(EObject element) { + treeTableViewer.navigateTo(element); + } } -- GitLab From 94f75a7837e8972915bbf493562d460b1075bc5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulrich=20Sch=C3=B6pp?= Date: Sat, 19 Feb 2022 12:18:36 +0200 Subject: [PATCH 2/8] Implement "Go to type" in port property section MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In addition, fix a bug where just selecting any port would mark the model as modified. Signed-off-by: Ulrich Schöpp Issue-Ref: 4202 Issue-Ref: 4162 --- .../af3/component/ui/properties/.ratings | 2 +- .../PortSpecificationPropertySection.java | 40 ++++++++++--------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/.ratings b/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/.ratings index afe880f563..a3fc54405e 100644 --- a/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/.ratings +++ b/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/.ratings @@ -1,5 +1,5 @@ ComponentSpecificationPropertySection.java fb5b6d82090f7ae063a8876b421529075d072939 GREEN PortDataPropagation.java cf1d76c93964e6c0bb947c0aea51666628260008 GREEN PortInitValueSection.java ba26a87fbf4d0bce69e57d108b9939cfa5ab8fa8 GREEN -PortSpecificationPropertySection.java 225fbc0c6dab88e48da247321f870bebfdbd65f8 GREEN +PortSpecificationPropertySection.java 95909845aa85c7f51211c5f37c6f2d62dcaf7426 YELLOW TypeLabelProvider.java 5b0fcced122681125f7df55469ea19b3685eb8bd GREEN diff --git a/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/PortSpecificationPropertySection.java b/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/PortSpecificationPropertySection.java index 225fbc0c6d..95909845aa 100644 --- a/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/PortSpecificationPropertySection.java +++ b/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/PortSpecificationPropertySection.java @@ -51,10 +51,9 @@ import org.fortiss.af3.component.model.Channel; import org.fortiss.af3.component.model.Port; import org.fortiss.af3.component.model.PortSpecification; import org.fortiss.af3.component.ui.AF3ComponentUIActivator; -import org.fortiss.af3.expression.model.DataDictionary; +import org.fortiss.af3.expression.model.definitions.TypeDefinition; +import org.fortiss.af3.expression.model.types.TDefinedType; import org.fortiss.af3.expression.model.types.TInt; -import org.fortiss.af3.expression.ui.editor.DataDictionaryEditorGUI; -import org.fortiss.af3.expression.utils.DataDictionaryUtils; import org.fortiss.af3.expression.utils.ExpressionUtils; import org.fortiss.af3.project.model.typesystem.IType; import org.fortiss.tooling.base.model.element.IModelElementSpecification; @@ -127,10 +126,10 @@ public final class PortSpecificationPropertySection extends PropertySectionBase } }); - goToTypeButton = getWidgetFactory().createButton(composite, "Go to type", SWT.NONE); + goToTypeButton = getWidgetFactory().createButton(composite, "Go to type", SWT.DEFAULT); createFormEntry(goToTypeButton, ""); - GridDataFactory.defaultsFor(goToTypeButton).hint("Go to type".length() * 10, SWT.DEFAULT) - .align(SWT.BEGINNING, SWT.BEGINNING).applyTo(goToTypeButton); + GridDataFactory.defaultsFor(goToTypeButton).align(SWT.BEGINNING, SWT.BEGINNING) + .applyTo(goToTypeButton); goToTypeButton.addSelectionListener(new SelectionListener() { @Override @@ -148,6 +147,7 @@ public final class PortSpecificationPropertySection extends PropertySectionBase @Override public void selectionChanged(SelectionChangedEvent event) { if(userInput) { + typeSelectionChangeHandler(); topLevel.runAsCommand(new Runnable() { @Override public void run() { @@ -170,6 +170,9 @@ public final class PortSpecificationPropertySection extends PropertySectionBase @Override public void modifyText(ModifyEvent e) { + if(!(spec.getType() instanceof TInt)) { + return; + } topLevel.runAsCommand(new Runnable() { /** {@inheritDoc} */ @Override @@ -186,6 +189,9 @@ public final class PortSpecificationPropertySection extends PropertySectionBase @Override public void modifyText(ModifyEvent e) { + if(!(spec.getType() instanceof TInt)) { + return; + } topLevel.runAsCommand(new Runnable() { /** {@inheritDoc} */ @Override @@ -204,11 +210,9 @@ public final class PortSpecificationPropertySection extends PropertySectionBase private void goToType() { IStructuredSelection selection = (IStructuredSelection)typeComboViewer.getSelection(); IType selectedType = (IType)selection.getFirstElement(); - if(!isBuiltInType(selectedType)) { - DataDictionary dd = DataDictionaryUtils.findDataDictionary(port); - goToTypeButton.setEnabled(!hasReadOnlyBehaviorSpecification(port.getComponent())); - IModelEditorBindingService.getInstance().openInEditor(dd); - DataDictionaryEditorGUI.setFilteredTree(selectedType.toString()); + if(selectedType instanceof TDefinedType) { + TypeDefinition def = ((TDefinedType)selectedType).getDef(); + IModelEditorBindingService.getInstance().openInEditor(def); } } @@ -312,7 +316,12 @@ public final class PortSpecificationPropertySection extends PropertySectionBase /** need to disable for non-dictionary types */ private void refreshGotoTypeButton() { - goToTypeButton.setEnabled(!isBuiltInType(spec.getType())); + boolean typeHasDefinition = false; + if (spec.getType() instanceof TDefinedType) { + TDefinedType definedType = (TDefinedType)spec.getType(); + typeHasDefinition = definedType.getDef() != null; + } + goToTypeButton.setEnabled(typeHasDefinition); } /** enables the Bound controls */ @@ -365,13 +374,6 @@ public final class PortSpecificationPropertySection extends PropertySectionBase .compareToIgnoreCase(ExpressionUtils.getNameForType(e2)); } - /** returns whether the type is a built in type or a dictionary-type */ - private static boolean isBuiltInType(IType selectedType) { - return selectedType.getTypeClassName() == "int" || - selectedType.getTypeClassName() == "double" || - selectedType.getTypeClassName() == "boolean"; - } - /** {@inheritDoc} */ @Override public PortSpecification getPortSpecification() { -- GitLab From b6e69183866a45c2be754d8caf9f4315269af0bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulrich=20Sch=C3=B6pp?= Date: Tue, 22 Feb 2022 12:47:58 +0200 Subject: [PATCH 3/8] Do not unfold Data Dictionary in Model Explorer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ulrich Schöpp Issue-Ref: 4162 --- .../af3/expression/ui/handler/DataDictionaryHandler.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/handler/DataDictionaryHandler.java b/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/handler/DataDictionaryHandler.java index f421407a82..4261f58336 100644 --- a/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/handler/DataDictionaryHandler.java +++ b/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/handler/DataDictionaryHandler.java @@ -17,7 +17,7 @@ package org.fortiss.af3.expression.ui.handler; import static org.fortiss.af3.expression.ui.AF3ExpressionUIActivator.PLUGIN_ID; -import java.util.ArrayList; +import java.util.Collections; import java.util.List; import org.eclipse.emf.ecore.EObject; @@ -64,11 +64,6 @@ public final class DataDictionaryHandler /** {@inheritDoc} */ @Override public List getSubnodes(DataDictionary element) { - List nodes = new ArrayList(); - - nodes.addAll(element.getFunctions()); - nodes.addAll(element.getTypeDefinitions()); - - return nodes; + return Collections.emptyList(); } } -- GitLab From c34dca80f31c8e14fec1e5815e617484c8434924 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulrich=20Sch=C3=B6pp?= Date: Tue, 22 Feb 2022 12:48:13 +0200 Subject: [PATCH 4/8] Fix button styling MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ulrich Schöpp Issue-Ref: 4162 --- .../ui/properties/PortSpecificationPropertySection.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/PortSpecificationPropertySection.java b/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/PortSpecificationPropertySection.java index 95909845aa..d06e46ca18 100644 --- a/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/PortSpecificationPropertySection.java +++ b/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/PortSpecificationPropertySection.java @@ -126,7 +126,7 @@ public final class PortSpecificationPropertySection extends PropertySectionBase } }); - goToTypeButton = getWidgetFactory().createButton(composite, "Go to type", SWT.DEFAULT); + goToTypeButton = getWidgetFactory().createButton(composite, "Go to type", SWT.PUSH); createFormEntry(goToTypeButton, ""); GridDataFactory.defaultsFor(goToTypeButton).align(SWT.BEGINNING, SWT.BEGINNING) .applyTo(goToTypeButton); @@ -317,7 +317,7 @@ public final class PortSpecificationPropertySection extends PropertySectionBase /** need to disable for non-dictionary types */ private void refreshGotoTypeButton() { boolean typeHasDefinition = false; - if (spec.getType() instanceof TDefinedType) { + if(spec.getType() instanceof TDefinedType) { TDefinedType definedType = (TDefinedType)spec.getType(); typeHasDefinition = definedType.getDef() != null; } -- GitLab From 05c2b6199afbdf62caa6289ba5bfa4c98e517b56 Mon Sep 17 00:00:00 2001 From: Simon Barner Date: Wed, 23 Feb 2022 13:48:13 +0100 Subject: [PATCH 5/8] Revert "Do not unfold Data Dictionary in Model Explorer" This reverts commit b6e69183866a45c2be754d8caf9f4315269af0bd. --- .../af3/expression/ui/handler/DataDictionaryHandler.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/handler/DataDictionaryHandler.java b/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/handler/DataDictionaryHandler.java index 4261f58336..f421407a82 100644 --- a/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/handler/DataDictionaryHandler.java +++ b/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/handler/DataDictionaryHandler.java @@ -17,7 +17,7 @@ package org.fortiss.af3.expression.ui.handler; import static org.fortiss.af3.expression.ui.AF3ExpressionUIActivator.PLUGIN_ID; -import java.util.Collections; +import java.util.ArrayList; import java.util.List; import org.eclipse.emf.ecore.EObject; @@ -64,6 +64,11 @@ public final class DataDictionaryHandler /** {@inheritDoc} */ @Override public List getSubnodes(DataDictionary element) { - return Collections.emptyList(); + List nodes = new ArrayList(); + + nodes.addAll(element.getFunctions()); + nodes.addAll(element.getTypeDefinitions()); + + return nodes; } } -- GitLab From 6234a2b5df9b48574ba0f48c9a74a04568174458 Mon Sep 17 00:00:00 2001 From: Simon Barner Date: Wed, 23 Feb 2022 15:00:38 +0100 Subject: [PATCH 6/8] GREEN Issue-Ref: 4202 Issue-Url: https://af3-developer.fortiss.org/issues/4202 Issue-Ref: 4162 Issue-Url: https://af3-developer.fortiss.org/issues/4162 Signed-off-by: Simon Barner --- .../src/org/fortiss/af3/component/ui/properties/.ratings | 2 +- .../src/org/fortiss/af3/expression/ui/editor/fx/.ratings | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/.ratings b/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/.ratings index a3fc54405e..2bad1a1baa 100644 --- a/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/.ratings +++ b/org.fortiss.af3.component.ui/src/org/fortiss/af3/component/ui/properties/.ratings @@ -1,5 +1,5 @@ ComponentSpecificationPropertySection.java fb5b6d82090f7ae063a8876b421529075d072939 GREEN PortDataPropagation.java cf1d76c93964e6c0bb947c0aea51666628260008 GREEN PortInitValueSection.java ba26a87fbf4d0bce69e57d108b9939cfa5ab8fa8 GREEN -PortSpecificationPropertySection.java 95909845aa85c7f51211c5f37c6f2d62dcaf7426 YELLOW +PortSpecificationPropertySection.java d06e46ca180a2d6af292acbbfee9af66d7a632c3 GREEN TypeLabelProvider.java 5b0fcced122681125f7df55469ea19b3685eb8bd GREEN diff --git a/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/.ratings b/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/.ratings index 6c3ccfa383..803845199f 100644 --- a/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/.ratings +++ b/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/.ratings @@ -1,4 +1,4 @@ -DataDictionaryFXEditor.java 2df63e289d3ab88bd8c6c912a7ce181cc11b6414 YELLOW +DataDictionaryFXEditor.java 2df63e289d3ab88bd8c6c912a7ce181cc11b6414 GREEN DataDictionaryFXEditorBinding.java 02fd7a3dfde670b9cfd09a783c090833444c418d GREEN DataDictionaryFXEditorContentProvider.java 74a878b7462e2fcae3df18a2162fa3b5aa737acc GREEN DataDictionaryFXEditorUIProvider.java 8afb90b45d455adf838e80bbafc96c4fa2903d0a GREEN -- GitLab From 821a94de64f9444e59b210173f6d28e39d4db76b Mon Sep 17 00:00:00 2001 From: Simon Barner Date: Wed, 23 Feb 2022 15:03:09 +0100 Subject: [PATCH 7/8] Synchronize selection in DataDictionary and Model Navigator Issue-Ref: 4202 Issue-Url: https://af3-developer.fortiss.org/issues/4202 Issue-Ref: 4162 Issue-Url: https://af3-developer.fortiss.org/issues/4162 Signed-off-by: Simon Barner --- .../fortiss/af3/expression/ui/editor/fx/.ratings | 2 +- .../ui/editor/fx/DataDictionaryFXEditor.java | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/.ratings b/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/.ratings index 803845199f..5f9e718606 100644 --- a/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/.ratings +++ b/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/.ratings @@ -1,4 +1,4 @@ -DataDictionaryFXEditor.java 2df63e289d3ab88bd8c6c912a7ce181cc11b6414 GREEN +DataDictionaryFXEditor.java fddc877b46e39520547ccaf7decd309b6da71698 GREEN DataDictionaryFXEditorBinding.java 02fd7a3dfde670b9cfd09a783c090833444c418d GREEN DataDictionaryFXEditorContentProvider.java 74a878b7462e2fcae3df18a2162fa3b5aa737acc GREEN DataDictionaryFXEditorUIProvider.java 8afb90b45d455adf838e80bbafc96c4fa2903d0a GREEN diff --git a/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/DataDictionaryFXEditor.java b/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/DataDictionaryFXEditor.java index 2df63e289d..fddc877b46 100644 --- a/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/DataDictionaryFXEditor.java +++ b/org.fortiss.af3.expression.ui/src/org/fortiss/af3/expression/ui/editor/fx/DataDictionaryFXEditor.java @@ -20,6 +20,7 @@ import java.util.List; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EObject; import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.StructuredSelection; import org.fortiss.af3.expression.model.DataDictionary; import org.fortiss.af3.expression.model.definitions.Enumeration; import org.fortiss.af3.expression.model.definitions.Structure; @@ -27,10 +28,14 @@ import org.fortiss.tooling.common.ui.javafx.control.treetableview.DynamicTreeCon import org.fortiss.tooling.common.ui.javafx.control.treetableview.DynamicTreeTableUIProviderBase; import org.fortiss.tooling.common.ui.javafx.control.treetableview.DynamicTreeTableViewer; import org.fortiss.tooling.kernel.ui.extension.base.FXEditorBase; +import org.fortiss.tooling.kernel.ui.service.INavigatorService; import org.fortiss.tooling.kernel.utils.KernelServiceBasedModelListenerBase; import javafx.scene.Parent; import javafx.scene.control.TextField; +import javafx.scene.control.TreeItem; +import javafx.scene.control.TreeTableView; +import javafx.scene.input.MouseEvent; import javafx.scene.layout.BorderPane; /** @@ -77,9 +82,15 @@ public class DataDictionaryFXEditor extends FXEditorBase treeTableViewer.addColumn("Name", 300); treeTableViewer.addColumn("Type", 160); treeTableViewer.addColumn("Comment", 500); + TreeTableView view = treeTableViewer.getControl(); + view.addEventHandler(MouseEvent.MOUSE_CLICKED, e -> { + TreeItem selected = view.getSelectionModel().getSelectedItem(); + INavigatorService.getInstance() + .setCurrentSelection(new StructuredSelection(selected.getValue())); + }); pane.setTop(filterWidget); - pane.setCenter(treeTableViewer.getControl()); + pane.setCenter(view); return pane; } @@ -101,5 +112,6 @@ public class DataDictionaryFXEditor extends FXEditorBase @Override public void navigateToFX(EObject element) { treeTableViewer.navigateTo(element); + INavigatorService.getInstance().setCurrentSelection(new StructuredSelection(element)); } } -- GitLab From 35ca8010321611cd118249ab9dabe986eee937e6 Mon Sep 17 00:00:00 2001 From: Simon Barner Date: Wed, 23 Feb 2022 15:28:28 +0100 Subject: [PATCH 8/8] Implement navigateTo() for requirements editor Issue-Ref: 4202 Issue-Url: https://af3-developer.fortiss.org/issues/4202 Issue-Ref: 4162 Issue-Url: https://af3-developer.fortiss.org/issues/4162 Signed-off-by: Simon Barner --- .../fortiss/af3/mira/ui/editor/overview/fx/.ratings | 2 +- .../overview/fx/RequirementsOverviewFXEditor.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/org.fortiss.af3.mira.ui/src/org/fortiss/af3/mira/ui/editor/overview/fx/.ratings b/org.fortiss.af3.mira.ui/src/org/fortiss/af3/mira/ui/editor/overview/fx/.ratings index 8b7354495f..c08c9ba9b4 100644 --- a/org.fortiss.af3.mira.ui/src/org/fortiss/af3/mira/ui/editor/overview/fx/.ratings +++ b/org.fortiss.af3.mira.ui/src/org/fortiss/af3/mira/ui/editor/overview/fx/.ratings @@ -1,4 +1,4 @@ -RequirementsOverviewFXEditor.java a4a8b1d056e4a022f375a2e8874628e03d344795 GREEN +RequirementsOverviewFXEditor.java ba345c1df592f6f51ae955bc6cf54df1d7070349 GREEN RequirementsOverviewFXEditorBinding.java 3346106642d7dbd68e6328e4cbd33f6569c6f6ff GREEN RequirementsOverviewFXEditorContentProvider.java 2f9b6874d6d7063ba2d3acd49f77f36052d75a5b GREEN RequirementsOverviewFXEditorUIProvider.java a475ccac8b19338810ac086994b5258c9306411d GREEN diff --git a/org.fortiss.af3.mira.ui/src/org/fortiss/af3/mira/ui/editor/overview/fx/RequirementsOverviewFXEditor.java b/org.fortiss.af3.mira.ui/src/org/fortiss/af3/mira/ui/editor/overview/fx/RequirementsOverviewFXEditor.java index a4a8b1d056..ba345c1df5 100644 --- a/org.fortiss.af3.mira.ui/src/org/fortiss/af3/mira/ui/editor/overview/fx/RequirementsOverviewFXEditor.java +++ b/org.fortiss.af3.mira.ui/src/org/fortiss/af3/mira/ui/editor/overview/fx/RequirementsOverviewFXEditor.java @@ -22,6 +22,7 @@ import java.util.TreeMap; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EObject; +import org.eclipse.jface.viewers.StructuredSelection; import org.fortiss.af3.mira.model.RequirementStatus; import org.fortiss.af3.mira.model.glossary.Glossary; import org.fortiss.tooling.base.model.element.IHierarchicElement; @@ -29,6 +30,7 @@ import org.fortiss.tooling.common.ui.javafx.control.treetableview.DynamicTreeTab import org.fortiss.tooling.common.ui.javafx.control.treetableview.IDoubleClickHandler; import org.fortiss.tooling.kernel.ui.extension.base.FXEditorBase; import org.fortiss.tooling.kernel.ui.service.IModelEditorBindingService; +import org.fortiss.tooling.kernel.ui.service.INavigatorService; import org.fortiss.tooling.kernel.utils.KernelServiceBasedModelListenerBase; import javafx.scene.Parent; @@ -133,4 +135,13 @@ public class RequirementsOverviewFXEditor extends modelListener.unregister(); super.dispose(); } + + /** {@inheritDoc} */ + @Override + public void navigateToFX(EObject element) { + if(element instanceof IHierarchicElement) { + treeTableViewer.navigateTo((IHierarchicElement)element); + INavigatorService.getInstance().setCurrentSelection(new StructuredSelection(element)); + } + } } -- GitLab