use of org.eclipse.ltk.ui.refactoring.UserInputWizardPage in project jbosstools-hibernate by jbosstools.
the class SaveQueryEditorListener method propertyChanged.
/* (non-Javadoc)
* @see org.eclipse.ui.IPropertyListener#propertyChanged(java.lang.Object, int)
*/
public void propertyChanged(Object source, int propId) {
if (IEditorPart.PROP_DIRTY == propId && !editor.isDirty()) {
IDocumentProvider docProvider = fromEditorPart.getDocumentProvider();
final IFile file = ((IFileEditorInput) fromEditorPart.getEditorInput()).getFile();
final IDocument doc = docProvider.getDocument(fromEditorPart.getEditorInput());
boolean isDocChanged = true;
try {
if (query.equals(doc.get(position.x, position.y))) {
isDocChanged = false;
}
} catch (BadLocationException e1) {
// document changed and we can get the exception
}
final String editorTitle = fromEditorPart.getTitle();
final String editor_name = editor instanceof HQLEditor ? JdtUiMessages.SaveQueryEditorListener_hql_editor : JdtUiMessages.SaveQueryEditorListener_cri_editor;
if (isDocChanged) {
String information_message = NLS.bind(JdtUiMessages.SaveQueryEditorListener_replacequestion_confirm, editorTitle);
MessageDialog.openInformation(null, JdtUiMessages.SaveQueryEditorListener_replacetitle_info, information_message);
return;
}
final String newQuery = editor.getEditorText();
final String wizard_title = NLS.bind(JdtUiMessages.SaveQueryEditorListener_refactoringtitle, editor_name);
Refactoring ref = new Refactoring() {
@Override
public RefactoringStatus checkFinalConditions(IProgressMonitor pm) {
return RefactoringStatus.create(Status.OK_STATUS);
}
@Override
public RefactoringStatus checkInitialConditions(IProgressMonitor pm) {
return RefactoringStatus.create(Status.OK_STATUS);
}
@Override
public Change createChange(IProgressMonitor pm) {
String change_name = NLS.bind(JdtUiMessages.SaveQueryEditorListener_change_name, editor_name, editorTitle);
DocumentChange change = new DocumentChange(change_name, doc);
TextEdit replaceEdit = new ReplaceEdit(position.x, position.y, newQuery);
change.setEdit(replaceEdit);
String cc_name = NLS.bind(JdtUiMessages.SaveQueryEditorListener_composite_change_name, editor_name);
MultiStateTextFileChange mChange = new MultiStateTextFileChange(cc_name, file);
mChange.addChange(change);
return mChange;
}
@Override
public String getName() {
return JdtUiMessages.SaveQueryEditorListener_composite_change_name;
}
};
RefactoringWizard wizard = new RefactoringWizard(ref, RefactoringWizard.DIALOG_BASED_USER_INTERFACE) {
@Override
protected void addUserInputPages() {
UserInputWizardPage page = new UserInputWizardPage(wizard_title) {
public void createControl(Composite parent) {
Composite container = new Composite(parent, SWT.NULL);
GridLayout layout = new GridLayout();
container.setLayout(layout);
layout.numColumns = 1;
layout.verticalSpacing = 9;
Label label = new Label(container, SWT.NULL);
label.setText(NLS.bind(JdtUiMessages.SaveQueryEditorListener_replacequestion, editor_name, editorTitle));
setControl(container);
}
};
addPage(page);
}
};
wizard.setWindowTitle(wizard_title);
wizard.setDefaultPageTitle(wizard_title);
IWorkbenchWindow win = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
if (new RefactoringStarter().activate(wizard, win.getShell(), wizard_title, RefactoringSaveHelper.SAVE_ALL)) {
query = newQuery;
position.y = query.length();
fromEditorPart.doSave(null);
} else {
if (editor.getDocumentProvider() instanceof TextFileDocumentProvider) {
((TextFileDocumentProvider) editor.getDocumentProvider()).setCanSaveDocument(editor.getEditorInput());
}
}
}
}
use of org.eclipse.ltk.ui.refactoring.UserInputWizardPage in project jbosstools-hibernate by jbosstools.
the class HibernateJPAWizard method addUserInputPages.
@Override
protected void addUserInputPages() {
IStructuredSelection selection = null;
if (data != null && data.getSelection2Update() != null) {
selection = data.getSelection2Update();
}
if (selection == null) {
selection = new StructuredSelection();
}
String title = JdtUiMessages.EntitiesSource_header;
EntitiesSource page0 = new EntitiesSource(title, selection);
addPage(page0);
title = JdtUiMessages.EntitiesList_header;
UserInputWizardPage page1 = new EntitiesList(title, data, params);
addPage(page1);
setDefaultPageTitle(page1.getName());
/**
* /
* UserInputWizardPage page2 = new ResolveAmbiguous(wizard_title, data, params);
* addPage(page2);
* /*
*/
}
Aggregations