blob: 16526141f38021733bd01fd05a9952d398c032a1 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011, 2018 Ericsson
*
* All rights reserved. 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:
* Bernd Hufmann - Initial API and implementation
******************************************************************************/
package org.eclipse.tracecompass.internal.tmf.ui.preferences;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.tracecompass.internal.tmf.ui.Activator;
import org.eclipse.tracecompass.internal.tmf.ui.ITmfUIPreferences;
import org.eclipse.tracecompass.internal.tmf.ui.Messages;
import org.eclipse.tracecompass.tmf.ui.project.model.TmfProjectElement;
import org.eclipse.tracecompass.tmf.ui.project.model.TmfProjectRegistry;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
/**
* Top Level Preference Page for Tracing.
*
* @version 1.0
* @author Bernd Hufmann
*/
public class TmfTracingPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
// ------------------------------------------------------------------------
// Constructors
// ------------------------------------------------------------------------
// ------------------------------------------------------------------------
// Operations
// ------------------------------------------------------------------------
/**
* Preferences
*/
public TmfTracingPreferencePage() {
super(FieldEditorPreferencePage.GRID);
// Set the preference store for the preference page.
IPreferenceStore store = Activator.getDefault().getPreferenceStore();
setPreferenceStore(store);
}
@Override
public void init(IWorkbench workbench) {
// Nothing to do yet!
}
@Override
protected void createFieldEditors() {
BooleanFieldEditor explorerRange = new BooleanFieldEditor(ITmfUIPreferences.TRACE_DISPLAY_RANGE_PROJECTEXPLORER,
Messages.TmfTracingPreferencePage_TraceRangeInProjectExplorer, getFieldEditorParent());
addField(explorerRange);
BooleanFieldEditor confirmDeletionSupplementaryFiles = new BooleanFieldEditor(ITmfUIPreferences.CONFIRM_DELETION_SUPPLEMENTARY_FILES,
Messages.TmfTracingPreferencePage_ConfirmDeletionSupplementaryFiles, getFieldEditorParent());
addField(confirmDeletionSupplementaryFiles);
BooleanFieldEditor resourceRefresh = new BooleanFieldEditor(ITmfUIPreferences.ALWAYS_CLOSE_ON_RESOURCE_CHANGE,
Messages.TmfTracingPreferencePage_AlwaysCloseOnResourceChange, getFieldEditorParent());
addField(resourceRefresh);
BooleanFieldEditor treeXyWarning = new BooleanFieldEditor(ITmfUIPreferences.HIDE_MANY_ENTRIES_SELECTED_TOGGLE,
Messages.TmfTracingPreferencePage_HideManyEntriesSelectedWarning, getFieldEditorParent());
addField(treeXyWarning);
BooleanFieldEditor useBrowserTooltips = new BooleanFieldEditor(ITmfUIPreferences.USE_BROWSER_TOOLTIPS,
Messages.TmfTracingPreferencePage_UseBrowserTooltips, getFieldEditorParent());
addField(useBrowserTooltips);
}
@Override
public boolean performOk() {
boolean performOK = super.performOk();
for (IProject project : ResourcesPlugin.getWorkspace().getRoot().getProjects()) {
TmfProjectElement projectElement = TmfProjectRegistry.getProject(project);
if (projectElement != null) {
projectElement.refresh();
}
}
return performOK;
}
}