001    /*
002     * Copyright 2002 - 2007 JEuclid, http://jeuclid.sf.net
003     *
004     * Licensed under the Apache License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     *      http://www.apache.org/licenses/LICENSE-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    
017    /* $Id: LayoutStage.java,v 686a662dbcbe 2009/01/28 09:11:26 maxberger $ */
018    
019    package net.sourceforge.jeuclid.layout;
020    
021    /**
022     * Defines in what stage the current layout it.
023     * <p>
024     * The Stages are {@link #NONE}, {@link #STAGE1}, and {@link #STAGE2}.
025     * 
026     * @version $Revision: 686a662dbcbe $
027     */
028    public enum LayoutStage {
029        /**
030         * No layout done yet.
031         * <p>
032         * The {@link LayoutInfo} will not contain any useful information.
033         */
034        NONE,
035        /**
036         * Context-Insensitive Layout.
037         * <p>
038         * A Node in this stage has been layouted based on its own information and
039         * on the information of its children. The {@link LayoutInfo} is useful to
040         * do calculations such as stretching of parentheses.
041         */
042        STAGE1,
043        /**
044         * Full layout.
045         * <p>
046         * A node in this stage has been fully layouted, the {@link LayoutInfo} is
047         * current and final.
048         */
049        STAGE2,
050    }