/******************************************************************************
* Copyright (c) 2011-2013, Linagora
*
* 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:
* Linagora - initial API and implementation
*******************************************************************************/
package com.ebmwebsourcing.petals.common.croquis.internal.provisional;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.widgets.Composite;
/**
* An interface to implement to register a new croquis extension.
* @author Vincent Zurczak - EBM WebSourcing
*/
public interface ICroquisExtension {
public static final String CROQUIS_PROJECT_NAME = "Petals-Croquis";
/**
* @return the name of the sub-directory that will contain these croquis
*/
String getSubDirectoryName();
/**
* @return the label to display in the projects viewer
*/
String getLabel();
/**
* @return the title to display in the wizard's list of croquis types
*/
String getTitle();
/**
* @return the description of the croquis wizard
*/
String getDescription();
/**
* @return a screen shot to display in the croquis wizard
*/
ImageDescriptor getScreenshot();
/**
* Adds widgets in the page given as parameter.
* @param parent the parent for the new widgets
* @param page the wizard page
*/
void createControl( Composite parent, CroquisNewWizardPage page );
/**
* This method is called by the croquis wizard on completion.
* <p>
* It is intended to create the required resources.
* </p>
*
* @param monitor the wizard's progress monitor
* @return a status indicating the result of the operation
*/
IStatus performFinish( IProgressMonitor monitor );
/**
* Executes actions after the perform finish, in the UI thread, e.g. open an editor.
*/
void performAfterFinish();
}