blob: 54da783c345d5e7f38304d09085b105d10f98959 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012 Rushan R. Gilmullin 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:
* Rushan R. Gilmullin - initial API and implementation
*******************************************************************************/
package org.eclipse.osbp.vaaclipse.emf.api.perspective;
import org.eclipse.e4.core.contexts.IEclipseContext;
import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
/**
* Provides layouts for a given perspective.
*/
public interface IPerspectiveLayoutProvider {
/**
* Returns the description for the provider.
*
* @return
*/
String getDescription(IEclipseContext context);
/**
* Is called to layout the given perspective. At this point in time, the
* perspective is not added to the stack. You do not have to do so. It will
* be done automatically if the perspective was added.
*
* @param context
* @param stack
* @param perspective
*/
void layout(IEclipseContext context, MPerspective perspective);
/**
* This method is called after the perspective has been added to the stack.
*
* @param context
* @param perspective
*/
void postAdded(IEclipseContext context, MPerspective perspective);
}