/*******************************************************************************
* Copyright (c) 2015 Bruno Medeiros and other Contributors.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Bruno Medeiros - initial API and implementation
*******************************************************************************/
package mmrnmhrm.ui.preferences.pages;
import static melnorme.utilbox.core.CoreUtil.array;
import _org.eclipse.dltk.ui.preferences.OverlayPreferenceStore;
import _org.eclipse.dltk.ui.text.folding.DefaultFoldingPreferenceConfigurationBlock;
import melnorme.lang.ide.ui.preferences.common.AbstractLangPreferencesPage;
import melnorme.lang.ide.ui.preferences.common.AbstractPreferencesBlockPrefPage;
import melnorme.lang.ide.ui.preferences.common.PreferencesPageContext;
import mmrnmhrm.ui.DeeUIPlugin;
import mmrnmhrm.ui.preferences.DeeDocFoldingPreferenceBlock;
import mmrnmhrm.ui.preferences.DeeSourceFoldingPreferenceBlock;
public class DeeFoldingPreferencePage extends AbstractPreferencesBlockPrefPage {
public final static String PAGE_ID = DeeUIPlugin.PLUGIN_ID + ".PreferencePages.Editor.Folding";
public DeeFoldingPreferencePage() {
super();
}
@Override
protected String getHelpId() {
return null;
}
@Override
protected DefaultFoldingPreferenceConfigurationBlock init_createPreferencesBlock(PreferencesPageContext prefContext) {
setPreferenceStore(DeeUIPlugin.getInstance().getPreferenceStore());
OverlayPreferenceStore overlayStore = new OverlayPreferenceStore(getPreferenceStore(), array());
return new DefaultFoldingPreferenceConfigurationBlock(overlayStore, this) {
@Override
protected DeeDocFoldingPreferenceBlock createDocumentationBlock(OverlayPreferenceStore store,
AbstractLangPreferencesPage page) {
return new DeeDocFoldingPreferenceBlock(store, page);
}
@Override
protected DeeSourceFoldingPreferenceBlock createSourceCodeBlock(OverlayPreferenceStore store,
AbstractLangPreferencesPage page) {
return new DeeSourceFoldingPreferenceBlock(store, page);
}
};
}
public DefaultFoldingPreferenceConfigurationBlock getPreferencesBlock() {
return (DefaultFoldingPreferenceConfigurationBlock) preferencesBlock;
}
@Override
public boolean performOk() {
getPreferencesBlock().performOk();
return super.performOk();
}
@Override
public void performDefaults() {
getPreferencesBlock().performDefaults();
super.performDefaults();
}
}