// ============================================================================ // // 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.connections; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import org.eclipse.draw2d.Graphics; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.PolylineConnection; import org.eclipse.draw2d.geometry.Point; import org.eclipse.gef.editparts.AbstractGraphicalEditPart; import org.talend.commons.ui.utils.workbench.gef.SimpleHtmlFigure; import org.talend.commons.utils.workbench.preferences.GlobalConstant; /** * Edit part of connection performance. * * yzhang class global comment. Detailled comment <br/> * * $Id: ConnectionPerformanceEditPart.java 下午02:24:35 2007-6-8 +0000 (2007-6-8) yzhang $ * */ public class ConnectionPerformanceEditPart extends AbstractGraphicalEditPart implements PropertyChangeListener { /* * (non-Javadoc) * * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#getLayer(java.lang.Object) */ @Override protected IFigure getLayer(Object layer) { // TODO Auto-generated method stub return super.getLayer(layer); } /* * (non-Javadoc) * * @see org.eclipse.gef.editparts.AbstractConnectionEditPart#createFigure() */ @Override protected IFigure createFigure() { SimpleHtmlFigure label = new SimpleHtmlFigure() { /* * (non-Javadoc) * * @see org.talend.commons.utils.workbench.gef.SimpleHtmlFigure#paint(org.eclipse.draw2d.Graphics) */ @Override public void paint(Graphics graphics) { // see bug 2074 if (GlobalConstant.generatingScreenShoot) { return; } super.paint(graphics); } }; return label; } /* * (non-Javadoc) * * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#activate() */ @Override public void activate() { super.activate(); ((ConnectionPerformance) getModel()).addPropertyChangeListener(this); } /* * (non-Javadoc) * * @see org.eclipse.gef.editparts.AbstractGraphicalEditPart#deactivate() */ @Override public void deactivate() { super.deactivate(); ((ConnectionPerformance) getModel()).removePropertyChangeListener(this); } /* * (non-Javadoc) * * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent) */ public void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals(ConnectionPerformance.LABEL_PROP)) { refreshVisuals(); } } /* * (non-Javadoc) * * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies() */ @Override protected void createEditPolicies() { // do nothing. } /* * (non-Javadoc) * * @see org.eclipse.gef.editparts.AbstractEditPart#refreshVisuals() */ @Override protected void refreshVisuals() { SimpleHtmlFigure htmlFigure = (SimpleHtmlFigure) getFigure(); ConnectionPerformance pefModel = (ConnectionPerformance) getModel(); ConnectionPart parent = (ConnectionPart) getParent(); PolylineConnection connFigure = (PolylineConnection) parent.getFigure(); htmlFigure.setText(pefModel.getLabel()); Point offset = pefModel.getOffset(); ConnLabelConstraint constraint = new ConnLabelConstraint(htmlFigure.getPreferredSize(), "middle", offset, connFigure); //$NON-NLS-1$ parent.setLayoutConstraint(this, htmlFigure, constraint); } }