/** * This file is protected by Copyright. * Please refer to the COPYRIGHT file distributed with this source distribution. * * This file is part of REDHAWK IDE. * * 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. * */ package gov.redhawk.sca.ui.compatibility; import java.security.Principal; import org.eclipse.jface.viewers.ComboViewer; import org.eclipse.swt.graphics.FontData; import org.eclipse.swt.widgets.Display; /** * @since 9.0 */ public final class CompatibilityUtil { private static enum SafeCompatibilityUtil implements ICompatibilityUtil { INSTANCE; private ICompatibilityUtil provider = new CompatibilityUtilImpl(); @Override public void setFontDataStyle(FontData fontData, int style) { provider.setFontDataStyle(fontData, style); } @Override public void disableComboWheelScrollSelect(ComboViewer viewer) { provider.disableComboWheelScrollSelect(viewer); } @Override public Principal getUserPrincipal(Display display) { return provider.getUserPrincipal(display); } @Override public void runInFakeUIContext(Display display, Runnable runnable) { provider.runInFakeUIContext(display, runnable); } @Override public void activateUIConnection(String id) { provider.activateUIConnection(id); } @Override public void deactivateUIConnection(String id) { provider.deactivateUIConnection(id); } @Override public void executeOnRequestThread(Runnable runnable) { provider.executeOnRequestThread(runnable); } } private CompatibilityUtil() { //Prevent instantiation } public static void setFontDataStyle(FontData fontData, int style) { SafeCompatibilityUtil.INSTANCE.setFontDataStyle(fontData, style); } /** * @since 9.1 */ public static void disableComboWheelScrollSelect(ComboViewer viewer) { SafeCompatibilityUtil.INSTANCE.disableComboWheelScrollSelect(viewer); } /** * @since 9.1 */ public static Principal getUserPrincipal(Display display) { return SafeCompatibilityUtil.INSTANCE.getUserPrincipal(display); } /** * @since 9.1 */ public static void runInFakeUIContext(Display display, Runnable runnable) { SafeCompatibilityUtil.INSTANCE.runInFakeUIContext(display, runnable); } /** * @since 9.3 */ public static void executeOnRequestThread(Runnable runnable) { SafeCompatibilityUtil.INSTANCE.executeOnRequestThread(runnable); } /** * @since 9.1 */ public static void activateUIConnection(String id) { SafeCompatibilityUtil.INSTANCE.activateUIConnection(id); } /** * @since 9.1 */ public static void deactivateUIConnection(String id) { SafeCompatibilityUtil.INSTANCE.deactivateUIConnection(id); } }