From 36a906145e2d257ae0fb13a4492431698e0db5ee Mon Sep 17 00:00:00 2001 From: Matti Tahvonen Date: Tue, 5 Feb 2008 15:32:42 +0000 Subject: [PATCH] alignments painting for GridLayout svn changeset:3711/svn branch:trunk --- src/com/itmill/toolkit/ui/GridLayout.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/com/itmill/toolkit/ui/GridLayout.java b/src/com/itmill/toolkit/ui/GridLayout.java index ad91568390..9cbaa9b59f 100644 --- a/src/com/itmill/toolkit/ui/GridLayout.java +++ b/src/com/itmill/toolkit/ui/GridLayout.java @@ -104,6 +104,8 @@ public class GridLayout extends AbstractLayout { */ public static final int ALIGNMENT_VERTICAL_CENTER = AlignmentInfo.ALIGNMENT_VERTICAL_CENTER; + private static final int ALIGNMENT_DEFAULT = ALIGNMENT_TOP + ALIGNMENT_LEFT; + /** * Is spacing between contained components enabled. Defaults to false. */ @@ -407,6 +409,9 @@ public class GridLayout extends AbstractLayout { // Empty cell collector int emptyCells = 0; + final String[] alignmentsArray = new String[components.size()]; + int index = 0; + // Iterates every applicable row for (int cury = 0; cury < rows; cury++) { target.startTag("gr"); @@ -446,6 +451,9 @@ public class GridLayout extends AbstractLayout { } area.getComponent().paint(target); + alignmentsArray[index++] = String + .valueOf(getComponentAlignment(area.getComponent())); + target.endTag("gc"); // Fetch next item @@ -532,6 +540,20 @@ public class GridLayout extends AbstractLayout { } // iterates every row // Last row handled + + // Add child component alignment info to layout tag + target.addAttribute("alignments", alignmentsArray); + + } + + public int getComponentAlignment(Component childComponent) { + final Integer bitMask = (Integer) componentToAlignment + .get(childComponent); + if (bitMask != null) { + return bitMask.intValue(); + } else { + return ALIGNMENT_DEFAULT; + } } /** -- 2.39.5