001 package org.apache.myfaces.tobago.taglib.component; 002 003 /* 004 * Licensed to the Apache Software Foundation (ASF) under one or more 005 * contributor license agreements. See the NOTICE file distributed with 006 * this work for additional information regarding copyright ownership. 007 * The ASF licenses this file to You under the Apache License, Version 2.0 008 * (the "License"); you may not use this file except in compliance with 009 * the License. You may obtain a copy of the License at 010 * 011 * http://www.apache.org/licenses/LICENSE-2.0 012 * 013 * Unless required by applicable law or agreed to in writing, software 014 * distributed under the License is distributed on an "AS IS" BASIS, 015 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 016 * See the License for the specific language governing permissions and 017 * limitations under the License. 018 */ 019 020 import org.apache.myfaces.tobago.apt.annotation.BodyContent; 021 import org.apache.myfaces.tobago.apt.annotation.Tag; 022 import org.apache.myfaces.tobago.apt.annotation.UIComponentTag; 023 import org.apache.myfaces.tobago.taglib.decl.HasBinding; 024 import org.apache.myfaces.tobago.taglib.decl.HasBorder; 025 import org.apache.myfaces.tobago.taglib.decl.HasCellspacing; 026 import org.apache.myfaces.tobago.taglib.decl.HasColumnLayout; 027 import org.apache.myfaces.tobago.taglib.decl.HasId; 028 import org.apache.myfaces.tobago.taglib.decl.HasMargin; 029 import org.apache.myfaces.tobago.taglib.decl.HasMargins; 030 import org.apache.myfaces.tobago.taglib.decl.HasRowLayout; 031 032 /* 033 * Date: 14.03.2006 034 * Time: 16:58:13 035 */ 036 037 /** 038 * Renders a GridLayout. 039 * <pre> 040 * columns/rows ::= LAYOUT 041 * LAYOUT ::= TOKEN [";" TOKEN]+ 042 * TOKEN ::= FIXED | PIXEL | PROPORTIONAL 043 * FIXED ::= "fixed" 044 * PIXEL ::= NUMBER "px" 045 * PROPORTIONAL ::= [NUMBER] "*" 046 * </pre> 047 * <p/> 048 * <table border="1"> 049 * <tr> 050 * <th>Parent</th> 051 * <th>Child</th> 052 * <th>Okay?</th> 053 * <th>Remarks</th> 054 * </tr> 055 * <tr> 056 * <td>FIXED</td> 057 * <td>any combination of FIXED or PIXEL but no PROPORTIONAL</td> 058 * <td>okay</td> 059 * <td>-</td> 060 * </tr> 061 * <tr> 062 * <td>FIXED</td> 063 * <td>any combination with at least one PROPORTIONAL</td> 064 * <td>wrong</td> 065 * <td>LayoutManager cannot compute the fixed value.</td> 066 * </tr> 067 * <tr> 068 * <td>PIXEL</td> 069 * <td>any combination of FIXED or PIXEL but no PROPORTIONAL</td> 070 * <td>potentially wrong</td> 071 * <td>The values depend on each other, the programmer has to keep consistency manually.</td> 072 * </tr> 073 * <tr> 074 * <td>PIXEL</td> 075 * <td>any combination with at least one PROPORTIONAL</td> 076 * <td>okay</td> 077 * <td>-</td> 078 * </tr> 079 * <tr> 080 * <td>PROPORTIONAL</td> 081 * <td>any combination of FIXED or PIXEL but no PROPORTIONAL</td> 082 * <td>potentially wrong</td> 083 * <td>No automatical matching:<ul><li>too little space: scrollbar</li> 084 * <li>too much space: elements will be spreaded.</li></ul></td> 085 * </tr> 086 * <tr> 087 * <td>PROPORTIONAL</td> 088 * <td>any combination with at least one PROPORTIONAL</td> 089 * <td>okay</td> 090 * <td>-</td> 091 * </tr> 092 * </table> 093 */ 094 @Tag(name = "gridLayout", bodyContent = BodyContent.EMPTY) 095 @UIComponentTag( 096 uiComponent = "org.apache.myfaces.tobago.component.UIGridLayout", 097 rendererType = "GridLayout") 098 public interface GridLayoutTagDeclaration extends TobagoTagDeclaration, HasId, HasBorder, HasCellspacing, HasMargin, 099 HasMargins, HasColumnLayout, HasRowLayout, HasBinding { 100 }