// ============================================================================ // // Copyright (C) 2006-2012 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.designer.core.ui.editor.outline; import java.util.Collections; import java.util.List; import org.eclipse.gef.EditPolicy; import org.eclipse.gef.editparts.AbstractTreeEditPart; import org.talend.core.model.process.INodeReturn; import org.talend.designer.core.ui.editor.nodes.NodeEditPolicy; /** * This class uses the Node as model and will show a part of its atributes in the Outline tree. <br/> * * $Id: NodeReturnsTreeEditPart.java 77219 2012-01-24 01:14:15Z mhirt $ * */ public class NodeReturnsTreeEditPart extends AbstractTreeEditPart { @Override public Object getAdapter(Class key) { return null; /* * if (key == ITabbedPropertySheetPageContributor.class) { return null; } if (key == IResource.class) { return * null; } return super.getAdapter(key); */ } @Override public void setSelected(int value) { // IWorkbench workbench = PlatformUI.getWorkbench(); // IWorkbenchPage page = workbench.getActiveWorkbenchWindow().getActivePage(); // IEditorPart editorPart = page.getActiveEditor(); // if (editorPart instanceof AbstractMultiPageTalendEditor) { // AbstractMultiPageTalendEditor multiPageTalendEditor = ((AbstractMultiPageTalendEditor) editorPart); // EditPart editPart = multiPageTalendEditor.getOldSelection(); // if (editPart != null) { // ISelection selection = multiPageTalendEditor.getTalendEditor().getViewer().getSelection(); // if (selection instanceof StructuredSelection) { // StructuredSelection structSel = (StructuredSelection) selection; // if (!structSel.getFirstElement().equals(editPart)) { // multiPageTalendEditor.getTalendEditor().getViewer().setSelection(selection); // } // } // } // } // Set the editPart parameter of the nodeTransferDragSourceListener object nodeTransferDragSourceListener.setEditPart(this); super.setSelected(value); } // Define a NodeTransferDragSourceListener instance which is always single. private NodeTransferDragSourceListener nodeTransferDragSourceListener = NodeTransferDragSourceListener.getInstance(); @Override public void activate() { super.activate(); // Set the editPart parameter of the nodeTransferDragSourceListener object and register the drag listener nodeTransferDragSourceListener.setEditPart(this); getViewer().addDragSourceListener(nodeTransferDragSourceListener.getNodeTransferDragSourceListener()); } @Override public void deactivate() { super.deactivate(); nodeTransferDragSourceListener.setEditPart(this); getViewer().removeDragSourceListener(nodeTransferDragSourceListener.getNodeTransferDragSourceListener()); } public NodeReturnsTreeEditPart(Object model) { super(model); } /* * (non-Javadoc) * * @see org.eclipse.gef.editparts.AbstractEditPart#getModelChildren() */ protected List getModelChildren() { return Collections.EMPTY_LIST; } /* * (non-Javadoc) * * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent) *//* * public void propertyChange(PropertyChangeEvent change) { refreshVisuals(); } */ /* * (non-Javadoc) * * @see org.eclipse.gef.editparts.AbstractTreeEditPart#createEditPolicies() */ protected void createEditPolicies() { installEditPolicy(EditPolicy.COMPONENT_ROLE, new NodeEditPolicy()); } /* * (non-Javadoc) * * @see org.eclipse.gef.editparts.AbstractTreeEditPart#refreshVisuals() */ protected void refreshVisuals() { INodeReturn nr = ((INodeReturn) getModel()); setWidgetText(nr.getDisplayName() + " - " + nr.getName() + " (" + nr.getAvailability() + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } }