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