/** * */ package fr.inria.soctrace.framesoc.ui.input; import java.util.Arrays; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import fr.inria.soctrace.framesoc.core.tools.model.IFramesocToolInput; import fr.inria.soctrace.framesoc.core.tools.model.FileInput; import fr.inria.soctrace.framesoc.ui.dialogs.IArgumentDialog; import fr.inria.soctrace.framesoc.ui.listeners.LaunchTextListener; /** * Default tool input composite for importers. * * It provides a text field for trace files, with a browse button beside. * * @author "Generoso Pagano <generoso.pagano@inria.fr>" */ public class DefaultImporterInputComposite extends AbstractToolInputComposite { protected FileInputComposite traceFiles; protected LaunchTextListener traceFileListener; public DefaultImporterInputComposite(Composite parent, int style) { super(parent, style); setLayout(new GridLayout(1, false)); traceFiles = new FileInputComposite(parent, SWT.NONE); traceFiles.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); } @Override public void setArgumentDialog(IArgumentDialog dialog) { super.setArgumentDialog(dialog); traceFileListener = new LaunchTextListener("", dialog); traceFiles.addModifyListener(traceFileListener); } @Override public IFramesocToolInput getToolInput() { FileInput input = new FileInput(); input.setFiles(Arrays.asList(LaunchTextListener.getTokens(traceFileListener.getText()))); return input; } }