You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2015/09/18 11:02:29 UTC

svn commit: r1703781 [1/3] - in /myfaces/tobago/branches/tobago-3.0.x: ./ tobago-core/src/main/java/org/apache/myfaces/tobago/component/ tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/ tobago-core/src/main/java/org/apache/myfaces/tobago/i...

Author: lofwyr
Date: Fri Sep 18 09:02:27 2015
New Revision: 1703781

URL: http://svn.apache.org/viewvc?rev=1703781&view=rev
Log:
TOBAGO-1493: Consolidate interfaces LayoutContainer, LayoutBox, LayoutBase, LayoutComponent, ...

Removed:
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/DeprecatedDimensionRule.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/layout/LayoutBase.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/layout/LayoutBox.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/layout/LayoutComponent.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/layout/LayoutContainer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PopupRendererOld.java
Modified:
    myfaces/tobago/branches/tobago-3.0.x/tobago-3.0.txt
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Facets.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/GridLayoutConstraintHandler.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/TobagoComponentHandler.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIBox.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumn.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumnNode.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumnSelector.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUICommand.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFile.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFlexLayout.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFlowLayout.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIGridLayout.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIImage.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUILabel.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUILayoutBase.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenu.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenuBar.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMessages.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIObject.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIOut.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPage.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPanel.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPopup.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIProgress.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISection.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISegmentLayout.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectBooleanCheckbox.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectMany.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneBase.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISeparator.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheet.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITabGroup.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIToolBar.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUITree.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/layout/LayoutUtils.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/BoxTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ButtonTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/CalendarTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ColumnNodeTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ColumnSelectorTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ColumnTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/CommandTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ExtensionPanelDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/FileTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/GridLayoutConstraintTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ImageTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/LabelTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/LinkTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MediatorTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuBarTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuCommandTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MessagesTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ObjectTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/OutTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/PageTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/PanelTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/PopupTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ProgressTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SectionTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectBooleanCheckboxTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectBooleanCommandTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyCheckboxTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyListboxTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyShuttleTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SeparatorTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SheetTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TabGroupTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TabTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ToolBarCommandTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ToolBarSelectBooleanTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ToolBarSelectOneTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeCommandTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeIconTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeLabelTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeListboxTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeMenuTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeNodeTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/InputTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/IsGridLayoutContainer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/util/CreateComponentUtils.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/clientConfig/ThemeConfigViewController.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-extension/tobago-sandbox/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUINumberSlider.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-extension/tobago-sandbox/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISplitLayout.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-extension/tobago-sandbox/src/main/java/org/apache/myfaces/tobago/internal/taglib/sandbox/NumberSliderTagDeclaration.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-extension/tobago-sandbox/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SplitLayoutRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/FlexLayoutRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/FlowLayoutRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/GridLayoutRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/ImageRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/MessagesRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PageRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PanelRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PopupRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SegmentLayoutRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SheetRenderer.java
    myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TreeListboxRenderer.java

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-3.0.txt
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-3.0.txt?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-3.0.txt (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-3.0.txt Fri Sep 18 09:02:27 2015
@@ -63,3 +63,4 @@ No longer supported:
 * class Position
 * ClientProperties.pageWidth
 * ClientProperties.pageHeight
+* tc:gridLayoutConstraint -> tc:style

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Facets.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Facets.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Facets.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Facets.java Fri Sep 18 09:02:27 2015
@@ -31,6 +31,9 @@ public final class Facets {
   public static final String CONTEXT_MENU = "contextMenu";
   public static final String DROP_DOWN_MENU = "dropDownMenu";
   public static final String LABEL = "label";
+  /**
+   * @deprecated since 3.0.0. The layout manager tag should surround the content instead.
+   */
   public static final String LAYOUT = "layout";
   public static final String LAYOUT_DEFAULT = "layoutDefault";
   public static final String MENUBAR = "menuBar";

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/GridLayoutConstraintHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/GridLayoutConstraintHandler.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/GridLayoutConstraintHandler.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/GridLayoutConstraintHandler.java Fri Sep 18 09:02:27 2015
@@ -21,12 +21,6 @@ package org.apache.myfaces.tobago.facele
 
 import org.apache.myfaces.tobago.component.Attributes;
 import org.apache.myfaces.tobago.component.UIExtensionPanel;
-import org.apache.myfaces.tobago.layout.LayoutBase;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
-import org.apache.myfaces.tobago.layout.LayoutContainer;
-import org.apache.myfaces.tobago.layout.Measure;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 import javax.faces.component.UIComponent;
 import javax.faces.view.facelets.FaceletContext;
@@ -34,308 +28,47 @@ import javax.faces.view.facelets.TagAttr
 import javax.faces.view.facelets.TagConfig;
 import javax.faces.view.facelets.TagHandler;
 import java.io.IOException;
+import java.util.Map;
 
+/**
+ * @deprecated since 3.0.0
+ */
+@Deprecated
 public class GridLayoutConstraintHandler extends TagHandler {
 
-  private static final Logger LOG = LoggerFactory.getLogger(GridLayoutConstraintHandler.class);
-
   private final TagAttribute columnSpan;
   private final TagAttribute rowSpan;
 
-  private final TagAttribute width;
-  private final TagAttribute height;
-
-  private final TagAttribute minimumWidth;
-  private final TagAttribute minimumHeight;
-
-  private final TagAttribute preferredWidth;
-  private final TagAttribute preferredHeight;
-
-  private final TagAttribute maximumWidth;
-  private final TagAttribute maximumHeight;
-
-  private final TagAttribute marginLeft;
-  private final TagAttribute marginRight;
-  private final TagAttribute marginTop;
-  private final TagAttribute marginBottom;
-
-  private final TagAttribute borderLeft;
-  private final TagAttribute borderRight;
-  private final TagAttribute borderTop;
-  private final TagAttribute borderBottom;
-
-  private final TagAttribute paddingLeft;
-  private final TagAttribute paddingRight;
-  private final TagAttribute paddingTop;
-  private final TagAttribute paddingBottom;
-
   public GridLayoutConstraintHandler(final TagConfig config) {
     super(config);
     columnSpan = getAttribute(Attributes.COLUMN_SPAN);
     rowSpan = getAttribute(Attributes.ROW_SPAN);
-    width = getAttribute(Attributes.WIDTH);
-    height = getAttribute(Attributes.HEIGHT);
-    minimumWidth = getAttribute(Attributes.MINIMUM_WIDTH);
-    minimumHeight = getAttribute(Attributes.MINIMUM_HEIGHT);
-    preferredWidth = getAttribute(Attributes.PREFERRED_WIDTH);
-    preferredHeight = getAttribute(Attributes.PREFERRED_HEIGHT);
-    maximumWidth = getAttribute(Attributes.MAXIMUM_WIDTH);
-    maximumHeight = getAttribute(Attributes.MAXIMUM_HEIGHT);
-    marginLeft = getAttribute(Attributes.MARGIN_LEFT);
-    marginRight = getAttribute(Attributes.MARGIN_RIGHT);
-    marginTop = getAttribute(Attributes.MARGIN_TOP);
-    marginBottom = getAttribute(Attributes.MARGIN_BOTTOM);
-    borderLeft = getAttribute(Attributes.BORDER_LEFT);
-    borderRight = getAttribute(Attributes.BORDER_RIGHT);
-    borderTop = getAttribute(Attributes.BORDER_TOP);
-    borderBottom = getAttribute(Attributes.BORDER_BOTTOM);
-    paddingLeft = getAttribute(Attributes.PADDING_LEFT);
-    paddingRight = getAttribute(Attributes.PADDING_RIGHT);
-    paddingTop = getAttribute(Attributes.PADDING_TOP);
-    paddingBottom = getAttribute(Attributes.PADDING_BOTTOM);
   }
 
   public void apply(final FaceletContext faceletContext, UIComponent parent) throws IOException {
+    final Map<String, Object> attributes = parent.getAttributes();
     if (parent.getParent() != null && parent.getParent() instanceof UIExtensionPanel) {
-       parent = parent.getParent();
-    } else if (parent.getAttributes().get("tobago.panel") != null
-         && parent.getAttributes().get("tobago.panel") instanceof UIExtensionPanel) {
-       parent = (UIComponent) parent.getAttributes().get("tobago.panel");
+      parent = parent.getParent();
+    } else if (attributes.get("tobago.panel") != null
+        && attributes.get("tobago.panel") instanceof UIExtensionPanel) {
+      parent = (UIComponent) attributes.get("tobago.panel");
     }
-    if (parent instanceof LayoutBase) {
-      final LayoutBase component = (LayoutBase) parent;
-
-      if (parent instanceof LayoutComponent && columnSpan != null) {
-        if (columnSpan.isLiteral()) {
-          ((LayoutComponent) component).setColumnSpan(Integer.valueOf(columnSpan.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.COLUMN_SPAN,
-              columnSpan.getValueExpression(faceletContext, Integer.TYPE));
-        }
-      }
-
-      if (parent instanceof LayoutComponent && rowSpan != null) {
-        if (rowSpan.isLiteral()) {
-          ((LayoutComponent) component).setRowSpan(Integer.valueOf(rowSpan.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.ROW_SPAN,
-              rowSpan.getValueExpression(faceletContext, Integer.TYPE));
-        }
-      }
-
-      if (width != null) {
-        if (width.isLiteral()) {
-          component.setWidth(Measure.valueOf(width.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.WIDTH,
-              width.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (height != null) {
-        if (height.isLiteral()) {
-          component.setHeight(Measure.valueOf(height.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.HEIGHT,
-              height.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (minimumWidth != null) {
-        if (minimumWidth.isLiteral()) {
-          component.setMinimumWidth(Measure.valueOf(minimumWidth.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.MINIMUM_WIDTH,
-              minimumWidth.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (minimumHeight != null) {
-        if (minimumHeight.isLiteral()) {
-          component.setMinimumHeight(Measure.valueOf(minimumHeight.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.MINIMUM_HEIGHT,
-              minimumHeight.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (preferredWidth != null) {
-        if (preferredWidth.isLiteral()) {
-          component.setPreferredWidth(Measure.valueOf(preferredWidth.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.PREFERRED_WIDTH,
-              preferredWidth.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (preferredHeight != null) {
-        if (preferredHeight.isLiteral()) {
-          component.setPreferredHeight(Measure.valueOf(preferredHeight.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.PREFERRED_HEIGHT,
-              preferredHeight.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (maximumWidth != null) {
-        if (maximumWidth.isLiteral()) {
-          component.setMaximumWidth(Measure.valueOf(maximumWidth.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.MAXIMUM_WIDTH,
-              maximumWidth.getValueExpression(faceletContext, Object.class));
-        }
-      }
 
-      if (maximumHeight != null) {
-        if (maximumHeight.isLiteral()) {
-          component.setMaximumHeight(Measure.valueOf(maximumHeight.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.MAXIMUM_HEIGHT,
-              maximumHeight.getValueExpression(faceletContext, Object.class));
-        }
+    if (columnSpan != null) {
+      if (columnSpan.isLiteral()) {
+        attributes.put(Attributes.COLUMN_SPAN, Integer.valueOf(columnSpan.getValue()));
+      } else {
+        parent.setValueExpression(Attributes.COLUMN_SPAN,
+            columnSpan.getValueExpression(faceletContext, Integer.TYPE));
       }
-
-      if (marginLeft != null) {
-        if (marginLeft.isLiteral()) {
-          component.setMarginLeft(Measure.valueOf(marginLeft.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.MARGIN_LEFT,
-              marginLeft.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (marginRight != null) {
-        if (marginRight.isLiteral()) {
-          component.setMarginRight(Measure.valueOf(marginRight.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.MARGIN_RIGHT,
-              marginRight.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (marginTop != null) {
-        if (marginTop.isLiteral()) {
-          component.setMarginTop(Measure.valueOf(marginTop.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.MARGIN_TOP,
-              marginTop.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (marginBottom != null) {
-        if (marginBottom.isLiteral()) {
-          component.setMarginBottom(Measure.valueOf(marginBottom.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.MARGIN_BOTTOM,
-              marginBottom.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-    } else {
-      LOG.warn("Layout Constraints inside of a non LayoutBase component!");
     }
 
-    if (parent instanceof LayoutContainer) {
-      final LayoutContainer container = (LayoutContainer) parent;
-
-      if (borderLeft != null) {
-        if (borderLeft.isLiteral()) {
-          container.setBorderLeft(Measure.valueOf(borderLeft.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.BORDER_LEFT,
-              borderLeft.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (borderRight != null) {
-        if (borderRight.isLiteral()) {
-          container.setBorderRight(Measure.valueOf(borderRight.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.BORDER_RIGHT,
-              borderRight.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (borderTop != null) {
-        if (borderTop.isLiteral()) {
-          container.setBorderTop(Measure.valueOf(borderTop.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.BORDER_TOP,
-              borderTop.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (borderBottom != null) {
-        if (borderBottom.isLiteral()) {
-          container.setBorderBottom(Measure.valueOf(borderBottom.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.BORDER_BOTTOM,
-              borderBottom.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (paddingLeft != null) {
-        if (paddingLeft.isLiteral()) {
-          container.setPaddingLeft(Measure.valueOf(paddingLeft.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.PADDING_LEFT,
-              paddingLeft.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (paddingRight != null) {
-        if (paddingRight.isLiteral()) {
-          container.setPaddingRight(Measure.valueOf(paddingRight.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.PADDING_RIGHT,
-              paddingRight.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (paddingTop != null) {
-        if (paddingTop.isLiteral()) {
-          container.setPaddingTop(Measure.valueOf(paddingTop.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.PADDING_TOP,
-              paddingTop.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-      if (paddingBottom != null) {
-        if (paddingBottom.isLiteral()) {
-          container.setPaddingBottom(Measure.valueOf(paddingBottom.getValue()));
-        } else {
-          parent.setValueExpression(Attributes.PADDING_BOTTOM,
-              paddingBottom.getValueExpression(faceletContext, Object.class));
-        }
-      }
-
-    } else {
-      if (LOG.isWarnEnabled()) {
-        if (borderLeft != null) {
-          LOG.warn("Ignoring border left, because the parent is not a LayoutContainer!");
-        }
-        if (borderRight != null) {
-          LOG.warn("Ignoring border right, because the parent is not a LayoutContainer!");
-        }
-        if (borderTop != null) {
-          LOG.warn("Ignoring border top, because the parent is not a LayoutContainer!");
-        }
-        if (borderBottom != null) {
-          LOG.warn("Ignoring border bottom, because the parent is not a LayoutContainer!");
-        }
-        if (paddingLeft != null) {
-          LOG.warn("Ignoring padding left, because the parent is not a LayoutContainer!");
-        }
-        if (paddingRight != null) {
-          LOG.warn("Ignoring padding right, because the parent is not a LayoutContainer!");
-        }
-        if (paddingTop != null) {
-          LOG.warn("Ignoring padding top, because the parent is not a LayoutContainer!");
-        }
-        if (paddingBottom != null) {
-          LOG.warn("Ignoring padding bottom, because the parent is not a LayoutContainer!");
-        }
+    if (rowSpan != null) {
+      if (rowSpan.isLiteral()) {
+        attributes.put(Attributes.ROW_SPAN, Integer.valueOf(rowSpan.getValue()));
+      } else {
+        parent.setValueExpression(Attributes.ROW_SPAN,
+            rowSpan.getValueExpression(faceletContext, Integer.TYPE));
       }
     }
   }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/TobagoComponentHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/TobagoComponentHandler.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/TobagoComponentHandler.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/TobagoComponentHandler.java Fri Sep 18 09:02:27 2015
@@ -19,7 +19,6 @@
 
 package org.apache.myfaces.tobago.facelets;
 
-import org.apache.myfaces.tobago.component.DeprecatedDimension;
 import org.apache.myfaces.tobago.component.InputSuggest;
 import org.apache.myfaces.tobago.component.OnComponentCreated;
 import org.apache.myfaces.tobago.component.OnComponentPopulated;
@@ -56,9 +55,6 @@ public class TobagoComponentHandler exte
     if (SortActionSource.class.isAssignableFrom(aClass)) {
       metaRuleset.addRule(SortActionSourceRule.INSTANCE);
     }
-    if (DeprecatedDimension.class.isAssignableFrom(aClass)) {
-      metaRuleset.addRule(DeprecatedDimensionRule.INSTANCE);
-    }
     if (AbstractUISegmentLayout.class.isAssignableFrom(aClass)) {
       metaRuleset.addRule(SegmentLayoutRule.INSTANCE);
     }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIBox.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIBox.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIBox.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIBox.java Fri Sep 18 09:02:27 2015
@@ -48,8 +48,4 @@ public abstract class AbstractUIBox exte
 
   public abstract boolean isCollapsed();
 
-  @Override
-  public boolean isLayoutChildren() {
-    return isRendered() && !isCollapsed();
-  }
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumn.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumn.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumn.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumn.java Fri Sep 18 09:02:27 2015
@@ -19,22 +19,15 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.layout.LayoutBox;
-import org.apache.myfaces.tobago.layout.Measure;
+import org.apache.myfaces.tobago.config.Configurable;
 
 import javax.faces.component.UIColumn;
 
-public abstract class AbstractUIColumn extends UIColumn implements LayoutBox {
+public abstract class AbstractUIColumn extends UIColumn implements Configurable {
 
-  public abstract Measure getWidth();
+//  public abstract Measure getWidth();
 
   public boolean isResizable() {
     return false;
   }
-/*
-
-  public String getLabel() {
-    return "";
-  }
-*/
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumnNode.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumnNode.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumnNode.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumnNode.java Fri Sep 18 09:02:27 2015
@@ -19,10 +19,10 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 
 /**
  * @since 2.0.0
  */
-public abstract class AbstractUIColumnNode extends AbstractUITreeNode implements LayoutComponent {
+public abstract class AbstractUIColumnNode extends AbstractUITreeNode implements Configurable {
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumnSelector.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumnSelector.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumnSelector.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIColumnSelector.java Fri Sep 18 09:02:27 2015
@@ -19,12 +19,12 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.layout.Measure;
-
 public abstract class AbstractUIColumnSelector extends AbstractUIColumn {
 
+/* TBD
   @Override
   public Measure getWidth() {
     return null;
   }
+*/
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUICommand.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUICommand.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUICommand.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUICommand.java Fri Sep 18 09:02:27 2015
@@ -24,8 +24,8 @@ import org.apache.myfaces.tobago.compone
 import org.apache.myfaces.tobago.component.SupportsAccessKey;
 import org.apache.myfaces.tobago.component.SupportsRenderedPartially;
 import org.apache.myfaces.tobago.component.SupportsStyle;
+import org.apache.myfaces.tobago.config.Configurable;
 import org.apache.myfaces.tobago.event.PopupFacetActionListener;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
 import org.apache.myfaces.tobago.util.ComponentUtils;
 
 import javax.faces.component.UICommand;
@@ -37,7 +37,7 @@ import java.util.Iterator;
 
 public abstract class AbstractUICommand
     extends UICommand
-    implements SupportsRenderedPartially, SupportsAccessKey, OnComponentPopulated, LayoutComponent, SupportsStyle {
+    implements SupportsRenderedPartially, SupportsAccessKey, OnComponentPopulated, Configurable, SupportsStyle {
 
   // todo: transient
   private Boolean parentOfCommands;

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFile.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFile.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFile.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFile.java Fri Sep 18 09:02:27 2015
@@ -22,7 +22,7 @@ package org.apache.myfaces.tobago.intern
 import org.apache.commons.fileupload.FileItem;
 import org.apache.myfaces.tobago.component.SupportsLabelLayout;
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 import org.apache.myfaces.tobago.util.MessageUtils;
 
 import javax.faces.application.FacesMessage;
@@ -30,7 +30,7 @@ import javax.faces.component.UIInput;
 import javax.faces.context.FacesContext;
 
 public abstract class AbstractUIFile extends UIInput
-    implements LayoutComponent, SupportsLabelLayout, SupportsStyle {
+    implements Configurable, SupportsLabelLayout, SupportsStyle {
 
   public void validate(final FacesContext facesContext) {
     if (isRequired()) {

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFlexLayout.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFlexLayout.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFlexLayout.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFlexLayout.java Fri Sep 18 09:02:27 2015
@@ -20,14 +20,16 @@
 package org.apache.myfaces.tobago.internal.component;
 
 import org.apache.myfaces.tobago.component.SupportsMarkup;
-import org.apache.myfaces.tobago.layout.LayoutManager;
+import org.apache.myfaces.tobago.config.Configurable;
+
+import javax.faces.component.UIComponentBase;
 
 /**
- * TODO
+ * A layout manager which uses the CSS flex feature.
+ *
  * @since 3.0.0
  */
-public abstract class AbstractUIFlexLayout
-    extends AbstractUILayoutBase implements LayoutManager, SupportsMarkup {
+public abstract class AbstractUIFlexLayout extends UIComponentBase implements Configurable, SupportsMarkup {
 
   public static final String COMPONENT_FAMILY = "org.apache.myfaces.tobago.FlexLayout";
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFlowLayout.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFlowLayout.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFlowLayout.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIFlowLayout.java Fri Sep 18 09:02:27 2015
@@ -21,10 +21,10 @@ package org.apache.myfaces.tobago.intern
 
 import org.apache.myfaces.tobago.component.SupportsMarkup;
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutManager;
+import org.apache.myfaces.tobago.config.Configurable;
 
 public abstract class AbstractUIFlowLayout extends AbstractUILayoutBase
-    implements LayoutManager, SupportsMarkup, SupportsStyle {
+    implements Configurable, SupportsMarkup, SupportsStyle {
 
   public static final String COMPONENT_FAMILY = "org.apache.myfaces.tobago.FlowLayout";
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIGridLayout.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIGridLayout.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIGridLayout.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIGridLayout.java Fri Sep 18 09:02:27 2015
@@ -21,12 +21,11 @@ package org.apache.myfaces.tobago.intern
 
 import org.apache.myfaces.tobago.component.Attributes;
 import org.apache.myfaces.tobago.component.SupportsMarkup;
+import org.apache.myfaces.tobago.config.Configurable;
 import org.apache.myfaces.tobago.internal.layout.Grid;
 import org.apache.myfaces.tobago.internal.layout.LayoutUtils;
 import org.apache.myfaces.tobago.internal.layout.OriginCell;
 import org.apache.myfaces.tobago.internal.util.StringUtils;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
-import org.apache.myfaces.tobago.layout.LayoutContainer;
 import org.apache.myfaces.tobago.layout.LayoutManager;
 import org.apache.myfaces.tobago.layout.LayoutTokens;
 import org.apache.myfaces.tobago.util.ComponentUtils;
@@ -37,7 +36,7 @@ import javax.faces.component.UIComponent
 import javax.faces.context.FacesContext;
 import java.util.List;
 
-public abstract class AbstractUIGridLayout extends AbstractUILayoutBase implements LayoutManager, SupportsMarkup {
+public abstract class AbstractUIGridLayout extends AbstractUILayoutBase implements Configurable, SupportsMarkup {
 
   private static final Logger LOG = LoggerFactory.getLogger(AbstractUIGridLayout.class);
 
@@ -50,18 +49,15 @@ public abstract class AbstractUIGridLayo
    */
   public void init() {
 
-    if (!getLayoutContainer().isLayoutChildren()) {
+    final UIComponent parent = getParent();
+    if (!parent.isRendered()) {
       return;
     }
 
     grid = new Grid(LayoutTokens.parse(getColumns()), LayoutTokens.parse(getRows()));
 
-    final List<UIComponent> components = LayoutUtils.findLayoutChildren(getLayoutContainer());
+    final List<UIComponent> components = LayoutUtils.findLayoutChildren(parent);
     for (final UIComponent component : components) {
-      if (component instanceof LayoutComponent) {
-        ((LayoutComponent) component).setCurrentHeight(null);
-        ((LayoutComponent) component).setCurrentWidth(null);
-      }
       final int columnSpan = ComponentUtils.getIntAttribute(component, Attributes.COLUMN_SPAN, 1);
       final int rowSpan = ComponentUtils.getIntAttribute(component, Attributes.ROW_SPAN, 1);
       grid.add(new OriginCell(component), columnSpan, rowSpan);
@@ -71,10 +67,6 @@ public abstract class AbstractUIGridLayo
     }
   }
 
-  public LayoutContainer getLayoutContainer() {
-    return ComponentUtils.findAncestor(getParent(), LayoutContainer.class);
-  }
-
   public abstract String getRows();
 
   public abstract void setRows(String rows);

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIImage.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIImage.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIImage.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIImage.java Fri Sep 18 09:02:27 2015
@@ -19,14 +19,13 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.component.DeprecatedDimension;
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 
 import javax.faces.component.UIGraphic;
 
 public abstract class AbstractUIImage extends UIGraphic
-    implements LayoutComponent, DeprecatedDimension, SupportsStyle {
+    implements Configurable, SupportsStyle {
 
   public abstract boolean isDisabled();
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIInput.java Fri Sep 18 09:02:27 2015
@@ -22,13 +22,13 @@ package org.apache.myfaces.tobago.intern
 import org.apache.myfaces.tobago.component.SupportsLabelLayout;
 import org.apache.myfaces.tobago.component.SupportsMarkup;
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 import org.apache.myfaces.tobago.util.ComponentUtils;
 
 import javax.faces.context.FacesContext;
 
 public abstract class AbstractUIInput extends javax.faces.component.UIInput
-    implements SupportsMarkup, LayoutComponent, SupportsLabelLayout, SupportsStyle {
+    implements SupportsMarkup, Configurable, SupportsLabelLayout, SupportsStyle {
 
   // TODO can this removed?
   public void updateModel(final FacesContext facesContext) {

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUILabel.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUILabel.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUILabel.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUILabel.java Fri Sep 18 09:02:27 2015
@@ -20,13 +20,13 @@
 package org.apache.myfaces.tobago.internal.component;
 
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 
 import javax.faces.context.FacesContext;
 import javax.faces.convert.Converter;
 
 public abstract class AbstractUILabel
-    extends javax.faces.component.UIOutput implements LayoutComponent, SupportsStyle {
+    extends javax.faces.component.UIOutput implements Configurable, SupportsStyle {
 
   public String getLabel() {
     final Converter converter = getConverter();

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUILayoutBase.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUILayoutBase.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUILayoutBase.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUILayoutBase.java Fri Sep 18 09:02:27 2015
@@ -19,16 +19,11 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.layout.LayoutContainer;
-
 import javax.faces.component.UIComponentBase;
 
+/**
+ *
+ */
 public abstract class AbstractUILayoutBase extends UIComponentBase {
 
-
-  LayoutContainer getLayoutContainer() {
-    // todo: check with instanceof and do something in the error case
-    return ((LayoutContainer) getParent());
-  }
-
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenu.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenu.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenu.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenu.java Fri Sep 18 09:02:27 2015
@@ -19,10 +19,10 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 
 public abstract class AbstractUIMenu
-    extends javax.faces.component.UIPanel implements LayoutComponent {
+    extends javax.faces.component.UIPanel implements Configurable {
 
   public abstract String getLabel();
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenuBar.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenuBar.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenuBar.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMenuBar.java Fri Sep 18 09:02:27 2015
@@ -20,7 +20,7 @@
 package org.apache.myfaces.tobago.internal.component;
 
 import org.apache.myfaces.tobago.component.OnComponentCreated;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 import org.apache.myfaces.tobago.renderkit.RendererBase;
 
 import javax.faces.component.UIComponent;
@@ -28,7 +28,7 @@ import javax.faces.component.UIPanel;
 import javax.faces.context.FacesContext;
 import javax.faces.render.Renderer;
 
-public abstract class AbstractUIMenuBar extends UIPanel implements LayoutComponent, OnComponentCreated {
+public abstract class AbstractUIMenuBar extends UIPanel implements Configurable, OnComponentCreated {
 
   public void onComponentCreated(final FacesContext context, final UIComponent parent) {
     final Renderer renderer = getRenderer(getFacesContext());

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMessages.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMessages.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMessages.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIMessages.java Fri Sep 18 09:02:27 2015
@@ -21,7 +21,7 @@ package org.apache.myfaces.tobago.intern
 
 import org.apache.commons.collections.iterators.SingletonIterator;
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 import org.apache.myfaces.tobago.layout.OrderBy;
 
 import javax.faces.application.FacesMessage;
@@ -33,7 +33,7 @@ import java.util.Iterator;
 import java.util.List;
 
 public abstract class AbstractUIMessages extends javax.faces.component.UIMessages
-    implements LayoutComponent, SupportsStyle {
+    implements Configurable, SupportsStyle {
 
   public List<Item> createMessageList(final FacesContext facesContext) {
 
@@ -58,7 +58,7 @@ public abstract class AbstractUIMessages
 
   private List<Item> collectMessageList(final FacesContext facesContext, final Iterator clientIds) {
     final List<Item> messages = new ArrayList<Item>();
-    while(clientIds.hasNext()) {
+    while (clientIds.hasNext()) {
       final String clientId = (String) clientIds.next();
       final Iterator<FacesMessage> i = facesContext.getMessages(clientId);
       while (i.hasNext()) {

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIObject.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIObject.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIObject.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIObject.java Fri Sep 18 09:02:27 2015
@@ -20,9 +20,9 @@
 package org.apache.myfaces.tobago.internal.component;
 
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 
 import javax.faces.component.UIOutput;
 
-public abstract class AbstractUIObject extends UIOutput implements LayoutComponent, SupportsStyle {
+public abstract class AbstractUIObject extends UIOutput implements Configurable, SupportsStyle {
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIOut.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIOut.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIOut.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIOut.java Fri Sep 18 09:02:27 2015
@@ -21,9 +21,9 @@ package org.apache.myfaces.tobago.intern
 
 import org.apache.myfaces.tobago.component.SupportsLabelLayout;
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 
 import javax.faces.component.UIOutput;
 
-public abstract class AbstractUIOut extends UIOutput implements LayoutComponent, SupportsLabelLayout, SupportsStyle {
+public abstract class AbstractUIOut extends UIOutput implements Configurable, SupportsLabelLayout, SupportsStyle {
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPage.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPage.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPage.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPage.java Fri Sep 18 09:02:27 2015
@@ -20,16 +20,12 @@
 package org.apache.myfaces.tobago.internal.component;
 
 import org.apache.myfaces.tobago.ajax.AjaxUtils;
-import org.apache.myfaces.tobago.component.DeprecatedDimension;
-import org.apache.myfaces.tobago.component.Facets;
-import org.apache.myfaces.tobago.component.OnComponentPopulated;
+import org.apache.myfaces.tobago.config.Configurable;
 import org.apache.myfaces.tobago.internal.ajax.AjaxInternalUtils;
 import org.apache.myfaces.tobago.internal.ajax.AjaxResponseRenderer;
+import org.apache.myfaces.tobago.internal.layout.LayoutUtils;
 import org.apache.myfaces.tobago.internal.util.FacesContextUtils;
 import org.apache.myfaces.tobago.internal.webapp.TobagoMultipartFormdataRequest;
-import org.apache.myfaces.tobago.layout.LayoutContainer;
-import org.apache.myfaces.tobago.layout.LayoutManager;
-import org.apache.myfaces.tobago.layout.Measure;
 import org.apache.myfaces.tobago.util.ApplyRequestValuesCallback;
 import org.apache.myfaces.tobago.util.ComponentUtils;
 import org.apache.myfaces.tobago.util.DebugUtils;
@@ -51,8 +47,7 @@ import java.io.IOException;
 import java.util.Iterator;
 import java.util.Map;
 
-public abstract class AbstractUIPage extends AbstractUIForm
-    implements OnComponentPopulated, LayoutContainer, DeprecatedDimension {
+public abstract class AbstractUIPage extends AbstractUIForm implements Configurable {
 
   private static final Logger LOG = LoggerFactory.getLogger(AbstractUIPage.class);
 
@@ -84,7 +79,7 @@ public abstract class AbstractUIPage ext
   public void encodeBegin(final FacesContext facesContext) throws IOException {
     if (!AjaxUtils.isAjaxRequest(facesContext)) {
       super.encodeBegin(facesContext);
-      final AbstractUILayoutBase layoutManager = (AbstractUILayoutBase) getLayoutManager();
+      final UIComponent layoutManager = LayoutUtils.getLayoutManager(this);
       if (layoutManager != null) {
         layoutManager.encodeBegin(facesContext);
       }
@@ -96,7 +91,7 @@ public abstract class AbstractUIPage ext
     if (AjaxUtils.isAjaxRequest(facesContext)) {
       new AjaxResponseRenderer().renderResponse(facesContext);
     } else {
-      final AbstractUILayoutBase layoutManager = (AbstractUILayoutBase) getLayoutManager();
+      final UIComponent layoutManager = LayoutUtils.getLayoutManager(this);
       if (layoutManager != null) {
         layoutManager.encodeChildren(facesContext);
       } else {
@@ -108,7 +103,7 @@ public abstract class AbstractUIPage ext
   @Override
   public void encodeEnd(final FacesContext facesContext) throws IOException {
     if (!AjaxUtils.isAjaxRequest(facesContext)) {
-      final AbstractUILayoutBase layoutManager = (AbstractUILayoutBase) getLayoutManager();
+      final UIComponent layoutManager = LayoutUtils.getLayoutManager(this);
       if (layoutManager != null) {
         layoutManager.encodeEnd(facesContext);
       }
@@ -310,36 +305,4 @@ public abstract class AbstractUIPage ext
   public void setActionId(final String actionId) {
     this.actionId = actionId;
   }
-
-  public void onComponentPopulated(final FacesContext facesContext, final UIComponent parent) {
-/*
-    if (getLayoutManager() == null) {
-      setLayoutManager(CreateComponentUtils.createAndInitLayout(
-          facesContext, ComponentTypes.GRID_LAYOUT, RendererTypes.GRID_LAYOUT, parent));
-    }
-*/
-  }
-
-  public LayoutManager getLayoutManager() {
-    final UIComponent facet = getFacet(Facets.LAYOUT);
-    if (facet == null) {
-      return null;
-    } else if (facet instanceof LayoutManager) {
-      return (LayoutManager) facet;
-    } else {
-      return (LayoutManager) ComponentUtils.findChild(facet, AbstractUILayoutBase.class);
-    }
-  }
-
-  public void setLayoutManager(final LayoutManager layoutManager) {
-    getFacets().put(Facets.LAYOUT, (AbstractUILayoutBase) layoutManager);
-  }
-
-  public boolean isLayoutChildren() {
-    return isRendered();
-  }
-
-  public abstract Measure getWidth();
-
-  public abstract Measure getHeight();
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPanel.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPanel.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPanel.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPanel.java Fri Sep 18 09:02:27 2015
@@ -19,27 +19,24 @@
 
 package org.apache.myfaces.tobago.internal.component;
 
-import org.apache.myfaces.tobago.component.Facets;
 import org.apache.myfaces.tobago.component.OnComponentPopulated;
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
-import org.apache.myfaces.tobago.layout.LayoutContainer;
-import org.apache.myfaces.tobago.layout.LayoutManager;
-import org.apache.myfaces.tobago.util.ComponentUtils;
+import org.apache.myfaces.tobago.config.Configurable;
+import org.apache.myfaces.tobago.internal.layout.LayoutUtils;
 
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 import java.io.IOException;
 
 public abstract class AbstractUIPanel extends javax.faces.component.UIPanel
-    implements OnComponentPopulated, LayoutContainer, LayoutComponent, SupportsStyle {
+    implements OnComponentPopulated, Configurable, SupportsStyle {
 
   @Override
   public void encodeBegin(final FacesContext facesContext) throws IOException {
 
     super.encodeBegin(facesContext);
 
-    final AbstractUILayoutBase layoutManager = (AbstractUILayoutBase) getLayoutManager();
+    final UIComponent layoutManager = LayoutUtils.getLayoutManager(this);
     if (layoutManager != null) {
       layoutManager.encodeBegin(facesContext);
     }
@@ -48,7 +45,7 @@ public abstract class AbstractUIPanel ex
   @Override
   public void encodeChildren(final FacesContext facesContext) throws IOException {
 
-    final AbstractUILayoutBase layoutManager = (AbstractUILayoutBase) getLayoutManager();
+    final UIComponent layoutManager = LayoutUtils.getLayoutManager(this);
     if (layoutManager != null) {
       layoutManager.encodeChildren(facesContext);
     } else {
@@ -59,7 +56,7 @@ public abstract class AbstractUIPanel ex
   @Override
   public void encodeEnd(final FacesContext facesContext) throws IOException {
 
-    final AbstractUILayoutBase layoutManager = (AbstractUILayoutBase) getLayoutManager();
+    final UIComponent layoutManager = LayoutUtils.getLayoutManager(this);
     if (layoutManager != null) {
       layoutManager.encodeEnd(facesContext);
     }
@@ -69,41 +66,4 @@ public abstract class AbstractUIPanel ex
 
   public void onComponentPopulated(final FacesContext facesContext, final UIComponent parent) {
   }
-
-  public LayoutManager getLayoutManager() {
-
-    final UIComponent base;
-
-    final UIComponent compositeFacet = getFacet(COMPOSITE_FACET_NAME);
-    if (compositeFacet != null) {
-      base = compositeFacet.getChildren().get(0);
-    } else {
-      base = this;
-    }
-
-    final UIComponent layoutFacet = base.getFacet(Facets.LAYOUT);
-    if (layoutFacet != null) {
-      if (layoutFacet instanceof LayoutManager) {
-        return (LayoutManager) layoutFacet;
-      } else {
-        return (LayoutManager) ComponentUtils.findChild(layoutFacet, AbstractUILayoutBase.class);
-      }
-    } else {
-/*
-      final LayoutManager layoutManager = CreateComponentUtils.createAndInitLayout(
-          FacesContext.getCurrentInstance(), ComponentTypes.GRID_LAYOUT, RendererTypes.GRID_LAYOUT, base.getParent());
-      base.getFacets().put(Facets.LAYOUT, (AbstractUILayoutBase) layoutManager);
-      return layoutManager;
-*/
-      return null;
-    }
-  }
-
-  public void setLayoutManager(final LayoutManager layoutManager) {
-    getFacets().put(Facets.LAYOUT, (AbstractUILayoutBase) layoutManager);
-  }
-
-  public boolean isLayoutChildren() {
-    return isRendered();
-  }
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPopup.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPopup.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPopup.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIPopup.java Fri Sep 18 09:02:27 2015
@@ -20,12 +20,8 @@
 package org.apache.myfaces.tobago.internal.component;
 
 import org.apache.myfaces.tobago.component.Attributes;
-import org.apache.myfaces.tobago.component.DeprecatedDimension;
-import org.apache.myfaces.tobago.component.Facets;
+import org.apache.myfaces.tobago.config.Configurable;
 import org.apache.myfaces.tobago.internal.util.FacesContextUtils;
-import org.apache.myfaces.tobago.layout.LayoutContainer;
-import org.apache.myfaces.tobago.layout.LayoutManager;
-import org.apache.myfaces.tobago.layout.Measure;
 
 import javax.el.ValueExpression;
 import javax.faces.component.NamingContainer;
@@ -37,7 +33,7 @@ import java.io.IOException;
 import java.util.Iterator;
 
 public abstract class AbstractUIPopup extends AbstractUIPanel
-    implements NamingContainer, DeprecatedDimension, LayoutContainer {
+    implements NamingContainer, Configurable {
 
   private boolean activated;
 
@@ -145,24 +141,4 @@ public abstract class AbstractUIPopup ex
     super.encodeEnd(context);
     activated = false;
   }
-
-  public LayoutManager getLayoutManager() {
-    return (LayoutManager) getFacet(Facets.LAYOUT);
-  }
-
-  public void setLayoutManager(final LayoutManager layoutManager) {
-    getFacets().put(Facets.LAYOUT, (AbstractUILayoutBase) layoutManager);
-  }
-
-  public boolean isLayoutChildren() {
-    return isRendered();
-  }
-  
-  public abstract Measure getWidth();
-
-  public abstract void setWidth(Measure width);
-
-  public abstract Measure getHeight();
-
-  public abstract void setHeight(Measure height);
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIProgress.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIProgress.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIProgress.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUIProgress.java Fri Sep 18 09:02:27 2015
@@ -20,9 +20,9 @@
 package org.apache.myfaces.tobago.internal.component;
 
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 
 import javax.faces.component.UIOutput;
 
-public abstract class AbstractUIProgress extends UIOutput implements LayoutComponent, SupportsStyle {
+public abstract class AbstractUIProgress extends UIOutput implements Configurable, SupportsStyle {
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISection.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISection.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISection.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISection.java Fri Sep 18 09:02:27 2015
@@ -21,7 +21,7 @@ package org.apache.myfaces.tobago.intern
 
 import org.apache.myfaces.tobago.component.Facets;
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 import org.apache.myfaces.tobago.util.ComponentUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -32,46 +32,46 @@ import javax.faces.component.UIOutput;
 import javax.faces.context.FacesContext;
 import java.io.IOException;
 
-public abstract class AbstractUISection extends UIComponentBase implements LayoutComponent, SupportsStyle {
+public abstract class AbstractUISection extends UIComponentBase implements Configurable, SupportsStyle {
 
-    private static final Logger LOG = LoggerFactory.getLogger(AbstractUISection.class);
+  private static final Logger LOG = LoggerFactory.getLogger(AbstractUISection.class);
 
-    private int level;
+  private int level;
 
-    public String getLabelToRender() {
+  public String getLabelToRender() {
 
-        final UIComponent facet = getFacet(Facets.LABEL);
-        if (facet instanceof UIOutput) {
-            return String.valueOf(((UIOutput) facet).getValue());
-        } else if (facet != null) {
-            LOG.warn("Wrong type: " + facet.getClass().getName());
-        }
-
-        return getLabel();
+    final UIComponent facet = getFacet(Facets.LABEL);
+    if (facet instanceof UIOutput) {
+      return String.valueOf(((UIOutput) facet).getValue());
+    } else if (facet != null) {
+      LOG.warn("Wrong type: " + facet.getClass().getName());
     }
 
-    public abstract String getLabel();
+    return getLabel();
+  }
 
-    @Override
-    public void encodeBegin(FacesContext context) throws IOException {
+  public abstract String getLabel();
 
-        if (getLevel() == 0) {
-            final AbstractUISection section = ComponentUtils.findAncestor(getParent(), AbstractUISection.class);
-            if (section != null) {
-                setLevel(section.getLevel() + 1);
-            } else {
-                setLevel(1);
-            }
-        }
+  @Override
+  public void encodeBegin(FacesContext context) throws IOException {
 
-        super.encodeBegin(context);
+    if (getLevel() == 0) {
+      final AbstractUISection section = ComponentUtils.findAncestor(getParent(), AbstractUISection.class);
+      if (section != null) {
+        setLevel(section.getLevel() + 1);
+      } else {
+        setLevel(1);
+      }
     }
 
-    public int getLevel() {
-        return level;
-    }
+    super.encodeBegin(context);
+  }
 
-    public void setLevel(int level) {
-        this.level = level;
-    }
+  public int getLevel() {
+    return level;
+  }
+
+  public void setLevel(int level) {
+    this.level = level;
+  }
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISegmentLayout.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISegmentLayout.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISegmentLayout.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISegmentLayout.java Fri Sep 18 09:02:27 2015
@@ -20,14 +20,14 @@
 package org.apache.myfaces.tobago.internal.component;
 
 import org.apache.myfaces.tobago.component.SupportsMarkup;
+import org.apache.myfaces.tobago.config.Configurable;
 import org.apache.myfaces.tobago.layout.ColumnPartition;
-import org.apache.myfaces.tobago.layout.LayoutManager;
 
 /**
  * TODO
  * @since 3.0.0
  */
-public abstract class AbstractUISegmentLayout extends AbstractUILayoutBase implements LayoutManager, SupportsMarkup {
+public abstract class AbstractUISegmentLayout extends AbstractUILayoutBase implements Configurable, SupportsMarkup {
 
   public static final String COMPONENT_FAMILY = "org.apache.myfaces.tobago.SegmentLayout";
 

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectBooleanCheckbox.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectBooleanCheckbox.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectBooleanCheckbox.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectBooleanCheckbox.java Fri Sep 18 09:02:27 2015
@@ -21,7 +21,7 @@ package org.apache.myfaces.tobago.intern
 
 import org.apache.myfaces.tobago.component.SupportsMarkup;
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 import org.apache.myfaces.tobago.util.MessageUtils;
 
 import javax.faces.application.FacesMessage;
@@ -29,7 +29,7 @@ import javax.faces.component.UISelectBoo
 import javax.faces.context.FacesContext;
 
 public abstract class AbstractUISelectBooleanCheckbox extends UISelectBoolean
-    implements LayoutComponent, SupportsMarkup, SupportsStyle {
+    implements Configurable, SupportsMarkup, SupportsStyle {
 
   public boolean isSelected() {
     Object value = getSubmittedValue();

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectMany.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectMany.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectMany.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectMany.java Fri Sep 18 09:02:27 2015
@@ -23,13 +23,13 @@ package org.apache.myfaces.tobago.intern
 import org.apache.myfaces.tobago.component.SupportsLabelLayout;
 import org.apache.myfaces.tobago.component.SupportsMarkup;
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 
 import javax.faces.component.UISelectMany;
 import java.util.Collection;
 
 public abstract class AbstractUISelectMany extends UISelectMany
-    implements SupportsMarkup, SupportsLabelLayout, LayoutComponent, SupportsStyle {
+    implements SupportsMarkup, SupportsLabelLayout, Configurable, SupportsStyle {
 
   public Object[] getSelectedValues() {
     final Object value = getValue();

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneBase.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneBase.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneBase.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISelectOneBase.java Fri Sep 18 09:02:27 2015
@@ -22,7 +22,7 @@ package org.apache.myfaces.tobago.intern
 import org.apache.myfaces.tobago.component.SupportsLabelLayout;
 import org.apache.myfaces.tobago.component.SupportsMarkup;
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 import org.apache.myfaces.tobago.util.MessageUtils;
 
 import javax.faces.application.FacesMessage;
@@ -30,7 +30,7 @@ import javax.faces.component.UIInput;
 import javax.faces.context.FacesContext;
 
 public abstract class AbstractUISelectOneBase extends javax.faces.component.UISelectOne
-    implements SupportsMarkup, SupportsLabelLayout, LayoutComponent, SupportsStyle {
+    implements SupportsMarkup, SupportsLabelLayout, Configurable, SupportsStyle {
 
   public static final String MESSAGE_VALUE_REQUIRED = "tobago.SelectOne.MESSAGE_VALUE_REQUIRED";
 

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISeparator.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISeparator.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISeparator.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISeparator.java Fri Sep 18 09:02:27 2015
@@ -20,9 +20,9 @@
 package org.apache.myfaces.tobago.internal.component;
 
 import org.apache.myfaces.tobago.component.SupportsStyle;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
+import org.apache.myfaces.tobago.config.Configurable;
 
 import javax.faces.component.UIComponentBase;
 
-public abstract class AbstractUISeparator extends UIComponentBase implements LayoutComponent, SupportsStyle {
+public abstract class AbstractUISeparator extends UIComponentBase implements Configurable, SupportsStyle {
 }

Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheet.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheet.java?rev=1703781&r1=1703780&r2=1703781&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheet.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUISheet.java Fri Sep 18 09:02:27 2015
@@ -20,11 +20,11 @@
 package org.apache.myfaces.tobago.internal.component;
 
 import org.apache.myfaces.tobago.component.Attributes;
-import org.apache.myfaces.tobago.component.Facets;
 import org.apache.myfaces.tobago.component.OnComponentPopulated;
 import org.apache.myfaces.tobago.component.Sorter;
 import org.apache.myfaces.tobago.component.SupportsRenderedPartially;
 import org.apache.myfaces.tobago.component.SupportsStyle;
+import org.apache.myfaces.tobago.config.Configurable;
 import org.apache.myfaces.tobago.event.PageActionEvent;
 import org.apache.myfaces.tobago.event.SheetStateChangeEvent;
 import org.apache.myfaces.tobago.event.SheetStateChangeListener;
@@ -34,9 +34,6 @@ import org.apache.myfaces.tobago.event.S
 import org.apache.myfaces.tobago.internal.layout.Grid;
 import org.apache.myfaces.tobago.internal.layout.OriginCell;
 import org.apache.myfaces.tobago.layout.AutoLayoutToken;
-import org.apache.myfaces.tobago.layout.LayoutComponent;
-import org.apache.myfaces.tobago.layout.LayoutContainer;
-import org.apache.myfaces.tobago.layout.LayoutManager;
 import org.apache.myfaces.tobago.layout.LayoutTokens;
 import org.apache.myfaces.tobago.layout.RelativeLayoutToken;
 import org.apache.myfaces.tobago.model.ExpandedState;
@@ -68,7 +65,7 @@ import java.util.Map;
 @ListenerFor(systemEventClass = PreRenderComponentEvent.class)
 public abstract class AbstractUISheet extends AbstractUIData
     implements SheetStateChangeSource2, SortActionSource2, OnComponentPopulated,
-    LayoutContainer, LayoutComponent, SupportsRenderedPartially, SupportsStyle {
+    Configurable, SupportsRenderedPartially, SupportsStyle {
 
   private static final Logger LOG = LoggerFactory.getLogger(AbstractUISheet.class);
 
@@ -450,16 +447,10 @@ public abstract class AbstractUISheet ex
     final Grid grid = new Grid(columns, rows);
 
     for(final UIComponent child : header.getChildren()) {
-      if (child instanceof LayoutComponent) {
         if (child.isRendered()) {
-          final LayoutComponent c = (LayoutComponent) child;
-          grid.add(new OriginCell(child), c.getColumnSpan(), c.getRowSpan());
+//     XXX not implemented in the moment     grid.add(new OriginCell(child), c.getColumnSpan(), c.getRowSpan());
+          grid.add(new OriginCell(child), 1, 1);
         }
-      } else {
-        if (LOG.isDebugEnabled()) {
-          LOG.debug("Found unknown component in header.");
-        }
-      }
     }
     setHeaderGrid(grid);
   }
@@ -603,18 +594,6 @@ public abstract class AbstractUISheet ex
   public void onComponentPopulated(final FacesContext facesContext, final UIComponent parent) {
   }
 
-  public LayoutManager getLayoutManager() {
-    return (LayoutManager) getFacet(Facets.LAYOUT);
-  }
-
-  public void setLayoutManager(final LayoutManager layoutManager) {
-    getFacets().put(Facets.LAYOUT, (AbstractUILayoutBase) layoutManager);
-  }
-
-  public boolean isLayoutChildren() {
-    return isRendered();
-  }
-
   public boolean isRendersRowContainer() {
     return true;
   }