protected void addNodeViewer()

in taverna-external-tool-activity-ui/src/main/java/org/apache/taverna/activities/externaltool/manager/ssh/SshInvocationMechanismEditor.java [137:218]


	protected void addNodeViewer(final JPanel result, final JPanel innerPanel,
			ExternalToolSshNodeViewer viewer) {
		final JPanel subPanel = new JPanel();
		subPanel.setLayout(new GridBagLayout());
		subPanel.setBorder(border);
		final GridBagConstraints inputConstraint = new GridBagConstraints();
		inputConstraint.insets = insets;
		inputConstraint.anchor = GridBagConstraints.FIRST_LINE_START;
		inputConstraint.weightx = 0.1;
		inputConstraint.fill = GridBagConstraints.BOTH;

		inputConstraint.gridy = 0 ;
		inputConstraint.gridx = 0;
		
		subPanel.add(new JLabel("Host: "), inputConstraint);
		final JTextField hostnameField = viewer.getHostnameField();
		inputConstraint.gridx++;
		subPanel.add(hostnameField, inputConstraint);

		inputConstraint.gridy++ ;
		inputConstraint.gridx = 0;
		subPanel.add(new JLabel("Port: "), inputConstraint);
		final JTextField portField = viewer.getPortField();
		inputConstraint.gridx++;
		subPanel.add(portField ,inputConstraint);
		
		inputConstraint.gridy++ ;
		inputConstraint.gridx = 0;
		subPanel.add(new JLabel("Working directory: "), inputConstraint);
		final JTextField directoryField = viewer.getDirectoryField();
		inputConstraint.gridx++;
		subPanel.add(directoryField ,inputConstraint);
		
		inputConstraint.gridy++ ;
		inputConstraint.gridx = 0;
		subPanel.add(new JLabel("Link command: "), inputConstraint);
		final JTextField linkCommandField = viewer.getLinkCommandField();
		inputConstraint.gridx++;
		subPanel.add(linkCommandField ,inputConstraint);

		inputConstraint.gridy++ ;
		inputConstraint.gridx = 0;
		subPanel.add(new JLabel("Copy command: "), inputConstraint);
		final JTextField copyCommandField = viewer.getCopyCommandField();
		inputConstraint.gridx++;
		subPanel.add(copyCommandField ,inputConstraint);

		inputConstraint.gridy++ ;
		inputConstraint.gridx = 0;
		subPanel.add(new JLabel("Fetch data: "), inputConstraint);
		inputConstraint.gridx++;
		final JCheckBox retrieveDataField = viewer.getRetrieveDataField();
		subPanel.add(retrieveDataField ,inputConstraint);

		inputConstraint.gridy++ ;
		inputConstraint.gridx = 1;
		inputConstraint.fill = GridBagConstraints.NONE;
		inputConstraint.anchor = GridBagConstraints.EAST;
		final ExternalToolSshNodeViewer v = viewer;
		final JButton removeButton = new DeselectingButton("Remove",
				new AbstractAction() {

			public void actionPerformed(ActionEvent e) {
				synchronized(nodeViewers) {
					nodeViewers.remove(v);
				}
				innerPanel.remove(subPanel);
				innerPanel.revalidate();
				innerPanel.repaint();
				result.revalidate();
				result.repaint();
			}

		});
		subPanel.add(removeButton, inputConstraint);
		
		inputConstraint.gridy = ++inputGridy;
		innerPanel.add(subPanel, inputConstraint);

		nodeViewers.add(viewer);
		inputGridy++;		
	}