/*******************************************************************************
 * Copyright (c) 2010 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
 * http://www.eclipse.org/legal/epl-v10.html
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.equinox.p2.examples.rcp.cloud.p2;

public class PreferenceConstants {
	public static final String RESTART_POLICY = "restartPolicy"; //$NON-NLS-1$
	public static final String SHOW_LATEST_VERSION_ONLY = "showLatestVersionOnly"; //$NON-NLS-1$
	public static final String AVAILABLE_GROUP_BY_CATEGORY = "groupByCategory"; //$NON-NLS-1$
	public static final String AVAILABLE_SHOW_ALL_BUNDLES = "showAllBundlesAvailable"; //$NON-NLS-1$
	public static final String INSTALLED_SHOW_ALL_BUNDLES = "showAllBundlesInstalled"; //$NON-NLS-1$
	public static final String REPOSITORIES_VISIBLE = "repositoriesVisible";  //$NON-NLS-1$
	public static final String SHOW_DRILLDOWN_REQUIREMENTS = "showDrilldownRequirements";   //$NON-NLS-1$
	public static final String UPDATE_WIZARD_STYLE = "updateWizardStyle";  //$NON-NLS-1$
	public static final String UPDATE_DETAILS_WIDTH = "updateDetailsWidth"; //$NON-NLS-1$
	public static final String UPDATE_DETAILS_HEIGHT = "updateDetailsHeight"; //$NON-NLS-1$
	public static final String FILTER_ON_ENV = "filterOnEnv"; //$NON-NLS-1$
}
