diff --git a/com.archimatetool.editor/src/com/archimatetool/editor/diagram/actions/TextAlignmentAction.java b/com.archimatetool.editor/src/com/archimatetool/editor/diagram/actions/TextAlignmentAction.java index 0b8f577f5..1065d8575 100644 --- a/com.archimatetool.editor/src/com/archimatetool/editor/diagram/actions/TextAlignmentAction.java +++ b/com.archimatetool.editor/src/com/archimatetool/editor/diagram/actions/TextAlignmentAction.java @@ -17,7 +17,7 @@ import org.eclipse.ui.actions.RetargetAction; import com.archimatetool.editor.diagram.commands.TextAlignmentCommand; -import com.archimatetool.editor.ui.factory.IObjectUIProvider; +import com.archimatetool.editor.ui.factory.IGraphicalObjectUIProvider; import com.archimatetool.editor.ui.factory.ObjectUIFactory; import com.archimatetool.model.IArchimatePackage; import com.archimatetool.model.ILockable; @@ -117,7 +117,7 @@ private List getValidSelectedObjects() { for(Object object : getSelectedObjects()) { if(object instanceof EditPart editPart && editPart.getModel() instanceof ITextAlignment textAlignmentObject && !(textAlignmentObject instanceof ILockable lockable && lockable.isLocked()) - && ObjectUIFactory.INSTANCE.getProvider(textAlignmentObject) instanceof IObjectUIProvider provider + && ObjectUIFactory.INSTANCE.getProvider(textAlignmentObject) instanceof IGraphicalObjectUIProvider provider && provider.shouldExposeFeature(IArchimatePackage.Literals.TEXT_ALIGNMENT__TEXT_ALIGNMENT.getName())) { list.add(textAlignmentObject); } diff --git a/com.archimatetool.editor/src/com/archimatetool/editor/diagram/actions/TextPositionAction.java b/com.archimatetool.editor/src/com/archimatetool/editor/diagram/actions/TextPositionAction.java index 00b6e4b42..fa74eced6 100644 --- a/com.archimatetool.editor/src/com/archimatetool/editor/diagram/actions/TextPositionAction.java +++ b/com.archimatetool.editor/src/com/archimatetool/editor/diagram/actions/TextPositionAction.java @@ -17,7 +17,7 @@ import org.eclipse.ui.actions.RetargetAction; import com.archimatetool.editor.diagram.commands.TextPositionCommand; -import com.archimatetool.editor.ui.factory.IObjectUIProvider; +import com.archimatetool.editor.ui.factory.IGraphicalObjectUIProvider; import com.archimatetool.editor.ui.factory.ObjectUIFactory; import com.archimatetool.model.IArchimatePackage; import com.archimatetool.model.ILockable; @@ -117,7 +117,7 @@ private List getValidSelectedObjects() { for(Object object : getSelectedObjects()) { if(object instanceof EditPart editPart && editPart.getModel() instanceof ITextPosition textPositionObject && !(textPositionObject instanceof ILockable lockable && lockable.isLocked()) - && ObjectUIFactory.INSTANCE.getProvider(textPositionObject) instanceof IObjectUIProvider provider + && ObjectUIFactory.INSTANCE.getProvider(textPositionObject) instanceof IGraphicalObjectUIProvider provider && provider.shouldExposeFeature(IArchimatePackage.Literals.TEXT_POSITION__TEXT_POSITION.getName())) { list.add(textPositionObject); } diff --git a/com.archimatetool.editor/src/com/archimatetool/editor/views/tree/TreeSelectionSynchroniser.java b/com.archimatetool.editor/src/com/archimatetool/editor/views/tree/TreeSelectionSynchroniser.java index 5ecc3e5d6..a881ba4ca 100644 --- a/com.archimatetool.editor/src/com/archimatetool/editor/views/tree/TreeSelectionSynchroniser.java +++ b/com.archimatetool.editor/src/com/archimatetool/editor/views/tree/TreeSelectionSynchroniser.java @@ -124,14 +124,14 @@ private boolean doSync() { } /** - * Update with the last known selection + * Update with the last known selections */ private void updateSelection() { // In this case we have created a new TreeViewer and synchroniser, so create a new selection event if(lastSelectionEvent == null) { IEditorPart activeEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(); - if(activeEditor instanceof IDiagramModelEditor editor && editor.getGraphicalViewer() instanceof GraphicalViewer viewer) { // check this is not a zombie editor part - selectionChanged(new SelectionChangedEvent(viewer, viewer.getSelection())); + if(activeEditor instanceof IDiagramModelEditor editor && editor.getGraphicalViewer() != null) { // check this is not a zombie editor part + selectionChanged(new SelectionChangedEvent(editor.getGraphicalViewer(), editor.getGraphicalViewer().getSelection())); } } else {