/**
* This file is protected by Copyright.
* Please refer to the COPYRIGHT file distributed with this source distribution.
*
* This file is part of REDHAWK IDE.
*
* 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.
*
*/
package gov.redhawk.sca.sad.diagram.palette;
import org.eclipse.gef.commands.Command;
import org.eclipse.gef.editpolicies.DirectEditPolicy;
import org.eclipse.gef.requests.DirectEditRequest;
/**
* @since 3.2
*/
public class LabelDirectEditPolicy extends DirectEditPolicy {
/**
* @see DirectEditPolicy#getDirectEditCommand(DirectEditRequest)
*/
protected Command getDirectEditCommand(DirectEditRequest edit) {
String labelText = (String) edit.getCellEditor().getValue();
LabelEditPart label = (LabelEditPart) getHost();
LabelCommand command = new LabelCommand(label.getPaletteFilter(), labelText);
return command;
}
/**
* @see DirectEditPolicy#showCurrentEditValue(DirectEditRequest)
*/
protected void showCurrentEditValue(DirectEditRequest request) {
String value = (String) request.getCellEditor().getValue();
((LabelFigure) getHostFigure()).setText(value);
// hack to prevent async layout from placing the cell editor twice.
getHostFigure().getUpdateManager().performUpdate();
}
}