package com.javadude.cleanup;
import org.eclipse.jdt.ui.cleanup.CleanUpOptions;
import org.eclipse.jdt.ui.cleanup.ICleanUpConfigurationUI;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
public class JavaDudeCleanUpConfigurationUI implements
ICleanUpConfigurationUI {
private CleanUpOptions options;
public JavaDudeCleanUpConfigurationUI() {
}
public Composite createContents(Composite parent) {
Composite composite = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
composite.setLayout(layout);
layout.numColumns = 3;
final Button convertButton = new Button(composite, SWT.CHECK);
convertButton.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false, 3, 1));
convertButton.setText("Convert Tabs to Spaces");
convertButton.setSelection(options.isEnabled(JavaDudeCleanUpOptionsInitializer.CONVERT_TABS_TO_SPACES));
convertButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
options.setOption(JavaDudeCleanUpOptionsInitializer.CONVERT_TABS_TO_SPACES, convertButton.getSelection() ? CleanUpOptions.TRUE : CleanUpOptions.FALSE);
}
public void widgetDefaultSelected(SelectionEvent e) {
options.setOption(JavaDudeCleanUpOptionsInitializer.CONVERT_TABS_TO_SPACES, convertButton.getSelection() ? CleanUpOptions.TRUE : CleanUpOptions.FALSE);
}});
Label label = new Label(composite, SWT.NONE);
label.setText(" ");
label = new Label(composite, SWT.NONE);
label.setText("Tab Size: ");
final Text text = new Text(composite, SWT.SINGLE | SWT.BORDER);
text.setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
text.setText(options.getValue(JavaDudeCleanUpOptionsInitializer.TAB_SIZE));
text.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
options.setOption(JavaDudeCleanUpOptionsInitializer.TAB_SIZE, text.getText());
}});
return composite;
}
public int getCleanUpCount() {
return 1;
}
public String getPreview() {
return "TBD\nTBD\nTBD\nTBD\nTBD\nTBD\nTBD\nTBD\nTBD\nTBD\n";
}
public int getSelectedCleanUpCount() {
return options.isEnabled(JavaDudeCleanUpOptionsInitializer.CONVERT_TABS_TO_SPACES) ? 1 : 0;
}
public void setOptions(CleanUpOptions options) {
this.options = options;
}
}