public class TestBuildPathPropertyPage extends BuildPathsPropertyPage implements IWorkbenchPropertyPage { protected BuildpathsBlock createBuildPathBlock(IWorkbenchPreferenceContainer pageContainer) { return new TestBuildPathBlock(new BusyIndicatorRunnableContext(), this, getSettings().getInt(INDEX), false, pageContainer); } public TestBuildPathPropertyPage() { } public IDLTKLanguageToolkit getLanguageToolkit() { return TestLanguageToolkit.getDefault(); } }
public class TestBuildPathBlock extends BuildpathsBlock { public TestBuildPathBlock(IRunnableContext runnableContext, IStatusChangeListener context, int pageToShow, boolean useNewPage, IWorkbenchPreferenceContainer pageContainer) { super(runnableContext, context, pageToShow, useNewPage, pageContainer); } protected IPreferenceStore getPreferenceStore() { return TestCorePlugin.getDefault().getPreferenceStore(); } protected boolean supportZips() { return false; } }
<extension point="org.eclipse.dltk.ui.buildpathContainerPage"> <buildpathContainerPage class=" org.eclipse.dltk.ruby.internal.debug.ui.interpreters.RubyInterpreterContainerWizardPage " id="org.eclipse.dltk.ruby.launching.INTERPRETER_CONTAINER" name="Ruby Interpreter Libraries" nature="org.eclipse.dltk.ruby.core.nature" /> </extension>
public class RubyInterpreterContainerWizardPage extends AbstractInterpreterContainerWizardPage { @Override public String getScriptNature() { return RubyNature.NATURE_ID; } }
public class TestInterpreterContainerWizardPage extends AbstractInterpreterContainerWizardPage { @Override protected AbstractInterpreterComboBlock getInterpreterBlock() { return new TestInterpreterComboBlock(); } }
public class TestInterpreterComboBlock extends AbstractInterpreterComboBlock { @Override protected String getCurrentLanguageNature() { return TestNature.ID; } @Override protected void showInterpreterPreferencePage() { // TODO not implemented yet... } }