refactoring, so buildpathsblock & SecondPage could be used without inheritance
diff --git a/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/preferences/PythonBuildPathPropertyPage.java b/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/preferences/PythonBuildPathPropertyPage.java index d62c186..775a9ff 100644 --- a/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/preferences/PythonBuildPathPropertyPage.java +++ b/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/preferences/PythonBuildPathPropertyPage.java
@@ -9,18 +9,27 @@ *******************************************************************************/ package org.eclipse.dltk.python.internal.ui.preferences; +import org.eclipse.dltk.core.IDLTKLanguageToolkit; +import org.eclipse.dltk.python.core.PythonLanguageToolkit; import org.eclipse.dltk.ui.preferences.BuildPathsPropertyPage; import org.eclipse.dltk.ui.util.BusyIndicatorRunnableContext; import org.eclipse.dltk.ui.wizards.BuildpathsBlock; import org.eclipse.ui.IWorkbenchPropertyPage; import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer; -public class PythonBuildPathPropertyPage extends BuildPathsPropertyPage implements IWorkbenchPropertyPage { +public class PythonBuildPathPropertyPage extends BuildPathsPropertyPage + implements IWorkbenchPropertyPage { public PythonBuildPathPropertyPage() { } - protected BuildpathsBlock createBuildPathBlock(IWorkbenchPreferenceContainer pageContainer) { - return new PythonBuildPathsBlock(new BusyIndicatorRunnableContext(), + @Override + protected BuildpathsBlock createBuildPathBlock( + IWorkbenchPreferenceContainer pageContainer) { + return new PythonBuildPathsBlock(new BusyIndicatorRunnableContext(), this, getSettings().getInt(INDEX), false, pageContainer); } + + public IDLTKLanguageToolkit getLanguageToolkit() { + return PythonLanguageToolkit.getDefault(); + } }
diff --git a/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/preferences/PythonBuildPathsBlock.java b/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/preferences/PythonBuildPathsBlock.java index fa3a958..2e4f7cd 100644 --- a/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/preferences/PythonBuildPathsBlock.java +++ b/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/preferences/PythonBuildPathsBlock.java
@@ -9,22 +9,19 @@ *******************************************************************************/ package org.eclipse.dltk.python.internal.ui.preferences; -import org.eclipse.dltk.python.internal.ui.PythonUI; import org.eclipse.dltk.ui.util.IStatusChangeListener; import org.eclipse.dltk.ui.wizards.BuildpathsBlock; import org.eclipse.jface.operation.IRunnableContext; -import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.ui.preferences.IWorkbenchPreferenceContainer; public class PythonBuildPathsBlock extends BuildpathsBlock { - public PythonBuildPathsBlock(IRunnableContext runnableContext, IStatusChangeListener context, int pageToShow, boolean useNewPage, IWorkbenchPreferenceContainer pageContainer) { + public PythonBuildPathsBlock(IRunnableContext runnableContext, + IStatusChangeListener context, int pageToShow, boolean useNewPage, + IWorkbenchPreferenceContainer pageContainer) { super(runnableContext, context, pageToShow, useNewPage, pageContainer); } - protected IPreferenceStore getPreferenceStore() { - return PythonUI.getDefault().getPreferenceStore(); - } - + @Override protected boolean supportZips() { return true; }
diff --git a/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/wizards/PythonProjectCreationWizard.java b/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/wizards/PythonProjectCreationWizard.java index b2a5c22..dda889d 100644 --- a/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/wizards/PythonProjectCreationWizard.java +++ b/plugins/org.eclipse.dltk.python.ui/src/org/eclipse/dltk/python/internal/ui/wizards/PythonProjectCreationWizard.java
@@ -17,7 +17,6 @@ import org.eclipse.dltk.core.IModelElement; import org.eclipse.dltk.python.core.PythonNature; import org.eclipse.dltk.python.internal.ui.PythonImages; -import org.eclipse.dltk.python.internal.ui.PythonUI; import org.eclipse.dltk.python.internal.ui.preferences.PythonBuildPathsBlock; import org.eclipse.dltk.ui.DLTKUIPlugin; import org.eclipse.dltk.ui.util.BusyIndicatorRunnableContext; @@ -26,7 +25,6 @@ import org.eclipse.dltk.ui.wizards.NewElementWizard; import org.eclipse.dltk.ui.wizards.ProjectWizardFirstPage; import org.eclipse.dltk.ui.wizards.ProjectWizardSecondPage; -import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.INewWizard; import org.eclipse.ui.wizards.newresource.BasicNewProjectResourceWizard; @@ -77,9 +75,6 @@ useNewSourcePage(), null); } - protected IPreferenceStore getPreferenceStore() { - return PythonUI.getDefault().getPreferenceStore(); - } }; addPage(fSecondPage); }