blob: c068d56c08edde5ef18d801fb665518cd191f0fb [file] [log] [blame]
/*******************************************************************************
* Copyright (C) 2007 The University of Manchester
*
* Modifications to the initial code base are copyright of their
* respective authors, or their employers as appropriate.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
******************************************************************************/
package net.sf.taverna.t2.activities.externaltool.manager;
import java.awt.Component;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.util.List;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
/**
* UI for creating/editing dataflow input ports.
*
* @author David Withers
*/
public class MechanismPanel extends JPanel {
private static final long serialVersionUID = 1L;
private JTextField mechanismNameField;
private JComboBox mechanismTypeSelector;
public MechanismPanel(List<InvocationMechanismEditor<?>> invocationMechanismEditors) {
super(new GridBagLayout());
mechanismNameField = new JTextField();
setBorder(new EmptyBorder(10, 10, 10, 10));
GridBagConstraints constraints = new GridBagConstraints();
constraints.anchor = GridBagConstraints.WEST;
constraints.gridx = 0;
constraints.gridy = 0;
constraints.ipadx = 10;
add(new JLabel("Name:"), constraints);
constraints.gridx = 1;
constraints.gridwidth = 2;
constraints.ipadx = 0;
constraints.weightx = 1d;
constraints.fill = GridBagConstraints.HORIZONTAL;
add(mechanismNameField, constraints);
constraints.gridx = 0;
constraints.gridy = 1;
constraints.gridwidth = 1;
constraints.weightx = 0d;
constraints.fill = GridBagConstraints.NONE;
constraints.ipadx = 10;
constraints.insets = new Insets(10, 0, 0, 0);
add(new JLabel("Type:"), constraints);
mechanismTypeSelector = new JComboBox();
for (InvocationMechanismEditor<?> ime : invocationMechanismEditors) {
if (!ime.isSingleton()) {
mechanismTypeSelector.addItem(ime.getName());
}
}
constraints.gridx = 1;
constraints.gridwidth = 2;
constraints.ipadx = 0;
add(mechanismTypeSelector, constraints);
}
/**
* Returns the portNameField.
*
* @return the portNameField
*/
public JTextField getMechanismNameField() {
return mechanismNameField;
}
/**
* Returns the port name.
*
* @return the port name
*/
public String getMechanismName() {
return mechanismNameField.getText();
}
public String getMechanismTypeName() {
return (String) mechanismTypeSelector.getSelectedItem();
}
public Component getMechanismTypeSelector() {
return mechanismTypeSelector;
}
}