blob: 7442079c2a84970dd024d942ff2104a2dc55af01 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006, 2012 Oracle 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:
* Oracle Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.bpel.ui.proposal.providers;
import org.eclipse.bpel.common.ui.command.ICommandFramework;
import org.eclipse.bpel.ui.BPELUIPlugin;
import org.eclipse.bpel.ui.IBPELUIConstants;
import org.eclipse.gef.commands.Command;
import org.eclipse.jface.fieldassist.IContentProposal;
import org.eclipse.jface.fieldassist.IContentProposalListener;
import org.eclipse.swt.graphics.Image;
/**
* @author Michal Chmielewski (michal.chmielewski@oracle.com)
* @date Jul 25, 2006
*
*/
public class CommandProposal extends AbstractContentProposal
implements IContentProposalListener
{
protected Command fCmd ;
protected ICommandFramework fCmdFramework;
/**
* @param cmdFramework
*/
public CommandProposal ( ICommandFramework cmdFramework ) {
super();
fCmdFramework = cmdFramework;
}
/**
* @return the command
*/
public Command getCommand () {
return fCmd;
}
/**
* @param cmd
*/
public void setCommand ( Command cmd ) {
fCmd = cmd;
}
/**
* @see org.eclipse.bpel.ui.proposal.providers.AbstractContentProposal#getImage(java.lang.Object)
*/
@Override
public Image getImage(Object element) {
return BPELUIPlugin.INSTANCE.getImage(IBPELUIConstants.ICON_COMMAND_16);
}
/**
* @see org.eclipse.bpel.ui.proposal.providers.AbstractContentProposal#getLabel()
*/
@Override
public String getLabel()
{
Command cmd = getCommand ();
if (cmd != null ) {
return cmd.getLabel();
}
return "???"; //$NON-NLS-1$
}
/** (non-Javadoc)
* @see org.eclipse.jface.fieldassist.IContentProposalListener#proposalAccepted(org.eclipse.jface.fieldassist.IContentProposal)
*/
public void proposalAccepted (IContentProposal proposal) {
// we have been chosen
if (proposal.equals ( this )) {
fCmdFramework.execute( getCommand() );
}
}
}