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

org.eclipse.ui.internal.ILayoutContainer Maven / Gradle / Ivy

Go to download

This plug-in contains the bulk of the Workbench implementation, and depends on JFace, SWT, and Core Runtime. It cannot be used independently from org.eclipse.ui. Workbench client plug-ins should not depend directly on this plug-in.

The newest version!
/*******************************************************************************
 * Copyright (c) 2000, 2005 IBM Corporation 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:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.ui.internal;

public interface ILayoutContainer {
    public boolean allowsAdd(LayoutPart toAdd);
    
    /**
     * Add a child to the container.
     */
    public void add(LayoutPart newPart);

    /**
     * Returns a list of layout children.
     */
    public LayoutPart[] getChildren();

    /**
     * Remove a child from the container.
     */
    public void remove(LayoutPart part);

    /**
     * Replace one child with another
     */
    public void replace(LayoutPart oldPart, LayoutPart newPart);
    
    public void findSashes(LayoutPart toFind, PartPane.Sashes result);

    /**
     * When a layout part closes, focus will return to the previously active part.
     * This method determines whether the parts in this container should participate
     * in this behavior. If this method returns true, its parts may automatically be
     * given focus when another part is closed. 
     * 
     * @return true iff the parts in this container may be given focus when the active
     * part is closed
     */
    public boolean allowsAutoFocus();

    /**
     * Called by child parts to request a zoom in, given an immediate child 
     * 
     * @param toZoom
     * @since 3.1
     */
    public void childRequestZoomIn(LayoutPart toZoom);
    
    /**
     * Called by child parts to request a zoom out
     * 
     * @since 3.1
     */
    public void childRequestZoomOut();
    
    /**
     * Returns true iff the given child is obscured due to the fact that the container is zoomed into
     * another part. 
     * 
     * @param toTest
     * @return
     * @since 3.1
     */
    public boolean childObscuredByZoom(LayoutPart toTest);
    
    /**
     * Returns true iff we are zoomed into the given part, given an immediate child of this container.
     * 
     * @param toTest
     * @return
     * @since 3.1
     */
    public boolean childIsZoomed(LayoutPart toTest);

    /**
     * Called when the preferred size of the given child has changed, requiring a
     * layout to be triggered.
     * 
     * @param childThatChanged the child that triggered the new layout
     */
    public void resizeChild(LayoutPart childThatChanged);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy