+ * Value is of type Boolean
.
+ *
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/text/folding/DefaultJavaFoldingStructureProvider.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/text/folding/DefaultJavaFoldingStructureProvider.java index 380a005f898..69ab3651e77 100755 --- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/text/folding/DefaultJavaFoldingStructureProvider.java +++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/text/folding/DefaultJavaFoldingStructureProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2024 IBM Corporation and others. + * Copyright (c) 2006, 2025 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 @@ -95,10 +95,10 @@ import org.eclipse.jdt.ui.PreferenceConstants; -import org.eclipse.jdt.internal.ui.JavaPlugin; import org.eclipse.jdt.internal.ui.actions.SelectionConverter; import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility; import org.eclipse.jdt.internal.ui.javaeditor.JavaEditor; +import org.eclipse.jdt.internal.ui.preferences.FoldingPreferencePage; import org.eclipse.jdt.internal.ui.text.DocumentCharacterIterator; /** @@ -1057,7 +1057,7 @@ public void install(ITextEditor editor, ProjectionViewer viewer) { if (editor instanceof JavaEditor) { fProjectionListener= new ProjectionListener(viewer); fEditor= (JavaEditor)editor; - IPreferenceStore store = JavaPlugin.getDefault().getPreferenceStore(); + IPreferenceStore store = FoldingPreferencePage.getFoldingPreferenceStore(fEditor); store.addPropertyChangeListener(fPropertyChangeListener); } } @@ -1082,7 +1082,7 @@ private void internalUninstall() { fProjectionListener.dispose(); fProjectionListener= null; fEditor= null; - IPreferenceStore store = JavaPlugin.getDefault().getPreferenceStore(); + IPreferenceStore store = FoldingPreferencePage.getFoldingPreferenceStore(fEditor); if (store != null && fPropertyChangeListener != null) { store.removePropertyChangeListener(fPropertyChangeListener); } @@ -1183,13 +1183,13 @@ private IJavaElement getInputElement() { } private void initializePreferences() { - IPreferenceStore store = JavaPlugin.getDefault().getPreferenceStore(); - fCollapseInnerTypes = store.getBoolean(PreferenceConstants.EDITOR_FOLDING_INNERTYPES); - fCollapseImportContainer = store.getBoolean(PreferenceConstants.EDITOR_FOLDING_IMPORTS); - fCollapseJavadoc = store.getBoolean(PreferenceConstants.EDITOR_FOLDING_JAVADOC); - fCollapseMembers = store.getBoolean(PreferenceConstants.EDITOR_FOLDING_METHODS); - fCollapseHeaderComments = store.getBoolean(PreferenceConstants.EDITOR_FOLDING_HEADERS); - fNewFolding = store.getBoolean(PreferenceConstants.EDITOR_NEW_FOLDING_ENABLED); + IPreferenceStore store= FoldingPreferencePage.getFoldingPreferenceStore(fEditor); + fCollapseInnerTypes= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_INNERTYPES); + fCollapseImportContainer= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_IMPORTS); + fCollapseJavadoc= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_JAVADOC); + fCollapseMembers= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_METHODS); + fCollapseHeaderComments= store.getBoolean(PreferenceConstants.EDITOR_FOLDING_HEADERS); + fNewFolding= store.getBoolean(PreferenceConstants.EDITOR_NEW_FOLDING_ENABLED); } private void update(FoldingStructureComputationContext ctx) { diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/text/folding/IScopedJavaFoldingPreferenceBlock.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/text/folding/IScopedJavaFoldingPreferenceBlock.java new file mode 100644 index 00000000000..8527205dd6d --- /dev/null +++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/text/folding/IScopedJavaFoldingPreferenceBlock.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2025 Daniel Schmid and others. + * + * This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Daniel Schmid - initial API and implementation + *******************************************************************************/ +package org.eclipse.jdt.ui.text.folding; + +import org.eclipse.core.runtime.preferences.IScopeContext; + +/** + * Extends {@link IJavaFoldingPreferenceBlock} for supporting preferences in a given scope (e.g. projects). + * @since 3.34 + */ +public interface IScopedJavaFoldingPreferenceBlock extends IJavaFoldingPreferenceBlock { + /** + * Marks this preference block to be configured in an {@link IScopeContext}. + * @param context The scope context the preferences apply to. + */ + default void setScopeContext(IScopeContext context) { + + } +}