List of usage examples for org.eclipse.jface.viewers StructuredSelection StructuredSelection
public StructuredSelection(List elements)
List
. From source file:com.archimatetool.editor.views.tree.commands.NewDiagramCommand.java
License:Open Source License
@Override public void redo() { fFolder.getElements().add(fDiagramModel); // Select/* w ww . j ava 2 s . co m*/ UIRequestManager.INSTANCE .fireRequest(new TreeSelectionRequest(this, new StructuredSelection(fDiagramModel), true)); // Open Editor EditorManager.openDiagramEditor(fDiagramModel); }
From source file:com.archimatetool.editor.views.tree.commands.NewElementCommand.java
License:Open Source License
@Override public void undo() { fFolder.getElements().remove(fElement); // Select the parent node if no node is selected (this happens when the node is deleted) TreeSelectionRequest request = new TreeSelectionRequest(this, new StructuredSelection(fFolder), true) { @Override/*from www . ja va2s. c o m*/ public boolean shouldSelect(Viewer viewer) { return viewer.getSelection().isEmpty(); } }; UIRequestManager.INSTANCE.fireRequest(request); }
From source file:com.archimatetool.editor.views.tree.commands.NewElementCommand.java
License:Open Source License
@Override public void redo() { fFolder.getElements().add(fElement); // Select/* w w w .j ava 2s. co m*/ UIRequestManager.INSTANCE .fireRequest(new TreeSelectionRequest(this, new StructuredSelection(fElement), true)); }
From source file:com.archimatetool.editor.views.tree.commands.NewFolderCommand.java
License:Open Source License
@Override public void undo() { fParent.getFolders().remove(fFolder); // Select the parent node if no node is selected (this happens when the node is deleted) TreeSelectionRequest request = new TreeSelectionRequest(this, new StructuredSelection(fParent), true) { @Override/*from www. j ava2 s. co m*/ public boolean shouldSelect(Viewer viewer) { return viewer.getSelection().isEmpty(); } }; UIRequestManager.INSTANCE.fireRequest(request); }
From source file:com.archimatetool.editor.views.tree.commands.NewFolderCommand.java
License:Open Source License
@Override public void redo() { fParent.getFolders().add(fFolder);// w w w .j av a 2 s . c o m // Select UIRequestManager.INSTANCE .fireRequest(new TreeSelectionRequest(this, new StructuredSelection(fFolder), true)); }
From source file:com.archimatetool.editor.views.tree.TreeModelView.java
License:Open Source License
@Override public void propertyChange(PropertyChangeEvent evt) { String propertyName = evt.getPropertyName(); Object source = evt.getSource(); //Object newValue = evt.getNewValue(); // New Model created or opened if (propertyName == IEditorModelManager.PROPERTY_MODEL_CREATED || propertyName == IEditorModelManager.PROPERTY_MODEL_OPENED) { getViewer().refresh();// ww w . ja v a 2 s .c o m IArchimateModel model = (IArchimateModel) evt.getNewValue(); // Expand and Select new node getViewer().expandToLevel(model.getDefaultDiagramModel(), -1); getViewer().setSelection(new StructuredSelection(model), true); } // Model removed else if (propertyName == IEditorModelManager.PROPERTY_MODEL_REMOVED) { getViewer().refresh(); } // Model dirty state, so update Actions and modified state of source (asterisk on model node) else if (propertyName == IEditorModelManager.COMMAND_STACK_CHANGED) { updateActions(); getViewer().update(source, null); } // Ecore Events will come so turn tree refresh off else if (propertyName == IEditorModelManager.PROPERTY_ECORE_EVENTS_START) { super.propertyChange(evt); // Remove Syncing TreeSelectionSynchroniser.INSTANCE.setSynchronise(false); } // Ecore Events have finished so turn tree refresh on else if (propertyName == IEditorModelManager.PROPERTY_ECORE_EVENTS_END) { super.propertyChange(evt); // Add Syncing TreeSelectionSynchroniser.INSTANCE.setSynchronise(true); } else { super.propertyChange(evt); } }
From source file:com.archimatetool.editor.views.tree.TreeModelViewerDragDropHandlerTests.java
License:Open Source License
@Test public void testIsValidTreeSelection() { // Null selection is not valid StructuredSelection selection = null; assertFalse(dragHandler.isValidTreeSelection(selection)); // Set up some data IFolder userFolder = IArchimateFactory.eINSTANCE.createFolder(); model.getFolder(FolderType.DIAGRAMS).getFolders().add(userFolder); IFolder businessFolder = model.getFolder(FolderType.BUSINESS); IArchimateElement e1 = IArchimateFactory.eINSTANCE.createBusinessActor(); businessFolder.getElements().add(e1); IArchimateElement e2 = IArchimateFactory.eINSTANCE.createBusinessActor(); businessFolder.getElements().add(e2); // Elements from the same root parent are OK selection = new StructuredSelection(new Object[] { e1, e2 }); assertTrue(dragHandler.isValidTreeSelection(selection)); // Can't DnD a model selection = new StructuredSelection(new Object[] { model }); assertFalse(dragHandler.isValidTreeSelection(selection)); // Can DnD a user folder selection = new StructuredSelection(new Object[] { userFolder }); assertTrue(dragHandler.isValidTreeSelection(selection)); // Can't DnD a system folder selection = new StructuredSelection(new Object[] { businessFolder }); assertFalse(dragHandler.isValidTreeSelection(selection)); // Can't DnD Mixed parent models IArchimateModel model2 = IArchimateFactory.eINSTANCE.createArchimateModel(); model2.setDefaults();//from w w w . j av a 2 s . c om IArchimateElement e3 = IArchimateFactory.eINSTANCE.createBusinessActor(); model2.getFolder(FolderType.BUSINESS).getElements().add(e3); selection = new StructuredSelection(new Object[] { e1, e3 }); assertFalse(dragHandler.isValidTreeSelection(selection)); }
From source file:com.archimatetool.editor.views.tree.TreeModelViewerDragDropHandlerTests.java
License:Open Source License
@Test public void testDoDropOperation() { // Source//from w ww . ja v a2s. c o m IFolder sourceParentFolder = model.getFolder(FolderType.BUSINESS); IArchimateElement childElement = IArchimateFactory.eINSTANCE.createBusinessActor(); sourceParentFolder.getElements().add(childElement); assertTrue(sourceParentFolder.getElements().contains(childElement)); // Target IFolder targetParentFolder = model.getFolder(FolderType.APPLICATION); assertTrue(targetParentFolder.getElements().isEmpty()); assertTrue(targetParentFolder.getFolders().isEmpty()); // Set up a mock DropTargetEvent for the DropOperation DropTargetEvent event = createMockDropTargetEvent(targetParentFolder); // Set the selection of elements we want to DnD LocalSelectionTransfer.getTransfer().setSelection(new StructuredSelection(new Object[] { childElement })); // And call the drop method dragHandler.doDropOperation(event); assertTrue(sourceParentFolder.getElements().isEmpty()); assertTrue(targetParentFolder.getElements().contains(childElement)); }
From source file:com.archimatetool.editor.views.tree.TreeModelViewerDragDropHandlerTests.java
License:Open Source License
@Test public void testIsValidDropTarget() { IFolder folder = IArchimateFactory.eINSTANCE.createFolder(); IArchimateElement childElement = IArchimateFactory.eINSTANCE.createBusinessActor(); folder.getElements().add(childElement); LocalSelectionTransfer.getTransfer().setSelection(new StructuredSelection(new Object[] { childElement })); // Can only drop onto a folder DropTargetEvent event = createMockDropTargetEvent(folder); assertTrue(dragHandler.isValidDropTarget(event)); // And not something else event = createMockDropTargetEvent(childElement); assertFalse(dragHandler.isValidDropTarget(event)); }
From source file:com.archimatetool.editor.views.tree.TreeModelViewerFindReplaceProvider.java
License:Open Source License
public boolean find(String toFind) { // Find All//w w w . ja v a 2s . com if (isAll()) { List<INameable> elements = getAllMatchingElements(toFind); fTreeModelViewer.setSelection(new StructuredSelection(elements), true); return !elements.isEmpty(); } // Find Next/Previous else { INameable element = findNextElement(getFirstSelectedObject(), toFind); if (element != null) { fTreeModelViewer.setSelection(new StructuredSelection(element), true); } return (element != null); } }