package mit.edu.concurrencyrefactorings.ui; import mit.edu.concurrencyrefactorings.Activator; import mit.edu.concurrencyrefactorings.refactorings.ConvertToConcurrentHashMapRefactoring; import org.eclipse.jdt.core.IJavaElement; import org.eclipse.jdt.core.IJavaProject; import org.eclipse.jdt.core.IType; import org.eclipse.jdt.core.JavaModelException; import org.eclipse.jdt.core.search.IJavaSearchScope; import org.eclipse.jdt.core.search.SearchEngine; import org.eclipse.jdt.ui.IJavaElementSearchConstants; import org.eclipse.jdt.ui.JavaUI; import org.eclipse.jface.window.Window; import org.eclipse.jface.wizard.IWizardPage; import org.eclipse.ltk.core.refactoring.RefactoringStatus; import org.eclipse.ltk.ui.refactoring.UserInputWizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.dialogs.SelectionStatusDialog; public class ConvertToConcurrentHashMapInputPage extends UserInputWizardPage implements IWizardPage { Text fNameField; private Button initializeDeclarationButton; //Combo fTypeCombo; public ConvertToConcurrentHashMapInputPage(String name) { super(name); } public void createControl(Composite parent) { Composite result= new Composite(parent, SWT.NONE); setControl(result); GridLayout layout= new GridLayout(); layout.numColumns= 2; result.setLayout(layout); Label label= new Label(result, SWT.NONE); label.setText("&Field name:"); fNameField= createNameField(result); fNameField.setEditable(false); final ConvertToConcurrentHashMapRefactoring refactoring= getConvertToConcurrentHashMapRefactoring(); fNameField.setText(refactoring.getFieldName()); fNameField.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent event) { handleInputChanged(); } }); handleInputChanged(); } private Text createNameField(Composite result) { Text field= new Text(result, SWT.SINGLE | SWT.LEFT | SWT.BORDER); field.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); return field; } private Combo createTypeCombo(Composite composite) { Combo combo= new Combo(composite, SWT.SINGLE | SWT.BORDER); combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); combo.setVisibleItemCount(4); return combo; } private ConvertToConcurrentHashMapRefactoring getConvertToConcurrentHashMapRefactoring() { return (ConvertToConcurrentHashMapRefactoring) getRefactoring(); } void handleInputChanged() { RefactoringStatus status= new RefactoringStatus(); ConvertToConcurrentHashMapRefactoring refactoring= getConvertToConcurrentHashMapRefactoring(); status.merge(refactoring.setFieldName(fNameField.getText())); setPageComplete(!status.hasError()); int severity= status.getSeverity(); String message= status.getMessageMatchingSeverity(severity); if (severity >= RefactoringStatus.INFO) { setMessage(message, severity); } else { setMessage("", NONE); //$NON-NLS-1$ } } }