mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-31 21:05:37 +02:00
Fix for 176389, preference UI for cache sizes.
This commit is contained in:
parent
7a2f549d31
commit
2d8f4698f2
11 changed files with 273 additions and 23 deletions
|
@ -136,6 +136,13 @@ public class IndexerPreferences {
|
|||
return props;
|
||||
}
|
||||
|
||||
public static Properties getDefaultIndexerProperties() {
|
||||
Preferences prefs= getDefaultPreferences();
|
||||
Properties props= new Properties();
|
||||
addProperties(prefs, props);
|
||||
return props;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds or changes indexer properties for a project.
|
||||
*/
|
||||
|
|
|
@ -19,6 +19,7 @@ import java.util.Map;
|
|||
import org.eclipse.cdt.core.CCorePlugin;
|
||||
import org.eclipse.cdt.core.CCorePreferenceConstants;
|
||||
import org.eclipse.cdt.core.formatter.DefaultCodeFormatterConstants;
|
||||
import org.eclipse.cdt.core.parser.CodeReaderCache;
|
||||
import org.eclipse.cdt.internal.core.model.CModelManager;
|
||||
import org.eclipse.cdt.internal.core.pdom.indexer.IndexerPreferences;
|
||||
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
|
||||
|
@ -44,8 +45,9 @@ public class CCorePreferenceInitializer extends AbstractPreferenceInitializer {
|
|||
defaultOptionsMap.put(CCorePreferenceConstants.CODE_FORMATTER, CCorePreferenceConstants.DEFAULT_CODE_FORMATTER);
|
||||
defaultOptionsMap.put(CCorePreferenceConstants.INDEX_DB_CACHE_SIZE_PCT, CCorePreferenceConstants.DEFAULT_INDEX_DB_CACHE_SIZE_PCT);
|
||||
defaultOptionsMap.put(CCorePreferenceConstants.MAX_INDEX_DB_CACHE_SIZE_MB, CCorePreferenceConstants.DEFAULT_MAX_INDEX_DB_CACHE_SIZE_MB);
|
||||
|
||||
defaultOptionsMap.put(CCorePreferenceConstants.WORKSPACE_LANGUAGE_MAPPINGS, CCorePreferenceConstants.DEFAULT_WORKSPACE_LANGUAGE_MAPPINGS);
|
||||
defaultOptionsMap.put(CodeReaderCache.CODE_READER_BUFFER, CodeReaderCache.DEFAULT_CACHE_SIZE_IN_MB_STRING);
|
||||
|
||||
// Store default values to default preferences
|
||||
IEclipsePreferences defaultPreferences = ((IScopeContext) new DefaultScope()).getNode(CCorePlugin.PLUGIN_ID);
|
||||
for (Iterator iter = defaultOptionsMap.entrySet().iterator(); iter.hasNext();) {
|
||||
|
|
|
@ -257,7 +257,6 @@ HideMacrodirective.description= Hides Macro directives
|
|||
WorkInProgress.name=Work In Progress
|
||||
|
||||
CDTSearch.name=Search
|
||||
CDTParser.name=Parser
|
||||
|
||||
CDTIndexerProperty.name=C/C++ Indexer
|
||||
|
||||
|
|
|
@ -669,11 +669,6 @@
|
|||
class="org.eclipse.cdt.internal.ui.preferences.CFileTypesPreferencePage"
|
||||
id="org.eclipse.cdt.ui.preferences.CFileTypesPreferences">
|
||||
</page>
|
||||
<page
|
||||
class="org.eclipse.cdt.internal.ui.preferences.CParserPreferencePage"
|
||||
category="org.eclipse.cdt.ui.preferences.CPluginPreferencePage"
|
||||
name="%CDTParser.name"
|
||||
id="org.eclipse.cdt.ui.preferences.CParserPreferencePage"/>
|
||||
<page
|
||||
name="%appearancePrefName"
|
||||
category="org.eclipse.cdt.ui.preferences.CPluginPreferencePage"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/**********************************************************************
|
||||
* Copyright (c) 2005 IBM Corporation and others.
|
||||
* Copyright (c) 2005, 2007 IBM Corporation and others.
|
||||
* 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
|
||||
|
@ -7,6 +7,7 @@
|
|||
*
|
||||
* Contributors:
|
||||
* IBM Corporation - initial API and implementation
|
||||
* Markus Schorn (Wind River Systems)
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.internal.ui.preferences;
|
||||
|
||||
|
@ -34,6 +35,8 @@ import org.eclipse.ui.IWorkbenchPreferencePage;
|
|||
|
||||
/**
|
||||
* @author dsteffle
|
||||
* @deprecated the one preference found on the page was moved to the
|
||||
* indexer preference page.
|
||||
*/
|
||||
public class CParserPreferencePage extends PreferencePage implements
|
||||
IWorkbenchPreferencePage {
|
||||
|
|
|
@ -17,12 +17,14 @@ import org.eclipse.core.runtime.NullProgressMonitor;
|
|||
import org.eclipse.core.runtime.Preferences;
|
||||
import org.eclipse.jface.preference.PreferencePage;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.layout.FillLayout;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
import org.eclipse.ui.IWorkbench;
|
||||
import org.eclipse.ui.IWorkbenchPreferencePage;
|
||||
|
||||
import org.eclipse.cdt.ui.dialogs.CacheSizeBlock;
|
||||
import org.eclipse.cdt.ui.dialogs.ICOptionContainer;
|
||||
import org.eclipse.cdt.ui.dialogs.IndexerBlock;
|
||||
|
||||
|
@ -30,16 +32,21 @@ public class IndexerPreferencePage extends PreferencePage implements
|
|||
IWorkbenchPreferencePage, ICOptionContainer {
|
||||
|
||||
private IndexerBlock fOptionBlock;
|
||||
private CacheSizeBlock fCacheBlock;
|
||||
|
||||
public IndexerPreferencePage(){
|
||||
fOptionBlock = new IndexerBlock();
|
||||
fCacheBlock= new CacheSizeBlock(this);
|
||||
}
|
||||
|
||||
protected Control createContents(Composite parent) {
|
||||
Composite composite = new Composite(parent, SWT.NONE);
|
||||
composite.setLayout(new FillLayout());
|
||||
composite.setLayout(new GridLayout());
|
||||
GridData gd= new GridData();
|
||||
composite.setLayoutData(gd);
|
||||
|
||||
fOptionBlock.createControl(composite);
|
||||
fCacheBlock.createControl(composite);
|
||||
|
||||
return composite;
|
||||
}
|
||||
|
@ -48,6 +55,18 @@ public class IndexerPreferencePage extends PreferencePage implements
|
|||
}
|
||||
|
||||
public void updateContainer() {
|
||||
if (!fOptionBlock.isValid()) {
|
||||
setErrorMessage(fOptionBlock.getErrorMessage());
|
||||
setValid(false);
|
||||
}
|
||||
else if (!fCacheBlock.isValid()) {
|
||||
setErrorMessage(fCacheBlock.getErrorMessage());
|
||||
setValid(false);
|
||||
}
|
||||
else {
|
||||
setErrorMessage(null);
|
||||
setValid(true);
|
||||
}
|
||||
}
|
||||
|
||||
public IProject getProject() {
|
||||
|
@ -61,11 +80,13 @@ public class IndexerPreferencePage extends PreferencePage implements
|
|||
public boolean performOk() {
|
||||
try {
|
||||
fOptionBlock.performApply(new NullProgressMonitor());
|
||||
fCacheBlock.performApply(new NullProgressMonitor());
|
||||
} catch (CoreException e) {}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void performDefaults() {
|
||||
fOptionBlock.performDefaults();
|
||||
fCacheBlock.performDefaults();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,9 +15,9 @@ import java.util.Properties;
|
|||
|
||||
import org.eclipse.core.resources.IProject;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.widgets.Button;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
|
@ -142,10 +142,10 @@ public abstract class AbstractIndexerPage extends AbstractCOptionPage {
|
|||
}
|
||||
|
||||
private Text createParseUpFrontTextField(Composite page) {
|
||||
new Label(page, SWT.NONE);
|
||||
ControlFactory.createLabel(page, DialogsMessages.AbstractIndexerPage_indexUpFront);
|
||||
Label l= ControlFactory.createLabel(page, DialogsMessages.AbstractIndexerPage_indexUpFront);
|
||||
((GridData) l.getLayoutData()).verticalIndent=5;
|
||||
return ControlFactory.createTextField(page);
|
||||
}
|
||||
}
|
||||
|
||||
private Button createAllFilesButton(Composite page) {
|
||||
return ControlFactory.createCheckBox(page, INDEX_ALL_FILES);
|
||||
|
|
|
@ -0,0 +1,175 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2007 Wind River Systems, Inc. and others.
|
||||
* 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:
|
||||
* Markus Schorn - initial API and implementation
|
||||
*******************************************************************************/
|
||||
package org.eclipse.cdt.ui.dialogs;
|
||||
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.preferences.InstanceScope;
|
||||
import org.eclipse.jface.preference.FieldEditor;
|
||||
import org.eclipse.jface.preference.IntegerFieldEditor;
|
||||
import org.eclipse.jface.util.IPropertyChangeListener;
|
||||
import org.eclipse.jface.util.PropertyChangeEvent;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Group;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.ui.preferences.ScopedPreferenceStore;
|
||||
|
||||
import org.eclipse.cdt.core.CCorePlugin;
|
||||
import org.eclipse.cdt.core.CCorePreferenceConstants;
|
||||
import org.eclipse.cdt.core.dom.CDOM;
|
||||
import org.eclipse.cdt.core.parser.CodeReaderCache;
|
||||
import org.eclipse.cdt.core.parser.ICodeReaderCache;
|
||||
import org.eclipse.cdt.utils.ui.controls.ControlFactory;
|
||||
|
||||
/**
|
||||
* This OptionPage is used in the IndexerPreference page to allow for adjusting
|
||||
* various parsing related caches.
|
||||
*/
|
||||
public class CacheSizeBlock extends AbstractCOptionPage {
|
||||
private IntegerFieldEditor fDBLimitPct;
|
||||
private IntegerFieldEditor fDBAbsoluteLimit;
|
||||
private IntegerFieldEditor fCodeReaderLimit;
|
||||
|
||||
private IPropertyChangeListener validityChangeListener = new IPropertyChangeListener() {
|
||||
public void propertyChange(PropertyChangeEvent event) {
|
||||
if (event.getProperty().equals(FieldEditor.IS_VALID)) {
|
||||
updateValidState();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public CacheSizeBlock(ICOptionContainer container){
|
||||
setContainer(container);
|
||||
}
|
||||
|
||||
public void createControl(Composite parent) {
|
||||
GridData gd;
|
||||
GridLayout gl;
|
||||
Composite composite = ControlFactory.createComposite(parent, 1);
|
||||
gl= (GridLayout)composite.getLayout();
|
||||
int hindent= gl.marginWidth + gl.marginLeft;
|
||||
int vindent= gl.marginHeight + gl.marginTop;
|
||||
gl.marginWidth= 0;
|
||||
|
||||
gd= (GridData) composite.getLayoutData();
|
||||
gd.grabExcessHorizontalSpace= false;
|
||||
gd.horizontalAlignment= GridData.FILL;
|
||||
|
||||
setControl(composite);
|
||||
|
||||
Group group= ControlFactory.createGroup(composite, Messages.CacheSizeBlock_cacheLimitGroup, 1);
|
||||
gd= (GridData) group.getLayoutData();
|
||||
gd.grabExcessHorizontalSpace= true;
|
||||
gd.horizontalAlignment= GridData.FILL;
|
||||
|
||||
Composite cacheComp= ControlFactory.createComposite(group, 3);
|
||||
|
||||
Label dbCacheLabel= ControlFactory.createLabel(cacheComp, Messages.CacheSizeBlock_indexDatabaseCache);
|
||||
fDBLimitPct= new IntegerFieldEditor(CCorePreferenceConstants.INDEX_DB_CACHE_SIZE_PCT, Messages.CacheSizeBlock_limitRelativeToMaxHeapSize, cacheComp, 3);
|
||||
fDBLimitPct.setValidRange(1, 40);
|
||||
ControlFactory.createLabel(cacheComp, "%"); //$NON-NLS-1$
|
||||
|
||||
fDBAbsoluteLimit= new IntegerFieldEditor(CCorePreferenceConstants.MAX_INDEX_DB_CACHE_SIZE_MB, Messages.CacheSizeBlock_absoluteLimit, cacheComp, 4);
|
||||
fDBAbsoluteLimit.setValidRange(1, 10000);
|
||||
ControlFactory.createLabel(cacheComp, "mb"); //$NON-NLS-1$
|
||||
|
||||
Label codeReaderLabel= ControlFactory.createLabel(cacheComp, Messages.CacheSizeBlock_headerFileCache);
|
||||
fCodeReaderLimit= new IntegerFieldEditor(CodeReaderCache.CODE_READER_BUFFER, Messages.CacheSizeBlock_absoluteLimit, cacheComp, 4);
|
||||
fCodeReaderLimit.setValidRange(1, 10000);
|
||||
ControlFactory.createLabel(cacheComp, "mb"); //$NON-NLS-1$
|
||||
|
||||
gl= (GridLayout) cacheComp.getLayout();
|
||||
gl.numColumns= 3;
|
||||
gl.makeColumnsEqualWidth= false;
|
||||
gl.marginLeft= 0;
|
||||
|
||||
gd= (GridData) dbCacheLabel.getLayoutData();
|
||||
gd.horizontalSpan= 3;
|
||||
|
||||
gd= (GridData) codeReaderLabel.getLayoutData();
|
||||
gd.verticalIndent= vindent;
|
||||
gd.horizontalSpan= 3;
|
||||
|
||||
gd= new GridData();
|
||||
gd.grabExcessHorizontalSpace= true;
|
||||
gd.horizontalAlignment= GridData.FILL;
|
||||
gd.horizontalIndent= hindent;
|
||||
fDBLimitPct.getLabelControl(cacheComp).setLayoutData(gd);
|
||||
|
||||
gd= new GridData();
|
||||
gd.grabExcessHorizontalSpace= true;
|
||||
gd.horizontalAlignment= GridData.FILL;
|
||||
gd.horizontalIndent= hindent;
|
||||
fDBAbsoluteLimit.getLabelControl(cacheComp).setLayoutData(gd);
|
||||
|
||||
gd= new GridData();
|
||||
gd.grabExcessHorizontalSpace= true;
|
||||
gd.horizontalAlignment= GridData.FILL;
|
||||
gd.horizontalIndent= hindent;
|
||||
fCodeReaderLimit.getLabelControl(cacheComp).setLayoutData(gd);
|
||||
|
||||
initializeValues();
|
||||
}
|
||||
|
||||
private void initializeValues() {
|
||||
ScopedPreferenceStore prefStore= new ScopedPreferenceStore(new InstanceScope(), CCorePlugin.PLUGIN_ID);
|
||||
|
||||
fDBLimitPct.setPreferenceStore(prefStore);
|
||||
fDBLimitPct.setPropertyChangeListener(validityChangeListener);
|
||||
fDBAbsoluteLimit.setPreferenceStore(prefStore);
|
||||
fDBAbsoluteLimit.setPropertyChangeListener(validityChangeListener);
|
||||
fCodeReaderLimit.setPreferenceStore(prefStore);
|
||||
fCodeReaderLimit.setPropertyChangeListener(validityChangeListener);
|
||||
|
||||
fDBLimitPct.load();
|
||||
fDBAbsoluteLimit.load();
|
||||
fCodeReaderLimit.load();
|
||||
}
|
||||
|
||||
public void performApply(IProgressMonitor monitor) throws CoreException {
|
||||
fDBLimitPct.store();
|
||||
fDBAbsoluteLimit.store();
|
||||
fCodeReaderLimit.store();
|
||||
|
||||
// code reader cache does not listen for pref-changes, help out:
|
||||
ICodeReaderCache cache = CDOM.getInstance().getCodeReaderFactory(CDOM.PARSE_SAVED_RESOURCES).getCodeReaderCache();
|
||||
if (cache instanceof CodeReaderCache) {
|
||||
((CodeReaderCache)cache).setCacheSize(fCodeReaderLimit.getIntValue());
|
||||
}
|
||||
}
|
||||
|
||||
public void performDefaults() {
|
||||
fDBLimitPct.loadDefault();
|
||||
fDBAbsoluteLimit.loadDefault();
|
||||
fCodeReaderLimit.loadDefault();
|
||||
}
|
||||
|
||||
private void updateValidState() {
|
||||
if (!fDBLimitPct.isValid()) {
|
||||
setErrorMessage(fDBLimitPct.getErrorMessage());
|
||||
setValid(false);
|
||||
}
|
||||
else if (!fDBAbsoluteLimit.isValid()) {
|
||||
setErrorMessage(fDBAbsoluteLimit.getErrorMessage());
|
||||
setValid(false);
|
||||
}
|
||||
else if (!fCodeReaderLimit.isValid()) {
|
||||
setErrorMessage(fCodeReaderLimit.getErrorMessage());
|
||||
setValid(false);
|
||||
}
|
||||
else {
|
||||
setValid(true);
|
||||
}
|
||||
getContainer().updateContainer();
|
||||
}
|
||||
}
|
|
@ -70,6 +70,7 @@ public class IndexerBlock extends AbstractCOptionPage {
|
|||
private Properties fCurrentProperties;
|
||||
private ControlEnableState fEnableState;
|
||||
private Composite fPreferenceContent;
|
||||
private Composite fParent;
|
||||
|
||||
public IndexerBlock(){
|
||||
super(INDEXER_LABEL);
|
||||
|
@ -113,12 +114,12 @@ public class IndexerBlock extends AbstractCOptionPage {
|
|||
}
|
||||
|
||||
public void createControl(Composite parent) {
|
||||
fParent= parent;
|
||||
|
||||
Composite composite = ControlFactory.createComposite(parent, 1);
|
||||
GridLayout layout= ((GridLayout)composite.getLayout());
|
||||
layout.marginHeight= 0;
|
||||
layout.marginWidth= 0;
|
||||
layout.verticalSpacing= 0;
|
||||
layout.horizontalSpacing= GridData.FILL_HORIZONTAL;
|
||||
|
||||
composite.setLayoutData(null);
|
||||
setControl(composite);
|
||||
|
||||
|
@ -132,15 +133,17 @@ public class IndexerBlock extends AbstractCOptionPage {
|
|||
}
|
||||
|
||||
fPreferenceContent= ControlFactory.createComposite(composite, 1);
|
||||
layout= ((GridLayout)fPreferenceContent.getLayout());
|
||||
layout= (GridLayout)fPreferenceContent.getLayout();
|
||||
layout.marginHeight= 0;
|
||||
layout.marginWidth= 0;
|
||||
GridData gd= (GridData) fPreferenceContent.getLayoutData();
|
||||
gd.horizontalIndent= 0;
|
||||
|
||||
Composite isc = ControlFactory.createComposite(fPreferenceContent, 1);
|
||||
GridLayout gridLayout = ((GridLayout)isc.getLayout());
|
||||
gridLayout.makeColumnsEqualWidth= false;
|
||||
gridLayout.marginHeight = 0;
|
||||
gridLayout.marginTop = 5;
|
||||
gridLayout.marginWidth= 0;
|
||||
|
||||
// add combo to select indexer
|
||||
Group group= ControlFactory.createGroup(isc,INDEXER_COMBO_LABEL, 1);
|
||||
|
@ -159,7 +162,7 @@ public class IndexerBlock extends AbstractCOptionPage {
|
|||
initializeScope();
|
||||
initializeIndexerCombo();
|
||||
onPreferenceScopeChange();
|
||||
parent.layout(true);
|
||||
fParent.layout(true);
|
||||
}
|
||||
|
||||
private void enablePreferenceContent(boolean enable) {
|
||||
|
@ -221,6 +224,10 @@ public class IndexerBlock extends AbstractCOptionPage {
|
|||
}
|
||||
fCurrentProperties= props;
|
||||
}
|
||||
updateForNewProperties(scope);
|
||||
}
|
||||
|
||||
private void updateForNewProperties(int scope) {
|
||||
String indexerId= fCurrentProperties.getProperty(IndexerPreferences.KEY_INDEXER_ID);
|
||||
String indexerName = getIndexerName(indexerId);
|
||||
String[] indexerList = fIndexersComboBox.getItems();
|
||||
|
@ -266,6 +273,7 @@ public class IndexerBlock extends AbstractCOptionPage {
|
|||
page.setContainer(getContainer());
|
||||
page.createControl(fIndexerPageComposite);
|
||||
fIndexerPageComposite.layout(true);
|
||||
fParent.layout(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -362,9 +370,14 @@ public class IndexerBlock extends AbstractCOptionPage {
|
|||
|
||||
public void performDefaults() {
|
||||
fCurrentProperties= null;
|
||||
fPrefScopeBlock.setInstanceScope();
|
||||
onPreferenceScopeChange();
|
||||
|
||||
if (fPrefScopeBlock != null) {
|
||||
fPrefScopeBlock.setInstanceScope();
|
||||
onPreferenceScopeChange();
|
||||
}
|
||||
else {
|
||||
fCurrentProperties= IndexerPreferences.getDefaultIndexerProperties();
|
||||
updateForNewProperties(IndexerPreferences.SCOPE_INSTANCE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2007 Wind River Systems, Inc. and others.
|
||||
* 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:
|
||||
* Markus Schorn - initial API and implementation
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.cdt.ui.dialogs;
|
||||
|
||||
import org.eclipse.osgi.util.NLS;
|
||||
|
||||
public class Messages extends NLS {
|
||||
private static final String BUNDLE_NAME = "org.eclipse.cdt.ui.dialogs.messages"; //$NON-NLS-1$
|
||||
public static String CacheSizeBlock_absoluteLimit;
|
||||
public static String CacheSizeBlock_cacheLimitGroup;
|
||||
public static String CacheSizeBlock_headerFileCache;
|
||||
public static String CacheSizeBlock_indexDatabaseCache;
|
||||
public static String CacheSizeBlock_limitRelativeToMaxHeapSize;
|
||||
static {
|
||||
// initialize resource bundle
|
||||
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
|
||||
}
|
||||
|
||||
private Messages() {
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
CacheSizeBlock_cacheLimitGroup=Cache limits
|
||||
CacheSizeBlock_indexDatabaseCache=Index database cache:
|
||||
CacheSizeBlock_limitRelativeToMaxHeapSize=Limit relative to the maximum heap size:
|
||||
CacheSizeBlock_absoluteLimit=Absolute Limit:
|
||||
CacheSizeBlock_headerFileCache=Header file cache (used by full indexer and refactoring):
|
Loading…
Add table
Reference in a new issue