/*******************************************************************************
* Copyright (c) 2012-2017 Codenvy, S.A.
* 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:
* Codenvy, S.A. - initial API and implementation
*******************************************************************************/
package org.eclipse.che.ide.projecttype.wizard.presenter;
import com.google.inject.ImplementedBy;
import org.eclipse.che.ide.api.mvp.Presenter;
import org.eclipse.che.ide.api.mvp.View;
import org.eclipse.che.ide.api.project.type.wizard.ProjectWizardMode;
/**
* @author Evgen Vidolob
* @author Oleksii Orel
*/
@ImplementedBy(ProjectWizardViewImpl.class)
public interface ProjectWizardView extends View<ProjectWizardView.ActionDelegate> {
void showPage(Presenter presenter);
void showDialog(ProjectWizardMode wizardMode);
void setLoaderVisibility(boolean visible);
/** The method just close the dialog. For example after save button clicked. */
void close();
void setNextButtonEnabled(boolean enabled);
void setFinishButtonEnabled(boolean enabled);
void setPreviousButtonEnabled(boolean enabled);
interface ActionDelegate {
/** Performs any actions appropriate in response to the user having pressed the Next button */
void onNextClicked();
/** Performs any actions appropriate in response to the user having pressed the Back button */
void onBackClicked();
/** Performs any actions appropriate in response to the user having pressed the Create button */
void onSaveClicked();
/** Performs any actions appropriate in response to the user having pressed the Cancel button */
void onCancelClicked();
}
}