/** | |
* Copyright (c) 2010, 2011 Mia-Software. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License v2.0 | |
* which accompanies this distribution, and is available at | |
* http://www.eclipse.org/legal/epl-v20.html | |
* | |
* Contributors: | |
* Nicolas Payneau (Mia-Software) - initial API and implementation | |
* Gabriel Barbier (Mia-Software) - initial API and implementation | |
* Nicolas Bros (Mia-Software) - Bug 337402 - [Discovery Workflow] refactoring | |
*/ | |
package org.eclipse.modisco.workflow.ui.internal; | |
import org.eclipse.swt.SWT; | |
import org.eclipse.swt.events.SelectionAdapter; | |
import org.eclipse.swt.events.SelectionEvent; | |
import org.eclipse.swt.widgets.Menu; | |
import org.eclipse.swt.widgets.MenuItem; | |
import org.eclipse.swt.widgets.Shell; | |
public class WorkflowTableContextMenu { | |
private Menu menuSelection; | |
private Menu menuNoSelection; | |
private final WorkflowTab workflowTab; | |
public WorkflowTableContextMenu(final WorkflowTab workflowTab) { | |
this.workflowTab = workflowTab; | |
} | |
/** | |
* Create a pop-up menu on item selected with right click | |
* | |
* @param shell | |
* Shell of selection | |
*/ | |
public void createPopupMenuSelectionItem(final Shell shell) { | |
if (this.menuSelection == null) { | |
this.menuSelection = new Menu(shell, SWT.POP_UP); | |
MenuItem itemRemove = new MenuItem(this.menuSelection, SWT.PUSH); | |
itemRemove.setText(Messages.ContextualMenuInWorkflowTable_Remove); | |
itemRemove.setImage(Activator.getImageDescriptor(UIConstants.REMOVE_ICON_PATH) | |
.createImage()); | |
itemRemove.addSelectionListener(new SelectionAdapter() { | |
@Override | |
public void widgetSelected(final SelectionEvent e) { | |
WorkflowTableContextMenu.this.getButtonComposite().removeWork(); | |
} | |
}); | |
MenuItem itemUp = new MenuItem(this.menuSelection, SWT.PUSH); | |
itemUp.setText(Messages.ContextualMenuInWorkflowTable_Up); | |
itemUp.setImage(Activator.getImageDescriptor(UIConstants.UP_ICON_PATH).createImage()); | |
itemUp.addSelectionListener(new SelectionAdapter() { | |
@Override | |
public void widgetSelected(final SelectionEvent e) { | |
WorkflowTableContextMenu.this.getButtonComposite().moveWorkUp(); | |
} | |
}); | |
MenuItem itemDown = new MenuItem(this.menuSelection, SWT.PUSH); | |
itemDown.setText(Messages.ContextualMenuInWorkflowTable_Down); | |
itemDown.setImage(Activator.getImageDescriptor(UIConstants.DOWN_ICON_PATH).createImage()); | |
itemDown.addSelectionListener(new SelectionAdapter() { | |
@Override | |
public void widgetSelected(final SelectionEvent e) { | |
WorkflowTableContextMenu.this.getButtonComposite().moveWorkDown(); | |
} | |
}); | |
itemRemove.setEnabled(true); | |
itemUp.setEnabled(true); | |
itemDown.setEnabled(true); | |
} | |
} | |
/** | |
* Create a pop-up menu on right click on table selection (Not item | |
* selected) | |
* | |
* @param shell | |
*/ | |
public void createPopupMenuNoSelectionItem(final Shell shell) { | |
if (this.menuNoSelection == null) { | |
this.menuNoSelection = new Menu(shell, SWT.POP_UP); | |
MenuItem itemLoad = new MenuItem(this.menuNoSelection, SWT.PUSH); | |
itemLoad.setText(Messages.ContextualMenuInWorkflowTable_Load); | |
itemLoad.setImage(Activator.getImageDescriptor(UIConstants.LOAD_ICON_PATH).createImage()); | |
itemLoad.addSelectionListener(new SelectionAdapter() { | |
@Override | |
public void widgetSelected(final SelectionEvent e) { | |
WorkflowTableContextMenu.this.getButtonComposite().loadAdditionalWork(); | |
} | |
}); | |
itemLoad.setEnabled(true); | |
} | |
} | |
// Getters | |
public Menu getMenuSelection() { | |
return this.menuSelection; | |
} | |
public Menu getMenuNoSelection() { | |
return this.menuNoSelection; | |
} | |
public WorkflowTab getButtonComposite() { | |
return this.workflowTab; | |
} | |
} |