All Downloads are FREE. Search and download functionalities are using the official Maven repository.

at.spardat.xma.page.WizardSubPageInfo Maven / Gradle / Ivy

/*******************************************************************************
 * Copyright (c) 2003, 2009 s IT Solutions AT Spardat GmbH .
 * 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:
 *     s IT Solutions AT Spardat GmbH - initial API and implementation
 *******************************************************************************/
package at.spardat.xma.page;

/**
 * Simple helper class to hold the page to embed and the necessary additional
 * information for one step into a wizard flow.
 * Every single step in a wizard can have (an optional) explanation area,
 * what is a white colored area on top of the wizard window that contains
 * an (optional) title, a (mandatory) text and an (optional) icon/image
 * @see WizardPageClient
 * @author laslovd
 * @since 2.1.0
 */
public class WizardSubPageInfo {

    /**
     * Page to be used in this wizard step
     * mandatory for each step
     */
    public IEmbeddable page;

    /**
     * Optional title in the explanation area.
     * Default = null.
     */
    public String explanationTitle;

    /**
     * Text in the explanation area. if null, the explanation area will
     * be hidden for that step, independent from other explanation area settings
     * Default = null.
     */
    public String explanationText;

    /**
     * Optional UIR for the right side image in the explanation area.
     * If null, no image will be displayed. Must be a valid classpath URI.
     * Default = null.
     */
    public String explanationImageUri;

    /**
     * Triggers if on the current page the wizard flow can be finished.
     * Will be ignored, if isLastPage == true.
     * Default = false.
     */
    public boolean mayCompletePremature;

    /**
     * Defines that the current step is the first one in the wizard flow and
     * so the "previous" button is disabled. Exactly one WizardSubPageInfo object
     * has to have this flag.
     * Default = false.
     */
    public boolean isLastPage;

    /**
     * Defines that the current step is the last one in the wizard flow and
     * so the "next" button is disabled and the "finished" button enabled.
     * Exactly one WizardSubPageInfo object has to have this flag.
     * Default = false.
     */
    public boolean isFirstPage;

    /**
     * Constructor for initializing all the possible settings
     * @param page
     * @param explanationTitle
     * @param explanationText
     * @param explanationImageUri
     * @param mayCompletePremature
     * @param isFirstPage
     * @param isLastPage
     */
    public WizardSubPageInfo ( IEmbeddable page, String explanationTitle, String explanationText, String explanationImageUri, boolean mayCompletePremature, boolean isFirstPage, boolean isLastPage ) {
        this.page                 = page;
        this.explanationTitle     = explanationTitle;
        this.explanationText      = explanationText;
        this.explanationImageUri  = explanationImageUri;
        this.mayCompletePremature = mayCompletePremature;
        this.isFirstPage          = isFirstPage;
        this.isLastPage           = isLastPage;
    }

    /**
     * Constructor for initializing first or last page without explanation stuff
     * @param page
     * @param isFirstPage
     * @param isLastPage
     */
    public WizardSubPageInfo ( IEmbeddable page, boolean isFirstPage, boolean isLastPage ) {
        this(page,null,null,null,false,isFirstPage,isLastPage);
    }

    /**
     * Constructor for initializing a non-first or -last page with explanation texts
     * and early finish option
     * @param page
     * @param explanationTitle
     * @param explanationText
     * @param mayCompletePremature
     */
    public WizardSubPageInfo ( IEmbeddable page, String explanationTitle, String explanationText, boolean mayCompletePremature ) {
        this(page,explanationTitle,explanationText,null,mayCompletePremature,false,false);
    }

    /**
     * Constructor for initializing a non-first or -last page with explanation texts
     * @param page
     * @param explanationTitle
     * @param explanationText
     */
    public WizardSubPageInfo ( IEmbeddable page, String explanationTitle, String explanationText ) {
        this(page,explanationTitle,explanationText,null,false,false,false);
    }

    /**
     * Constructor for initializing a non-first or -last page with explanation texts, image
     * and early finish option
     * @param page
     * @param explanationTitle
     * @param explanationText
     * @param explanationImageUri
     * @param mayCompletePremature
     */
    public WizardSubPageInfo ( IEmbeddable page, String explanationTitle, String explanationText, String explanationImageUri, boolean mayCompletePremature ) {
        this(page,explanationTitle,explanationText,explanationImageUri,mayCompletePremature,false,false);
    }

    /**
     * Constructor for initializing a non-first or -last page with explanation texts and image
     * @param page
     * @param explanationTitle
     * @param explanationText
     * @param explanationImageUri
     */
    public WizardSubPageInfo ( IEmbeddable page, String explanationTitle, String explanationText, String explanationImageUri ) {
        this(page,explanationTitle,explanationText,explanationImageUri,false,false,false);
    }

    /**
      * Constructor for initializing a non-first or last page without explanation stuff
      * but with option for early finish
     * @param page
     * @param mayCompletePremature
     */
    public WizardSubPageInfo ( IEmbeddable page, boolean mayCompletePremature ) {
        this(page,null,null,null,mayCompletePremature,false,false);
    }

    /**
      * Constructor for initializing a non-first or last page without explanation stuff
     * @param page
     */
    public WizardSubPageInfo ( IEmbeddable page ) {
        this(page,null,null,null,false,false,false);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy