package org.insightech.er.editor.view.action.edit; import java.util.ArrayList; import java.util.List; import org.eclipse.gef.GraphicalViewer; import org.eclipse.gef.ui.actions.SelectAllAction; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.ui.IWorkbenchPart; import org.insightech.er.ResourceString; import org.insightech.er.editor.controller.editpart.element.node.NodeElementEditPart; public class SelectAllContentsAction extends SelectAllAction { private IWorkbenchPart part; public SelectAllContentsAction(IWorkbenchPart part) { super(part); this.part = part; this.setText(ResourceString .getResourceString("action.title.select.all")); this.setActionDefinitionId("org.eclipse.ui.edit.selectAll"); } /** * {@inheritDoc} */ @Override public void run() { GraphicalViewer viewer = (GraphicalViewer) part .getAdapter(GraphicalViewer.class); if (viewer != null) { List<NodeElementEditPart> children = new ArrayList<NodeElementEditPart>(); for (Object child : viewer.getContents().getChildren()) { if (child instanceof NodeElementEditPart) { NodeElementEditPart editPart = (NodeElementEditPart) child; if (editPart.getFigure().isVisible()) { children.add(editPart); } } } viewer.setSelection(new StructuredSelection(children)); } } }