/******************************************************************************* * Copyright (c) 2007, 2014 compeople AG 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: * compeople AG - initial API and implementation *******************************************************************************/ package org.eclipse.riena.navigation.ui.swt.facades; import org.eclipse.swt.widgets.Tree; import org.eclipse.ui.application.WorkbenchAdvisor; import org.eclipse.riena.internal.navigation.ui.swt.IAdvisorHelper; import org.eclipse.riena.navigation.ui.controllers.ApplicationController; import org.eclipse.riena.navigation.ui.swt.IApplicationUtility; import org.eclipse.riena.navigation.ui.swt.views.ModuleNavigationListener; import org.eclipse.riena.ui.swt.facades.FacadeFactory; /** * Subclasses implement platform specific behavior for Eclipse 3.x, 4.x, and RAP. * * @since 5.0 */ public abstract class NavigationFacade { private static final NavigationFacade INSTANCE = FacadeFactory.newImpl(NavigationFacade.class); /** * The applicable implementation of this class. */ public static final NavigationFacade getDefault() { return INSTANCE; } /** * Attaches a platform specific {@link ModuleNavigationListener} instance to the given tree * * @param tree * a {@link Tree} instance; never null * @since 5.0 */ public abstract void attachModuleNavigationListener(Tree tree); /** * This method is only relevant for Riena on Eclipse 3.8 and RAP and should not be called with Riena on E4. * @since 6.1 */ public abstract WorkbenchAdvisor createWorkbenchAdvisor(ApplicationController applicationController, IAdvisorHelper advisorHelper); /** * @return an appropriate implementation of {@link IApplicationUtility} * @since 6.1 */ public abstract IApplicationUtility getApplicationUtility(); }