blob: 907942d1949434b40bcc2f62fbf977da78a80102 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.gef;
import java.util.List;
import org.eclipse.draw2d.IFigure;
/**
* A Specialization of {@link EditPart} for use with {@link GraphicalViewer
* GraphicalViewers}. The <i>visual part</i> of a GraphicalEditPart is a
* {@link org.eclipse.draw2d.IFigure Figure}.
* <p>
* IMPORTANT: This interface is not intended to be implemented by clients.
* Clients should inherit from
* {@link org.eclipse.gef.editparts.AbstractGraphicalEditPart}. New methods may
* be added in the future.
*/
public interface GraphicalEditPart extends EditPart {
/**
* Adds a NodeListener to the EditPart. Duplicate calls result in duplicate
* notification.
*
* @param listener
* the Listener
*/
void addNodeListener(NodeListener listener);
/**
* Returns the primary Figure representing this GraphicalEditPart. The
* parent will add this Figure to its <i>content pane</i>. The Figure may be
* a composition of several Figures.
*
* @return this EditPart's Figure
*/
IFigure getFigure();
/**
* Returns the <i>source</i> connections for this GraphicalEditPart. This
* method should only be called by the EditPart itself, and its helpers such
* as EditPolicies.
*
* @return the source connections
*/
List getSourceConnections();
/**
* Returns the <i>target</i> connections for this GraphicalEditPart. This
* method should only be called by the EditPart itself, and its helpers such
* as EditPolicies.
*
* @return the target connections
*/
List getTargetConnections();
/**
* The Figure into which childrens' Figures will be added. May return the
* same Figure as {@link #getFigure()}. The GraphicalEditPart's
* {@link #getFigure() primary Figure} may be composed of multiple figures.
* This is the figure in that composition that will contain children's
* figures.
*
* @return the <i>content pane</i> Figure
*/
IFigure getContentPane();
/**
* Removes the first occurance of the specified listener from the list of
* listeners. Does nothing if the listener was not present.
*
* @param listener
* the listener being removed
*/
void removeNodeListener(NodeListener listener);
/**
* Sets the specified constraint for a child's Figure on the
* {@link #getContentPane() content pane} figure for this GraphicalEditPart.
* The constraint will be applied to the content pane's
* {@link org.eclipse.draw2d.LayoutManager}. <code>revalidate()</code> is
* called on the content pane, which will cause it to layout during the next
* update.
*
* @param child
* the <i>child</i> GraphicalEditPart whose constraint is being
* set
* @param figure
* the Figure whose constraint is being set
* @param constraint
* the constraint for the draw2d
* {@link org.eclipse.draw2d.LayoutManager}
*/
void setLayoutConstraint(EditPart child, IFigure figure, Object constraint);
}