blob: 2f7dc16eab11ae713103fb79b3a84ed2cd1f8d81 [file] [log] [blame]
/**
* 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 v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.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.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
public class AdditionalButtonsComposite extends Composite {
private Button removeButton = null;
private Button upButton = null;
private Button downButton = null;
private Button loadButton = null;
private final WorkflowTab workflowTransformationTab;
private static final int WIDTH = 63;
private static final int HEIGHT = 202;
/**
* Class constructor
*
* @param parent
* The composite parent
* @param style
* The style of composite
* @param table
* The table of transformations
* @param workflowModel
* The workflowModel managing the display
*/
public AdditionalButtonsComposite(final Composite parent, final int style,
final WorkflowTab workflowTransformationTabParam) {
super(parent, style);
this.workflowTransformationTab = workflowTransformationTabParam;
initialize();
}
protected WorkflowTab getWorkflowTransformationTab() {
return this.workflowTransformationTab;
}
/**
* Create the composite representing the additional buttons
*/
private void initialize() {
GridData gridDataUp = new GridData();
gridDataUp.horizontalAlignment = GridData.FILL;
gridDataUp.verticalAlignment = GridData.CENTER;
GridData gridDataDown = new GridData();
gridDataDown.horizontalAlignment = GridData.FILL;
gridDataDown.verticalAlignment = GridData.CENTER;
GridData gridData = new GridData();
gridData.horizontalAlignment = GridData.FILL;
gridData.verticalAlignment = GridData.CENTER;
this.loadButton = new Button(this, SWT.NONE);
this.loadButton.setText(Messages.AdditionalButtonsComposite_load);
this.loadButton.setLayoutData(gridData);
this.loadButton.setImage(Activator.getImageDescriptor(UIConstants.LOAD_ICON_PATH)
.createImage());
this.loadButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final org.eclipse.swt.events.SelectionEvent e) {
getWorkflowTransformationTab().loadAdditionalWork();
}
});
this.removeButton = new Button(this, SWT.NONE);
this.removeButton.setText(Messages.AdditionalButtonsComposite_remove);
this.removeButton.setLayoutData(gridData);
this.removeButton.setImage(Activator.getImageDescriptor(UIConstants.REMOVE_ICON_PATH)
.createImage());
this.removeButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final org.eclipse.swt.events.SelectionEvent e) {
getWorkflowTransformationTab().removeWork();
}
});
this.upButton = new Button(this, SWT.PUSH);
// for add one space character
this.upButton.setText(Messages.AdditionalButtonsComposite_up);
final int verticalIndent = 30;
gridDataUp.verticalIndent = verticalIndent;
this.upButton.setLayoutData(gridDataUp);
this.upButton
.setImage(Activator.getImageDescriptor(UIConstants.UP_ICON_PATH).createImage());
this.upButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final org.eclipse.swt.events.SelectionEvent e) {
getWorkflowTransformationTab().moveWorkUp();
}
});
this.downButton = new Button(this, SWT.PUSH);
this.downButton.setText(Messages.AdditionalButtonsComposite_down);
this.downButton.setLayoutData(gridDataDown);
this.downButton.setImage(Activator.getImageDescriptor(UIConstants.DOWN_ICON_PATH)
.createImage());
this.downButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(final org.eclipse.swt.events.SelectionEvent e) {
getWorkflowTransformationTab().moveWorkDown();
}
});
GridData layoutData = new GridData();
layoutData.verticalAlignment = org.eclipse.swt.layout.GridData.BEGINNING;
setSize(new Point(AdditionalButtonsComposite.WIDTH, AdditionalButtonsComposite.HEIGHT));
setLayout(new GridLayout());
setLayoutData(layoutData);
}
}