package org.insightech.er.common.widgets;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Text;
import org.insightech.er.Activator;
public class FileText {
private Text text;
private Button openBrowseButton;
private String[] filterExtensions;
public FileText(Composite parent, int style) {
this(parent, style, new String[0]);
}
public FileText(Composite parent, int style, String filterExtension) {
this(parent, style, new String[] { filterExtension });
}
public FileText(Composite parent, int style, String[] filterExtensions) {
this.text = new Text(parent, style);
this.filterExtensions = filterExtensions;
this.openBrowseButton = new Button(parent, SWT.NONE);
this.openBrowseButton.setText(JFaceResources.getString("openBrowse"));
this.openBrowseButton.addSelectionListener(new SelectionAdapter() {
/**
* {@inheritDoc}
*/
@Override
public void widgetSelected(SelectionEvent e) {
// String saveFilePath = Activator.showSaveDialog(text.getText(),
// FileText.this.filterExtensions);
String saveFilePath = Activator.showSaveDialogInternal(text.getText(),
FileText.this.filterExtensions);
text.setText(saveFilePath);
}
});
}
public void setLayoutData(Object layoutData) {
this.text.setLayoutData(layoutData);
}
public void setText(String text) {
this.text.setText(text);
this.text.setSelection(text.length());
}
public boolean isBlank() {
if (this.text.getText().trim().length() == 0) {
return true;
}
return false;
}
public String getFilePath() {
return this.text.getText().trim();
}
public void addModifyListener(ModifyListener listener) {
this.text.addModifyListener(listener);
}
public void setFilterExtension(String filterExtension) {
this.filterExtensions = new String[] { filterExtension };
}
}