001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041:
042: package org.netbeans.modules.form.layoutdesign;
043:
044: /**
045: * @author Tomas Pavek
046: */
047:
048: public interface LayoutConstants {
049:
050: // size constants
051:
052: /**
053: * Indicates a size or position not defined in the layout model; it must
054: * be obtained elsewhere (e.g. from a real component).
055: */
056: int NOT_EXPLICITLY_DEFINED = -1;
057:
058: /**
059: * Specifies that a min or max size value should be the same as
060: * the preferred size value.
061: */
062: int USE_PREFERRED_SIZE = -2;
063:
064: /**
065: * Possible types of preferred default gaps (paddings).
066: */
067: enum PaddingType {
068: RELATED, UNRELATED, INDENT, SEPARATE
069: }
070:
071: // keep this order for old tests using int (so the index matches the old number)
072:
073: final PaddingType[] PADDINGS = { PaddingType.RELATED,
074: PaddingType.UNRELATED, PaddingType.INDENT,
075: PaddingType.SEPARATE };
076:
077: // structure type constants
078:
079: /**
080: * Indicates a single layout interval without internal structure.
081: */
082: int SINGLE = 101;
083:
084: /**
085: * Indicates a layout interval containing a sequence of sub-intervals
086: * (placed one after anoother).
087: */
088: int SEQUENTIAL = 102;
089:
090: /**
091: * Indicates a layout interval containing sub-intervals arranged parallely.
092: */
093: int PARALLEL = 103;
094:
095: // alignment constants (independent on orientation/axis)
096: // also serves the role of index to array of positions
097:
098: int DEFAULT = -1;
099: int LEADING = 0;
100: int TRAILING = 1;
101: int CENTER = 2;
102: int BASELINE = 3;
103:
104: // orientation constants (dimensions)
105:
106: /**
107: * Constant/index of the horizontal orientation (X axis).
108: */
109: int HORIZONTAL = 0;
110:
111: /**
112: * Constant/index of the vertical orientation (Y axis).
113: */
114: int VERTICAL = 1;
115:
116: /**
117: * The number of dimensions. Obviously 2 ;)
118: */
119: int DIM_COUNT = 2;
120:
121: // other constants
122:
123: // int MAX_OUT = Short.MAX_VALUE;
124: // int MIN_OUT = Short.MIN_VALUE;
125: String PROP_HORIZONTAL_MIN_SIZE = "horizontalMinSize"; // NOI18N
126: String PROP_HORIZONTAL_PREF_SIZE = "horizontalPrefSize"; // NOI18N
127: String PROP_HORIZONTAL_MAX_SIZE = "horizontalMaxSize"; // NOI18N
128: String PROP_VERTICAL_MIN_SIZE = "verticalMinSize"; // NOI18N
129: String PROP_VERTICAL_PREF_SIZE = "verticalPrefSize"; // NOI18N
130: String PROP_VERTICAL_MAX_SIZE = "verticalMaxSize"; // NOI18N
131:
132: // are components in same linksizegroup?
133: int INVALID = -1;
134: int FALSE = 0;
135: int TRUE = 1;
136: }
|