/******************************************************************************* * 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() ); } } }