List of usage examples for org.eclipse.jface.viewers StructuredSelection StructuredSelection
public StructuredSelection(List elements)
List
. From source file:com.archimatetool.editor.diagram.actions.SelectAllAction.java
License:Open Source License
/** * Selects all edit parts and connections in the active workbench part. */// w w w.j av a2 s .c o m @Override public void run() { GraphicalViewer viewer = (GraphicalViewer) part.getAdapter(GraphicalViewer.class); if (viewer != null) { viewer.setSelection(new StructuredSelection(getSelectableEditParts(viewer.getContents()).toArray())); } }
From source file:com.archimatetool.editor.diagram.actions.SelectElementInTreeAction.java
License:Open Source License
@Override public void run() { List<?> selection = getSelectedObjects(); List<Object> elements = new ArrayList<Object>(); for (Object object : selection) { if (object instanceof EditPart) { Object model = ((EditPart) object).getModel(); if (model instanceof IDiagramModel) { elements.add(model);// w w w. j a v a 2s .co m } else if (model instanceof IDiagramModelArchimateObject) { elements.add(((IDiagramModelArchimateObject) model).getArchimateElement()); } else if (model instanceof IDiagramModelArchimateConnection) { elements.add(((IDiagramModelArchimateConnection) model).getRelationship()); } } } ITreeModelView view = (ITreeModelView) ViewManager.showViewPart(ITreeModelView.ID, true); if (view != null) { view.getViewer().setSelection(new StructuredSelection(elements), true); } }
From source file:com.archimatetool.editor.diagram.ArchimateDiagramEditor.java
License:Open Source License
@Override public void selectElements(IArchimateElement[] elements) { List<EditPart> editParts = new ArrayList<EditPart>(); for (IArchimateElement element : elements) { // Find Diagram Components for (IDiagramModelComponent dc : DiagramModelUtils.findDiagramModelComponentsForElement(getModel(), element)) {//from w w w .j a va2 s . c om EditPart editPart = (EditPart) getGraphicalViewer().getEditPartRegistry().get(dc); if (editPart != null && editPart.isSelectable() && !editParts.contains(editPart)) { editParts.add(editPart); } } // Find Components from nested connections if (ConnectionPreferences.useNestedConnections() && element instanceof IRelationship) { for (IDiagramModelArchimateObject[] list : DiagramModelUtils .findNestedComponentsForRelationship(getModel(), (IRelationship) element)) { EditPart editPart1 = (EditPart) getGraphicalViewer().getEditPartRegistry().get(list[0]); EditPart editPart2 = (EditPart) getGraphicalViewer().getEditPartRegistry().get(list[1]); if (editPart1 != null && editPart1.isSelectable() && !editParts.contains(editPart1)) { editParts.add(editPart1); } if (editPart2 != null && editPart2.isSelectable() && !editParts.contains(editPart2)) { editParts.add(editPart2); } } } } if (!editParts.isEmpty()) { getGraphicalViewer().setSelection(new StructuredSelection(editParts)); getGraphicalViewer().reveal(editParts.get(0)); } else { getGraphicalViewer().setSelection(StructuredSelection.EMPTY); } }
From source file:com.archimatetool.editor.diagram.DiagramEditorFindReplaceProvider.java
License:Open Source License
@Override public boolean find(String toFind) { // Find All/*from www.j ava 2 s .c o m*/ if (isAll()) { List<EditPart> editParts = getAllMatchingEditParts(toFind); fGraphicalViewer.setSelection(new StructuredSelection(editParts)); if (!editParts.isEmpty()) { fGraphicalViewer.reveal(editParts.get(0)); } return !editParts.isEmpty(); } // Find Next/Previous else { EditPart editPart = findNextEditPart(getFirstSelectedEditPart(), toFind); if (editPart != null) { fGraphicalViewer.setSelection(new StructuredSelection(editPart)); fGraphicalViewer.reveal(editPart); } return (editPart != null); } }
From source file:com.archimatetool.editor.diagram.DiagramEditorFindReplaceProvider.java
License:Open Source License
@Override public boolean replace(String toFind, String toReplaceWith) { // Replace All if (isAll()) { List<EditPart> editParts = getAllMatchingEditParts(toFind); if (!editParts.isEmpty()) { List<String> newNames = new ArrayList<String>(); for (EditPart editPart : editParts) { String newName = getNewName(((INameable) editPart.getModel()).getName(), toFind, toReplaceWith); newNames.add(newName);/* ww w. j av a 2s. c o m*/ } doRenameCommands(editParts, newNames); fGraphicalViewer.setSelection(new StructuredSelection(editParts)); fGraphicalViewer.reveal(editParts.get(0)); } return !editParts.isEmpty(); } // Replace Next/Previous else { // Replace on selected EditParts if (replaceSelection) { List<EditPart> selected = getSelectedEditParts(); if (!selected.isEmpty()) { List<EditPart> editParts = new ArrayList<EditPart>(); List<String> newNames = new ArrayList<String>(); for (EditPart editPart : selected) { if (matches(editPart, toFind)) { editParts.add(editPart); String newName = getNewName(((INameable) editPart.getModel()).getName(), toFind, toReplaceWith); newNames.add(newName); } } if (!editParts.isEmpty()) { doRenameCommands(editParts, newNames); return true; } } } // Replace on next single selection else { EditPart editPart = getFirstSelectedEditPart(); if (matches(editPart, toFind)) { doRenameCommand(editPart, getNewName(((INameable) editPart.getModel()).getName(), toFind, toReplaceWith)); return true; } } // Else move forward return find(toFind); } }
From source file:com.archimatetool.editor.diagram.dialog.NewNestedRelationDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { // Help/*from w ww . ja va2 s . co m*/ PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, HELP_ID); setTitle(Messages.NewNestedRelationDialog_1); String message = NLS.bind(Messages.NewNestedRelationDialog_2, fParentElement.getName(), fChildElement.getName()); setMessage(message); Composite composite = (Composite) super.createDialogArea(parent); Composite client = new Composite(composite, SWT.NULL); GridLayout layout = new GridLayout(1, false); client.setLayout(layout); client.setLayoutData(new GridData(GridData.FILL_BOTH)); Composite tableComp = new Composite(client, SWT.BORDER); tableComp.setLayout(new TableColumnLayout()); tableComp.setLayoutData(new GridData(GridData.FILL_BOTH)); fTableViewer = new RelationsTableViewer(tableComp, SWT.NONE); fTableViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); fTableViewer.setInput(""); // anything will do //$NON-NLS-1$ fTableViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { okPressed(); } }); fTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { fSelected = (EClass) ((IStructuredSelection) fTableViewer.getSelection()).getFirstElement(); } }); if (fValidRelations != null && fValidRelations.length > 0) { fTableViewer.setSelection(new StructuredSelection(fValidRelations[0])); } return composite; }
From source file:com.archimatetool.editor.propertysections.ImageManagerDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { // Help/* ww w .j a v a 2s. co m*/ PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, HELP_ID); setTitle(Messages.ImageManagerDialog_1); setMessage(Messages.ImageManagerDialog_2); Composite composite = (Composite) super.createDialogArea(parent); Composite client = new Composite(composite, SWT.NULL); GridLayout layout = new GridLayout(2, false); client.setLayout(layout); client.setLayoutData(new GridData(GridData.FILL_BOTH)); SashForm sash = new SashForm(client, SWT.HORIZONTAL); sash.setLayoutData(new GridData(GridData.FILL_BOTH)); GridData gd = new GridData(GridData.FILL_BOTH); gd.widthHint = 580; gd.heightHint = 300; sash.setLayoutData(gd); // Table Composite tableComp = new Composite(sash, SWT.BORDER); layout = new GridLayout(); layout.marginWidth = 0; layout.marginHeight = 0; tableComp.setLayout(layout); CLabel label = new CLabel(tableComp, SWT.NULL); label.setText(Messages.ImageManagerDialog_3); Composite tableComp2 = new Composite(tableComp, SWT.NULL); tableComp2.setLayout(new TableColumnLayout()); tableComp2.setLayoutData(new GridData(GridData.FILL_BOTH)); fModelsViewer = new ModelsViewer(tableComp2); fModelsViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH)); fModelsViewer.setInput(""); //$NON-NLS-1$ fModelsViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { Object o = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (o instanceof IArchimateModel) { fScale.setEnabled(true); clearGallery(); updateGallery((IArchimateModel) o); } } }); // Mouse Up action... fModelsViewer.getControl().addMouseListener(new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { Object o = ((IStructuredSelection) fModelsViewer.getSelection()).getFirstElement(); // Open... if (o == OPEN) { handleOpenAction(); } } }); Composite galleryComposite = new Composite(sash, SWT.NULL); layout = new GridLayout(); layout.marginWidth = 0; layout.marginHeight = 0; galleryComposite.setLayout(layout); fGallery = new Gallery(galleryComposite, SWT.V_SCROLL | SWT.BORDER); fGallery.setLayoutData(new GridData(GridData.FILL_BOTH)); // Renderers final NoGroupRenderer groupRenderer = new NoGroupRenderer(); groupRenderer.setItemSize(DEFAULT_GALLERY_ITEM_SIZE, DEFAULT_GALLERY_ITEM_SIZE); groupRenderer.setAutoMargin(true); groupRenderer.setMinMargin(10); fGallery.setGroupRenderer(groupRenderer); final DefaultGalleryItemRenderer itemRenderer = new DefaultGalleryItemRenderer(); itemRenderer.setDropShadows(true); itemRenderer.setDropShadowsSize(7); itemRenderer.setShowRoundedSelectionCorners(false); fGallery.setItemRenderer(itemRenderer); // Root Group fGalleryRoot = new GalleryItem(fGallery, SWT.NONE); // Slider fScale = new Scale(galleryComposite, SWT.HORIZONTAL); gd = new GridData(SWT.END, SWT.NONE, false, false); gd.widthHint = 120; fScale.setLayoutData(gd); fScale.setMinimum(MIN_GALLERY_ITEM_SIZE); fScale.setMaximum(MAX_GALLERY_ITEM_SIZE); fScale.setIncrement(8); fScale.setPageIncrement(32); fScale.setSelection(DEFAULT_GALLERY_ITEM_SIZE); fScale.setEnabled(false); fScale.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { int inc = fScale.getSelection(); itemRenderer.setDropShadows(inc >= 96); groupRenderer.setItemSize(inc, inc); } }); // Gallery selections fGallery.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (e.item instanceof GalleryItem) { fSelectedObject = ((GalleryItem) e.item).getData(); } else { fSelectedObject = null; } } }); // Double-clicks fGallery.addListener(SWT.MouseDoubleClick, new Listener() { public void handleEvent(Event event) { GalleryItem item = fGallery.getItem(new Point(event.x, event.y)); if (item != null) { okPressed(); } } }); // Dispose of the images here not in the main dispose() method because if the help system is showing then // the TrayDialog is resized and this control is asked to relayout. fGallery.addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { disposeImages(); } }); sash.setWeights(new int[] { 30, 70 }); /* * Select the given model and image * Better to put this on a thread as selection sometimes doesn't happen */ Display.getCurrent().asyncExec(new Runnable() { @Override public void run() { // Make selection of model in table if it has images if (fSelectedModel != null) { IArchiveManager archiveManager = (IArchiveManager) fSelectedModel .getAdapter(IArchiveManager.class); if (archiveManager.hasImages()) { // Select model fModelsViewer.setSelection(new StructuredSelection(fSelectedModel)); // Make selection of image if set if (fSelectedImagePath != null) { for (GalleryItem item : fGalleryRoot.getItems()) { String imagePath = (String) item.getData(); if (imagePath != null && fSelectedImagePath.equals(imagePath)) { fGallery.setSelection(new GalleryItem[] { item }); fSelectedObject = imagePath; // we need to do this here because this is on a thread break; } } } } // Else select the first valid model that's open else { for (IArchimateModel model : IEditorModelManager.INSTANCE.getModels()) { archiveManager = (IArchiveManager) model.getAdapter(IArchiveManager.class); if (archiveManager.hasImages()) { fModelsViewer.setSelection(new StructuredSelection(model)); break; } } } } } }); return composite; }
From source file:com.archimatetool.editor.propertysections.PropertiesLabelProviderTests.java
License:Open Source License
@Test public void testGetImageElement() { IArchimateElement element = IArchimateFactory.eINSTANCE.createArtifact(); // Image for element Image image1 = provider.getImage(new StructuredSelection(element)); assertNotNull(image1);//w w w . ja v a 2 s .co m // Image for DiagramModelArchimateObject IDiagramModelArchimateObject dmo = IArchimateFactory.eINSTANCE.createDiagramModelArchimateObject(); dmo.setArchimateElement(element); Image image2 = provider.getImage(new StructuredSelection(dmo)); assertSame(image1, image2); // Image for EditPart EditPart editPart = new ArchimateElementEditPart(); editPart.setModel(dmo); Image image3 = provider.getImage(new StructuredSelection(editPart)); assertSame(image1, image3); }
From source file:com.archimatetool.editor.propertysections.PropertiesLabelProviderTests.java
License:Open Source License
@Test public void testGetImageRelation() { IArchimateRelationship relation = IArchimateFactory.eINSTANCE.createAssignmentRelationship(); // Image for relation Image image1 = provider.getImage(new StructuredSelection(relation)); assertNotNull(image1);// w ww .j ava 2s . c o m // Image for DiagramModelArchimateConnection IDiagramModelArchimateConnection connection = IArchimateFactory.eINSTANCE .createDiagramModelArchimateConnection(); connection.setArchimateRelationship(relation); Image image2 = provider.getImage(new StructuredSelection(connection)); assertSame(image1, image2); // Image for EditPart EditPart editPart = new ArchimateRelationshipEditPart(AssignmentConnectionFigure.class); editPart.setModel(connection); Image image3 = provider.getImage(new StructuredSelection(editPart)); assertSame(image1, image3); }
From source file:com.archimatetool.editor.propertysections.PropertiesLabelProviderTests.java
License:Open Source License
@Test public void testGetTextElement() { // Text for element IArchimateElement element = IArchimateFactory.eINSTANCE.createArtifact(); String text = provider.getText(new StructuredSelection(element)); assertEquals("Artifact", text); // Text for DiagramModelArchimateObject IDiagramModelArchimateObject dmo = IArchimateFactory.eINSTANCE.createDiagramModelArchimateObject(); dmo.setArchimateElement(element);/* www . j a v a 2s . c om*/ text = provider.getText(new StructuredSelection(dmo)); assertEquals("Artifact", text); // Text for EditPart EditPart editPart = new ArchimateElementEditPart(); editPart.setModel(dmo); text = provider.getText(new StructuredSelection(editPart)); assertEquals("Artifact", text); }