@Override protected Control createContents(Composite parent) { // ensure the page has no 'Default' button noDefaultButton(); IProject project= getProject(); Control result; if (project == null || !isJavaProject(project)) { result= createWithoutJava(parent); } else if (!project.isOpen()) { result= createForClosedProject(parent); } else { result= createWithJava(parent, project); } Dialog.applyDialogFont(result); return result; }
private IProject getProject() { IAdaptable adaptable= getElement(); return adaptable == null ? null : (IProject)adaptable.getAdapter(IProject.class); }
protected Control createContents(Composite parent) { // ensure the page has no special buttons noDefaultAndApplyButton(); IProject project= getProject(); Control result; if (project == null || !isJavaProject(project)) { result= createWithoutJava(parent); } else if (!project.isOpen()) { result= createForClosedProject(parent); } else { result= createWithJava(parent, project); } Dialog.applyDialogFont(result); return result; }
@Override public boolean okToLeave() { if (fBuildPathsBlock != null && fBuildPathsBlock.hasChangesInDialog()) { String title= PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_title; String message= PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_message; String[] buttonLabels= new String[] { PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_button_save, PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_button_discard, PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_button_ignore }; MessageDialog dialog= new MessageDialog(getShell(), title, null, message, MessageDialog.QUESTION, buttonLabels, 0); int res= dialog.open(); if (res == 0) { //save fBlockOnApply= true; return performOk() && super.okToLeave(); } else if (res == 1) { // discard fBuildPathsBlock.init(JavaCore.create(getProject()), null, null); } else { // keep unsaved } } return super.okToLeave(); }
private Control createWithJava(Composite parent, IProject project) { IWorkbenchPreferenceContainer pageContainer= null; IPreferencePageContainer container= getContainer(); if (container instanceof IWorkbenchPreferenceContainer) { pageContainer= (IWorkbenchPreferenceContainer) container; } fBuildPathsBlock= new BuildPathsBlock(new BusyIndicatorRunnableContext(), this, getSettings().getInt(INDEX), false, pageContainer); fBuildPathsBlock.init(JavaCore.create(project), null, null); return fBuildPathsBlock.createControl(parent); }
public boolean performOk() { if (fBuildPathsBlock != null) { getSettings().put(INDEX, fBuildPathsBlock.getPageIndex()); if (fBuildPathsBlock.hasChangesInDialog() || fBuildPathsBlock.isClassfileMissing()) { IWorkspaceRunnable runnable= new IWorkspaceRunnable() { public void run(IProgressMonitor monitor) throws CoreException, OperationCanceledException { fBuildPathsBlock.configureJavaProject(monitor); } }; WorkbenchRunnableAdapter op= new WorkbenchRunnableAdapter(runnable); if (fBlockOnApply) { try { new ProgressMonitorDialog(getShell()).run(true, true, op); } catch (InvocationTargetException e) { ExceptionHandler.handle(e, getShell(), PreferencesMessages.BuildPathsPropertyPage_error_title, PreferencesMessages.BuildPathsPropertyPage_error_message); return false; } catch (InterruptedException e) { return false; } } else { op.runAsUserJob(PreferencesMessages.BuildPathsPropertyPage_job_title, null); } } } return true; }
@Override public void createControl(Composite parent) { super.createControl(parent); PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IJavaHelpContextIds.BUILD_PATH_PROPERTY_PAGE); }
@Override public void setVisible(boolean visible) { if (fBuildPathsBlock != null) { if (visible) { if (!fBuildPathsBlock.hasChangesInDialog() && fBuildPathsBlock.hasChangesInClasspathFile()) { fBuildPathsBlock.init(JavaCore.create(getProject()), null, null); } } } super.setVisible(visible); }
@Override public boolean okToLeave() { if (fBuildPathsBlock != null && fBuildPathsBlock.hasChangesInDialog()) { String title= PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_title; String message= PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_message; String[] buttonLabels= new String[] { PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_button_save, PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_button_discard, PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_button_ignore }; MessageDialog dialog= new MessageDialog(getShell(), title, null, message, MessageDialog.QUESTION, buttonLabels, 0); int res= dialog.open(); if (res == 0) { //save fBlockOnApply= true; return performOk() && super.okToLeave(); } else if (res == 1) { // discard fBuildPathsBlock.init(JavaCore.create(getProject()), null, null); } else { // keep unsaved } } return super.okToLeave(); }
private Control createWithJava(Composite parent, IProject project) { IWorkbenchPreferenceContainer pageContainer= null; IPreferencePageContainer container= getContainer(); if (container instanceof IWorkbenchPreferenceContainer) { pageContainer= (IWorkbenchPreferenceContainer) container; } fBuildPathsBlock= new BuildPathsBlock(new BusyIndicatorRunnableContext(), this, getSettings().getInt(INDEX), false, pageContainer); fBuildPathsBlock.init(JavaCore.create(project), null, null); return fBuildPathsBlock.createControl(parent); }
@Override public boolean performOk() { if (fBuildPathsBlock != null) { getSettings().put(INDEX, fBuildPathsBlock.getPageIndex()); if (fBuildPathsBlock.hasChangesInDialog() || fBuildPathsBlock.isClassfileMissing()) { IWorkspaceRunnable runnable= new IWorkspaceRunnable() { @Override public void run(IProgressMonitor monitor) throws CoreException, OperationCanceledException { fBuildPathsBlock.configureJavaProject(monitor); } }; WorkbenchRunnableAdapter op= new WorkbenchRunnableAdapter(runnable); if (fBlockOnApply) { try { new ProgressMonitorDialog(getShell()).run(true, true, op); } catch (InvocationTargetException e) { ExceptionHandler.handle(e, getShell(), PreferencesMessages.BuildPathsPropertyPage_error_title, PreferencesMessages.BuildPathsPropertyPage_error_message); return false; } catch (InterruptedException e) { return false; } } else { op.runAsUserJob(PreferencesMessages.BuildPathsPropertyPage_job_title, null); } } } return true; }
@Override public void createControl(Composite parent) { super.createControl(parent); PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IJavaHelpContextIds.BUILD_PATH_PROPERTY_PAGE); }
@Override public void setVisible(boolean visible) { if (fBuildPathsBlock != null) { if (visible) { if (!fBuildPathsBlock.hasChangesInDialog() && fBuildPathsBlock.hasChangesInClasspathFile()) { fBuildPathsBlock.init(JavaCore.create(getProject()), null, null); } } } super.setVisible(visible); }
@Override protected Control createContents(Composite parent) { // ensure the page has no 'Default' button noDefaultButton(); IProject project= getProject(); Control result; if (project == null || !isJavaProject(project)) { result= createWithoutJava(parent); } else if (!project.isOpen()) { result= createForClosedProject(parent); } else { result= createWithJava(parent, project); } Dialog.applyDialogFont(result); return result; }
public void setVisible(boolean visible) { if (fBuildPathsBlock != null) { if (!visible) { if (fBuildPathsBlock.hasChangesInDialog()) { String title= PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_title; String message= PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_message; String[] buttonLabels= new String[] { PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_button_save, PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_button_discard, PreferencesMessages.BuildPathsPropertyPage_unsavedchanges_button_ignore }; MessageDialog dialog= new MessageDialog(getShell(), title, null, message, MessageDialog.QUESTION, buttonLabels, 0); int res= dialog.open(); if (res == 0) { performOk(); } else if (res == 1) { fBuildPathsBlock.init(JavaCore.create(getProject()), null, null); } else { // keep unsaved } } } else { if (!fBuildPathsBlock.hasChangesInDialog() && fBuildPathsBlock.hasChangesInClasspathFile()) { fBuildPathsBlock.init(JavaCore.create(getProject()), null, null); } } } super.setVisible(visible); }
private Control createWithJava(Composite parent, IProject project) { IWorkbenchPreferenceContainer pageContainer= null; IPreferencePageContainer container= getContainer(); if (container instanceof IWorkbenchPreferenceContainer) { pageContainer= (IWorkbenchPreferenceContainer) container; } fBuildPathsBlock= new BuildPathsBlock(new BusyIndicatorRunnableContext(), this, getSettings().getInt(INDEX), false, pageContainer); fBuildPathsBlock.init(JavaCore.create(project), null, null); return fBuildPathsBlock.createControl(parent); }
@Override public boolean performOk() { if (fBuildPathsBlock != null) { getSettings().put(INDEX, fBuildPathsBlock.getPageIndex()); if (fBuildPathsBlock.hasChangesInDialog() || fBuildPathsBlock.isClassfileMissing()) { IWorkspaceRunnable runnable= new IWorkspaceRunnable() { @Override public void run(IProgressMonitor monitor) throws CoreException, OperationCanceledException { fBuildPathsBlock.configureJavaProject(monitor); } }; WorkbenchRunnableAdapter op= new WorkbenchRunnableAdapter(runnable); if (fBlockOnApply) { try { new ProgressMonitorDialog(getShell()).run(true, true, op); } catch (InvocationTargetException e) { ExceptionHandler.handle(e, getShell(), PreferencesMessages.BuildPathsPropertyPage_error_title, PreferencesMessages.BuildPathsPropertyPage_error_message); return false; } catch (InterruptedException e) { return false; } } else { op.runAsUserJob(PreferencesMessages.BuildPathsPropertyPage_job_title, null); } } } return true; }
private IProject getProject() { IAdaptable adaptable= getElement(); return adaptable == null ? null : (IProject)adaptable.getAdapter(IProject.class); }
public void createControl(Composite parent) { super.createControl(parent); PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), IJavaHelpContextIds.BUILD_PATH_PROPERTY_PAGE); }
private IProject getProject() { IAdaptable adaptable= getElement(); if (adaptable != null) { IJavaElement elem= (IJavaElement) adaptable.getAdapter(IJavaElement.class); if (elem instanceof IJavaProject) { return ((IJavaProject) elem).getProject(); } } return null; }