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

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

/*******************************************************************************
 * Copyright (c) 2003, 2007 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;

import at.spardat.xma.boot.component.IDialog;


/**
 * Interface of all Pages or other Objects (like Notebook) which may be embedded
 * in other Pages.
 *
 * @author s2877
 */
public interface IEmbeddable extends at.spardat.xma.boot.component.IXMAControl {

    /**
     * Sets the containing dialog of the PageClient.
     * @param dialog
     */
    void setDialog(IDialog dialog);

    /**
     * Gets the containing dialog of the PageClient.
     */
    IDialog getDialog();


    /**
     * @return the string to show as context in the enclosing AppShell or dialog.
     */
    String getContextString();


    /**
     * Enables/disables GUI-events on the page and all its subpages.
     * @param enabled
     */
    void setEventsEnabled(boolean enabled);


    /**
     * Delegates the call of {@link at.spardat.xma.page.PageClient#determineStateBase()} to the embedded page or component.
     */
    void determineStateBase();

    /**
     * Delegates the call of {@link at.spardat.xma.page.PageClient#stateChangedExtend()} to the embedded page or component.
     */
    void stateChangedExtend();

    /**
     * Delegates the call of {@link at.spardat.xma.page.PageClient#stateChangedBaseImpl()} to the embedded page or component.
     */
    void stateChangedBaseImpl();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy