blob: 7a83a40a7f1889766473c7b13f9e1aaefe041e72 [file] [log] [blame]
/******************************************************************************
* Copyright (c) 2002, 2007 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.gmf.runtime.diagram.ui.editparts;
import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.PositionConstants;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.gef.DragTracker;
import org.eclipse.gef.EditPolicy;
import org.eclipse.gef.Request;
import org.eclipse.gef.requests.SelectionRequest;
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ListItemComponentEditPolicy;
import org.eclipse.gmf.runtime.diagram.ui.editpolicies.NonResizableTextEditPolicy;
import org.eclipse.gmf.runtime.diagram.ui.label.ILabelDelegate;
import org.eclipse.gmf.runtime.diagram.ui.tools.DragEditPartsTrackerEx;
/**
* @author melaasar
*
* EditPart for list items
*/
public class ListItemEditPart
extends TextCompartmentEditPart {
/**
* Creates a new ListItemEditPart
*
* @param model
*/
public ListItemEditPart(EObject model) {
super(model);
}
protected IFigure createFigure() {
IFigure theFigure = super.createFigure();
theFigure.setVisible(false);
return theFigure;
}
protected ILabelDelegate createLabelDelegate() {
ILabelDelegate labelDelegate = super.createLabelDelegate();
labelDelegate.setAlignment(PositionConstants.LEFT);
return labelDelegate;
}
public DragTracker getDragTracker(Request request) {
if (request instanceof SelectionRequest
&& ((SelectionRequest) request).getLastButtonPressed() == 3)
return null;
return new DragEditPartsTrackerEx(this);
}
protected void createDefaultEditPolicies() {
super.createDefaultEditPolicies();
installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE,
new NonResizableTextEditPolicy());
installEditPolicy(EditPolicy.COMPONENT_ROLE,
new ListItemComponentEditPolicy());
}
}